How to Calculate the Expected Execution Time of VM

  • The formula for calculating the Expected Execution Time of VM is:

    EETVM           = (CLength/pevm*mipsvm)+(CinSize/bandwidthvm)
    CLength         = cloudlet/task total length
    CinSize           = cloudlet/task input size
    pevm              = Pe count of vm
    mipsvm          = Mips of VM
    bandwidthvm = Bandwidth of VM

  • Get the VMs created List from broker.

    getVmsCreatedList();
    int vsize=getVmsCreatedList().size();

  • Let “vm” be the VM object

    Vm vm;

  • double[] exec=new double[vsize];

  • Let “cloudlet1” be the single task want to allocate to a VM.

    **Get the cloudlet’s total length and input size.**
    long length=cloudlet1.getCloudletLength(); // total length
    long insize=cloudlet1.getCloudletFileSize(); // input size
    **Convert the long values into double for calculation**
    Long l1=length;
    double tlength=l1.doubleValue();
    Long l2=insize;
    double input= l2.doubleValue();

  • Using ETTVM calculate the expected execution time of each VM.

    for(int i=0;i<vsize;i++);
    {
    vm =getVmsCreatedList().get(i);
    double mip=vm.getMips();
    int pcount=vm.getNumberOfPes();
    long band=vm.getBw();
    **Convert the int, long values into double values**
    Integer x=new Integer(pcount);
    double pecount=x.doubleValue(); //int to double conversion
    Long b=band;
    double bw=b.doubleValue(); // long to double conversion
    exec[i]=(tlength/pecount*mip)+(input/bw);
    }