云计算及其关键技术_陈全

第29卷第9期

2009年9月

文章编号:1001-9081(2009) 09-2562-06

计算机应用

Journa l o f Co m puter App lications

V o. l 29No . 9Sep . 2009

云计算及其关键技术

陈 全, 邓倩妮

(上海交通大学计算机科学与工程系, 上海200240)

(squ i rr3@g m ai. l co m )

摘 要:云计算是一种新兴的计算模型, 它是在网格计算的基础上发展而来的。介绍了云计算的发展历史和应用场景, 比较了现有的云计算的定义并给出了新的定义, 以谷歌的云计算技术为例, 总结了云计算的关键技术:数据

存储技术(G oog l e F ile System ) 、数据管理技术(B igT ab l e) 、编程模型和任务调度模型(M ap R educe) 等, 分析了云计算和网格计算以及传统超级计算的区别, 并指出了云计算的广阔发展前景。

关键词:云计算; 数据存储; 数据管理; 编程模型

中图分类号:T P338. 8 文献标志码:A

C loud co m puti ng and its key techniques

C H E N Quan , DENG Q i a n n i

(De part m e n t of Compu ter S cience and Eng i neering, Shangha i Jiao Tong Un i v e rsit y, Shanghai 200240, Ch i na )

Abstract :C loud computi ng i s a ne w co m puti ng m ode; l it is deve l oped based on gr i d computi ng. T he aut hors i n troduced the develop m ent history o f cloud com puti ng and its applicati on situati on ; co m pa red ex isti ng defi nitions o f c l oud com puti ng and gav e a new defi n iti on ; took goog l e s cloud computing techn i ques as an examp l e , su mm ed up key techn i ques , such as data storage techno l ogy (G oog le F ile Sy stem ), data m anage m en t techno l ogy (B i gT ab l e ), as we ll as prog ra mm i ng m ode l and task schedu ling m ode l(M ap R educe ), used i n c l oud co m puti ng ; and ana l yzed the d ifferences among cloud compu ti ng , g rid co m puti ng and traditi ona l s uper computi ng , and fi ngered out t he broad develop m ent prospec ts o f cloud co m puti ng .

K ey words :cloud co m puti ng ; data storag e ; da ta m anagement ; progra mm i ng m odel

0 引言

云计算(C l oud Co m puti ng) 是一种新近提出的计算模式。是分布式计算(D istr i buted Computi ng ) 、并行计算(Para llel Co m puti ng) 和网格计算(G rid Co m puti ng) 的发展。

目前, 亚马逊、微软、谷歌、IB M 、英特尔等公司纷纷提出了 云计划 。例如亚马逊的AW S(Am azon W eb Services) [1]、IB M 和谷歌联合进行的 蓝云 计划等。这对云计算的商业

价值给予了巨大的肯定。同时学术界也纷纷对云计算进行深层次的研究。例如谷歌同华盛顿大学以及清华大学合作, 启动云计算学术合作计划(A cade m i c C loud Co m puti ng In iti ative), 推动云计算的普及, 加紧对云计算的研究。卡内基梅隆大学等对数据密集型的超级计算(D ata Intensi ve Super Co m puti ng , D ISC ) [2]进行研究, 本质上也是对云计算相关技术开展研究。

I DC 的调查显示, 未来五年云计算服务将急速增长, 预期2012年市场规模可达420亿美元。目前企业导入云计算已逐渐普及, 并且有逐年成长趋势。估计在2012年, 企业投入在云计算服务的支出将占整体IT 成本的25%, 甚至在2013年提高至IT 总支出的三分之一。

由此可见, 在各大公司以及学术界的共同推动下, 云计算技术将会持续发展。

云计算有着广泛的应用前景。如表1所示。云计算在天文学[3]、医学等各个领域有着广泛的应用前景。

趋势科技和瑞星等安全厂商纷纷提出了 安全云 计划。

收稿日期:2009-03-14; 修回日期:2009-05-09。

如今, 每天有2万多种新的病毒和木马产生, 传统的通过更新

用户病毒库的防毒模式, 受到了严峻的挑战, 该模式使用户端的病毒库过于庞大。趋势科技和瑞星的 安全云 将病毒资料库放在 云 端, 与客户端通过网络相连, 当 云 在网络上发现不安全链接时, 可以直接形成判断, 阻止其进入用户机器, 从根本上保护机器的安全。

表1 云计算的应用领域

领域科研

应用场景地震监测海洋信息监控天文信息计算处理DNA 信息分析

医学

海量病例存储分析医疗影像处理

网络安全

病毒库存储垃圾邮件屏蔽动画素材存储分析

图形和图像处理

高仿真动画制作海量图片检索E m ail 服务

互联网

在线实时翻译网络检索服务

据趋势科技大中华区执行总裁张伟钦介绍, 趋势科技已

投入了大量资金, 在全球数个地方建设了新型数据中心。同时, 趋势科技还花费了1000多万美元, 租借了34000多台服务器, 构建了一个服务遍及全球的 安全云 。目前趋势科技

作者简介:陈全(1986-), 男, 安徽滁州人, 硕士研究生, 主要研究方向:云计算、数据密集型可扩展计算; 邓倩妮(1973-), 女, 广西柳州人, :

第9期陈全等:云计算及其关键技术 2563

已将公司中低端的部分产品线放到 云安全 计划中, 而高端

的大部分产品线, 仍在准备过程中。

谷歌提供的Gm a il 、G oog le E art h 、G oogle A na l ytics 等服务都基于其云计算服务器运行[4]。谷歌基于云计算提供的翻译服务具有现今最好的性能[5]。对互联网和美国人生活的一项研究显示, 大约70%的在线用户使用以上 云计算 服务。

对于同样性能的超级计算机花费的资金要少很多。

6) 服务多样性。用户可以支付不同的费用, 以获得不同级别的服务等。

为了更好地定义云计算, 必须从云计算的服务使用者, 服务提供者, 组织方式, 内部实现机制等方面同时定义。

根据现有定义的不足, 本文定义云计算为: 云计算是由网格计算发展而来的, 前台采用用时付费的方式通过Interne t 向用户提供服务。云系统后台由大量的集群使用虚拟机的方式, 通过高速互联网络互连, 组成大型的虚拟资源池。这些虚拟资源可自主管理和配置。用数据冗余的方式保证虚拟资源的高可用性。并具有分布式存储和计算、高扩展性、高可用性、用户友好性等特征。

1 云计算的定义

目前, 云计算没有统一的定义, 当前云计算的定义主要包括如下几种。

1) 维基百科给云计算下的定义。云计算将I T 相关的能

力以服务的方式提供给用户, 允许用户在不了解提供服务的技术、没有相关知识以及设备操作能力的情况下, 通过Interne t 获取需要的服务[6]。

2) 中国云计算网将云计算定义为:云计算是分布式计算(D i str i buted Co m puti ng) 、并行计算(Pa ra lle l Com puti ng ) 和网格计算(G r i d Co m puti ng) 的发展, 或者说是这些科学概念的商业实现[7]。

3) 文献[8]在综合多个云计算的定义之后, 给 云 下了如下定义。云是一个包含大量可用虚拟资源(例如硬件、开发平台以及I /O服务) 的资源池。这些虚拟资源可以根据不同的负载动态地重新配置, 以达到更优化的资源利用率。这种资源池通常由基础设施提供商按照服务等级协议(Serv i ce Leve lA g ree m ent , SLA ) 采用用时付费(P ay P er U se , PPU ) 的模式开发管理。

对比上述定义, 可以发现, 文献[6]和文献[8]中给出的定义的相似之处在于它们都提到了云计算提供服务。文献[6]中的定义主要从云计算用户的角度给出定义, 即用户在不了解具体实现的情况下通过Interne t 获取服务。文献[7]从云计算的发展脉络的角度给出定义, 主要说明了云计算的历史。文献[8]给出的定义则是从云计算提供者的角度来给出定义, 定义了云计算的后台实现方式, 以及管理模式。但是, 这些定义都仅从一个方面定义云, 并不完善。结合上述定义, 可以总结出云计算的一些本质特征, 即分布式的计算和存储特性, 高扩展性, 用户友好性, 良好的管理性, 用时付费等。云计算技术具有以下特点。

1) 云计算系统提供的是服务。服务的实现机制对用户透明, 用户无需了解云计算的具体机制, 就可以获得需要的服务。

2) 用冗余方式提供可靠性。云计算系统由大量商用计算机组成集群向用户提供数据处理服务。随着计算机数量的增加, 系统出现错误的概率大大增加。在没有专用的硬件可靠性部件的支持下, 采用软件的方式, 即数据冗余和分布式存储来保证数据的可靠性。

3) 高可用性。通过集成海量存储和高性能的计算能力, 云能提供较高的服务质量。云计算系统可以自动检测失效节点, 并将失效节点排除, 不影响系统的正常运行。

4) 高层次的编程模型。云计算系统提供高层次的编程模型。用户通过简单学习, 就可以编写自己的云计算程序, 在 云 系统上执行, 满足自己的需求。现在云计算系统主要采用M ap R educe 模型。

2 云计算的关键技术

云计算是一种新型的超级计算方式, 以数据为中心, 是一种数据密集型的超级计算。在数据存储、数据管理、编程模式等多方面具有自身独特的技术。同时涉及了众多其他技术, 如表2所示。本章主要介绍云计算特有的技术, 包括数据存储技术, 数据管理技术, 编程模式等。其他相关技术请阅读给出的参考文献。

