CloudSim体系结构
在体系结构上,CloudSim仿真器采用分层的机构,自底向上由SimJava,GridSim,CloudSim,用户代码四个层次组成。 最底层的是离散事件模拟引擎SimJava,它负责执行高层模拟框架的核心功能,比如:查询和处理事件,系统组件的构建(服务、客户端、数据中心、代理和虚拟机),在不同组件之间的通信,模拟时钟管理。 Sim Java
Discrete
Event
Simulation
Simulation
Entities
Event
Handling
图3-1 SimJava层
在SimJava上面是GridSim,支持高层软件组件,建模多个网格基础设施,包括网络和网络流量文件,基础的网格组件诸如资源、数据集、负载测量和信息服务。
GridSim
Grid
模糊聚类分析Services
Core
Elements
Manager
Job
Description
Replication
Catalogue
Data sets
Grid
Information
Service
Workload
Traces
Resource
Allocation
Network
. . .
...
Traffic Generatorcd11
Resource
图3-2 GridSim层
CloudSim在下一层执行,它扩展由GridSim提供的核心功能。CloudSim层提供虚拟基于云的数据中心诸如VM,内存,存储和带宽等管理接口。CloudSim层在模拟阶段管理核心实体(比如VM,客户端,数据中心,应用)的实例和执行。这一层能够并发地实例化和透明地管理大规模云基础设施包括数以千计的系统组件。 CloudSim
User
Interface
Structure
芬尼根的守灵夜
Virtual
Machine
Services
Cloud
Services
Cloud
Resources
Virtual Machine
VM Gridlet
VM Management
VM Gridlet Execution
VM
Provisioning
Storage
Allocation
Memory
Allocation
CPU
Allocation
图3-3 CloudSim层
虚拟层来执行基于云环境下的应用服务。虚拟机运行在一个客户端内,和其它VM共享资源。
VM管理:能够定义一系列和VM相关的操作:给主机提供VM,VM创建,VM销毁,VM合并。
Cloudlet类建模了基于云的应用服务(内容分发,社区网络),并在数据中心部署。每个应用组件有一个预先设定的指令长度(继承于GridSim的Gridlet组件),并且数据传输的数量(包括预取和后取)能够保证成功地容纳这个应用。脂松香
云资源层:和云Clouds相关的核心硬件基础设施服务是由数据中心组件来建模的,它用来处理服务请求,这些服务和请求在VM中执行。
VM Provisioner(虚拟机提供组件):给客户端分配基于特定应用的VM。这个组件给研究者提供一定数量的用户方法,能够有助于基于一定的优化目标(以用户为中心、或者以系统为中心)执行新的VM提供策略。
CPU Allocation:对于每个客户端组件,给VM分配处理内核的过程是在客户端分配器上完成的。该策略考虑了多少个处理内核会授权给每个VM,多少处理内核的容量会有效地分配给VM。
Memory Allocation,Storage Allocation,Bandwidth Allocation功能类似。公安情报学
最上面一层是用户代码层,若是根据自己研究对平台进行了扩展,平台重生成后,就可以在仿真程序中调用自己编写的类、方法、成员变量等。
User Code
Simulation
Specification
Scheduling
Plocy
Application Configuration
User Requirements
Cloud Scenario
User or Datacenter Broker
图3-4用户代码层