What are the VM allocation policies

  • VmSchedulerSpaceShared:
    is a VM allocation policy which allocates one or more PE to a VM, and doesn’t allow sharing of PEs. If there is no free PEs then the allocation fails. In other words Spacesharing refers to sharing of memory space such as hard disk, RAM, Database. It shares the same queue and process one request at one computing cor
  • public VmSchedulerSpaceShared(List<? Extends Pe>PeList)
    //Creates a new vm scheduler space shared
    public boolean allocatePesForVm(Vm vm, List<Double>ipsShare)
    //This method allocates PEs for a VM. It returns true if this policy allows a new VM in the host.
    Public void deallocatePesForVm(Vm vm)
    //The method releases or deallocate the PEs allocated to a VM.

  • VmSchedulerTimeShared:
    is a VM allocation policy that allocates one or more PE to a VM and allows sharing of PEs by multiple VMs. This scheduler does not support over-subscription. In other words Time-sharing refers to sharing of executing power such as CPU, logical processor etc. It process several requests at a time and shares the computing power of that machine, so they affect each other’s processing time which results in performance degradation.
  • Public VmSchedulerTimeShared(List<? Extends Pe> pelist)
    //Creates a new vm scheduler time shared.
    Public boolean allocatePesForVm(Vm vm, List<Double> mipsShareRequested)
    //Allocates PEs for a VM.