浅谈云计算
一、云计算(CloudComputing)
狭义云计算指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。总之云计算是一种基于互联网的、通过虚拟化方式共享资源的计算模式,存储和计算资源可以按需动态部署、动态优化、动态收回。
云计算的核心思想,是将大量用网络连接的计算资源统一管理和调度,构成一个计算资源池向用户按需服务。提供资源的网络被称为“云”。云计算的基本原理是,通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将更与互联网相似。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。这可是一种革命性的举措,打个比方,这就好比是从古老的单台发电机模式转向了电厂集中供电的模式。它意味着计算能力也可以作为一种商品进行流通,就像煤气、水电一样,取用方便,费用低廉。最大的不同在于,它是通过互联网进行传输的。云计算的蓝图已经呼之欲出:在未来,只需要一台笔记本或者一个手机,就可以通过网络服务来实现我们需要的一切,甚至包括超级计算这样的任务。从这个角度而言,最终用户才是云计算的真正拥有者。云计算的应用包含这样的一种思想,把力量联合起来,给其中的每一个成员使用。可以这么说,云计算的基本原理就是用户端的简单化,仅负责数据输入和读取,而将庞杂的处理工作交给“云”,也就是联网的计算机群和数据中心来处理。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。云计算是分布式处理(DistributedComputing)、并行处理(ParallelComputing)和网格计算(GridComputing)的发展,或者说是这些计算机科学概念的商业实现。它借助基于互联网的一系列创新技术,存储、计算、软件、管理、网络、信息等各类资源以服务的形式实现虚拟化、即时定制、面向领域、灵活的相互组合,直接满足用户的各种现实需求,真正实现IT服务的透明化。
由于云计算采用了虚拟化技术。所以应该采用虚拟机使物理主机与逻辑主机之间能很好的映射。
虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统通过虚拟机软件,你可以在一台物理计算机上模拟出一台或多台虚拟的计算机,这些虚拟机完全就像真正的计算机那样进行工作,例如你可以安装操作系统、安装应用程序、访问网络资源等等。对于你而言,它只是运行在你物理计算机上的一个应用程序,但是对于在虚拟机中运行的应用程序而言,它就是一台真正的计算机。因此,当我在虚拟机中进行软件评测时,可能系统一样会崩溃,但是,崩溃的只是虚拟机上的操作系统,而不是物理计算机上的操作系统,并且,使用虚拟机的“Undo”(恢复)功能,我可以马上恢复虚拟机到安装软件之前的状态。虚拟机的功能正好可以在云计算中得到良好的应用。
云计算的主要特征有:
1、具有“作为服务”交互的能力
2、以高度可扩展的弹性方式交付服务
3、利用因特网技术和方法来开发和交付服务
4、资源虚拟化及资源的自动管理与配置
5、可实现海量数据的分布式并行处理
6、低成本对用户透明
二、云计算的产业现状与研究进展
1、云计算的产业现状
自亚马逊EC2产品和le-BM并行计算项目提出云计算以来,从技术供应商到软件服务提供商纷纷推出披着“云计算”外衣的各式产品与服务,其中不乏炒作概念、混水摸鱼之辈。总的来看,云计算还处于一个起步的阶段,业务种类还比较单一。目前,提供云计算产品和服务的公司主要来自北XX特别是美国。
Amazon:最早提供远程云计算平台服务的公司,云计算平台称为弹性计算云(ElasticComputeCloud,EC2)。用户租用的是虚拟的计算能力,简化了计费方式。在弹性计算云中,提供了三种不同能力的虚拟机实例,具有不同的收费价格。例如,其中默认的也是最小的运行实例是1.7GB的内存,1个EC2的计算单元(1虚拟的计算核以相关的计算单元),160GB的虚拟机内部存储容量,是一个
32位的计算平台,收费标准为每个小时10美分。在当前的云计算平台中,还有两种性能更加强劲的虚拟机实例可供使用,当然价格也更加昂贵一点。
BM:在20__年11月15日推出了蓝云计算平台,为客户带来即买即用的云计算平台。它包括一系列的云计算产品,通过将Tivoli、DB2、WebSphere与硬件产品(目前是_86刀片服务器)集成,能够为企业架设一个分布式、可全球访问的资源结构。首款支持Power和_86处理器刀片服务器系统的“蓝云”产品于20__年正式推出,并且计划随后推出基于Systemz“大型主机”的云环境,以及基于高密度机架集群的云环境。20__年2月起,BM与无锡市政府合建无锡太湖新城XX建立云计算中心,已投入商用。
le:是云计算的发起人和重要推动力量之一,针对自身特定的网络应用程序定制云计算平台。针对内部网络数据规模超大的特点,le提出了一整套基于分布式并行集群方式的基础架构,利用软件的能力来处理集群中经常发生的节点失效问题。le使用的云计算基础架构模式包括四个相互独立又紧密结合在一起的系统。包括le建立在集群之上的文件系统leFileSystem,针对le应用程序的特点提出的Map/Reduce编程模式,分布式的锁机制Chubby以及le开发的模型简化的大规模分布式数据库BigTable。le并不是通过向用户提供云计算服务来收费,而是基于云计算平台实现le各种应用的运行,并通过后向收费获取收益。
其他:XX、XX、XX、XX、云计算提供商的队伍越来越长。中国企业积极投身于云计算的产业之中,电信运营商、软件厂商、设备制造企业、互联网企业等从不同角度切入云计算,希望分得一杯羹。
2、云计算的研究进展
产业界火热的云计算发展形势极大地吸引了中外学术研究领域的兴趣,推动了相关技术、标准和商业模式的研究进展。
(2)云计算的标准化进程稳步推进。
制定云计算标准的正式联盟OpenCloudConsortium(OCC)宣布成立,成员包括伊利诺大学、美国西北大学、约翰霍普金斯大学、芝加哥大学和加州传讯及信息科技研究院。XX是第一家公开加入该组织的IT厂商,预计未来还将有更多的厂商参加进来。
在云计算的国际标准化方面,信息技术领域的国际标准化官方组织ISO/IECJTC1(国际标准化组织/国际电工委员会第一联合技术委员会)目前已正式成立了两个相关的标准研究组,即ISO/IECJTC1/SC7下设的云计算中IT治理研究组和ISO/IECJTC1/SC38下设的云计算研究组。云计算标准化的内容包括开放云计算接口、云计算基准(Benchmark)、云计算参考实现、云计算试验平台等。云计算的标准化工作起步晚,目前尚未正式发布相关标准。
(3)中国积极开展云计算的研究。
中国是发起成立SC38的主要国家之一,在上述会议期间,中国电子技术标准化研究所的相关负责人成为云计算研究组秘书,这为我国组织研究制定云计算领域的国际标准奠定了坚实的基础,实现了我国在ISO/IECJTC1工作中由“被动跟随”到“积极引导”的历史性突破,标志着中国在云计算领域的标准化工作得到国际社会认可,中国有望获得在此领域的标准化主导权。
工业和信息化部与国家标准化管理委员会联合组织开展云计算标准化工作,由中国电子技术标准化研究所具体牵头,充分发挥信息技术标准工作组的平台作用,调动各方积极性,组建云计算标准化产业联盟,并与国际标准化工作衔接,优先开展云计算标准化需求研究,明确我国云计算标准化工作的思路、定位和作用,并提出标准贯彻实施的思路和方法;其次是研究制定云计算参考实现,为硬件厂商、软件厂商和服务商在云计算中应发挥的作用和拥有的地位提供指导;最后是制定相关的技术标准,为云计算的推广应用及相关的产业化工作提供标准化支撑。
中国电子学会专门成立了“云计算专家委员会”,聘请产学研各界的30多位知名专家学者担任专家委员会委员。该专家委员会正在以下几个方面积极开展相关工作:
(1)跟踪国内外云计算科技研究和产业发展趋势,团结和组织从事云计算科技研究和应用的专家,开展云计算相关领域的国际国内学术交流和合作。
(2)尊重知识产权,保护技术专利,构建有利于科技创新与研究开发的科技氛围。
(3)通过会议、网络媒体宣传等多种活动方式,正确引导和宣传云计算相关科技知识及发展方向。
(4)重视领域人才培养,创造人才合理流动条件,大力培养青年人才,造就一支强大的人才队伍,为该领域的长期发展提供坚实的人力资源基础。
(5)积极参与各个层面的决策咨询,为科技规划、科研立项、应用推广提供科学决策依据。
(6)参与制定云计算技术产业规范:根据云计算技术发展和应用需要,组织、制定、完善、实施云计算相关技术和产业规范。
(7)加强与企业界的联系,为企业提供高水平、实用性强的技术培训,例如CMM培训、项目经理培训、系统分析员培训等。
3、云计算存在的主要问题
(1)需要持久的因特网连接;
(2)低速连接时效果差;
(3)可能是缓慢的;
(4)功能可能是有限的;
(5)可能存在不兼容的情况;
(6)存储的数据也许不安全甚至莫名其妙的消失;
三、云计算的主要研究内容
作为一种基于互联网的大众参与的计算模式,云计算以服务的方式提供计算资源(包括计算能力、存储能力和交互能力等),形成了一种动态可伸缩虚拟化的新型计算资源组织、分配和使用模式。这种模式使得计算资源成为向大众提供服务的社会基础设施,与传统利用桌面计算资源的模式有很大不同,将可能会对信息技术本身及其应用产生深刻影响。软件工程、网络与端设备的资源配置、获取信息与知识的方式等,无不因云计算的发展而产生重要变化。自从20__年云计算概念被提出以来,经过科研和产业界一段时间的推进,云计算正在逐步从理想走向实践。但是,也正因为云计算所产生的影响将会非常深刻,其技术手段和实现方法的完善必将会是一个较为长期的发展和演进过程。云计算有一些重要的基
本热点问题正在被广泛讨论,涉及云计算的技术基础、服务模式和商业运作、对计算资源虚拟化的理解、网格计算与云计算的差异、云计算中心与高性能计算机的关系、云安全和云标准等。
四、问题以及解决方法
Ⅰ、云计算中基于规则的虚拟机的映像这个主要是为了实现虚拟机和物理主机之间自动的改变映像,那么找到一个能在一个动态系统中实现这个逻辑映射并且能最大限度的提高应用性能,最大限度地提高网络局域性,最小的能源消耗的算法是必须解决的问题。
我们提出了一个基于规则的虚拟机的映像。它能够处理通用的映射政策以及不同策略的加权组合。它在运行时间还能处理政策和基础设施的变化。与以往的安置策略相比我们提出的管理程序能定义分配给虚拟机的资源的最大量和最小量。并提出了启发式算法,目的是优化主机的利用率并找到一个到物理链路的虚拟映射。每个链接都描述了两个虚拟机之间的带宽和延迟。应用程序都封装在虚拟机中。
算法的具体实现
这里介绍的基于规则的映射层提供了一个目标函数的加权组合(例如应用性能,能源消耗,或网络位置)。云可以被具体化为一个图:c(C,EC),EC{(si,di)|si,diC},这里的C是物理机器的集合,EC是他们之间链路的集合。物理主机的性能是由内核:CIN,主内存:CIN,二级存储器:CIN和网络链接“四个核心”决定的。链接能力是由最大带宽:EcIR,和延迟度:EcIR描述的。我们假设在同样的主机上的通信是这样的:ciC:bw((ci,ci))并且lat((ci,ci))0(1)。虚拟的基础设施是第二个图:v(V,EV),EV{(vsj,vdj)|vsj,vdjV},对属于V的每个v组成了虚拟的CPU核心vcores:VIN,虚拟主存vmem:VIN和虚拟的二级存储器vstor:VIN。我们必须找到一个映射遵从下述条件:
Vi并且ViVii(2)(3)core(ci)vcores(v),ciC
mem(ci)vmem(v),ciC
vVi(4)
stor(ci)vstor(v),ciC
vVi(5)
公式2保证每个虚拟机被准确地映射一次,其他的方程保证了映射的正确性。
这个映射器被分成两个部分:初始映射的和动态映射。初始映射只在请求时分配虚拟机,动态映射是利用迁移来完成后续的映射,对云的变化做出反应,因此为了实现动态映射,我们进行如下操作:
1)用一个侵犯的目标函数检测主机
2)确定引起侵犯主机的虚拟机
3)利用初始的映射算法计算新的目标主机
4)执行迁移
我们找到这样一个算法后只要从一下几方面来衡量她的性能:
1)最大限度地提高计算性能:一台虚拟机的计算性能依赖于其他运行事件引起性能
的主机的巅峰性能和主机的利用率。计算性能的计算公式是:1Te_e,Te_eICCPIT,IC表示基准的指令数,CPI代表每条指令的周期数,T代表周期长度。假设每个相关的主机上有相似的指令集,那么CPI和I就是他们的相关参数。高速缓存、内存大小和访问时间这样的参数都对CPI值有很大影响。因此这些参数都是应该考虑的性能指标。负荷指标的选择应该根据正在运行的程序并通过衡量个别系统组件的性能来考虑他们的资源需求。系统的负荷度量可能是多个组件的加权负荷(例如,磁盘使用情况,缓存的使用,或者系统总线的利用率)。
2)最优化的位置:使用并行或分布式应用程序时,虚拟机之间的通信经常是应用程序性能的限制因素。虚拟机放置在主机上时应该具有良好的链路性能来提高通信质量。根据协议条款,如果把相关的虚拟机放置在同一主机上那么性能是最
佳的,然而,在现实中这取决与所使用的管理程序。一般情况下,通信的主机放的越近越好,例如,在同一个子网或同一个数据中心。我们将根据可用的通信性能来选择主机。
3)尽量减少能源消耗:在高性能计算机群中计算性能的提高往往伴随着能源消耗。在设计节能意识的映射算法时,我们需要区分哪个系统能提供传感器来测量电流功耗。
在没有能量传感器的机群中,主机要尽可能被利用。要根据内核,CPU类型和可用内存的数量来选择具有更好性能的节点来承受更多的虚拟机。这样一台主机的功耗可以看作p(l)P0pdyn(l)
pdyn(l)这里包含一个XX的部分P0,它代表了在空闲时候的消耗,还有主要取决于负荷l。现在我们定义以下的比率:
p(l)
l(6)
为了找到一个节能的最优的映射,所有的主机都不得不运行在一个接近最小值的负荷水平。
下一步,我们必须找到一个合适的负载度量。如果一个系统有N个相关的组件,第i个组件占了总功耗的一小部分,那么整个系统的负荷度量可能近似计
lpiliNi0算如下:,li是第i个系统组件的负荷。由新事件产生的新请求应该在功耗增加最低的基础上在主机上进行映射。主机上功耗的估计主要依靠公式
(7)。
pkpk(lklk(vm))pk(lk)(7),vm代表新鲜事,lk(vm)为利用率的增量,pk(l)代表功耗。
根据加权组合的性质,我们需要通过执行一个“XX众决策”来决定一个最好的节点。我们对节点进行两两比较,并选择由XX多数目标函数决定的节点。一个目标函数建立了一个二元关系,更倾向于节点A或节点B。如果A==B则认为无效,在这次比较中,我们应用了所有的目标函数,最后选择一个权重最高的节点。这种方法很容易实现,快速(线性成本),并为综合的目标函数提供了一个很好的近似模型。