0

我在cloudlet属性中随机添加了布尔参数以提供优先权,下面的代码还能做什么?可以将哪些参数添加到 cloudlet 属性中以赋予它们优先级。

    for(int i=0;i<cloudlets;i++){
        Random r= new Random(); // for creating random length
        Random priortyObj =new Random(); // for creating booleon priorty
        cloudlet[i] = new Cloudlet(priorty_cloudlet.priortyObj.nextInt(2),           
                      i, length +r.nextInt(2000),pesNumber,
                      fileSize, outputSize, utilizationModel,                                  
                      utilizationModel,  utilizationModel);
        // setting the owner of these Cloudlets
         cloudlet[i].setUserId(userId);`
         list.add(cloudlet[i]);
     }
4

1 回答 1

0

可以通过两种不同的方式处理优先级:(i)我们可以优先考虑将 Cloudlets 提交给代理,以便高优先级的 Cloudlets 将首先映射到 VM,或者(ii)我们可以优先考虑 Cloudlets 内部的执行虚拟机。

尽管 CloudSim 中的 Cloudlet 类有一个classType旨在定义优先级的属性,但这样的属性在任何地方都没有使用,因此您没有实现任何类型的优先级。

如果您需要定义 Cloudlets 的执行优先级,您可以查看CloudSim Plus,它是一个功能齐全、最先进、完全重新设计和积极维护的 CloudSim 分支。它的CloudletSimple类有一个CloudletSchedulerCompletelyFairpriority实际使用的属性。这样的调度器是完全公平的 Linux 调度器的实现,它考虑了运行 Cloudlet 的时间片/量子和 Cloudlet 的优先级。

以下是有关如何使用上述调度程序并为 Cloudlets 设置优先级的示例片段:

vm.setCloudletScheduler(new CloudletSchedulerCompletelyFair());
for(int i=0; i < 10; i++){
    Cloudlet c = new CloudletSimple(CLOUDLET_LEN, CLOUDLET_PES);
    c.setPriority(i);  //you must define the priority in your own way
    cloudletList.add(c);
}

检查完整的LinuxCompletelyFairSchedulerExample

于 2018-12-07T12:05:27.987 回答