VmSchedulerSpaceShared

public class VmSchedulerSpaceShared extends VmSchedulerAbstract

VmSchedulerSpaceShared is a VMM allocation policy that allocates one or more PEs from a host to a Virtual Machine Monitor (VMM), and doesn’t allow sharing of PEs. The allocated PEs will be used until the VM finishes running. If there is no enough free PEs as required by a VM, or whether the available PEs doesn’t have enough capacity, the allocation fails. In the case of fail, no PE is allocated to the requesting VM.

Author:Rodrigo N. Calheiros, Anton Beloglazov, Manoel Campos da Silva Filho

Constructors

VmSchedulerSpaceShared

public VmSchedulerSpaceShared()

Creates a space-shared VM scheduler.

VmSchedulerSpaceShared

public VmSchedulerSpaceShared(double vmMigrationCpuOverhead)

Creates a space-shared VM scheduler, defining a CPU overhead for VM migration.

Parameters:
  • vmMigrationCpuOverhead – the percentage of Host’s CPU usage increase when a VM is migrating in or out of the Host. The value is in scale from 0 to 1 (where 1 is 100%).

Methods

allocatePesForVmInternal

public boolean allocatePesForVmInternal(Vm vm, List<Double> requestedMips)

deallocatePesFromVmInternal

protected void deallocatePesFromVmInternal(Vm vm, int pesToRemove)

isSuitableForVmInternal

protected boolean isSuitableForVmInternal(Vm vm, List<Double> requestedMips, boolean showLog)