表2 云计算涉及的关键技术

技术类型设备架设改善服务技术资源管理技术

具体技术数据中心节能节点互联技术可用性技术容错性技术数据存储技术数据管理技术数据切分技术

任务管理技术

任务调度技术编程模型负载均衡技术

其他相关技术

并行计算技术虚拟机技术系统监控技术

参考文献文献[4,9]文献[10]文献[11-12]文献[12-13]文献[14-16]文献[11]文献[17]文献[12, 17]文献[12, 15-17]

文献[18]文献[19-20]文献[13, 21-22]

文献[23]

2. 1 数据存储技术

为保证高可用、高可靠和经济性, 云计算采用分布式存储的方式来存储数据, 采用冗余存储的方式来保证存储数据的可靠性, 即为同一份数据存储多个副本。

另外, 云计算系统需要同时满足大量用户的需求, 并行地为大量用户提供服务。因此, 云计算的数据存储技术必须具有高吞吐率和高传输率的特点。

云计算的数据存储技术主要有谷歌的非开源的G FS (G oog l e F il e Sy stem ) [14]和H adoop 开发团队开发的G FS 的开源实现HDFS(H adoop D istri buted F il e Syste m ) [15-16]。大部分I T 厂商, 包括雅虎、英特尔的 云 计划采用的都是HDFS 的数据存储技术。

云计算的数据存储技术未来的发展将集中在超大规模的数据存储、数据加密和安全性保证以及继续提高I/O速率等方面。

以G FS 为例。GFS 是一个管理大型分布式数据密集型计算的可扩展的分布式文件系统。它使用廉价的商用硬件搭建系统并向大量用户提供容错的高性能的服务。

,

2564

表3 GFS 与传统分布式文件系统的区别

文件系统GFS 传统分布式文件系统

组件失败管理不作为异常处理作为异常处理

文件大小少量大文件大量小文件

数据写方式在文件末尾附加数据修改现存数据

计算机应用第29卷

以B i gT able 为例。B i gT ab le 数据管理方式设计者

数据流和控制流数据流和控制流分开数据流和控制流结合

G oogle 给出了如下定义[11]: B i gT able 是一种为了管理结构化数据而设计的分布式存储系统, 这些数据可以扩展到非常大的规模, 例如在数千台商用服务器上的达到PB (P etaby tes) 规模的数据。

B igT ab l e 对数据读操作进行优化, 采用列存储的方式, 提高数据读取效率。B i gT ab le 管理的数据的存储结构为:->str i ng 。B i gT able 的基本元素是:行, 列, 记录板和时间戳。其中, 记录板是一段行的集合体。如图2所示。

G FS 系统由一个M aster 和大量块服务器构成。M aster 存放文件系统的所有元数据, 包括名字空间、存取控制、文件分块信息、文件块的位置信息等。GFS 中的文件切分为64M B 的块进行存储。

在GFS 文件系统中, 采用冗余存储的方式来保证数据的可靠性。每份数据在系统中保存3个以上的备份。为了保证数据的一致性, 对于数据的所有修改需要在所有的备份上进行, 并用版本号的方式来确保所有备份处于一致的状态。

客户端不通过M aster 读取数据, 避免了大量读操作使M aster 成为系统瓶颈。客户端从M aste r 获取目标数据块的位置信息后, 直接和块服务器交互进行读操作。

G FS 的写操作将写操作控制信号和数据流分开, 如图1[17]

所示。

图2 B i gTab le 的逻辑结构

B igT ab l e 中的数据项按照行关键字的字典序排列, 每行动态地划分到记录板中。每个节点管理大约100个记录板。时间戳是一个64位的整数, 表示数据的不同版本。列族是若干列的集合, B i gT able 中的存取权限控制在列族的粒度进行。B igT ab l e 在执行时需要三个主要的组件:链接到每个客户端的库, 一个主服务器, 多个记录板服务器。主服务器用于分配记录板到记录板服务器以及负载平衡, 垃圾回收等。记录板服务器用于直接管理一组记录板, 处理读写请求等。

为保证数据结构的高可扩展性, B igT ab l e 采用三级的层次化的方式来存储位置信息, 如图3所示[11]。

其中第一级的Chubby fil e 中包含R oo t T ablet 的位置, R oot T ablet 有且仅有一个, 包含所有M ETADATA tablets 的位置信息, 每个M ETADATA tab lets 包含许多U ser T ab l e 的位置信息。

图1 写控制信号和写数据流

即客户端在获取M aster 的写授权后, 将数据传输给所有的数据副本, 在所有的数据副本都收到修改的数据后, 客户端才发出写请求控制信号。在所有的数据副本更新完数据后, 由主副本向客户端发出写操作完成控制信号。具体请见文献[17]。

当然, 云计算的数据存储技术并不仅仅只是G FS , 其他I T 厂商, 包括微软、H adoop 开发团队也在开发相应的数据管理工具。本质上是一种分布式的数据存储技术, 以及与之相关的虚拟化技术, 对上层屏蔽具体的物理存储器的位置、信息等。快速的数据定位、数据安全性、数据可靠性以及底层设备内存储数据量的均衡等方面都需要继续研究完善。

2. 2 数据管理技术

云计算系统对大数据集进行处理、分析向用户提供高效的服务。因此, 数据管理技术必须能够高效地管理大数据集。其次, 如何在规模巨大的数据中找到特定的数据, 也是云计算数据管理技术所必须解决的问题。

云计算的特点是对海量的数据存储、读取后进行大量的分析, 数据的读操作频率远大于数据的更新频率, 云中的数据管理是一种读优化的数据管理。因此, 云系统的数据管理往往采用数据库领域中列存储的数据管理模式。将表按列划分后存储。

云计算的数据管理技术中最著名的是谷歌在文献[11]提出的B i gT able 数据管理技术。

由于采用列存储的方式管理数据, 如何提高数据的更新速率以及进一步提高随机读速率是未来的数据管理技术必须

图3 B i gTab le 中存储记录板位置信息的结构

当客户端读取数据时, 首先从Chubby fil e 中获取R oo t T ablet 的位置, 并从中读取相应M ETADATA tab let 的位置信息。接着从该M ETADATA tablet 中读取包含目标数据位置信息的U ser T able 的位置, 然后从该U ser T ab l e 中读取目标数据的位置信息项。据此信息到服务器中特定位置读取数据。具体见文献[11]。

这种数据管理技术虽然已经投入使用, 但是仍然具有部分缺点。例如, 对类似数据库中的Jo i n 操作效率太低, 表内数据如何切分存储, 数据类型限定为stri ng 类型过于简单等。而微软的D ryadL I NQ 系统[20]则将操作的对象封装为. N ET 类, 这样有利于对数据进行各种操作, 同时对Jo in 进行了优化, 得到了比B i gT able +M ap R educe 更快的Jo i n 速率和更易

第9期陈全等:云计算及其关键技术 2565

2. 3 编程模型

为了使用户能更轻松地享受云计算带来的服务, 让用户能利用该编程模型编写简单的程序来实现特定的目的, 云计算上的编程模型必须十分简单。必须保证后台复杂的并行执行和任务调度向用户和编程人员透明。

云计算大部分采用M ap R educe [12]的编程模式。现在大部分IT 厂商提出的 云 计划中采用的编程模型, 都是基于M ap R educe 的思想开发的编程工具。

M ap R educe 不仅仅是一种编程模型, 同时也是一种高效的任务调度模型。M ap R educe 这种编程模型并不仅适用于云计算, 在多核和多处理器、ce ll processor 以及异构机群上同样有良好的性能[24-27]。

该编程模式仅适用于编写任务内部松耦合、能够高度并行化的程序。如何改进该编程模式, 使程序员得能够轻松地编写紧耦合的程序, 运行时能高效地调度和执行任务, 是M ap R educe 编程模型未来的发展方向。

M ap R educe 是一种处理和产生大规模数据集的编程模型, 程序员在M ap 函数中指定对各分块数据的处理过程, 在R educe 函数中指定如何对分块数据处理的中间结果进行归约。用户只需要指定m ap 和reduce 函数来编写分布式的并行程序。当在集群上运行M ap R educe 程序时, 程序员不需要关心如何将输入的数据分块、分配和调度, 同时系统还将处理集群内节点失败以及节点间通信的管理等。图4[15]给出了一个M ap R educe

程序的具体执行过程。

M ap R educe 仅为编程模式的一种, 微软提出的D ryadL I NQ [17]是另外一种并行编程模式。但它局限于. N ET 的L I NQ 系统同时并不开源, 限制了它的发展前景。M ap R educe 作为一种较为流行的云计算编程模型, 在云计算系统中应用广阔。但是基于它的开发工具H adoop 并不完善。特别是其调度算法过于简单, 判断需要进行推测执行的任务的算法造成过多任务需要推测执行, 降低了整个系统的性能。改进M ap R educe 的开发工具, 包括任务调度器、底层数据存储系统、输入数据切分、监控 云 系统等方面是将来一段时间的主要发展方向。另外, 将M ap R educe 的思想运用在云计算以外的其他方面也是一个流行的研究方向。

3 云计算和其他超级计算的区别

3. 1 云计算与网格计算的区别

