PeProvisioner

public interface PeProvisioner extends ResourceProvisioner

An interface that represents the provisioning policy used by a host to provide virtual PEs to its virtual machines. It gets a physical PE and manage it in order to provide this PE as virtual PEs for VMs. In that way, a given PE might be shared among different VMs.

Author:Manoel Campos da Silva Filho

Fields

NULL

PeProvisioner NULL

An attribute that implements the Null Object Design Pattern for PeProvisioner objects.

Methods

allocateResourceForVm

boolean allocateResourceForVm(Vm vm, long mipsCapacity)

Allocates an amount of MIPS from the physical Pe to a new virtual PE for a given VM. The virtual PE to be added will use the total or partial MIPS capacity of the physical PE.

Parameters:
  • vm – the virtual machine for which the new virtual PE is being allocated
  • mipsCapacity – the MIPS to be allocated to the virtual PE of the given VM
Returns:

$true if the virtual PE could be allocated; $false otherwise

deallocateResourceForAllVms

void deallocateResourceForAllVms()

Releases all virtual PEs allocated to all VMs.

deallocateResourceForVm

boolean deallocateResourceForVm(Vm vm)

Releases the virtual Pe allocated to a given VM.

Parameters:
  • vm – the vm to release the virtual Pe

getAllocatedResourceForVm

long getAllocatedResourceForVm(Vm vm)

Gets the amount of allocated MIPS from the physical Pe to a virtual PE of a VM.

Parameters:
  • vm – the virtual machine to get the allocated virtual Pe MIPS
Returns:

the allocated virtual Pe MIPS

getTotalAllocatedResource

long getTotalAllocatedResource()

Gets the total allocated MIPS from the physical Pe.

Returns:the total allocated MIPS

getUtilization

double getUtilization()

Gets the utilization percentage of the Pe in scale from 0 to 1.

Returns:the utilization percentage from 0 to 1

setPe

void setPe(Pe pe)

Sets the Pe that this provisioner will manage.

Parameters:
  • pe – the Pe to set