Hi All,
This is a discussion group / mailing list of OpenStack Neat, a framework for dynamic consolidation of virtual machines in OpenStack Clouds:
https://github.com/beloglazov/openstack-neat
OpenStack Neat is a project intended to provide an extension to OpenStack implementing dynamic consolidation of Virtual Machines (VMs) using live migration. The major objective of dynamic VM consolidation is to improve the utilization of physical resources and reduce energy consumption by re-allocating VMs using live migration according to their real-time resource demand and switching idle hosts to the sleep mode. For example, assume that two VMs are placed on two different hosts, but the combined resource capacity required by the VMs to serve the current load can be provided by just one of the hosts. Then, one of the VMs can be migrated to the host serving the other VM, and the idle host can be switched to a low power mode to save energy.
Apart from consolidating VMs, the system should be able to react to increases in the resource demand and deconsolidate VMs when necessary to avoid performance degradation. In general, the problem of dynamic VM consolidation can be split into 4 sub-problems:
- Deciding when a host is considered to be underloaded, so that all the VMs should be migrated from it, and the host should be switched to a low power mode, such as the sleep mode.
- Deciding when a host is considered to be overloaded, so that some VMs should be migrated from the host to other hosts to avoid performance degradation.
- Selecting VMs to migrate from an overloaded host out of the full set of the VMs currently served by the host.
- Placing VMs selected for migration to other active or re-activated hosts.
This work is conducted within the
Cloud Computing and Distributed Systems (CLOUDS) Laboratory at the University of Melbourne. The problem of dynamic VM consolidation considering Quality of Service (QoS) constraints has been studied from the theoretical perspective and algorithms addressing the sub-problems listed above have been proposed [1], [2]. The algorithms have been evaluated using
CloudSim and real-world workload traces collected from more than a thousand
PlanetLab VMs hosted on servers located in more than 500 places around the world.
The aim of the OpenStack Neat project is to provide an extensible framework for dynamic consolidation of VMs based on the OpenStack platform. The framework will provide an infrastructure enabling the interaction of components implementing the 4 decision-making algorithms listed above. The framework will allow configuration-driven switching of different implementations of the decision-making algorithms. The implementation of the framework will include the algorithms proposed in our previous works [1], [2].
There is a blueprint describing the architecture and implementation of OpenStack Neat. The full version of the blueprint can be downloaded as a PDF:
https://github.com/beloglazov/openstack-neat/raw/master/doc/blueprint/openstack-neat-blueprint.pdf
Please feel free to post here any questions or suggestions, I will be happy to answer and discuss them.
[1] Anton Beloglazov and Rajkumar Buyya, "Optimal Online Deterministic Algorithms and Adaptive Heuristics for Energy and Performance Efficient Dynamic Consolidation of Virtual Machines in Cloud Data Centers", Concurrency and Computation: Practice and Experience (CCPE), Wiley Press, New York, USA, 2012 (in press, accepted on September 2, 2011).
Download:
http://beloglazov.info/papers/2012-optimal-algorithms-ccpe.pdf[2] Anton Beloglazov and Rajkumar Buyya, "Managing Overloaded Hosts for Dynamic Consolidation of Virtual Machines in Cloud Data Centers Under Quality of Service Constraints", IEEE Transactions on Parallel and Distributed Systems (TPDS), IEEE CS Press, USA, 2012 (in press, accepted on August 2, 2012).
Download:
http://beloglazov.info/papers/2012-host-overload-detection-tpds.pdf