Ian Foster 将网格定义为:支持在动态变化的分布式虚拟组织(V irtual O rganiza ti ons) 间共享资源, 协同解决问题的系统[28]。所谓虚拟组织就是一些个人、组织或资源的动态组合。

图4 M ap Redu ce 程序的具体执行过程

从图4可以看出, 执行一个M ap R educe 程序需要五个步

骤:输入文件、将文件分配给多个wo rker 并行地执行、写中间文件(本地写) 、多个R educe wo rkers 同时运行、输出最终结果。本地写中间文件在减少了对网络带宽的压力同时减少了写中间文件的时间耗费。执行R educe 时, 根据从M aster 获得的中间文件位置信息, R educe 使用远程过程调用, 从中间文件所在节点读取所需的数据。

M ap R educe 模型具有很强的容错性, 当wo rker 节点出现错误时, 只需要将该wo rker 节点屏蔽在系统外等待修复, 并将该w orker 上执行的程序迁移到其他wo rker 上重新执行, 同时将该迁移信息通过M aster 发送给需要该节点处理结果的节点。M ap R educe 使用检查点的方式来处理M aster 出错失败的问题, 当M aster 出现错误时, 可以根据最近的一个检查点重新选择一个节点作为M aster 并由此检查点位置继续运

[。

图5和图6分别为云及网格的结构示意图。图5显示, 云计算是一种生产者 消费者模型, 云计算系统采用以太网等快速网络将若干集群连接在一起, 用户通过因特网获取云计算系统提供的各种数据处理服务。图6显示, 网格系统是一种资源共享模型, 资源提供者亦可以成为资源消费者, 网格侧重研究的是如何将分散的资源组合成动态虚拟组织。主要区别如表4所示。

云计算和网格计算[29]的一个重要区别在于资源调度模式。云计算采用集群来存储和管理数据资源, 运行的任务以数据为中心。即调度计算任务到数据存储节点运行。而网格计算, 则以计算为中心。计算资源和存储资源分布在因特网的各个角落, 不强调任务所需的计算和存储资源同处一地。由于网络带宽的限制, 网格计算中的数据传输时间占总运行时间的很大一部分。

网格将数据和计算资源虚拟化, 而云计算则进一步将硬

2566 计算机应用第29卷

件资源虚拟化, 活用虚拟机技术, 对失败任务重新执行, 而不必重启任务。同时, 网格内各节点采用统一的操作系统(大部分为UN I X ) , 而云计算放宽了条件, 在各种操作系统的虚拟机上提供各种服务。和网格的复杂管理方式不同, 云计算提供一种简单易用的管理环境。另外, 网格和云在付费方式上有着显著的不同。网格按照固定的资费标准收费或者若干组织之间共享空闲资源。而云则采用用时付费以及服务等级协议的模式收费。其他区别不再赘述。

表4 网格计算和云计算的主要区别

区别点发起者标准化开源互联网络关注点节点获取的对象安全保证节点操作系统

虚拟化节点管理方式

易用性付费方式失败管理对第三方插件的兼容性自我管理方式

网格计算学术界是(OGSA)

因特网, 高延时低带宽

计算密集型分散的PC 或服务器

共享的资源公私钥技术, 账户技术相同的系统(UNI X ) 虚拟数据和计算资源

分散式管理难以管理, 使用

/

失败的任务重启

难以兼容重新配置

云计算工业界否部分开源

高速网络, 低延时高带宽

数据密集型

集群提供的服务每个任务一个虚拟机,

保证隔离性多种操作系统上的虚拟机

虚拟软硬件平台

集中式管理用户友好用时付费虚拟机迁移到其他节点继续执行易于兼容, 通过提供不同的服务来兼容重新配置, 自我修复

其次, 云计算对面向市场的资源管理方式的支持有限。可以加强相应的服务等级协议, 使用户和服务提供者能更好的协商提供的服务质量。

另外, 需要对云计算的接口进行标准化并且制定交互协议。这样可以支持不同云计算服务提供者之间进行交互, 相互合作提供更加强大和更好的服务。

再者, 需要开发出更易用的编程环境和编程工具, 这样可以更加方便地创建云计算应用, 拓展云计算的应用领域。最后, 虽然云计算还有很多问题需要解决, 但是云计算必将得到更大的发展。参考文献:

[1] VAR I A J . C l oud arch i tectures-Am azon W eb services [EB/OL].

[2009-03-01].htt p ://acmb angalore . org/events /m on t h l y tal k /m ay 2008 cl oud arch itect u res a m az on w eb s ervices . h t m . l [2] BR YANT R E. D ata i n tensive superco m puti ng :The case f or D I SC,

CMU CS 07 128[R].P itts burgh , P A, USA:Carneg i eM ellon Un i vers i ty , D epart m en t of C o mpu ter Science , 2007.

[3] SZAL AY A S , KUNSZT P , T HAKAR A, e ta l . Des i gn i ng and m i n

i ng m u lti t erabyte as trono m y arch i ves :The sloan d i gital s ky s u rvey [C]//Proceed i ngs of the 2000ACM S I G M OD In ternati onal Con fer ence onM anage m en t ofData . N e w York :ACM Press , 2000:451-462.

[4] BARROSO L A, DEAN J , H LZLE U. W eb search for a p lanet :

The Google cl uster arch itect u re [J].I EEE M icro , 2003, 23(2):22-28.

[5] GILES J . Googl e t oTP trans l ation rank i ng [EB/OL].(2006-11-06) [2009-03-06].

http ://www.n ature . co m /new s /2006/

061106/full/news 061106 6. h t m . l

[6] 维基百科. C l oud co m pu ti ng [EB/OL].[2009-03-10].h tt p://

en . w i k i ped i a . org/wi k i/Cl oud _com puti ng .

[7] 中国云计算网. 什么是云计算? [EB /OL].(2008-05-14)

[2009-02-27].http ://www.cl oud co m pu ting ch i na . cn /A rticl e /Sho wA rti cle . as p?A rticl eI D=1.

[8] VAQUERO L M, RODERO M ER I NO L , CACERE S J , e t al . A

b reak i n t h e cl oud s :Towards a cloud d efi n iti on [J ].AC M SI G COMM C o m pu ter Co mmun ication Revie w, 2009, 39(1):50-55. [9] W E I SS A. Co m pu ti ng i n t h e clouds [J].AC M N et w orker , 2007,

11(4):16-25.

[10] GRIFFIT H S A , M ETHERALL G . C l u ster i nterconn ection net w ork s

[EB/OL].(2000-09-01) [2009-03-03].http ://www.gri d bu s . org /~ra j/csc433/Cl u ster N ets . pd. f

[11] CHANG F , DEAN J , GHEMAWAT S, e ta l . B i gTab le :A d i stri b

u ted storage s yste m for stru ctured dat a [J ].ACM Transactions on Co m pu t er Sys t e m s , 2008, 26(2):1-26.

[12] DEAN J , GHEM A W AT S . M apR edu ce :S i m p li ed data p rocess i ng

on large clusters [C]//OSDI 04:Proceed i ngs of t h e 6th Sy m posi um on Op erati ng Syste m Des i gn and I mp le m entation . N e w York:ACM Press , 2004:137-150.

[13] NAGARA J AN A B, MUELLER F , ENGEL M ANN C, e ta l . Proac

ti ve fau lt toleran ce forHPC w it h Xen virtualizati on [C]//Proceed ings of t he 21st Annual International Conference on Sup erco mpu t ing . Ne w York :ACM Press , 2007:23-32.

[14] G HEM A W AT S , GOBI OFF H, LEUNG P T . The Google fil e s ys

te m [C]//Proceed i ngs of t he 19t h ACM Sy m pos i um on Op erati ng Syste m s Pri n ci ples . Ne w York :ACM Press , 2003:29-43. [15] Apache H adoop . H adoop [EB/OL].[2009-03-06].h tt p://

hadoop . ap ache . org/.

] ! t u t al . p ://

3. 2 云计算系统与传统超级计算机的区别

超级计算机拥有强大的处理能力, 特别是计算能力。

2008年11月17日, 最新一期的T op500[30]榜单发布。冠军 Ro adRunner 是I B M 为美国L os A la m os 国家实验室建造的计算机系统。它的运算速度达到了1. 026PFLOTP 。R oad R uner 超级计算机包含12960个IB M Pow er X ce ll 8i 处理器以及6948个分布于刀片服务器上的AM D O pteron 芯片。刀片服务器安装在288个IB M B ladCener 机架上。Road R uner 拥有80TB 的内存, 外存使用1. 5PB 容量的P anasas 存储, 外存通过10GbTP 的以太网进行连接。耗资超过1亿美元。从TOP500对超级计算机的排名方式可以看出, 传统的超级计算机注重运算速度和任务的吞吐率。以运算速度为核心进行计算机的研究和开发。而云计算则以数据为中心, 同时兼顾系统的运算速度。传统的超级计算机耗资巨大, 远超云计算系统。例如, 趋势科技花费1000多万美元租用34000多台服务器, 构建自身的 安全云 系统。

4 结语

云计算具有广阔的发展前景, 相关的各项关键技术也在迅速发展。

首先, 当前的云计算系统的能耗过大, 因此, 减少能耗, 提高能源的使用效率, 建造高效的冷却系统是当前面临的一个主要问题。例如, 谷歌的数据中心的能耗相当于一个小型城市的总能耗[31]。因为, 过大的能耗使得数据中心内发热量剧增, 要保证云计算系统的正常运行, 必须使用高效的冷却系统

