Scheduling Policies 1.4

Overview

The Scheduler module is in charge of the assignment between pending Virtual Machines and known Hosts. OpenNebula's architecture defines this module as a separate process that can be started independently of oned. The OpenNebula scheduling framework is designed in a generic way, so it is highly modifiable and can be easily replace by third-party developments.

The Match-making Algorithm

OpenNebula comes with a match making scheduler (mm_sched) that implements the Rank Scheduling Policy. The goal of this policy is to prioritize those resources more suitable for the VM.

The algorithm works as follows:

Placement Policies

You can implement several placement heuristics by carefully choosing the RANK expression. Note that each VM has its own RANK and so its own policy. This is specially relevant when configuring a Cloud Interface as you can apply different policies to different instance types.

Packing Policy

RANK = RUNNING_VMS

Striping Policy

RANK = - RUNNING_VMS

Load-aware Policy

RANK = FREECPU

The Haizea Scheduler

The Haizea lease manager can also be used as a scheduling module in OpenNebula. Haizea allows OpenNebula to support advance reservation of resources and queuing of best effort requests (more generally, it allows you to lease your resources as VMs, with a variety of lease terms). The Haizea documentation includes a guide on how to use OpenNebula and Haizea to manage VMs on a cluster