An Open-Source flexible virtual machine scheduler

About Live Demo Download Github Apidoc

About BtrPlace

BtrPlace dynamically adapts the VM placement depending on pluggable expectations using a network and memory-aware migration scheduler. It currently addresses affinity constraints, resource booking, node state manipulation and hosting restrictions.

BtrPlace is a complete rewrite of the reconfiguration algorithm inside Entropy.
It embeds the constraint programming library Choco to compute solutions.

BtrPlace is developed using Jetbrains Intellij and JProfiler. YourKit is also supporting BtrPlace with its full-featured Java Profiler.

Choco3

In a nutshell

Model model = source

Create a Model that represents the current infrastructure, the node and VMs state, the placement, the resource allocation, ...

spread(VM[2..3]);
preserve(VM1, "cpu", 3);
offline(@N4);

Express your expectations using constraints (here, through btrpsl): VM2 and VM3 must run on distinct nodes. 3 vCPU resources must allocated to VM1. N4 must be offline.

Set<SatConstraint> constraints = ...
Scheduler s = new DefaultChocoScheduler();
ReconfigurationPlan plan = s.solve(model, constraints);

destination model = plan.getResult();

Use BtrPlace to compute a reconfiguration plan to reach a model satisfying your constraints: And voilà ! Plan contains the schedule of actions to reach a new viable model according to the stated constraints and the actions semantic.

The complete tutorial is available here. Don't forget BtrPlace is meant for being flexible. So document yourself, look at the API, and develop your own constraints or objectives.

Contact information

fabien.hermenier@nutanix.com

BtrPlace is developed by the Scale project inside the Comred team of the CNRS laboratory I3S.

i3s logo unice logo cnrs logo

They use BtrPlace

Nutanix logo
PrestoCloud logo
Onyx platform logo
DC4Cities logo
OpenCloudWare logo
Fit4Green logo