第9期陈全等:云计算及其关键技术 2567

pub li c . yahoo . co m /gogate/hadoop t u t ori al/st art tut ori a. l ht m. l

[17] YU Y, ISARDM, FETTERLY D , et al . DryadL I NQ :A syst e m for

gen eral pu rpos e d istri buted data parallel co m puti ng us i ng a h igh l evel l anguage [C]//Proceed i ngs of the 8th USENIX Sy m pos i um on Operati ng Syste m s D es i gn and I m p l e m en tati on. N e w York :ACM Press , 2008:1-14.

[18] P I NAR A , HENDR I CKSON B. Exp l oiti ng fl ex i b l y assi gnab l e w ork

to i m prove load balance [C ]//Proceed i ngs of the 14t h Annual ACM Symposiu m on Para ll el A lgorit hm s and Arc h itectures . N e w York :ACM Press , 2002:155-163.

[19] GRA M A A, KARYPIS G, KUMAR V, et a l . Introdu cti on to par

all el co m puti ng [M].2nd ed . London :Pearson E du cati on , 2003.

[20] YAN B Q , R HODES P J . To w ard auto m atic parall elizati on of s pa

ti al co m pu tati on for co m pu ting cl usters [C]//Proceed i ngs of t he 17th In ternati onal S y mpos i u m on H i gh Perfor mance Distri bu t ed C o mpu ti ng . Ne w York :ACM Press , 2008:45-54.

[21] KRSUL I , GANQUL Y A , Z HANG P J , et al . V M Plants :Prov i

d i ng and m anaging virtualm ach i n e execu ti on environm ents for grid compu ti ng [C]//P roceed i ngs of the 2004ACM /IEEE Con ference on Superco m puti ng . New York :ACM Press , 2004:7-7.

[22] BAR HAM P , DRAGOV I C B , FRASER K, et al . Xen and t h e art

of virtualizati on [J ].ACM S I GOTP Operating Syste m s Revie w, 2003, 32(5):164-177.

[23] SAAB C B, A I RE X B, FOLL I OT B. Ph oen i x :A s elf adaptab l e

mon i tori ng p l atfor m for cl uster m anage m en t [J].C l u ster Co m pu ti ng , 2002, 5(1):75-85.

[24] RANGER C, RAGHURAMAN R, PEN M ETSA A . Eval uati ng M a

pReduce for m u l ti core and mu ltiprocess or s yste m s [C]//Proceed

i ngs of t he 2007I EEE 13t h I n ternati onal S y mpos i um on H i gh Per for m an ce C o mpu ter Arch i tecture . W as h i ngton , DC:I EEE C o mpu t er Soci et y , 2007:13-24.

[25] KRUIJ F M D, SANKARAL I NGA M K . M apRedu ce for the cell B.

E. arch itect u re , CS TR 2007 1625[R].M ad is on, M I , USA:U n i vers i ty ofW iscons i n M ad i son, 2007.

[26] HE B S , FANGW B, LUO Q , et a l . M ars :A M apReduce fra m e

w ork on graph i cs p rocessors [C]//Proceed i ngs of the 17t h In t erna ti onal Con ference on Parall el Arch i tectures and Co m p il ati on Tech n iques . N e w Y ork:AC M P ress , 2008:260-269.

[27] ZAHARI A M, KONW I NSKI A , J OSEP H A D . I mp rovingM apRe

du ce perf or m ance i n het erogeneous en vi ronm ents [C ]//Proceed i ngs of t he 8th USEN I X Symposi um on Op erati ng S yste m s Des i gn and I m ple m entation . Ne w York :ACM Press , 2008:29-42.

[28] FOSTER I , KE SSEL M AN C , T UECKE S. The anato m y of t h e gri d

enab li ng scalab l e virt ual organ iz ati ons [J].Internati onal Jou rnal of H i gh Perfor m an ce Co m puti ng A pp lications , 2001, 15(3):200-222.

[29] BER M AN F , FOX G, HEY T. Th e gri d :Past , present , and f u

t u re [M]//G ri d co m puti ng :M ak i ng t he global i n fras tr u cture a re alit y . England :J ohn W iley and Sons , 2003:9-50.

[30] Top 500s up erco mpu ti ng sites . Top500list N ove mber 2008(1-100) [EB /OL].

(2008-11-17) [2009-03-05].h tt p://

www. top500. org /list/2008/11/100.

[31] BUYYA R , YEO C S, VENUGOP AL S , et a l . C l oud co m puti ng

and e m erg i ng I T p l atfor m s :V ision , hype , and reality for deliveri ng co m pu ting as the 5t h utilit y [J].Fu t u re Gen erati on C o m pu ter Sys te m s , 2008, 25(6):599-616.

(上接第2547页

)

5 结语

通过大步进和小步进联合搜索, 可以有效减少MU SIC 法

运算量, 同时保持对信号DOA 的估计精度。新算法对于解决M US I C 算法工程应用中面临的大运算量问题, 具有重要意义。

参考文献:

[1] P USKA H, SAAR N IS AAR IH, II N ATTI J . Seri al s earch code acquisi

tion us i ng s m art antennas w it h si ngle correlator or m atched filt er [J ].

I EEE T ransacti ons on C o mmun i cati ons , 2008, 56(2):299-307. [2] H IR OTA A , ARAI H, NAKANO M. Directi on of arri val estm i ati on

s yste m f or mu lti pat h p ropagati on i n c ode d i visi on m ulti ple acces s s ys

图2 改进M US I C 算法的空间谱

te ms w it h s yn t hesi zed vi rt ual planar array usi ng p il ot s i gnal s [J].I EEE Transacti on s on Ve h ic u l ar Technol ogy , 2008, 57(4):2153-2161.

[3] ZHANG T T, LU Y L, HU IH T. C o m pensati on f or t h em utual cou

pli ng effect i n un if or m circu lar arrays f or 2D DOA esti m ations e m p l o yi ng t h em ax i m u m li k eli hood techn i qu e [J].I EEE Transactions on Aeros pace and E l ectron i c Syste m s , 2008, 44(3):1215-1221. [4] SCHM I DT R O . M u ltiple e m itt er l ocation and si gnal para m et er esti

m ation [J ].IEEE Transactions on An tennas and Propagati on, 1986, 34(3):276-280. [5] YE Z F , L I U C. On t he res iliency ofM USIC directi on fi nd i ng a

表1 算法性能比较

搜索方式传统搜索一次搜索两次搜索

加法次数[**************]

乘法次数[**************]

概率/%100. 09. 172. 9

gai n st an tenna sensor coup li ng [J].I EEE Transactions on Antennas and Propagati on, 2008, 56(2):371-380.

[6] LI B , PENG C Y, B I SWAS S . Associati on of DOA esti m ati on f ro m

t w oULA s [J].IEEE T ran s acti ons on Instrum en t ati on and M eas u re m en t , 2008, 57(6):1094-1101. [7] van TREES H L. Op ti m um array p rocess i ng [M].Ne w York :J ohn

W iley , 2002.

两种算法性能的比较如表1所示。如果选择5为门限, 邻域宽度0. 2时, 谱峰宽度 =0. 09, 根据式(13) 一次搜索出三

个信号的概率是:

Z 1=(0. 09/0. 2) 3=9. 1%(21) 此时, 加法运算量只有传统算法40%, 乘法运算量只有传统算法40%。两次搜索出三个信号的概率是Z 2=72. 9%, 此时加法运算量只有传统算法50%, 乘法运算量只有传统算法50%。

第29卷第9期

2009年9月

文章编号:1001-9081(2009) 09-2562-06

计算机应用

Journa l o f Co m puter App lications

V o. l 29No . 9Sep . 2009

云计算及其关键技术

陈 全, 邓倩妮

(上海交通大学计算机科学与工程系, 上海200240)

(squ i rr3@g m ai. l co m )

摘 要:云计算是一种新兴的计算模型, 它是在网格计算的基础上发展而来的。介绍了云计算的发展历史和应用场景, 比较了现有的云计算的定义并给出了新的定义, 以谷歌的云计算技术为例, 总结了云计算的关键技术:数据

存储技术(G oog l e F ile System ) 、数据管理技术(B igT ab l e) 、编程模型和任务调度模型(M ap R educe) 等, 分析了云计算和网格计算以及传统超级计算的区别, 并指出了云计算的广阔发展前景。

关键词:云计算; 数据存储; 数据管理; 编程模型

中图分类号:T P338. 8 文献标志码:A

C loud co m puti ng and its key techniques

C H E N Quan , DENG Q i a n n i

(De part m e n t of Compu ter S cience and Eng i neering, Shangha i Jiao Tong Un i v e rsit y, Shanghai 200240, Ch i na )

Abstract :C loud computi ng i s a ne w co m puti ng m ode; l it is deve l oped based on gr i d computi ng. T he aut hors i n troduced the develop m ent history o f cloud com puti ng and its applicati on situati on ; co m pa red ex isti ng defi nitions o f c l oud com puti ng and gav e a new defi n iti on ; took goog l e s cloud computing techn i ques as an examp l e , su mm ed up key techn i ques , such as data storage techno l ogy (G oog le F ile Sy stem ), data m anage m en t techno l ogy (B i gT ab l e ), as we ll as prog ra mm i ng m ode l and task schedu ling m ode l(M ap R educe ), used i n c l oud co m puti ng ; and ana l yzed the d ifferences among cloud compu ti ng , g rid co m puti ng and traditi ona l s uper computi ng , and fi ngered out t he broad develop m ent prospec ts o f cloud co m puti ng .

