Subsections

2 Section [scheduling]

The options in this section control how Haizea schedules leases.

This section is required

1 Option mapper

Valid values:
Any string
Required:
No (default is greedy)
Description:
VM-to-physical node mapping algorithm used by Haizea. There is currently only one mapper available (the greedy mapper).

2 Option policy-admission

Valid values:
Any string
Required:
No (default is accept-all)
Description:
Lease admission policy. This controls what leases are accepted by Haizea. Take into account that this decision takes place before Haizea even attempts to schedule the lease (so, you can think of lease admission as ``eligibility to be scheduled'').

There are two built-in policies:

See the Haizea documentation for details on how to write your own policies.

3 Option policy-preemption

Valid values:
Any string
Required:
No (default is no-preemption)
Description:
Lease preemption policy. Determines what leases can be preempted. There are two built-in policies:

See the Haizea documentation for details on how to write your own policies.

4 Option policy-host-selection

Valid values:
Any string
Required:
No (default is greedy)
Description:
Physical host selection policy. controls how Haizea chooses what physical hosts to map VMs to. This option is closely related to the mapper options (if the greedy mapper is used, then the greedy host selection policy should be used, or unexpected results will happen).
The two built-in policies are:
  • no-policy: Choose nodes arbitrarily

  • greedy: Apply a greedy policy that tries to minimize the number of preemptions.

See the Haizea documentation for details on how to write your own policies.

5 Option wakeup-interval

Valid values:
A duration in the format HH:MM:SS
Required:
No (default is 00:01:00.00)
Description:
Interval at which Haizea will wake up to manage resources and process pending requests. This option is not used when using a simulated clock, since the clock will skip directly to the time where an event is happening.

6 Option backfilling

Valid values:
off, aggressive, conservative, intermediate
Required:
No
Description:
Backfilling algorithm to use. Valid values are:

7 Option backfilling-reservations

Valid values:
An integer number
Required:
Only if
Description:
Number of future reservations to allow when using the ``intermediate'' backfilling option.

8 Option suspension

Valid values:
none, serial-only, all
Required:
Yes
Description:
Specifies what can be suspended. Valid values are:

9 Option suspend-rate

Valid values:
A real number
Required:
Yes
Description:
Rate at which VMs are assumed to suspend (in MB of memory per second)

10 Option resume-rate

Valid values:
A real number
Required:
Yes
Description:
Rate at which VMs are assumed to resume (in MB of memory per second)

11 Option suspendresume-exclusion

Valid values:
local, global
Required:
No (default is local)
Description:
When suspending or resuming a VM, the VM's memory is dumped to a file on disk. To correctly estimate the time required to suspend a lease with multiple VMs, Haizea makes sure that no two suspensions/resumptions happen at the same time (e.g., if eight memory files were being saved at the same time to disk, the disk's performance would be reduced in a way that is not as easy to estimate as if only one file were being saved at a time).

Depending on whether the files are being saved to/read from a global or local filesystem, this exclusion can be either global or local.

12 Option scheduling-threshold-factor

Valid values:
An integer number
Required:
No (default is 1)
Description:
To avoid thrashing, Haizea will not schedule a lease unless all overheads can be correctly scheduled (which includes image transfers, suspensions, etc.). However, this can still result in situations where a lease is prepared, and then immediately suspended because of a blocking lease in the future. The scheduling threshold factor can be used to specify that a lease must not be scheduled unless it is guaranteed to run for a minimum amount of time (the rationale behind this is that you ideally don't want leases to be scheduled if they're not going to be active for at least as much time as was spent in overheads).

The default value is 1, meaning that the lease will be active for at least as much time T as was spent on overheads (e.g., if preparing the lease requires 60 seconds, and we know that it will have to be suspended, requiring 30 seconds, Haizea won't schedule the lease unless it can run for at least 90 minutes). In other words, a scheduling factor of F required a minimum duration of F*T. A value of 0 could lead to thrashing, since Haizea could end up with situations where a lease starts and immediately gets suspended.

13 Option override-suspend-time

Valid values:
An integer number
Required:
No
Description:
Overrides the time it takes to suspend a VM to a fixed value (i.e., not computed based on amount of memory, enactment overhead, etc.)

14 Option override-resume-time

Valid values:
An integer number
Required:
No
Description:
Overrides the time it takes to suspend a VM to a fixed value (i.e., not computed based on amount of memory, enactment overhead, etc.)

15 Option force-scheduling-threshold

Valid values:
A duration in the format HH:MM:SS
Required:
No
Description:
This option can be used to force a specific scheduling threshold time to be used, instead of calculating one based on overheads.

16 Option migration

Valid values:
no, yes, yes-notransfer
Required:
No (default is no)
Description:
Specifies whether leases can be migrated from one physical node to another. Valid values are:

17 Option non-schedulable-interval

Valid values:
A duration in the format HH:MM:SS
Required:
No (default is 00:00:10.00)
Description:
The minimum amount of time that must pass between when a request is scheduled to when it can actually start. The default should be good for most configurations, but may need to be increased if you're dealing with exceptionally high loads.

18 Option shutdown-time

Valid values:
A duration in the format HH:MM:SS
Required:
No
Description:
The amount of time that will be allocated for a VM to shutdown. When running in OpenNebula mode, it is advisable to set this to a few seconds, so no operation gets scheduled right when a VM is shutting down. The most common scenario is that a VM will start resuming right when another VM shuts down. However, since both these activities involve I/O, it can delay the resume operation and affect Haizea's estimation of how long the resume will take.

19 Option enactment-overhead

Valid values:
A duration in the format HH:MM:SS
Required:
No
Description:
The amount of time that is required to send an enactment command. This value will affect suspend/resume estimations and, in OpenNebula mode, will force a pause of this much time between suspend/resume enactment commands. When suspending/resuming many VMs at the same time (which is likely to happen if suspendresume-exclusion is set to ``local''), it will take OpenNebula 1-2 seconds to process each command (this is a small amount of time, but if 32 VMs are being suspended at the same time, on in each physical node, this time can compound up to 32-64 seconds, which has to be taken into account when estimating when to start a suspend operation that must be completed before another lease starts).

Borja Sotomayor 2009-12-17