CloudSim项目的结构为java自定义包,其中每个包都包含相关的类。该项目有十二个包,如下:
- org.cloudbus.cloudsim:这个包包含的类一旦实例化就会像系统中的某个组件一样运行,或者支持系统的特定组件,以便在模拟过程中产生相关的行为。这个包可以大致分为两个部分:
- 模拟组件类:这些类模拟了云设置的特定部分。这些类别属于此类别:Cloudlet, datacenter, datacenterbroker,host,storage,hardrivestorage, SANstorage,PE,datacloudTags & VM。
- 策略类:这些是模仿云组件策略行为的类集。以下是此类别下的类:VMAllocationPolicy,CloudLetSchedulingPolicy,VMSchedulingPolicy,UtilizationModel以及这些类中的每一个都在此包中实现了变体。
- org.cloudbus.cloudsim.core:这个包包含这个项目的主要类,直接负责启动(CloudInformationService.java,Cloudsim.java),启动(Cloudsim.java),维护(Cloudsim.java,SimEntity.java, SimEvent.java,FutureQueue.java和DeferedQueue.java)并结束模拟过程(Cloudsim.java)。该包包含一个类“cloudsimtags.java”,该类包含在datacenter和datacenterbroker类中实现的所有事件标识符。
- org.cloudbus.cloudsim.core.predicates:此包类负责在模拟过程中从deferredqueue类对象中选择匹配事件,以便在特定实体上执行事件。
- org.cloudbus.cloudsim.distributions:此包包含具有在其中实现的预定义网络流量分配方法的类。这里定义的类是:ContinuousDistribution,ExponentialDistribution等
- org.cloudbus.cloudsim.lists:此包包含在模拟期间实现与组件列表相关的预定义操作的类。此包中指定的列表类包括:CloudLetList,HostList,PeList,ResCloudLetList和VMList。
- org.cloudbus.cloudsim.network:此包包含产生与网络数据包路由相关的行为的类。
- org.cloudbus.cloudsim.network.datacenter:此包包含用于为云服务提供商的地理分布数据中心生成模拟行为的类。
- org.cloudbus.cloudsim.power / org.cloudbus.cloudsim.power.lists / org.cloudbus.cloudsim.power.models:在这些包中,扩展了org.cloudbus.cloudsim包类,以产生功耗感知组件的行为。这些包可用于实现与绿色计算相关的工作。
- org.cloudbus.cloudsim.provisioners:此包中的类包含与带宽,处理元素和RAM分配相关的策略。此处实施的默认策略是“尽力分配策略”。
- org.cloudbus.cloudsim.util:此包中的类提供与执行与云计算服务相关的一些数学运算或在模拟过程中执行时间的某些计算相关的基本实用程序操作。