Philharmonic is a cloud simulator developed in Python to realistically model geographically-distributed data centers influenced by real-time electricity prices and temperature-dependent cooling efficiency that we call geotemporal inputs. To illustrate the dynamic environment caused by geotemporal inputs, the following animation shows real-time electricity prices and temperatures change over the same geographic region during a period of 24 hours.
Philharmonic can simulate different scheduling algorithms and calculate their effects in terms of energy consumption, costs, cooling overhead and service quality.
For a part of the functionality (namely VM pausing), Philharmonic can interact with a real OpenStack deployment and it offers a way to collect power measurements from Eaton wattmeters. This experimental approach is no longer the focus of development, however.
For installation details see these instructions.
Philharmonic is used through a command line interface (CLI).
The first step is to generate the random input data.
python simulate.py inputgen --conf=philharmonic.settings.bcf
You can then run the simulation.
python simulate.py run --conf=philharmonic.settings.bcf
The simulation results are serialised data frames that can be parsed and analysed in Python using scientific libraries such as Pandas and Matplotlib, e.g. in the integrated IPython notebook environment.
For more information on usage, consult the README.
The datasets of real-time electricity prices and temperatures that can be used in the simulator are described here.
The simulator was created by Dražen Lučanin during his PhD study at the Vienna University of Technology.
If you find this simulator useful for your research, please consider citing one of the papers where we wrote about its architecture, datasets and scheduling algorithms. This is the conference paper where we first described it:
Dražen Lučanin, Foued Jrad, Ivona Brandić, and Achim Streit. Energy-Aware Cloud Management through Progressive SLA Specification. Economics of Grids, Clouds, Systems, and Services - 11th International Conference (GECON 2014). 16-18 September, 2014, Cardiff, UK.
This journal paper gives a much more detailed overview of the simulator, cloud model and presents the Genetic Algorithm and Best Cost Fit schedulers:
Dražen Lučanin, Ivona Brandić. Pervasive Cloud Controller for Geotemporal Inputs. IEEE Transactions on Cloud Computing (TCC), 2015.
The Best Cost Fit Frequency Scaling scheduler is explained in this conference paper:
Dražen Lučanin, Ilia Pietri, Ivona Brandić, Rizos Sakellariou. A Cloud Controller for Performance-Based Pricing. 8th IEEE International Conference on Cloud Computing (CLOUD 2015), 27 June – 2 July, 2015, New York, USA.