云计算及其仿真工具CloudSim的研究

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

云计算及其仿真工具CloudSim的研究赵云肖丹燕陈阿林(重庆师范大学信息技术中心重庆4004713883567657zhaoyun@cqnu.edu.cn)摘要介绍分析了云计算的概念和几种主要的云计算应用平台——Google的云计算平台和Amazon的AWS,并描述了云计算平台的通用体系结构,以及其中的技术原理。介绍了云计算的仿真工具CloudSim的架构,描述了其原理以及它的使用方法。做了CloudSim模拟云环境的测试实验,证明CloudSim的效率比较优异,使用CloudSim模拟仿真云计算任务调度Min-Min算法,来说明CloudSim的确可以用来模拟云计算环境,进行相关研究工作,也证明了Min-Min算法的不均衡性。关键词云计算仿真工具CloudSimMin-Min算法AbstractThispaperintroducesthecloudcomputingandsomeoutstandingcloudcomputingapplicationplatform,describesacomprehensivearchitectureofcloudcomputingplatform.Introducesasimulatingtoolofcloudcomputing——CloudSimanditsarchitectureandmethodofapplication.DidasimulatingexperimenttoassessCloudSim’sefficiency,andusedCloudSimtosimulateaschedulingalgorithmoftasks——Min-Minalgorithm.Keywordcloudcomputing,simulatingtool,CloudSim,Min-Minalgorithm早在20世纪60年代,麦卡锡(JohnMcCarthy)便提出了把计算能力作为一种像水和电一样的公用事业提供给用户[1]。但当时,由于计算机相关技术并没有获得突破,因此,此种想法也只是一种理想而不能实现。进入21世纪,随着并行计算、分布式计算、网格计算、互联网络、虚拟化等相关技术的发展和成熟,麦卡锡的理想正逐步被实现。实现这一理想的技术被冠以诗情画意的名字——云计算。1云计算1.1什么是云计算2006-2007年期间,绝大多数学者和公司都认为云计算只是一种商业上的炒作,其中以国内为最。但随着Google的云计算应用GoogleDocs、GoogleApps,Amoazon的S3和EC2服务,IBM和Microsoft等著名计算机公司大张旗鼓进军云计算领域,公布自己的云计算计划、云计算概念、相关计算技术和自己的商业产品后,大多数人才开始相信云时代已经到来。云计算是对分布式处理、并行处理和网格计算及分布式数据库的改进处理,其前身是利用并行计算解决大型问题的网格计算和将计算资源作为可计量的服务提供的公用计算,在互联网宽带技术和虚拟化技术高速发展后就萌生出云计算[2]。目前云计算的定义纵说纷纭,其中典型的定义有:(1)“网格之父”IanFoster:云计算是一种由规模经济驱动的大型分布式计算模式,它为互联网上的外部用户按需提供一个抽象的、虚拟的、动态可扩展的、可管理的计算能力、存储、平台及服务的资源池[3]。(2)中国网格计算、云计算专家刘鹏:云计算将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和各种软件服务[4]。(3)计算机专家李开复:云计算是分布式处理、并行处理和网格计算的发展,或者说是这些计算机科学概念的商业实现。(4)狭义的云计算指:厂商通过分布式计算和虚拟化技术搭建数据中心或超级计算机,以免费或按需租用方式向用户提供数据存储、分析以及科学计算等服务,如亚马逊弹性云计算、微软的SSDS等。广义的云计算是指厂商通过建立网络服务器集群,向各种不同类型的客户提供在线软件服务、硬件租用、数据存储、计算分析等不同类型的服务,如Google的Docs、用友的在线财务软件、腾讯的在线flash制作等。1.2云计算概念模型下面是云计算的概念模型,如图1.1所示:图1.1云计算的概念模型虚拟化的资源池所形成的云平台通过对外接口,为互联网上的各类用户提供服务,用户可以使用任何终端,在任何地点接入互联网使用这些服务,而不必知道服务是由哪些服务器提供,也不必知道云平台的内部运行方式。这样的运行模式可以使云计算超大规模、虚拟化、高可靠、通用、高可扩展、按需服务、费用极其廉价。2云应用平台和云计算体系结构平台打败应用,这是不争的事实,目前特别突出的云计算平台有:Google的云计算平台,Amazon的AWS平台。2.1Google云计算平台Google云计算平台是以三项云计算核心技术MapReduce、GFS、BigTable为基础,以桌面产品、移动产品、网络产品、硬件产品、其他产品为目标,依靠网络宽带技术向一般用户和企业级用户提供服务的一个大的集成平台。其云计算架构Hadoop如表2.1所示:云计算架构HadoopMapReduceAPI(Map,Reduce)BigTable(分布式数据库)GFS(Google分布式文件系统)表2.1云计算架构HadoopMapReduce是一种简化的并行计算编程模型,它使用映射(Map)和化简(Reduce),可以将传统的程序简单地部署运行在分布式系统上。GFS(GoogleFileSystem)是一个可扩展的分布式文件系统,用于大型、分布式、对大量数据进行访问的应用,它对上层程序提供一个统一的文件系统API结构。BigTable是建立在GFS、Scheduler、LockService和MapReduce上的一个大型的分布式数据库。目前,在Google云计算平台上的典型运用包括:GoogleDocs、GoogleEarth、GSA、GoogleMini搜索服务器等。2.2Amazon的基础架构平台Amazon的Amazon网络服务(AWS)不是基础架构服务的集成,而是提供一个通用的云计算平台。其包含的服务有:弹性云计算(EC2)、简单存储服务(S3)、云端、简单数据库和简单队列服务。Amazon弹性云计算(AmazonElasticComputeCloud,AmazonEC2)提供可调整的云计算能力。Amazon简单存储服务(AmazonSimpleStorageService,AmazonS3)让用户可以随时随地使用简单的网络服务接口来存储和检索大量数据。Amazon云端(AmazonCloudFront)是一项针对内容发布的网络服务,它整合其他AWS服务,给开发者与和企业一条简单的途径向终端用户发布内容。Amazon简单数据库(AmazonSimpleDB)对结构化数据进行实时查询的网络服务,与EC2和S3无缝连接,协同提供云中数据的存储、处理和查询功能。Amazon简单队列服务(AmazonSimpleQueueService,AmazonSQS)为用户提供一个可靠、可扩展的主机队列用于存储在计算机间通信的消息。可以在文[5]查找AWS的更多细节。2.3其他云计算平台目前比较突出的云计算平台还有Microsoft的Azure[6],IBM的蓝云计算、Sun公司的SunCloud等。在开源领域,比较突出的云计算平台有:AbiCloud企业级开源云计算平台、Eucalyptus开源云计算平台、10genMongoDB开源高性能存储平台、Enomalism弹性计算平台、云计算平台Nimbus等[7]。2.4云计算体系结构目前云计算的平台主要提供IaaS(基础设计即服务)、PaaS(平台即服务)和SaaS(软件即服务)三种形式的服务[8],但由于没有统一的标准,各厂家提出了不同的解决方案,因此并没有统一的技术体系结构。云计算专家刘鹏综合不同厂家的方案,构造了一个值得商榷的云计算体系结构[9],它分为4层,如图2.2所示:图2.1云计算体系结构SOA构建层采用了面向服务的架构思想,更多地依靠外部设施提供的功能,将云计算能力封装成标准的WebServices服务,包括服务注册、查找、访问和构建服务工作流等。管理中间件负责对资源的管理、任务的管理、用户的管理以及相关的安全管理工作。资源池层将互联网上的分布式计算机或设备等资源虚拟化为计算资源池、存储资源池、网络资源池、数据资源池,使用映像机制支持用户随时随地接入互联网使用。物理资源层采用松耦合的方式,将分布在互联网上的计算机、存储器、网络设备、数据库等物理资源的异构性进行屏蔽,并对其进行资源虚拟化处理,以方便管理和访问。下面以IaaS为例,介绍云计算的实现机制:用户交互接口以WebServices方式提供应用访问接口,获取用户需求。服务目录向用户提供服务清单。系统管理模块管理和分配所有可用的资源,核心是负载均衡。配置工具负责在分配的节点上准备任务运行环境。监视统计模块负责监视节点的运行状态,并完成用户使用节点统计数据。执行过程:用户交互接口允许用户从目录中选取、调用一个服务。该请求传递给系统管理模块后,将为用户分配恰当的资源,然后调用配置工具来准备运行环境。3云计算仿真工具CloudSim及其使用方法在云计算中,量化云端基础设施的负荷、能源性能、系统规模、调度性能和分配策略是一个非常具有挑战性的问题,对研究人员和企业增加了难度和门槛,一个实际的云平台规模限制了实验的规模,而且重复试验成本颇高。需要一个云计算环境的分布式系统模拟器来管理中间件安全审计综合防护访问授权身份认证安全管理用户管理帐号管理用户环境配置用户交互管理使用计费资源管理负载均衡故障检测故障恢复监视统计任务管理映像部署和管理任务调度任务执行生命期管理资源池计算机源池存储资源池网络资源池数据资源池软件资源池SOA构建层服务工作流服务访问服务注册服务查找服务接口物理资源计算机网络设施软件存储器数据库实现云计算试验的模拟,降低研究测试门槛和成本。3.1CloudSim体系结构2009年4月8日,澳大利亚墨尔本大学的网格实验室Gridbus项目宣布推出云计算仿真软件,称为CloudSim[10]。它是一个新的、通用的和可扩展的仿真框架,用于新的云计算基础设施和应用服务的无缝建模、仿真和试验。这样,研究人员和开发张就可以专注于特定系统的设计问题,而没有必要调查和关心云基础设施和服务为基础的与底层相关的细节。CloudSim的组件工具均为开源的。CloudSim的体系结构主要分为四个层次,如图3.1所示:图3.1CloudSim体系结构CloudSim最底层是SimJava离散事件仿引擎[11],实现核心功能需要更高级仿真的框架,如排队和事件处理、建立服务,主机,虚拟机等系统组件、组件间的通信等。GridSim层支持高层次软件组件用于多重网格基础设施。在CloudSim层,通过编程扩展GridSim层暴露的核心功能,并提供新的支持以虚拟云为基础的数据中心环境。用户层中,开发人员可以开发各种需求、应用的配置和云可用性场景,并执行以定义云配置的Robust测试。CloudSim源代码中有几个核心类:Cloudlet、DataCenter、DataCenterBroker、Host、VirtualMachine、VMScheduler、VMCharacteristics、VMMAllocationPolicy、VMProvisioner,类的具体细节请参见文献[10]。3.2CloudSim环境配置3.1.1JDK安装和配置从下载JDK最新版本jdk1.6.0_13,CloudSim需要运行在JDK1.6版本以上。安装下载的JDK,设置环境变量。在Path中加入路径:C:\ProgramFiles\Java\jdk1.6.0_13\bin;ClassPath中加入路径:C:\ProgramFiles\Java\jdk1.6.0_13\lib\dt.jar;C:\ProgramFiles\Java\

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功