我正在研究一种算法,以选择VM来部署Cloudlet(任务)。现在,每当cloudlet完成执行时,我需要更新VM当前分配的ram。
我不知道我需要在哪里做这件事。
我在DataCenterbroker类的processCloudletReturn()方法中尝试了这个
但只有在将所有云小程序提交给VM后才会调用它。
每当cloudlet成功执行时,我需要更新VM的Ram。
对于,例如:
让我们考虑一下,我有100个任务要部署,现在我提交了20个任务,然后在提交第21个任务之前,如果第一个任务完成执行,我需要更新相应的VM。
有人能帮我吗。。非常感谢。
你可以做如下操作:
for(Cloudlet cloudlet: getCloudletSubmittedList()){
if(!finishedCloudlets.contains(cloudlet) && cloudlet.isFinished()){
Vm vm = getVmsCreatedList().get(cloudlet.getVmId()-1);
vm.setCurrentAllocatedRam(vm.getCurrentAllocatedRam() - (int)(cloudlet.getUtilizationOfRam(CloudSim.clock())*100));
vm.updateVmProcessing(CloudSim.clock(), null);
finishedCloudlets.add(cloudlet);
}
}
在这里,您可以检查已提交的任务是否已完成,以便更新VM。
Cloudsim中的分时是如何工作的,没有代表时间片或量子的变量,那么循环的概念在Cloudsim中是如何验证的呢? 如果我们有50个Cloudlet,10个VM
谁能解释一下这两种方法的真正区别 vm。GetTotalizationofCPU(CloudSim.clock()); 和 cloudlet.get利用OfCpu(CloudSim.clock()); 提前感谢
全部的 现在,我正在使用CloudSim设计一个云存储模拟,但我想知道CloudSim是否提供了在物理磁盘上写入数据的功能。如果没有,我在哪里添加组件?
我想在Cloud sim中实现虚拟机迁移时间公式,我做了一个简单的方法,但它给了我错误的结果,问题是我需要在模拟中迁移虚拟机的列表,以便我可以计算和打印最终的总迁移时间,如果您有任何想法,请帮助我!
我有一个问题与primeface数据表。我有一个数据与一些条目和一个列与一个按钮内。如果按钮被按下,一个弹出窗口打开与另一个数据表。第二个数据表中的条目取决于行中的按钮被按下。 Bean2 问题是弹出式数据表中没有列出任何条目,尽管在db查询之后的列表中有一些条目。 有没有办法修复这个bug?提前感谢! 更新1:
我有一个表单,其中用户创建了一个编码问题。在表单中,可以通过输入和输出文本框添加示例测试用例。用户可以单击按钮添加新的测试用例。现在我有一个state对象,它保存所有表单数据formObj,其中有一个示例_test_cases字段,我想保存一个对象数组,比如:[{input:,output::}]。 我遇到的问题是更新此阵列。我需要能够在每次添加测试用例时将一个新对象连接到它。然后在文本框更改时更