K ey words :cloud co m puti ng ; data storag e ; da ta m anagement ; progra mm i ng m odel

0 引言

云计算(C l oud Co m puti ng) 是一种新近提出的计算模式。是分布式计算(D istr i buted Computi ng ) 、并行计算(Para llel Co m puti ng) 和网格计算(G rid Co m puti ng) 的发展。

目前, 亚马逊、微软、谷歌、IB M 、英特尔等公司纷纷提出了 云计划 。例如亚马逊的AW S(Am azon W eb Services) [1]、IB M 和谷歌联合进行的 蓝云 计划等。这对云计算的商业

价值给予了巨大的肯定。同时学术界也纷纷对云计算进行深层次的研究。例如谷歌同华盛顿大学以及清华大学合作, 启动云计算学术合作计划(A cade m i c C loud Co m puti ng In iti ative), 推动云计算的普及, 加紧对云计算的研究。卡内基梅隆大学等对数据密集型的超级计算(D ata Intensi ve Super Co m puti ng , D ISC ) [2]进行研究, 本质上也是对云计算相关技术开展研究。

I DC 的调查显示, 未来五年云计算服务将急速增长, 预期2012年市场规模可达420亿美元。目前企业导入云计算已逐渐普及, 并且有逐年成长趋势。估计在2012年, 企业投入在云计算服务的支出将占整体IT 成本的25%, 甚至在2013年提高至IT 总支出的三分之一。

由此可见, 在各大公司以及学术界的共同推动下, 云计算技术将会持续发展。

云计算有着广泛的应用前景。如表1所示。云计算在天文学[3]、医学等各个领域有着广泛的应用前景。

趋势科技和瑞星等安全厂商纷纷提出了 安全云 计划。

收稿日期:2009-03-14; 修回日期:2009-05-09。

如今, 每天有2万多种新的病毒和木马产生, 传统的通过更新

用户病毒库的防毒模式, 受到了严峻的挑战, 该模式使用户端的病毒库过于庞大。趋势科技和瑞星的 安全云 将病毒资料库放在 云 端, 与客户端通过网络相连, 当 云 在网络上发现不安全链接时, 可以直接形成判断, 阻止其进入用户机器, 从根本上保护机器的安全。

表1 云计算的应用领域

领域科研

应用场景地震监测海洋信息监控天文信息计算处理DNA 信息分析

医学

海量病例存储分析医疗影像处理

网络安全

病毒库存储垃圾邮件屏蔽动画素材存储分析

图形和图像处理

高仿真动画制作海量图片检索E m ail 服务

互联网

在线实时翻译网络检索服务

据趋势科技大中华区执行总裁张伟钦介绍, 趋势科技已

投入了大量资金, 在全球数个地方建设了新型数据中心。同时, 趋势科技还花费了1000多万美元, 租借了34000多台服务器, 构建了一个服务遍及全球的 安全云 。目前趋势科技

作者简介:陈全(1986-), 男, 安徽滁州人, 硕士研究生, 主要研究方向:云计算、数据密集型可扩展计算; 邓倩妮(1973-), 女, 广西柳州人, :

第9期陈全等:云计算及其关键技术 2563

已将公司中低端的部分产品线放到 云安全 计划中, 而高端

的大部分产品线, 仍在准备过程中。

谷歌提供的Gm a il 、G oog le E art h 、G oogle A na l ytics 等服务都基于其云计算服务器运行[4]。谷歌基于云计算提供的翻译服务具有现今最好的性能[5]。对互联网和美国人生活的一项研究显示, 大约70%的在线用户使用以上 云计算 服务。

对于同样性能的超级计算机花费的资金要少很多。

6) 服务多样性。用户可以支付不同的费用, 以获得不同级别的服务等。

为了更好地定义云计算, 必须从云计算的服务使用者, 服务提供者, 组织方式, 内部实现机制等方面同时定义。

根据现有定义的不足, 本文定义云计算为: 云计算是由网格计算发展而来的, 前台采用用时付费的方式通过Interne t 向用户提供服务。云系统后台由大量的集群使用虚拟机的方式, 通过高速互联网络互连, 组成大型的虚拟资源池。这些虚拟资源可自主管理和配置。用数据冗余的方式保证虚拟资源的高可用性。并具有分布式存储和计算、高扩展性、高可用性、用户友好性等特征。

1 云计算的定义

目前, 云计算没有统一的定义, 当前云计算的定义主要包括如下几种。

1) 维基百科给云计算下的定义。云计算将I T 相关的能

力以服务的方式提供给用户, 允许用户在不了解提供服务的技术、没有相关知识以及设备操作能力的情况下, 通过Interne t 获取需要的服务[6]。

2) 中国云计算网将云计算定义为:云计算是分布式计算(D i str i buted Co m puti ng) 、并行计算(Pa ra lle l Com puti ng ) 和网格计算(G r i d Co m puti ng) 的发展, 或者说是这些科学概念的商业实现[7]。

3) 文献[8]在综合多个云计算的定义之后, 给 云 下了如下定义。云是一个包含大量可用虚拟资源(例如硬件、开发平台以及I /O服务) 的资源池。这些虚拟资源可以根据不同的负载动态地重新配置, 以达到更优化的资源利用率。这种资源池通常由基础设施提供商按照服务等级协议(Serv i ce Leve lA g ree m ent , SLA ) 采用用时付费(P ay P er U se , PPU ) 的模式开发管理。

对比上述定义, 可以发现, 文献[6]和文献[8]中给出的定义的相似之处在于它们都提到了云计算提供服务。文献[6]中的定义主要从云计算用户的角度给出定义, 即用户在不了解具体实现的情况下通过Interne t 获取服务。文献[7]从云计算的发展脉络的角度给出定义, 主要说明了云计算的历史。文献[8]给出的定义则是从云计算提供者的角度来给出定义, 定义了云计算的后台实现方式, 以及管理模式。但是, 这些定义都仅从一个方面定义云, 并不完善。结合上述定义, 可以总结出云计算的一些本质特征, 即分布式的计算和存储特性, 高扩展性, 用户友好性, 良好的管理性, 用时付费等。云计算技术具有以下特点。

1) 云计算系统提供的是服务。服务的实现机制对用户透明, 用户无需了解云计算的具体机制, 就可以获得需要的服务。

2) 用冗余方式提供可靠性。云计算系统由大量商用计算机组成集群向用户提供数据处理服务。随着计算机数量的增加, 系统出现错误的概率大大增加。在没有专用的硬件可靠性部件的支持下, 采用软件的方式, 即数据冗余和分布式存储来保证数据的可靠性。

3) 高可用性。通过集成海量存储和高性能的计算能力, 云能提供较高的服务质量。云计算系统可以自动检测失效节点, 并将失效节点排除, 不影响系统的正常运行。

4) 高层次的编程模型。云计算系统提供高层次的编程模型。用户通过简单学习, 就可以编写自己的云计算程序, 在 云 系统上执行, 满足自己的需求。现在云计算系统主要采用M ap R educe 模型。

2 云计算的关键技术

云计算是一种新型的超级计算方式, 以数据为中心, 是一种数据密集型的超级计算。在数据存储、数据管理、编程模式等多方面具有自身独特的技术。同时涉及了众多其他技术, 如表2所示。本章主要介绍云计算特有的技术, 包括数据存储技术, 数据管理技术, 编程模式等。其他相关技术请阅读给出的参考文献。

表2 云计算涉及的关键技术

技术类型设备架设改善服务技术资源管理技术

具体技术数据中心节能节点互联技术可用性技术容错性技术数据存储技术数据管理技术数据切分技术

任务管理技术

任务调度技术编程模型负载均衡技术

其他相关技术

并行计算技术虚拟机技术系统监控技术

参考文献文献[4,9]文献[10]文献[11-12]文献[12-13]文献[14-16]文献[11]文献[17]文献[12, 17]文献[12, 15-17]

文献[18]文献[19-20]文献[13, 21-22]

文献[23]

2. 1 数据存储技术

为保证高可用、高可靠和经济性, 云计算采用分布式存储的方式来存储数据, 采用冗余存储的方式来保证存储数据的可靠性, 即为同一份数据存储多个副本。

另外, 云计算系统需要同时满足大量用户的需求, 并行地为大量用户提供服务。因此, 云计算的数据存储技术必须具有高吞吐率和高传输率的特点。

云计算的数据存储技术主要有谷歌的非开源的G FS (G oog l e F il e Sy stem ) [14]和H adoop 开发团队开发的G FS 的开源实现HDFS(H adoop D istri buted F il e Syste m ) [15-16]。大部分I T 厂商, 包括雅虎、英特尔的 云 计划采用的都是HDFS 的数据存储技术。

云计算的数据存储技术未来的发展将集中在超大规模的数据存储、数据加密和安全性保证以及继续提高I/O速率等方面。

以G FS 为例。GFS 是一个管理大型分布式数据密集型计算的可扩展的分布式文件系统。它使用廉价的商用硬件搭建系统并向大量用户提供容错的高性能的服务。

,

2564

表3 GFS 与传统分布式文件系统的区别

文件系统GFS 传统分布式文件系统

