西安电子科技大学High-PerformanceCloudComputing:AViewofScientificApplications高性能云计算:从科学应用的角度目录引言1云的发展2Aneka3案例分析4观察与思考5结论和未来方向6摘要传统解决方法:高性能计算方法、安装集群和超级计算机等基础设施缺点:难以建立、维护和操作科学计算往往需要可用的数量庞大的计算机来执行大规模实验。云计算为科学家利用基础设施进行科学计算提供新的模式。按用量付费可动态获取计算资源、存储资源和应用(和现有基础设施集成)资源在不需要时可被释放这些服务可通过服务级别协议(SLA)保证理想的服务质量(QoS)摘要Aneka,一个企业云计算解决方案,通过利用私有云和公有云的计算资源向用户提供所需的服务质量。特点:灵活性、支持多种编程模式支持的领域:从财务应用到科学计算本论文将给出两个Aneka的科学计算案例。基因表达数据分类脑功能磁共振成像工作流程引言科学计算科学问题工程难题社会科学使用数学模型或数值求解技术解决以下问题引言这些模型需要大量的计算资源来进行大规模实验并在一个合理的时间框架里减少计算复杂度。计算网格引入新的功能:动态发现服务,依靠属于不同管理域的大量资源,发现满足应用需求的最佳机器集。科学网格计算EGEETeraGridTheOpenScienceGrid引言科学网格计算的例子:引言然而科学网格也有限制性:政治因素:研究团体必须提交提案描述自己的研究方式以获取在世界各地的分享,导致竞争使用科学网格,小型项目无法获得使用权。技术因素:大多数情况下,科学网格支持一个预包装的环境,而对一些特定的工具和API的使用会造成限制。总之,在实践中,可供科学家们选择的选项是有限的,在应对需求上科学网格欠缺伸缩性。引言解决技术问题PlanetLab基于虚拟技术用户可以被赋予一个能被虚拟机在PlanetLab基础设施上的一些节点上访问的刀片机每个刀片机可完全按需要定制PlanetLab主要作为计算机网络和分布式系统研究的试验台。其基础设施只能被隶属于公司或高校的人群使用,造成计算资源的限制。由于政治因素可被忽略,技术问题成为主要难点引言云计算,是目前提供IT服务的新趋势,它可以解决上述一系列问题。虚拟化技术云计算通过虚拟化技术,为终端用户提供一系列涵盖整个计算堆栈的服务,从硬件级到应用级,并按基础使用量收取费用。可伸缩性可伸缩性科学家能够根据应用需求和用户预算来自动伸缩所使用计算基础设施的规模大小,并从中获益。可定制化科学家通过使用基于云技术可以很容易获得大型分布式基础设施并完全定制自己的执行环境,从而实现实验中完美的设置。自由使用通过按使用量支付方式来租用基础设施,用户不需要进行准备可立即立即获得所需的资源,也可在不用时自由释放资源云计算特点引言引言云计算为提供IT服务的每级计算堆栈提供灵活的机制:从硬件级到应用级。上述方案使得有非常多的选项可供科学家选择,足以满足他们的任何具体研究需要。硬件虚拟化软件即服务硬件设备和应用解决方案引言云计算解决方案的热度正在快速增长,如社交网络,商业应用和信息传递网络。目前,计算科学利用云计算仍然是有限,但实现这一目标的第一步已经完成了。能源部(DOE)的国家实验室开始对科学计算的云服务的探索。2009年4月,雅虎公司宣布,他们已经扩展了在美国各大顶尖大学的合作关系,推动云计算的研究,并进行计算科学和工程的应用。第一个用于计算科学并基于云计算的基础设施之一,科学云,已经由芝加哥大学,伊利诺伊大学,普渡大学和马萨理科大学共同部署。从研究观点,使用云计算进行科学计算的可行性已经被初步研究。一些研究通过分析使用的高性能计算科学应用的表现或科学实验在亚马逊云计算基础设施的表现来调查使用云计算技术的好处。引言不同的解决方案可从传统的科学网格移动到云计算模式中。1亚马逊网络服务和VMWare靠硬件级虚拟化和按需提供计算和存储资源来提供服务2谷歌AppEngine和微软Azure更侧重于通过实施一个具体的应用模式来实现应用程序级的虚拟化,充分利用其巨大的基础设施和按需服务。3其他的解决方案提供最终用户一个云计算应用程序的平台,从而提供用户一个更好的服务质量。引言一个用于开发应用程序的云计算平台。特点1通过管理虚拟资源,桌面台式机和集群的CPU周期而按需伸缩规模。特点2支持多种编程模式,为科学家表达程序逻辑提供不同选择:任务包,分布式线程,数据流或MapReduce。特点3面向服务的架构,为用户提供了完全可定制化的基础设施,以达到应用所期望的QoS(服务质量)。云的发展云计算这个术语包括许多方面,范围从最终用户在使用这项技术带来新机遇的经验到系统实现使这些机遇变成现实。云的定义参考模型关键服务在本节中,我们将给出云计算的特征,引入云计算参考模型,并确定这项新技术提供的关键服务。云的发展-云的定义阿布鲁斯特等认为,“云计算不仅指通过互联网的应用程序作为服务,而且是数据中心的硬件和软件系统提供这些服务”Buyya等给出一个更具结构化的定义,定义为“并行和分布式的互联和虚拟化的计算机的集合,是动态供应和作为一个或多个统一的计算资源提出了基于服务水平协议组成的系统类型”。数据中心硬件软件云的发展-云的定义云计算的特征的主要特点之一是同时提供基础设施和软件作为服务的能力。更确切地说,它是一种技术,旨在提供随需应变的按使用量支付的IT资源先前趋势仅限于特定的用户类,或者特定种类的IT资源云计算的目标是全球化:它提供了上述服务给各行各业,从在因特网上拥有个人文件的终端用户到为了扩展数据中心而外包其整个IT基础设施的企业。云的发展-云计算参考模型下图给出了一个云计算设想的方案概述。它提出了一个分层视图,由IT基础设施、服务和应用构成云计算堆栈。云的发展-云计算参考模型可供用户使用的云应用应用程序接入点为应用提供运行环境最大限度利用物理资源为云计算提供“马力”用户层用户级中间件层核心中间件层物理层云计算定义了四个不同的层次,从系统向最终用户逐步过渡。云的发展-云计算参考模型物理层物理层运行在所部署的基础设施之上的物理资源的集合。这些物理资源包括不同的种类:集群,数据中心和备用台式机。支持商业云部署的基础设施大多数由数据中心组成,这些数据中心集合了成千上百的机器。私有云提供了一个更异构的环境,在这种环境中,备用台式机的闲置CPU循环会被使用以平衡计算工作量。物理层在云中提供“马力”。核心中间件层物理基础设施由核心中间件管理,它的目的在于为应用程序提供一个良好的运行环境并最大限度的利用物理资源。云的发展-云计算参考模型为了提供更优质的服务,如应用程序隔离、服务质量和沙箱,核心中间件可依赖于虚拟化技术。在虚拟化技术的不同解决方案中,硬件级虚拟化和编程语言级虚拟化是最流行的。硬件及虚拟化使用虚拟机的方法保证了应用程序的完全隔离和物理资源的良好分割,如内存和CPU。编程语言级虚拟化提供了沙箱和应用程序的托管执行,这些应用程序是由特定的技术或编程语言开发的(如Java,.NET和Python)。在此基础上,核心中间件提供了一系列广泛的服务,支持服务提供商为终端用户提供专业的和商业的服务这些服务包括服务质量的协商,接入控制,运行管理和监督、计费和支付。核心中间件和物理基础设施共同组成了一个平台,使得部署在云中的应用程序在其之上运行。很少有用户级程序直接访问这一层。云的发展-云计算参考模型用户级中间件层常见的是,核心中间件所提供的服务通常通过一个用户级中间件来访问。它提供了环境和工具来简化云应用程序的开发和部署。这些中间件是:Web2.0接口,命令行工具,库和编程语言。用户级中间件构成了到云端的应用程序接入点。用户层云应用程序:如社会计算,企业,ISV,科学,CDN云的发展-云计算服务云计算提供给终端用户,科学机构和企业的服务可分为三大类:云计算服务SaaSIaaSPaaS云的发展-云计算服务云的发展-云计算服务IaaS基础设施即服务1术语基础设施即服务或硬件即服务(HaaS)指的是基于虚拟化或物理资源的基础设施向商品一样提供给消费者。这些资源满足终端用户对内存,CPU类型和动力,存储和操作系统的要求。用户使用按使用量收费并在这些资源的基础上启动自己的系统。而这些资源由供应商所提供的数据中心托管。亚马逊公司是一个提供IaaS服务的提供商之一,EC2提供了一个大的基础设施和基于硬件虚拟化的服务。亚马逊还通过亚马逊简单存储服务(S3)提供存储服务,用户可以使用AmazonS3访问来自任何地方接入的大量数据云的发展-云计算服务PaaS平台即服务2平台即服务解决方案提供一个应用程序或开发平台,用户可以开发自己的应用程序在云端运行。提供了一个应用程序框架和一组API,可被开发人员用来编程或组成云端的应用程序。PaaS解决方案通常作为一个综合系统交付,同时提供一个开发平台和应用程序在其之上运行的IT基础设施。谷歌AppEngine,一个用于开发可伸缩的Web应用平台微软Azure,一个云服务操作系统的平台SaaS软件即服务3云的发展-云计算服务软件即服务解决方案在云计算堆栈的顶端,提供给终端用户集成的服务,包括硬件,开发平台和应用程序。用户不能定制服务,但可以访问云端特定的应用程序。Aneka是Manjrasoft的产品,是一个纯粹的软件即服务,并提供终端用户和开发者在云端使用.NET技术开发分布式应用程序的一个平台技术。软件即服务实现的历史是谷歌提供的办公自动化,如谷歌文档和谷歌日历,免费提供给因特网用户,而且是专业优质的服务。ANEKA1Aneka是一个软件平台和在云端开发分布式应用程序的框架。按需利用计算资源提供丰富的API提供监测和部署工具私有云访问受限2灵活且面向服务设计的Aneka及其它完全可定制的体系结构使Aneka云能够支持不同的方案。3Aneka云可建立在不同的物理基础设施之上,与其他云计算解决方案集成,如亚马逊EC2,以按需扩展它们的能力。ANEKA云计算结构ANEKA-架构Fabric服务可以通过平台抽象层(PAL)直接访问某一节点,并且可以分析硬件性能和动态配置资源。基础服务标志着Aneka基础设施的核心系统,它们提供了一系列基本特征集,在其之上每个Aneka容器可以执行具体的任务集。执行服务Aneka能够通过不同的编程模型来实现多种分布式应用程序,执行服务主要提供实现这些模型的中间件。此外,还有持久性和安全性也被托管于容器ANEKA-架构容器的网络可以使用不同的部署方案。整个Aneka云可以托管在公共云,如亚马逊EC2或桉树管理的私人数据中心完全由相同管理域的物理机(台式机和集群)构成的私有云当地的基础设施利用额外的虚拟资源扩展,如下图所示私有云公有云混合云ANEKA-架构ANEKA-架构Fabric服务按需伸缩和提供其他节点或释放时一些不再需要的节点,这些节点可以是虚拟或物理资源。物理节点:通过网络只需关闭节点中的容器就能释放。虚拟资源:还需要终止托管容器的虚拟机。基础服务会员服务:跟踪云节点和提供注册表。可用于通过特定配置和操作系统动态发现网络或节点服务。ANEKA-应用模型TaskModelMPIThreadModelMapReduceModelWorkFlowPSM模型Aneka中的应用程序由一系列执行单元构成,其性质取决于具体所用的编程模型。单元调度和执行的方法具体到它们属于的编程模型。ANEKA-计费、定价和整合公共云定价策略整合公共云计费策略追踪每个应用程序每个执行单元所花的时间,并保存各单位执行历史。分配到每个资源的价格和确定每个应用程序的产生的费用。混合云置备虚拟资源以满足与用户签订的服务级别协议(SLA)。Aneka提供了一个对象模型允许第三方无缝地整合不同的调度算法,可以协调他们的活动和资源配置服务。计算所有应用程序的执行单位的加权总和调度程序可以访问多个资源池,实时跟踪每个活动实例的花费案例分析-基因表达数据分类案例分析-功能