CloudSim:云计算环境的仿真和资源提供算法的评估外文翻译资料

 2022-11-03 07:11

英语原文共 28 页,剩余内容已隐藏,支付完成后下载完整资料


CloudSim:云计算环境的仿真和资源提供算法的评估

Rodrigo N. Calheiros1, Rajiv Ranjan2, Anton Beloglazov1,C acute; esar A. F. De Rose3 and Rajkumar Buyya

概要

云计算是最近的进步,其中在基于使用的支付模型下将IT基础设施和应用作为“服务”提供给最终用户。即使在基于随时间变化的需求(工作负载模式和QoS)的情况下,它也可以利用虚拟化服务。在云计算模式下托管的应用程序服务具有复杂的配置,组合,配置和部署要求。在不同的系统和用户配置和要求下以可重复的方式评估云配置策略,应用程序工作负载模型和资源性能模型的性能很难实现。为了克服这个挑战,我们建议CloudSim:一个可扩展的模拟工具包,使云计算系统和应用程序配置环境的建模和模拟。 CloudSim工具包支持云系统组件(如数据中心,虚拟机(VM)和资源配置策略)的系统和行为建模。它实现通用应用程序供应技术,可以轻松扩展和有限的努力。目前,它支持由单一和互联网云(云联合)组成的云计算环境的建模和模拟。此外,它暴露了用于实现策略的自定义接口和用于在互联网云计算场景下分配VM的供应技术。来自美国的HP Labs等组织的一些研究人员正在使用CloudSim调查云资源配置和数据中心资源的能源效率管理。 CloudSim的有用性通过一个涉及在混合云环境中的应用服务的动态提供的案例研究来证明。为了证明联合云计算模型显着地改善了在资源和服务需求模式下的应用QoS要求

版权所有copy;2010 John Wiley&Sons,Ltd.

2009年11月3日收到; 2010年6月4日修订; 2010年6月14日接受

关键词:云计算; 建模和仿真; 性能评价; 资源管理; 应用调度

1.引言

云计算提供基础架构,平台和软件,这些基础架构,平台和软件作为基于订阅的服务,以即付即用模式提供给消费者。 这些服务称为行业中的基础架构即服务(IaaS),平台即服务(PaaS)和软件即服务(SaaS)。 这些服务的重要性在伯克利大学最近的一份报告中被强调:“云计算,计算作为实用程序的长期梦想转变IT行业大部分的潜力,使软件作为服务更具吸引力。

Cloudsim的目标是为下一代数据中心提供动力和灵活的应用配置的支持平台。这通过将数据中心的能力暴露为虚拟服务(例如,硬件,数据库,用户界面和应用逻辑)的网络来促进,使得用户能够从互联网驱动和服务质量(QoS)要求[3]中的任何地方访问和部署应用。同样,对于新的应用服务有创新想法的IT公司也不再需要在硬件和软件基础设施上做出大量的资本支出。通过使用云作为应用程序托管平台,IT公司摆脱了设置基本硬件和软件基础设施的琐碎任务。因此,他们可以更多地关注创新和为他们的应用服务创造商业价值[1]。一些传统的基于云的应用服务包括网络,网络托管,内容交付和实时检测数据处理。这些应用程序类型具有不同的组成,配置和部署要求。在瞬态条件下,针对不同应用模型在真实云计算环境(Amazon EC2 [4],Microsoft Azure [5],Google App Engine [6])中量化配置(调度和分配)策略的性能极具挑战性,因为: i)云显示不同的需求,供应模式,系统大小和资源(硬件,软件,网络); (ii)用户具有异构,动态和竞争的QoS要求;和(iii)应用程序具有不同的性能,工作负载和动态应用程序扩展需求。使用诸如Amazon EC2和Microsoft Azure之类的真实基础架构来在可变条件(可用性,工作负载模式)下对应用程序性能(吞吐量,成本效益)进行基准测试通常受到基础架构的刚性的限制。因此,这使得复制可以依赖的结果,是一个非常困难的事情。此外,在多个测试运行期间,在大规模云计算基础架构上重新配置基准测试参数是冗长乏味和耗时的。这样的限制是由不受应用服务开发人员控制的基于云的环境中的主要条件引起的。因此,不可能在使用真实世界云环境的可重复,可靠和可扩展的环境中执行基准测试实验。

一个更可行的替代方法是使用模拟工具。 这些工具开放了在受控环境中评估假设(应用程序基准研究)的可能性,其中人们可以容易地再现结果。 基于模拟的方法为IT公司(或想通过云提供他的应用服务的任何人)提供显着的好处,允许他们:(i)在可重复和可控的环境中测试他们的服务; (ii)在部署在真实云之前调整系统瓶颈; 和(iii)在模拟基础设施上实验不同的工作负载混合和资源性能情景,用于开发和测试自适应应用配置技术。