组件失败管理不作为异常处理作为异常处理

文件大小少量大文件大量小文件

数据写方式在文件末尾附加数据修改现存数据

计算机应用第29卷

以B i gT able 为例。B i gT ab le 数据管理方式设计者

数据流和控制流数据流和控制流分开数据流和控制流结合

G oogle 给出了如下定义[11]: B i gT able 是一种为了管理结构化数据而设计的分布式存储系统, 这些数据可以扩展到非常大的规模, 例如在数千台商用服务器上的达到PB (P etaby tes) 规模的数据。

B igT ab l e 对数据读操作进行优化, 采用列存储的方式, 提高数据读取效率。B i gT ab le 管理的数据的存储结构为:->str i ng 。B i gT able 的基本元素是:行, 列, 记录板和时间戳。其中, 记录板是一段行的集合体。如图2所示。

G FS 系统由一个M aster 和大量块服务器构成。M aster 存放文件系统的所有元数据, 包括名字空间、存取控制、文件分块信息、文件块的位置信息等。GFS 中的文件切分为64M B 的块进行存储。

在GFS 文件系统中, 采用冗余存储的方式来保证数据的可靠性。每份数据在系统中保存3个以上的备份。为了保证数据的一致性, 对于数据的所有修改需要在所有的备份上进行, 并用版本号的方式来确保所有备份处于一致的状态。

客户端不通过M aster 读取数据, 避免了大量读操作使M aster 成为系统瓶颈。客户端从M aste r 获取目标数据块的位置信息后, 直接和块服务器交互进行读操作。

G FS 的写操作将写操作控制信号和数据流分开, 如图1[17]

所示。

图2 B i gTab le 的逻辑结构

B igT ab l e 中的数据项按照行关键字的字典序排列, 每行动态地划分到记录板中。每个节点管理大约100个记录板。时间戳是一个64位的整数, 表示数据的不同版本。列族是若干列的集合, B i gT able 中的存取权限控制在列族的粒度进行。B igT ab l e 在执行时需要三个主要的组件:链接到每个客户端的库, 一个主服务器, 多个记录板服务器。主服务器用于分配记录板到记录板服务器以及负载平衡, 垃圾回收等。记录板服务器用于直接管理一组记录板, 处理读写请求等。

为保证数据结构的高可扩展性, B igT ab l e 采用三级的层次化的方式来存储位置信息, 如图3所示[11]。

其中第一级的Chubby fil e 中包含R oo t T ablet 的位置, R oot T ablet 有且仅有一个, 包含所有M ETADATA tablets 的位置信息, 每个M ETADATA tab lets 包含许多U ser T ab l e 的位置信息。

图1 写控制信号和写数据流

即客户端在获取M aster 的写授权后, 将数据传输给所有的数据副本, 在所有的数据副本都收到修改的数据后, 客户端才发出写请求控制信号。在所有的数据副本更新完数据后, 由主副本向客户端发出写操作完成控制信号。具体请见文献[17]。

当然, 云计算的数据存储技术并不仅仅只是G FS , 其他I T 厂商, 包括微软、H adoop 开发团队也在开发相应的数据管理工具。本质上是一种分布式的数据存储技术, 以及与之相关的虚拟化技术, 对上层屏蔽具体的物理存储器的位置、信息等。快速的数据定位、数据安全性、数据可靠性以及底层设备内存储数据量的均衡等方面都需要继续研究完善。

2. 2 数据管理技术

云计算系统对大数据集进行处理、分析向用户提供高效的服务。因此, 数据管理技术必须能够高效地管理大数据集。其次, 如何在规模巨大的数据中找到特定的数据, 也是云计算数据管理技术所必须解决的问题。

云计算的特点是对海量的数据存储、读取后进行大量的分析, 数据的读操作频率远大于数据的更新频率, 云中的数据管理是一种读优化的数据管理。因此, 云系统的数据管理往往采用数据库领域中列存储的数据管理模式。将表按列划分后存储。

云计算的数据管理技术中最著名的是谷歌在文献[11]提出的B i gT able 数据管理技术。

由于采用列存储的方式管理数据, 如何提高数据的更新速率以及进一步提高随机读速率是未来的数据管理技术必须

图3 B i gTab le 中存储记录板位置信息的结构

当客户端读取数据时, 首先从Chubby fil e 中获取R oo t T ablet 的位置, 并从中读取相应M ETADATA tab let 的位置信息。接着从该M ETADATA tablet 中读取包含目标数据位置信息的U ser T able 的位置, 然后从该U ser T ab l e 中读取目标数据的位置信息项。据此信息到服务器中特定位置读取数据。具体见文献[11]。

这种数据管理技术虽然已经投入使用, 但是仍然具有部分缺点。例如, 对类似数据库中的Jo i n 操作效率太低, 表内数据如何切分存储, 数据类型限定为stri ng 类型过于简单等。而微软的D ryadL I NQ 系统[20]则将操作的对象封装为. N ET 类, 这样有利于对数据进行各种操作, 同时对Jo in 进行了优化, 得到了比B i gT able +M ap R educe 更快的Jo i n 速率和更易

第9期陈全等:云计算及其关键技术 2565

2. 3 编程模型

为了使用户能更轻松地享受云计算带来的服务, 让用户能利用该编程模型编写简单的程序来实现特定的目的, 云计算上的编程模型必须十分简单。必须保证后台复杂的并行执行和任务调度向用户和编程人员透明。

云计算大部分采用M ap R educe [12]的编程模式。现在大部分IT 厂商提出的 云 计划中采用的编程模型, 都是基于M ap R educe 的思想开发的编程工具。

M ap R educe 不仅仅是一种编程模型, 同时也是一种高效的任务调度模型。M ap R educe 这种编程模型并不仅适用于云计算, 在多核和多处理器、ce ll processor 以及异构机群上同样有良好的性能[24-27]。

该编程模式仅适用于编写任务内部松耦合、能够高度并行化的程序。如何改进该编程模式, 使程序员得能够轻松地编写紧耦合的程序, 运行时能高效地调度和执行任务, 是M ap R educe 编程模型未来的发展方向。

M ap R educe 是一种处理和产生大规模数据集的编程模型, 程序员在M ap 函数中指定对各分块数据的处理过程, 在R educe 函数中指定如何对分块数据处理的中间结果进行归约。用户只需要指定m ap 和reduce 函数来编写分布式的并行程序。当在集群上运行M ap R educe 程序时, 程序员不需要关心如何将输入的数据分块、分配和调度, 同时系统还将处理集群内节点失败以及节点间通信的管理等。图4[15]给出了一个M ap R educe

程序的具体执行过程。

M ap R educe 仅为编程模式的一种, 微软提出的D ryadL I NQ [17]是另外一种并行编程模式。但它局限于. N ET 的L I NQ 系统同时并不开源, 限制了它的发展前景。M ap R educe 作为一种较为流行的云计算编程模型, 在云计算系统中应用广阔。但是基于它的开发工具H adoop 并不完善。特别是其调度算法过于简单, 判断需要进行推测执行的任务的算法造成过多任务需要推测执行, 降低了整个系统的性能。改进M ap R educe 的开发工具, 包括任务调度器、底层数据存储系统、输入数据切分、监控 云 系统等方面是将来一段时间的主要发展方向。另外, 将M ap R educe 的思想运用在云计算以外的其他方面也是一个流行的研究方向。

3 云计算和其他超级计算的区别

3. 1 云计算与网格计算的区别

Ian Foster 将网格定义为:支持在动态变化的分布式虚拟组织(V irtual O rganiza ti ons) 间共享资源, 协同解决问题的系统[28]。所谓虚拟组织就是一些个人、组织或资源的动态组合。

图4 M ap Redu ce 程序的具体执行过程

从图4可以看出, 执行一个M ap R educe 程序需要五个步

骤:输入文件、将文件分配给多个wo rker 并行地执行、写中间文件(本地写) 、多个R educe wo rkers 同时运行、输出最终结果。本地写中间文件在减少了对网络带宽的压力同时减少了写中间文件的时间耗费。执行R educe 时, 根据从M aster 获得的中间文件位置信息, R educe 使用远程过程调用, 从中间文件所在节点读取所需的数据。

M ap R educe 模型具有很强的容错性, 当wo rker 节点出现错误时, 只需要将该wo rker 节点屏蔽在系统外等待修复, 并将该w orker 上执行的程序迁移到其他wo rker 上重新执行, 同时将该迁移信息通过M aster 发送给需要该节点处理结果的节点。M ap R educe 使用检查点的方式来处理M aster 出错失败的问题, 当M aster 出现错误时, 可以根据最近的一个检查点重新选择一个节点作为M aster 并由此检查点位置继续运

