CloudSim类设计

BwProvisioner: 这个抽象类为VM的带宽配置策略建模。该模块的主要功能是向在数据中心部署的相互竞争的VM分配网络带宽。云系统开发者可以用他们自己的策略(优先级,QoS)来扩展该类。BwProvisioningSimple允许VM根据需求尽可能多的保留带宽,但是会受到托管主机的总可用带宽限制。
CloudCoordinator: 这个抽象类把一个云数据中心扩展到联盟,负责周期性监测数据中心资源的状态,并根据监测数据做动态的负载拆分决策。该模块的具体实现包括设定传感器和负载拆分策略。数据中心资源监测由updateDatacenter()方法查询传感器实现。服务/资源发现由setDatacenter()抽象方法实现,可以被继承来实现自定义的协议和算法(多播,广播,点对点)。该模块也可以被继承来仿真云服务,例如亚马逊的EC2负载均衡器,开发者如果希望部署跨云服务提供商的应用,也可以继承该类来实现自定义的跨云配置策略。
Cloudlet: 该类为云应用服务(比如内容分发,社交网络和业务流程)建模。CloudSim根据应用的计算需求来编排复杂度。每一个应用服务都有预分配的指令长度和生命周期内的数据传输开销。该类可以被继承以支持应用的其他性能和组成指标,比如面向数据库应用的事务处理。
CloudletScheduler: 这个抽象类可以被继承来实现VM中的多个任务共享处理器的策略。有两种配置策略可供选择:空间共享(CloudletSchedulerSpaceShared)和时间共享(CloudletSchedulerTimeShared)。
Datacenter: 该类建模了云服务提供商(Amazon,Azure,App Engine)的核心基础架构级服务(硬件)。它封装了一组计算主机,这些主机在硬件配置(主存,处理核数,处理容量和存储大小)上可以是同构或者异构的。此外,每一个数据中心实体会实例化一个通用的应用配置模块,用于实现一些给主机和VM分配带宽,主存和存储设备的策略。
DatacenterBroker/Cloud Broker: 该类给代理人建模。代理人负责协调SaaS与云服务提供商的协商。这种协商是由QoS需求驱动的。代理人代表SaaS提供商行动。他负责查询CIS和在线协商分配资源/服务以满足应用的QoS需求。开发者必须继承该类以评估和测试自定义的交易策略。代理人和CloudCoordinator的区别在于前者代表的是用户,而后者代表数据中心。所以,CloudCoordinator以最大化数据中心的性能为目的,而不会考虑特定用户的需求。
DatacenterCharacteristics: 该类包含了数据中心资源的配置信息。
Host: 该类给计算/存储服务器的物理资源建模。它封装了一些重要信息,包括主存和磁盘的大小,处理核清单和类型,VM共享处理核的策略以及给VM配置主存和带宽的策略。
NetworkTopology: 该类包含了仿真过程中的网络行为(时延)信息。它存储的拓扑信息是用BRITE拓扑生成器生成的。
RamProvisioner: 这个抽象类定义了给VM分配主存(RAM)的策略。只有当RamProvisioner模块准许使用主机拥有的被请求的空闲主存,在一台主机上执行和部署VM才是可行的。RamProvisionerSimple并没有限制一个VM可以请求的主存大小,但是,如果请求超出了可用的主存容量,将会被拒绝。
SanStorage: 该类建模了云数据中心大数据块存储(比如Amazon的S3存储,Azure的blob存储)的网络环境。SanStorage实现了一个简单的接口,可以用来仿真在网络带宽可用性的限制下,存储和获取任意大小的数据。在运行时通过SAN读取文件会给任务单元的执行带来额外的时延。这是由于通过数据中心内网传输数据文件时产生的额外时延。
Sensor: 该接口必须被实现来实例化一个传感器模块,它可以被CloudCoordinator使用来监测一些特定的性能参数(能耗,资源利用率)。该接口定义的方法有:(i)设定性能参数的最小和最大阈值;(ii)周期性更新监测数据。该类可以用来建模真实的云服务,比如Amazon的CloudWatch和Microsoft Azure的FabricController。一个数据中心可以实例化一个或多个传感器,一个传感器负责监测某项具体的数据中心性能参数。
Vm: 该类给VM建模。VM由云主机模块来调度和托管。每一个VM模块有权访问的VM属性有:可访问的内存,处理器,存储空间大小和抽象模块CloudletScheduler定义的VM内部调度策略。
VmmAllocationPolicy: 该抽象类代表了一个由VM监视器使用来给主机分配VM的调度策略。VmmAllocationPolicy的主要功能是选择数据中心可用的主机来满足VM部署所需的主存,存储和其他资源。
VmScheduler: 这是一个由主机模块实现的抽象类,用于给VM分配处理器核的算法(空间共享,时间共享)建模。该类的功能可以被重写来配合与应用适配的处理器共享策略。
CloudSim class design.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值