cloudsim3.0中的例子程序当中,有三个包power和power.random还有power.planetlab.如图:

1 power包

这个包中定义了两个类,这两个将会被power.planet power.random这两个包中的测试程序所使用。这个包中最主要的两个类1 Helper类最主要进行虚拟机,主机列表,数据中心和数据中心管理者的创建.cloudlet列表和工作流的相关,所有在这两种具体实现中的RandomHelperPlanetLabHelper这两个类中实现cloudlet的实现。

Example中的这些测试程序是用来测试不同的VM选择策略和VM分配策略

VM选择策略有

MC( Maximum Correlation 

MNTMinimum Migration Time 

MU( Minimum Utilization

RSRandom Selection 

 

VM分配策略有: 

IQRInter Quartile Range,

MADMedian Absolute Deviation 平均绝对离差

LRLocal Regression

LRRLocal Regression Robust,

THRStatic Threshold 

以及:

DVFSDynamic voltage and frequency scaling 

2 power.random包

每个测试程序都有一个RandomRunner 开始模拟

randomRunner 集成一个RunnerAbstract类,需要,每个randomRunner类都需要复写RunnerAbstact类中的ini(String inputFolder) 抽象方法,需要完成初始化,制定2个Vm的策略,3个列表,主机列表,VM列表和cloudlet列表,工作流等信息。注意这个包时random包,所以说这个包中测试程序都是采用随机工流的。而这一点和power.planet中的测试略有不同

实际的开始模拟工作实在父类RunnerAbstract类当中start()中做的,由数据中心的broker,提交Vm和Cloudlet列表,CloudSim.terminateSimulation(Constants.SIMULATION_LIMIT);

设置过了SIMULATION_LIMIT之后停止模拟,然后开始模拟真正,在输出结果。这个包中的测试程序大同小异。


3 power,planetlab包

再看power.palnet包也是非常类似,也是对Vm选择和分配策略进行了测试。不同上面的random包中的测试程序的是,这个包中的测试程序都需要制定工作流。例如:


这次和上面的randomRunner类似的是这里是PlanetLabRunner 这二者的道理是相同,PlanetLabRunner也是继承的RunnerAbstract.工作流的指定,见


这里面指定了不同的工作流。


Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