Publications

  1. Trustable Virtual Machine Scheduling in a Cloud. Fabien Hermenier, Ludovic Henrio. SOCC'17 - 8th ACM International Symposium on Cloud Computing. September 2017. Santa Clara, USA.

    This paper confirms VM schedulers, like every software, are buggy. So because discovering defects is hard in this context, we propose a language to formalise the expected behavior of a VM scheduler and a testing framework based on fuzz testing to automatically exhibit bugs.

  2. Scheduling Live Migration of Virtual Machines. Vincent Kherbache, Éric Madelaine, and Fabien Hermenier. To appear in IEEE Transactions of Cloud Computing (TCC), 2017

    This is the journal version of the paper published in UCC 2015. It provides an improved migration model, the analysis of memory usage, a new scalability evaluation, etc. Bigger, cleaner, nicer.

  3. Scheduling Live-Migrations for Fast, Adaptable and Energy Efficient Relocation Operations. Vincent Kherbache, Fabien Hermenier, Éric Madelaine. UCC'15 - 8th IEEE/ACM International Conference on Utility and Cloud Computing. December 2015. Limassol, Cyprus.

    A conference paper that presents mVM, a new and extensible migration scheduler implemented as a plugin of BtrPlace. mVM takes into account the VM memory workload and the network topology to estimate precisely the migration duration and take wiser scheduling decisions. Its current library of 6 constraints allows administrators to address temporal and energy concerns, for example to adapt the schedule and fit a power budget. Experiments on a real testbed show mVM compute optimal parallelism decisions and allow to reduce migrations duration, completion time, and energy consumption against BtrPlace vanilla and Memory Buddies schedulers.

  4. Ordonnancement contrôlé de migrations à chaud. Vincent Kherbache, Fabien Hermenier, Éric Madelaine. Compas'15 - Conférence d’informatique en Parallélisme, Architecture et Système. July 2015. Lille, France.

    A short paper in French that presents mVM as the future migration scheduler of BtrPlace. With a proper network and migration model, we can now obtain reconfiguration plans that are fast in theory but also in practice (the second point matters).

  5. Memory and Network Aware Scheduling of Virtual Machine Migrations. Vincent Kherbache, Fabien Hermenier, Eric Madelaine. Eurosys'15 European Conference on Computer Systems - Poster session. April 2015. Bordeaux, France. ACM.

    A poster related to the problem of scheduling multiple migrations. BtrPlace as well as other algorithms are way to aggressive when they ask to migrate numerous VMs. This was a call for a proper scheduling algorithm.

  6. Planning live-migrations to prepare servers for maintenance. Vincent Kherbache, Fabien Hermenier, Eric Madelaine. VHPC'14 - 9th Workshop on Virtualization in High-Performance Cloud Computing. August 2014. Porto, Portugal. ACM.

    A case study showing the benefits of understanding the network infrastructure and the VM memory workload to plan migrations wisely.

  7. Dynamic Packing with Side Constraints for Datacenter Resource Management. Sophie Demassey, Fabien Hermenier, Vincent Kherbache. Book chapter in Optimised Packings and their Application. Springer, 2015.

    This chapter describes the variant of the vector packing problem considered in BtrPlace in the context of datacenter resource management, giving an insight into its dynamic and heterogeneous nature.

  8. Plug4Green: A flexible energy-aware VM manager to fit data centre particularities Corentin Dupont, Fabien Hermenier, Thomas Schulze, Robert basmadjian, Andrey Somov, Giovanni Giuliani. In Ad Hoc Networks, Elsevier, nov. 2014

    This is the second pratical result of the cooperation with the former Fit4Green EU project: the prototype Plug4Green that embeds BtrPlace with a customizable power model and various energy-oriented constraints.

  9. Higher SLA Satisfaction in Datacenters with Continuous VM Placement Constraints. Huynh Tu Dang, and Fabien Hermenier. 9th Workshop on Hot topics in Dependable Systems (HotDep 2013). Farmington, USA. ACM.

    This paper reveals we suck at developing constraints. Developers usually omit to consider the temporary states of the datacenter during the reconfiguration process. Sadly constraints can be temporary violated silently during this period. In our defense, it is very hard to imagine these silly situations. On the bright side, BtrPlace is supposed to be flexible, so we propose continuous constraints and implement them inside BtrPlace to fix that shamy situation.

  10. BtrPlace: A Flexible Consolidation Manager for Highly Available Applications. Fabien Hermenier, Julia Lawall, and Gilles Muller. IEEE Transactions of Dependable and Secure Computing (TDSC), vol 10, no. 5, pp. 273--286, Sept.-Oct. 2013.

    The cursed paper. Since 2009, I tried to write a good paper about the practical interests of flexible VM manager with BtrPlace as the visible part of the iceberg. After tons of rejections, and even more tons of improvements, I still don't know if the paper is good but it finally passes the wall with an acceptance notification receiving during X-mas 2012. Oh oh oh.

  11. An energy aware framework for virtual machine placement in cloud federated data centres. Corentin Dupont, Thomas Schulze, Giovanni Giuliani, Andrey Somov, and Fabien Hermenier. In Proceedings of the 3rd International Conference on Future Energy Systems: Where Energy, Computing and Communication Meet (e-Energy '12). ACM, New York, USA.

    This work started by a message on the forum of the Choco Constraint Programming Solver. This paper was the first result of a cooperation with the consortium of the Fit4Green FP7 project. It proposes a flexible placement algorithm to address energy efficiency at fine grain.

  12. Bin repacking scheduling in virtualized datacenters. Fabien Hermenier, Sophie Demassey, and Xavier Lorca. In Proceedings of the 17th international conference on Principles and practice of constraint programming (CP'11). Springer-Verlag, Berlin, Heidelberg, pages 27-41.

    This paper results from a collaboration with scientists from the Constraint Programming community. It exposes the theoretical aspects of what will be called BtrPlace. We argues for a composable reconfiguration algorithm that handle simultaneously the VMs placement and the schedule of the reconfiguration actions. We then propose a Constraint Programing model to make it extensible through additional placement constraints.
    For the final version of the paper, we planned to reveal several improvments that speed up the resolution process and improve the quality of the computed solutions. Sadly, we went out of time so the new experiments where written in a separate document called Bin Repacking Scheduling in Virtualized Datacenters - Back to Work -.

  13. Dynamic Consolidation of Highly-Available Web Applications. Fabien Hermenier, Julia Lawall, Jean-Marc Menaud, Gilles Muller. INRIA Research Report RR-7545. 2011.

    Well this paper is only a research report. But it is at the source of Btrplace. It reveals the practical interest for a customizable reconfiguration algorithm. Here, the use case consists in placing VMs with regards to fault-tolerance and performance concerns in a consolidated environment.

  14. Cluster-wide Context Switch of Virtualized Jobs. Fabien Hermenier, Adrien Lèbre, and Jean-Marc Menaud. Proceeding of the international workshop Virtualization Techniques for Distributed Computing (VTDC'10), with the 19th ACM International Symposium on High Performance Distributed Computing (HPDC'10). ACM, New York, pages 658-666.

    This paper generalizes the principles of Entropy by using it to ease the development of VM scheduler. The developer indicates only the state of VMs for the next round while Entropy manages the VMs accordingly using live-migration or pre-emption.

  15. Entropy: a consolidation manager for clusters. Fabien Hermenier, Xavier Lorca, Jean-Marc Menaud, Gilles Muller, and Julia Lawall. 21th Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments (VEE '09). ACM, New York, NY, USA, pages 41-50.

    This paper is the fundaments paper about Entropy. It reveals the need to schedule reconfiguration actions to resolve dependencies and proposes to evaluate their cost to reduce it to a minimum. It finally demonstrates the practical interest of Constraint Programming to compute good schedules that can be applied fast.

  16. Gestion dynamique des tâches dans les grappes, une approche à base de machines virtuelles. Fabien Hermenier. Phd. dissertation defended in nov. 2009. University of Nantes.

    My Phd. thesis is only available in french. In english, it would be entitled "Online Management of Jobs in Clusters using Virtual Machines". A 1-page abstract is however available in english.