Consolidation Scheduler (Experimental Prototype)

Introduction

Consolidation Scheduler is an OpenNebula scheduler that consolidates VMs to a reduced number of physical hosts, so saving energy consumption in the data center (GreenIT). This component complements the default OpenNebula scheduler (rank/requirement matchmaker) that provides a first placement of the pending VMs.

Installation

Consolidation Scheduler is a ruby script, you can download it and then prepare your cron to execute it almost every 20 or 30 minutes depending on the activity creating and deleting VM in your infrastructure.

Download

You can download the script from the anonymous subversion repository, to download the latest code you can issue this command in your computer:

# svn co http://svn.opennebula.org/components/ConsolidationScheduler/trunk one

Requirements

You will need the following:

Control Flow

The physical resource management part should be adapted to your infrastructure.

Simple Example

Here we show an example with two physical boxes in the infrastructure:

1) At the beginning, the system has two Virtual Machines (VM) running in a physical host each one.

2) First Execution of the Consolidation scheduler: No action is requested on the physical boxes. Then the scheduler implements a very simple packing algorithm that tries to migrate those VMs running on underloaded resources by making a list of hosts and the VM's running in each one, deleting from this list the hosts that don't have any VM running at this moment or are too busy to accept new VMs. The list is sorted by the available CPU (ACPU is MAX-ACPU minus CPU_USAGE). The scheduler detects that one of the VMs can be migrated to another resource, checking the ACPU and MEMORY requirements of the VM and the resources available in the target host, and requests the migration.

3) and 4) Second Execution of the Consolidation scheduler': The scheduler disables the free hosts.

5) Third Execution of the Consolidation scheduler: Now the scheduler detects pending VMs and enables hosts previously disabled. The next execution of the matchmaker allocates the hosts to the pending VMs.

6) Fourth Execution of the Consolidation scheduler: The resources are now full, so consolidation scheduler does not request any action.

vm_cubes.png (30.6 KB) Javi Fontan, 03/25/2009 05:43 pm

vm_cubes_page.png (14.8 KB) Javi Fontan, 03/25/2009 05:43 pm

Consolidation.png (61.9 KB) Raúl Sampedro, 04/19/2009 09:39 pm

vm_cubes.png (70.5 KB) Raúl Sampedro, 04/19/2009 09:45 pm

Also available in: HTML TXT