Received: 6 September 2017 Revised: 16 February 2018 Accepted: 4 March 2018
Cloud simulators in the implementation and evaluation of
virtual machine placement algorithms
Zoltán Ádám Mann
paluno – The Ruhr Institute for Software
Technology, University of Duisburg-Essen,
Zoltán Ádám Mann, paluno – The Ruhr
Institute for Software Technology,
University of Duisburg-Essen,
45127 Essen, Germany.
European Union's Horizon 2020 research
and innovation programme, Grant/Award
Number: 731678; Hungarian Scientific
Research Fund, Grant/Award Number:
In recent years, many algorithms have been proposed for the optimized allo-
cation of virtual machines in cloud data centers. Such algorithms are usually
implemented and evaluated in a cloud simulator. This paper investigates the
impact of the choice of cloud simulator on the implementation of the algorithms
and on the evaluation results. In particular, we report our experiences with port-
ing an algorithm and its evaluation framework from one simulator (CloudSim)
to another (DISSECT-CF). Our findings include limitations in the design of the
simulators and in existing algorithm implementations. Based on this experi-
ence, we propose architectural guidelines for the integration of virtual machine
allocation algorithms into cloud simulators.
cloud computing, CloudSim, cloud simulator, DISSECT-CF, resource allocation, virtual machine
consolidation, virtual machine placement
The last couple of years have witnessed a steady rise in the adoption of cloud services.
However, the obvious advantages of
the cloud are not for free: cloud data centers consume massive amounts of electrical energy, leading to ever increasing costs
and environmental impact.
Therefore, the energy-efficient utilization of cloud data centers has become a very important
The biggest savings in power consumption can be achieved through the consolidation of the workload to a low number
of servers and switching the remaining servers to a low-power state (eg, sleep or hibernate). This is made possible by
the virtualization technology: a single physical machine (PM) can host multiple virtual machines (VMs), allowing good
utilization of the available hardware resources. Moreover, live migration of VMs allows data center operators to react to
changes in the workload: in times of low load, the VMs are consolidated to a few PMs and the remaining PMs can be
switched to a low-power mode, whereas, in times of high load, PMs can be switched on again so that the VMs can be
spread across a higher number of PMs, thus improving the quality of service.
This leads to the optimization problem of determining the best placement of the VMs on the PMs, given the capacity
of the PMs and the resource needs of the VMs.
In recent years, a large number of algorithms have been suggested in the
literature to address this problem.
In order to demonstrate the practical applicability of such algorithms, they are typically implemented and evaluated
using a cloud simulator. In principle, it would be better to test them in large-scale real-world data centers, but this is
generally not possible: most researchers do not have access to real data centers and even if they have, applying a placement
algorithm that is still in an experimental state to a real data center would be dangerous. Moreover, cloud simulators allow
1368 Copyright © 2018 John Wiley & Sons, Ltd. wileyonlinelibrary.com/journal/spe Softw Pract Exper. 2018;48:1368–1389.