考虑到当前分布式(包括网格和网络)系统模拟器[8-10]都没有提供可以直接用于建模云计算环境的环境,我们提出了CloudSim:一个新的,广义的和可扩展的模拟框架,允许无缝新兴云计算基础架构和应用服务的建模,仿真和实验。通过使用CloudSim,研究人员和基于行业的开发人员可以测试新开发的应用程序在控制和环境中的性能。基于CloudSim报告的评估结果,他们可以进一步净化服务性能。使用CloudSim进行初始性能测试的主要优势包括:(i)时间有效性:实现基于云的应用程序供应测试环境需要非常少的工作和时间,以及(ii)灵活性和适用性:开发人员可以建模和测试性能其在异构云环境(Amazon EC2,Microsoft Azure)中的应用服务,具有很少的编程和部署工作。

CloudSim提供以下新颖的功能:(i)支持在单个物理计算节点上对大型云计算环境(包括数据中心)进行建模和模拟; (ii)用于建模云,服务代理,供应和分配策略的自包含平台; (iii)支持仿真系统之间的网络连接的仿真元素; 和(iv)用于模拟联合云环境的设施,来自私有和公共领域的网络间资源,这对于与云爆发和自动应用程序缩放相关的研究研究至关重要。 CloudSim的一些独特功能是:(i)虚拟化引擎的可用性,有助于在数据中心节点上创建和管理多个独立的共同托管的虚拟化服务,以及(ii) 共享和时间共享的处理内核分配给虚拟化服务。 CloudSim的这些引人注目的功能将加快用于云计算的新应用程序配置算法的开发。

本文的主要贡献是:(i)用于建模云计算环境和性能测试应用服务的整体软件框架,以及(ii)端到端云网络架构,其利用BRITE拓扑来建模链路带宽和相关联的等待时间。与CloudSimframework相关的某些发现是:(i)支持大规模模拟环境,在初始化开销和内存消耗方面具有很少或没有开销; (ii)它暴露了可以容易地扩展用于建模自定义云计算环境(联合/非联合)和应用供应技术(云突发,能量意识/非能量意识)的强大特征。

本文的其余部分组织如下:首先,提出了关于云计算,现有模型及其分层设计的一般描述。本节结束于分布式(网格,云)系统仿真和建模中的现有技术的简要概述。随后,介绍了与CloudSim框架的体系结构相关的全面细节。第4节介绍了CloudSim组件的总体设计。第5节介绍了为实现CloudSimin成功模拟云计算环境的性能而进行的实验。第6节简要概述了正在使用或已经使用CloudSim进行研究和开发的项目。最后,本文以简要的结论性意见结束,并讨论未来的研究方向。

2.背景

本节介绍构成云计算系统架构基础的各种元素的背景信息。 它还提出了需要扩展到由一个或多个云服务提供商拥有的多个地理位置分布的数据中心的弹性或可延展应用程序的要求。 CloudSim框架旨在简化和加快进行使用云计算作为应用程序配置环境的实验研究的过程。 注意,使用真实的云基础设施进行这样的实验研究由于其庞大的规模和复杂性可能是非常耗时的。

2.1 云计算

云计算可以定义为“一种并行和分布式系统,包括动态供应的互连和虚拟化计算机的集合,并且基于服务提供商和消费者之间的协商建立的服务级别协议来提供一个或多个计算资源。新兴云计算基础架构/平台的一些示例是Microsoft Azure [5],Amazon EC2,Google App Engine和Aneka [11]。

云平台的一个含义是能够动态地适应(按比例放大或缩小)所提供的资源以应用在可预测的变量,以及在当前和之后保持的变化的变化;或意外的,并且由于应用服务的流行性的微妙增加而发生。云的这种能力对于易受这种行为影响的应用(例如web主机,内容递送和社交网络)的弹性(自动缩放)特别有用。这些应用程序通常表现出瞬时行为(使用模式),并且根据时间关键性和用户的交互模式(在线/在线)具有不同的QoS要求。