[。

图5和图6分别为云及网格的结构示意图。图5显示, 云计算是一种生产者 消费者模型, 云计算系统采用以太网等快速网络将若干集群连接在一起, 用户通过因特网获取云计算系统提供的各种数据处理服务。图6显示, 网格系统是一种资源共享模型, 资源提供者亦可以成为资源消费者, 网格侧重研究的是如何将分散的资源组合成动态虚拟组织。主要区别如表4所示。

云计算和网格计算[29]的一个重要区别在于资源调度模式。云计算采用集群来存储和管理数据资源, 运行的任务以数据为中心。即调度计算任务到数据存储节点运行。而网格计算, 则以计算为中心。计算资源和存储资源分布在因特网的各个角落, 不强调任务所需的计算和存储资源同处一地。由于网络带宽的限制, 网格计算中的数据传输时间占总运行时间的很大一部分。

网格将数据和计算资源虚拟化, 而云计算则进一步将硬

2566 计算机应用第29卷

件资源虚拟化, 活用虚拟机技术, 对失败任务重新执行, 而不必重启任务。同时, 网格内各节点采用统一的操作系统(大部分为UN I X ) , 而云计算放宽了条件, 在各种操作系统的虚拟机上提供各种服务。和网格的复杂管理方式不同, 云计算提供一种简单易用的管理环境。另外, 网格和云在付费方式上有着显著的不同。网格按照固定的资费标准收费或者若干组织之间共享空闲资源。而云则采用用时付费以及服务等级协议的模式收费。其他区别不再赘述。

表4 网格计算和云计算的主要区别

区别点发起者标准化开源互联网络关注点节点获取的对象安全保证节点操作系统

虚拟化节点管理方式

易用性付费方式失败管理对第三方插件的兼容性自我管理方式

网格计算学术界是(OGSA)

因特网, 高延时低带宽

计算密集型分散的PC 或服务器

共享的资源公私钥技术, 账户技术相同的系统(UNI X ) 虚拟数据和计算资源

分散式管理难以管理, 使用

/

失败的任务重启

难以兼容重新配置

云计算工业界否部分开源

高速网络, 低延时高带宽

数据密集型

集群提供的服务每个任务一个虚拟机,

保证隔离性多种操作系统上的虚拟机

虚拟软硬件平台

集中式管理用户友好用时付费虚拟机迁移到其他节点继续执行易于兼容, 通过提供不同的服务来兼容重新配置, 自我修复

其次, 云计算对面向市场的资源管理方式的支持有限。可以加强相应的服务等级协议, 使用户和服务提供者能更好的协商提供的服务质量。

另外, 需要对云计算的接口进行标准化并且制定交互协议。这样可以支持不同云计算服务提供者之间进行交互, 相互合作提供更加强大和更好的服务。

再者, 需要开发出更易用的编程环境和编程工具, 这样可以更加方便地创建云计算应用, 拓展云计算的应用领域。最后, 虽然云计算还有很多问题需要解决, 但是云计算必将得到更大的发展。参考文献:

[1] VAR I A J . C l oud arch i tectures-Am azon W eb services [EB/OL].

[2009-03-01].htt p ://acmb angalore . org/events /m on t h l y tal k /m ay 2008 cl oud arch itect u res a m az on w eb s ervices . h t m . l [2] BR YANT R E. D ata i n tensive superco m puti ng :The case f or D I SC,

CMU CS 07 128[R].P itts burgh , P A, USA:Carneg i eM ellon Un i vers i ty , D epart m en t of C o mpu ter Science , 2007.

[3] SZAL AY A S , KUNSZT P , T HAKAR A, e ta l . Des i gn i ng and m i n

i ng m u lti t erabyte as trono m y arch i ves :The sloan d i gital s ky s u rvey [C]//Proceed i ngs of the 2000ACM S I G M OD In ternati onal Con fer ence onM anage m en t ofData . N e w York :ACM Press , 2000:451-462.

[4] BARROSO L A, DEAN J , H LZLE U. W eb search for a p lanet :

The Google cl uster arch itect u re [J].I EEE M icro , 2003, 23(2):22-28.

[5] GILES J . Googl e t oTP trans l ation rank i ng [EB/OL].(2006-11-06) [2009-03-06].

http ://www.n ature . co m /new s /2006/

061106/full/news 061106 6. h t m . l

[6] 维基百科. C l oud co m pu ti ng [EB/OL].[2009-03-10].h tt p://

en . w i k i ped i a . org/wi k i/Cl oud _com puti ng .

[7] 中国云计算网. 什么是云计算? [EB /OL].(2008-05-14)

[2009-02-27].http ://www.cl oud co m pu ting ch i na . cn /A rticl e /Sho wA rti cle . as p?A rticl eI D=1.

[8] VAQUERO L M, RODERO M ER I NO L , CACERE S J , e t al . A

b reak i n t h e cl oud s :Towards a cloud d efi n iti on [J ].AC M SI G COMM C o m pu ter Co mmun ication Revie w, 2009, 39(1):50-55. [9] W E I SS A. Co m pu ti ng i n t h e clouds [J].AC M N et w orker , 2007,

11(4):16-25.

[10] GRIFFIT H S A , M ETHERALL G . C l u ster i nterconn ection net w ork s

[EB/OL].(2000-09-01) [2009-03-03].http ://www.gri d bu s . org /~ra j/csc433/Cl u ster N ets . pd. f

[11] CHANG F , DEAN J , GHEMAWAT S, e ta l . B i gTab le :A d i stri b

u ted storage s yste m for stru ctured dat a [J ].ACM Transactions on Co m pu t er Sys t e m s , 2008, 26(2):1-26.

[12] DEAN J , GHEM A W AT S . M apR edu ce :S i m p li ed data p rocess i ng

on large clusters [C]//OSDI 04:Proceed i ngs of t h e 6th Sy m posi um on Op erati ng Syste m Des i gn and I mp le m entation . N e w York:ACM Press , 2004:137-150.

[13] NAGARA J AN A B, MUELLER F , ENGEL M ANN C, e ta l . Proac

ti ve fau lt toleran ce forHPC w it h Xen virtualizati on [C]//Proceed ings of t he 21st Annual International Conference on Sup erco mpu t ing . Ne w York :ACM Press , 2007:23-32.

[14] G HEM A W AT S , GOBI OFF H, LEUNG P T . The Google fil e s ys

te m [C]//Proceed i ngs of t he 19t h ACM Sy m pos i um on Op erati ng Syste m s Pri n ci ples . Ne w York :ACM Press , 2003:29-43. [15] Apache H adoop . H adoop [EB/OL].[2009-03-06].h tt p://

hadoop . ap ache . org/.

] ! t u t al . p ://

3. 2 云计算系统与传统超级计算机的区别

超级计算机拥有强大的处理能力, 特别是计算能力。

2008年11月17日, 最新一期的T op500[30]榜单发布。冠军 Ro adRunner 是I B M 为美国L os A la m os 国家实验室建造的计算机系统。它的运算速度达到了1. 026PFLOTP 。R oad R uner 超级计算机包含12960个IB M Pow er X ce ll 8i 处理器以及6948个分布于刀片服务器上的AM D O pteron 芯片。刀片服务器安装在288个IB M B ladCener 机架上。Road R uner 拥有80TB 的内存, 外存使用1. 5PB 容量的P anasas 存储, 外存通过10GbTP 的以太网进行连接。耗资超过1亿美元。从TOP500对超级计算机的排名方式可以看出, 传统的超级计算机注重运算速度和任务的吞吐率。以运算速度为核心进行计算机的研究和开发。而云计算则以数据为中心, 同时兼顾系统的运算速度。传统的超级计算机耗资巨大, 远超云计算系统。例如, 趋势科技花费1000多万美元租用34000多台服务器, 构建自身的 安全云 系统。

4 结语

云计算具有广阔的发展前景, 相关的各项关键技术也在迅速发展。

首先, 当前的云计算系统的能耗过大, 因此, 减少能耗, 提高能源的使用效率, 建造高效的冷却系统是当前面临的一个主要问题。例如, 谷歌的数据中心的能耗相当于一个小型城市的总能耗[31]。因为, 过大的能耗使得数据中心内发热量剧增, 要保证云计算系统的正常运行, 必须使用高效的冷却系统

第9期陈全等:云计算及其关键技术 2567

pub li c . yahoo . co m /gogate/hadoop t u t ori al/st art tut ori a. l ht m. l

[17] YU Y, ISARDM, FETTERLY D , et al . DryadL I NQ :A syst e m for

gen eral pu rpos e d istri buted data parallel co m puti ng us i ng a h igh l evel l anguage [C]//Proceed i ngs of the 8th USENIX Sy m pos i um on Operati ng Syste m s D es i gn and I m p l e m en tati on. N e w York :ACM Press , 2008:1-14.

[18] P I NAR A , HENDR I CKSON B. Exp l oiti ng fl ex i b l y assi gnab l e w ork

to i m prove load balance [C ]//Proceed i ngs of the 14t h Annual ACM Symposiu m on Para ll el A lgorit hm s and Arc h itectures . N e w York :ACM Press , 2002:155-163.

[19] GRA M A A, KARYPIS G, KUMAR V, et a l . Introdu cti on to par

all el co m puti ng [M].2nd ed . London :Pearson E du cati on , 2003.

[20] YAN B Q , R HODES P J . To w ard auto m atic parall elizati on of s pa

ti al co m pu tati on for co m pu ting cl usters [C]//Proceed i ngs of t he 17th In ternati onal S y mpos i u m on H i gh Perfor mance Distri bu t ed C o mpu ti ng . Ne w York :ACM Press , 2008:45-54.

[21] KRSUL I , GANQUL Y A , Z HANG P J , et al . V M Plants :Prov i

d i ng and m anaging virtualm ach i n e execu ti on environm ents for grid compu ti ng [C]//P roceed i ngs of the 2004ACM /IEEE Con ference on Superco m puti ng . New York :ACM Press , 2004:7-7.

[22] BAR HAM P , DRAGOV I C B , FRASER K, et al . Xen and t h e art

