1

我使用循环创建 10 个虚拟机。每个虚拟机使用相同数量的 MIPS,因为所有虚拟机的参数都相同。我如何创建具有不同 mips 的不同虚拟机?

    //VM Parameters
    long size = 10000; //image size (MB)
    int ram = 512; //vm memory (MB)
    int mips = 1000;
    long bw = 1000;
    int pesNumber = 1; //number of cpus
    String vmm = "Xen"; //VMM name

    //create VMs
    CondorVM[] vm = new CondorVM[vms];

    for (int i = 0; i < vms; i++) {
        double ratio = 1.0;
        vm[i] = new CondorVM(i, userId, mips * ratio, pesNumber, ram, bw, size, vmm, new CloudletSchedulerSpaceShared());
        list.add(vm[i]);
    }

    return list;
}

在 main 方法中 vmNum 被初始化等于 10。

4

1 回答 1

0

就是这么简单。创建一个 mips 数组并通过循环将其传递给 vm 构造函数。

在您的示例中:

long size = 10000; //image size (MB)
int ram = 512; //vm memory (MB)
int[] mips= {1000,200,3000,.....,500}; //Here's the array
long bw = 1000;
    int pesNumber = 1; //number of cpus
    String vmm = "Xen"; //VMM name

    //create VMs
    CondorVM[] vm = new CondorVM[vms];

    for (int i = 0; i < vms; i++) {
        double ratio = 1.0;
        vm[i] = new CondorVM(i, userId, mips[i] * ratio, pesNumber, ram, bw, size, vmm, new CloudletSchedulerSpaceShared());
        list.add(vm[i]);
    }

    return list;
}

希望对你有帮助!!

于 2017-12-13T07:51:27.270 回答