因此,需要开发动态供应技术以确保这些应用在瞬态条件下实现QoS。尽管云已经越来越被视为可以支持弹性应用程序的平台,但它面临着与核心问题(例如所有权,规模和位置)有关的一些限制。例如,云在给定的时间实例下只能向应用服务提供有限数量的主机能力(虚拟机(VM)和计算服务器)因此,在一定程度上扩展应用的容量变得复杂。因此,在请求数量超过云的容量的那些情况下,托管在云中的应用可能对递送给其用户的整体QoS造成影响。这个问题的一个解决方案是网络间多个云作为联盟的一部分,并开发下一代动态配置技术,可以从架构中获取利益。地理上分布的云的这种联合可以基于它们之间的先前协议形成,以有效地应对服务需求的变化。此方法允许跨多个云(作为联合会的成员)提供应用程序。这进一步有助于通过将应用程序服务实例透明迁移到联盟中的云来更有效地满足用户SLA,这更接近请求的来源。混合云模型是私有云与公共云的组合。私有云和公共云主要根据其支持的所有权类型和访问权限而有所不同。对私有云资源的访问仅限于属于拥有云的组织的用户。另一方面,公共云资源在因特网上可用于任何感兴趣的用户按现收现付模式。因此,中小型企业(SME)和政府已经开始探索公共云的需求驱动的供应以及它们现有的计算基础设施(私有云),以处理他们的服务需求的时间变化。这种模式对于仅在一天的特定时间(例如后台处理,事务分析)需要大量计算能力的中小企业和银行特别有利。然而,为任何云模型(公共,私有,混合或联合)编写软件和开发应用程序配置技术是一项复杂的任务。与在云上配置应用程序相关的几个关键挑战是:服务发现,监视,VM和应用程序的部署以及负载平衡等。每个元素在整个云操作中的效果可能不足以允许隔离,评估和再现。 CloudSim通过提供一个平台来缓解这些挑战,在该平台中,可以以受控和可再现的方式测试每个元素的策略。因此,模拟框架(如CloudSim)非常重要,因为它们允许在不同的使用和基础架构可用性情况下评估资源配置和应用程序调度技术的性能。

2.2 分层设计

图1显示了云计算架构的分层设计。物理云资源以及核心中间件功能构成了提供IaaS和PaaS的基础。用户级中间件旨在提供SaaS功能。顶层通过利用由下层服务提供的服务来关注应用服务(SaaS)。 PaaS / SaaS服务通常由与IaaS提供商不同的第三方服务提供商开发和提供[3]。云应用程序:此层包括可供最终用户直接使用的应用程序。我们将最终用户定义为在互联网上利用SaaS应用程序的主动实体。这些应用程序可以由云提供商(SaaS提供商)提供,并由最终用户通过订阅模式或基于每次使用付费来访问。或者,在此层中,用户部署自己的应用程序。在前一种情况下,存在诸如Salesforce.com的应用程序,其在云(即,客户关系管理软件)和社交网络上提供业务过程模型.Inthelatter,科学和研究应用程序以及内容交付网络。用户级中间件:此层包括诸如Web 2.0接口(Ajax,IBM Workplace)之类的软件框架,可帮助开发人员创建丰富,具有成本效益的用户界面基于浏览器的应用程序。该层还提供了那些编程环境和组合工具,以简化云中应用程序的创建,部署和执行。最后,在这个层中,支持多层应用程序开发的几个框架(如Spring和Hibernate)可以被部署为支持在上层运行的应用程序。核心中间件:此层实现平台级服务,为托管和管理用户级应用程序服务提供运行时环境。这一层的核心服务包括动态SLA管理,会计,计费,执行监控和管理以及定价(都是要资本化的服务?)。在该层操作的服务的众所周知的示例是Amazon EC2,Google App Engine和Aneka。由该层暴露的功能由SaaS(在图1中的最顶层处表示的服务)和IaaS(在图1中的最底层处示出的服务)两者访问。需要在该层实现的关键功能包括消息,服务发现和负载平衡。这些功能通常由云提供商实施,并以额外的溢价提供给应用程序开发人员。例如,Amazon为Amazon EC2开发人员/客户提供负载平衡器和监视服务(Cloudwatch)。同样,在Microsoft Azure云上构建应用程序的开发人员可以使用.NET Service Bus来实现消息传递机制。系统级:云环境中的计算能力由通常安装有数百到数千个主机的数据中心集合提供[2]。在系统级层,存在为数据中心供电的大量物理资源(存储服务器和应用程序服务器)。这些服务器由更高级的虚拟化[12]服务和工具包透明地管理,允许在服务器的虚拟实例之间共享它们的容量。这些VM彼此隔离,从而使得容错行为和隔离的安全上下文成为可能。

2.3 云联盟(inter-networking)

当前的云计算提供商在因特网上的不同地理位置处具有多个数据中心,以便最佳地满足全世界的客户需求。 然而,现有系统不支持用于动态协调不同数据中心之间的负载分担的机制和策略,以便确定托管应用服务以实现合理的QoS水平的最佳位置。 此外,云服务提供商无法预测消费其服务的终端用户的地理分布; 因此,负载协调必须自动发生,并且服务的分布必须响应于负载行为的变化而改变。 图2描述了这样的云计算体系结构,包括服务消费者(SaaS提供商)代理和提供商的协调器服务,支持实用程序驱动的云互联[13]:应用程序配置和工作负载迁移。

管理分布式云的联合联网提供了显着的性能和财务效益,例如:(i)提高SaaS提供商满足客户的QoS水平的能力,并通过优化服务布局和规模提供改进的服务; (ii)通过允许每个成员云从联盟动态获取额外

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[140883],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。