of virtualizati on [J ].ACM S I GOTP Operating Syste m s Revie w, 2003, 32(5):164-177.

[23] SAAB C B, A I RE X B, FOLL I OT B. Ph oen i x :A s elf adaptab l e

mon i tori ng p l atfor m for cl uster m anage m en t [J].C l u ster Co m pu ti ng , 2002, 5(1):75-85.

[24] RANGER C, RAGHURAMAN R, PEN M ETSA A . Eval uati ng M a

pReduce for m u l ti core and mu ltiprocess or s yste m s [C]//Proceed

i ngs of t he 2007I EEE 13t h I n ternati onal S y mpos i um on H i gh Per for m an ce C o mpu ter Arch i tecture . W as h i ngton , DC:I EEE C o mpu t er Soci et y , 2007:13-24.

[25] KRUIJ F M D, SANKARAL I NGA M K . M apRedu ce for the cell B.

E. arch itect u re , CS TR 2007 1625[R].M ad is on, M I , USA:U n i vers i ty ofW iscons i n M ad i son, 2007.

[26] HE B S , FANGW B, LUO Q , et a l . M ars :A M apReduce fra m e

w ork on graph i cs p rocessors [C]//Proceed i ngs of the 17t h In t erna ti onal Con ference on Parall el Arch i tectures and Co m p il ati on Tech n iques . N e w Y ork:AC M P ress , 2008:260-269.

[27] ZAHARI A M, KONW I NSKI A , J OSEP H A D . I mp rovingM apRe

du ce perf or m ance i n het erogeneous en vi ronm ents [C ]//Proceed i ngs of t he 8th USEN I X Symposi um on Op erati ng S yste m s Des i gn and I m ple m entation . Ne w York :ACM Press , 2008:29-42.

[28] FOSTER I , KE SSEL M AN C , T UECKE S. The anato m y of t h e gri d

enab li ng scalab l e virt ual organ iz ati ons [J].Internati onal Jou rnal of H i gh Perfor m an ce Co m puti ng A pp lications , 2001, 15(3):200-222.

[29] BER M AN F , FOX G, HEY T. Th e gri d :Past , present , and f u

t u re [M]//G ri d co m puti ng :M ak i ng t he global i n fras tr u cture a re alit y . England :J ohn W iley and Sons , 2003:9-50.

[30] Top 500s up erco mpu ti ng sites . Top500list N ove mber 2008(1-100) [EB /OL].

(2008-11-17) [2009-03-05].h tt p://

www. top500. org /list/2008/11/100.

[31] BUYYA R , YEO C S, VENUGOP AL S , et a l . C l oud co m puti ng

and e m erg i ng I T p l atfor m s :V ision , hype , and reality for deliveri ng co m pu ting as the 5t h utilit y [J].Fu t u re Gen erati on C o m pu ter Sys te m s , 2008, 25(6):599-616.

(上接第2547页

)

5 结语

通过大步进和小步进联合搜索, 可以有效减少MU SIC 法

运算量, 同时保持对信号DOA 的估计精度。新算法对于解决M US I C 算法工程应用中面临的大运算量问题, 具有重要意义。

参考文献:

[1] P USKA H, SAAR N IS AAR IH, II N ATTI J . Seri al s earch code acquisi

tion us i ng s m art antennas w it h si ngle correlator or m atched filt er [J ].

I EEE T ransacti ons on C o mmun i cati ons , 2008, 56(2):299-307. [2] H IR OTA A , ARAI H, NAKANO M. Directi on of arri val estm i ati on

s yste m f or mu lti pat h p ropagati on i n c ode d i visi on m ulti ple acces s s ys

图2 改进M US I C 算法的空间谱

te ms w it h s yn t hesi zed vi rt ual planar array usi ng p il ot s i gnal s [J].I EEE Transacti on s on Ve h ic u l ar Technol ogy , 2008, 57(4):2153-2161.

[3] ZHANG T T, LU Y L, HU IH T. C o m pensati on f or t h em utual cou

pli ng effect i n un if or m circu lar arrays f or 2D DOA esti m ations e m p l o yi ng t h em ax i m u m li k eli hood techn i qu e [J].I EEE Transactions on Aeros pace and E l ectron i c Syste m s , 2008, 44(3):1215-1221. [4] SCHM I DT R O . M u ltiple e m itt er l ocation and si gnal para m et er esti

m ation [J ].IEEE Transactions on An tennas and Propagati on, 1986, 34(3):276-280. [5] YE Z F , L I U C. On t he res iliency ofM USIC directi on fi nd i ng a

表1 算法性能比较

搜索方式传统搜索一次搜索两次搜索

加法次数[**************]

乘法次数[**************]

概率/%100. 09. 172. 9

gai n st an tenna sensor coup li ng [J].I EEE Transactions on Antennas and Propagati on, 2008, 56(2):371-380.

[6] LI B , PENG C Y, B I SWAS S . Associati on of DOA esti m ati on f ro m

t w oULA s [J].IEEE T ran s acti ons on Instrum en t ati on and M eas u re m en t , 2008, 57(6):1094-1101. [7] van TREES H L. Op ti m um array p rocess i ng [M].Ne w York :J ohn

W iley , 2002.

两种算法性能的比较如表1所示。如果选择5为门限, 邻域宽度0. 2时, 谱峰宽度 =0. 09, 根据式(13) 一次搜索出三

个信号的概率是:

Z 1=(0. 09/0. 2) 3=9. 1%(21) 此时, 加法运算量只有传统算法40%, 乘法运算量只有传统算法40%。两次搜索出三个信号的概率是Z 2=72. 9%, 此时加法运算量只有传统算法50%, 乘法运算量只有传统算法50%。


相关文章

  • 军工企业涉密网络信息安全策略及其实现
  • 军工企业涉密网络信息安全策略及其实现 0 引言 近期,国家对军工科研和生产制定了寓军于民的政策,企业为了提高市场竞争力,改善设计和管理效率,普遍使用计算机及网络进行产品设计和企业的生产经营管理,导致通过计算机造成的失泄密事件日益增多.为了确 ...查看


  • 东北大学信息学院导师
  • 单位名称电力系统与电力传动研 究所电力系统与电力传动研 究所电力系统与电力传动研 究所电气自动化研究所电气自动化研究所电气自动化研究所电气自动化研究所电气自动化研究所电气自动化研究所电气自动化研究所电子科学与技术研究所电子科学与技术研究所 ...查看


  • 2015-2017年湖南省自然科学基金项目申报指南
  • 2015-2017年湖南省自然科学基金 项目申报指南 根据<湖南省"十二五"科学技术发展规划>和<创新型湖南建设纲要>的工作部署,结合我省推进"四化两型".实现"两个 ...查看


  • 物联网的关键技术及其应用前景
  • 第l期(2011年1月)中国科技沦坛 一8l一 物联网的关键技术及其应用前景 李航,陈后金 (北京交通大学电子信息工程学院.北京 100044) 摘要:物联网被视为继计算机.互联网和移动通信网络之后的第三次信息产业浪潮,因其广阔的行业 应用 ...查看


  • 自动化立体仓库的关键技术
  • 自动化立体仓库的关键技术 北京航天试验技术研究所 杨继志 哈尔滨工业大学机电学院 郭 敬 自动化立体仓库由仓库建筑体.货架.托盘系统.堆垛机.托盘输送机系统.控制系统.计算机管理和调度系统组成,其中堆垛机.控制系统.计 算机管理和调度系统最 ...查看


  • 圆管带式输送机的发展及其关键技术
  • 宋伟刚,等:圆管带式输送机的发展及其关键技术 中图分类号:TQl72.462文献标识码:B文章编号:1007-0389(2∞5)04一0042-06 圆管带式输送机的发展及其关键技术 宋伟刚,于野,战悦晖(第一作者男,1963年生,工学博士 ...查看


  • 铣工技师论文集
  • 模具高速铣削的刀具方案 数控铣床铣螺纹工艺的应用 数控铣削加工中刀具半径补偿问题研究 端铣六面体各面互相垂直的技巧 高精度凹圆弧面的铣削及参数选择 叶片曲面车铣加工工艺的研究 数控铣削中过切现象分析研究 双刀铣削较长齿条的研究及其应用 数控 ...查看


  • 数字矿山的定义.内涵与进展
  • 数字矿山的定义.内涵与进展 卢新明1, 2, 尹红2 (11山东科技大学 , 山东青岛 266510; 21山东蓝光软件有限公司 , 山东泰安 271000) 摘要: 目前 , 用数字矿山技术打造本质安全型的高产高效矿井已成为我国采矿企业追 ...查看


  • 江苏省高新技术产品认定实施细则2013年修订
  • 附件: 江苏省高新技术产品认定实施细则 (2013年修订) 第一条 为深入实施创新驱动战略,加快我省高新技术及其产业的发展,从整体上提升我省高新技术产品的市场竞争力,优化产品结构和产业结构,根据国家和省的有关规定,特制定本实施细则. 第二条 ...查看


  • 可重构计算技术及其发展趋势
  • .14. 计算机应用研究 2004年 可重构计算技术及其发展趋势 段然,樊晓桠,高德远,沈戈 (西北工业大学计算机科学与工程系,陕西西安710072) 摘要:可重构计算技术结合了通用处理器和AsIC两者的优点,能够提供硬件功能的效率和软件的 ...查看


热门内容