2014年第8期 文章编号:1009—2552(2014)08—0001—03 中图分类号:TP3 文献标识码:A 云计算关键技术之分布式计算认知研究 龚 强 (I.中国地震局工程力学研究所,哈尔滨150080;2.黑龙江省有色金属地质勘查局,哈尔滨150090) 摘要:面向云计算应用领域的并行计算和分布式计算,较之以往有新的特点和实现原则。并 行计算可以分为时间并行和空间并行,空间并行因其使用多个处理器并发执行计算,更具实用 价值。分布式计算的工作模式是,中心服务器将一个大型计算任务分割成若干个或更多个任务 单元,利用网络分派给多台计算机分别去完成,任务完成后再返回到中心服务器。分布式计算 具有容错能力更强、维护更灵活、性价比更高的比较优势。CAP和BASE理论是当今互联网领域 颇受关注且十分流行的分布式NoSQL的理论基础。 关键词:云计算;并行计算;分布式计算;比较优势 Research on the cognition of distributed computing ——one 0f the key technology of cloud computing GONG Qiangl, . (1.Institute of Engineering Mechanics,China Earthquake Administration,Harbin 150080,China; 2.Heilongjiang Survey Bureau of Non-ferrous Geology,Harbin 150090,China) Abstract:Parallel computing and distributed computing for cloud computing applications have new characteristics and implementation principles than in the past.Parallel computing can be divided into time in parallel and space in parallel,space in parallel has more practical value for its use of multiple processors to concurrently execute computing.The work pattern of distributed computing is that the centre server divides a large computing task into several or more task units,by the network assigns to multiple computers to complete respectively,and returns to the centre se ̄er after completing the mission. Distirbuted computing has comparative advantages including stronger fault tolerant ability,more flexible maintenance and higher cost performance.CAP and BASE theory which are widely concerned and very popular in modern internet are the theoretical basis of distributed NoSQL. Key words:cloud computing;parallel computing;distributed computing;comparative advantage 0 引言 并行计算可以分为时间并行和空间并行。由于时间 分布式计算(Distirbuted Computing)是源于并 并行是指在执行程序时多条指令重叠进行操作,具 行计算(Parllel computing)的。这两个概念虽然不 有流水线作业的性质,因此,准确地讲,它是一种准 同,但相互关联。面向云计算应用领域的这两项技 并行实现技术。空间并行最大的特点是使用多个处 术,较之传统的并行计算和分布式计算,有新的特点 收稿日期:2013—10—13 和实现原则,因此,成为云计算的关键技术。 基金项目:地震工程远程协同试验系统的软件研究与开发(0618001) 1 并行计算 作者简介:龚强(1956一),男,双硕士,博士,博士后,教授,研究员 级高级工程师、翻译职称,博士生导师。长期从事测绘与 并行计算是云计算的基础。一般而言,同时使 GIS、现代经济与管理、网格计算与地理空间信息网格、云 计算等研究及教学工作。 用多种计算资源,执行多个指令,协同解决规模很大 的计算问题的过程,该计算模式称之为并行计算。 理器并发执行计算,更具有实际应用价值,因此,成 为当前研究的重点。 供给用户。具体说,一个需要进行大量计算的问题 被分解开来,形成许多任务,分别由一台或多台计算 机完成计算,最后上传运算结果。在云计算环境下, 空间并行会出现四种情况,其一是单指令流多 数据流SIMD(Single Instruction Stream Multiple Data Stream),这种情况比较常见且易于理解;另外一种 情况是多指令流多数据流MIMD(Multiple Instruc— tion Stream Multiple Data Stream)。以及单指令流单 分布式可以用来指代在同一台服务器或计算机上运 行多个进程,只要是通过消息传递机制而非共享全 局数据的形式来协调,并用于共同完成某个特定任 务的计算,都被认为是分布式计算。 目前,人们给出的分布式计算定义较多,但基本 内涵是不矛盾的。 中国科学技术信息研究所的定义是:分布式计 算就是在两个或多个软件之间共享信息,这些软件 既可以在同一台计算机上运行,也可以在通过网络 数据流(SISD)和多指令流多数据流(MISD)。较之 SISD和MISD,MIMD相对复杂,这种技术是利用多 个控制器控制多个处理器,同时对一组数据(这一 组数据又称数据向量)中的每个单体分别执行相同 的操作,以此在空间上实现并行处理。由于使用多 个控制器,又是在不同时间段内控制多个处理器,在 连接起来的多台计算机上运行。分布式计算较之其 他计算方法的优点在于:稀缺资源可以共享;可以将 程序放在最适合运行它的计算机上;通过分布式计 计算机系统中,并行从不同层次上实现,因此,自高 而低有以下几类情况出现: MIMD类机器的第一类情况是并行向量处理机 (PVP),其主要特点是系统中的CPU是专门定制的 向量处理器(VP)。第二类情况是对称处理机 (SPM),其主要特点是统一由一个操作系统控制,两 个以上相同处理器共享一个主存储器,即“对称多 处理机系统”。该系统可以有效均衡负载。第三类 算可以在多台计算机上平衡计算负载。 黎连业等专家给出的定义是:所谓分布式计算, 是研究如何把一个需要巨大的计算能力才能解决的 问题分解成许多小的部分,然后把这些小的部分分 配给许多计算机进行处理,最后把这些计算结果综 情况是大规模并行处理机(PMM),这种异步多指令 流多数据流的大规模并行处理机由多个微处理器、 局部存储器和网络接口搭建的节点组成。各节点间 的互联通过定制的高速网络实现,其特点是程序进 程不一,各进程地址空间独立,可交互信息。第四类 情况是工作站集群(COW),它相当于没有本地磁盘 合起来得到最终结果。 2.2分布式计算特征分析 从分布式计算的基本工作模式看,中心服务器 将一个大型计算任务分割成若干个或更多个任务单 元,利用网络分派给多台计算机分别去完成,任务完 成后再返回到中心服务器。这种工作模式决定了分 的工作站集群。第五类情况是分布式共享处理机 (DSM),通过硬件、软件实现分散的全域地址空间。 并行计算的特征明显,其工作程序是:首先将任 务分离、分派,然后执行多个程序指令。并行计算的 布式计算的典型特征。首先,系统是整体协调的,同 时,也容许某一台独立计算机临时出现问题或故障, 每台执行分布式计算任务的计算机只是一个局部视 角,对整个系统而言,其影响是很有限的;节点间的 显著优点是:多计算资源环境下解决问题耗时,低于 单个计算资源的耗时。 除了前面提及的时间并行和空间并行外,还有 一通信以消息传递为主,数据传输量很小,局部节点同 样看不到全局,各个节点都有自己的处理器和主存 储器,且该处理器只能访问自己的主存;系统结构是 动态可变的,它取决于网络结构、计算机数量、规模、 种(空间+时间)并行。这是一种时间重叠和资 网络延迟等;随着任务的执行和系统运转,计算机类 型和网络连接都可能产生变化,甚至可能因为执行 源重叠的综合运用,或者说时间并行性和空间并行 性同时应用。相比较而言,这种并行技术效率和效 益都是最优的。 某个分布式程序而使得系统发生改变;由于网络可 以跨越的范围非常广,如果设计科学合理,分布式计 算的可扩展性是非常好的;分布式计算中,尽管节点 可以随时加入或退出,节点配置也存在很大差异,但 设计良好的分布式计算机制可以保证系统的可靠 2分布式计算 2.1 分布式计算定义解析 作为计算机科学研究分布式系统的一个分支, 分布式计算因其较高的实用价值和良好的应用前 景,越来越受到人们的重视。分布式计算是利用高 速互联网把分散的计算资源组合成共享资源集合, 以形成高性能计算、管理、服务的资源能力,然后提 一性,不会因为个别节点出现问题导致整个系统受到 影响或制约。 关于分布式计算的特点黎连业等专家作了如下 归纳: 2一 结构模块性:分布式计算的资源单位形成相对 器后对比验证以避免差错。这一点较之并行计算优 独立的模块,它们经互联网络连接成一个单一系统。 模块在一定范围内的增减或替换不影响系统的整 体性。 势明显。 作为云计算环境下的分布式系统,除了具有并 行计算的处理能力,具备并行计算的一应功能外,由 资源分散性(Distributed):资源分布于物理上 分散的若干场点中。在对用户透明基础上实现资源 共享,使单个用户的可用资源成倍增长。 协同自治性(Autonomous):系统资源的操作是 高度自治的,既不存在全系统的主/从控制关系,又 于采用了分布式控制,可以避免各类阻止运行的 “瓶颈”与同步等待,还可以即时处理用户提出的随 机要求,在性能上较之单一的并行系统更高。 分布式系统在维护方面也有特别的优势,比如 分布式系统是模块化结构,系统控制又采用的是分 布式,因此,各个部件、各类组件是相对松耦合的,对 能利用处理局部化的原则以减少各场点间的通 信量。 工作并行性(Parallels):分布式系统中分散的 资源单位可以相互协作,共同解决同一个问题,在分 布式操作系统控制下,实现按任务资源重复或按功 能时间重叠等不同形式的并行性。 系统透明性(Transparency):系统对于用户是透 明的,用户可以像单机系统一样使用分布式系统。 整体强健性(Robustness):系统中的资源冗余 和自治控制方式使系统具有动态重构能力,即使系 统受到局部性破坏也能继续工作。所以具有可靠性 和容错性。 灵活的可扩充性:以模块作为系统扩充或资源 更新的增加单位,不必像集中式系统那样替换整个 系统或更改系统中的很大部分。系统的配置容易改 变。以适应不同应用对象的各种需求。 良好的实用性:计算机资源更加靠近用户,特别 是使分散的用户得到计算机的快速响应和直接服 务,从而把大型机的强功能、高速度与微信机的使用 方便性、灵活性结合了起来。 2.3分布式计算的比较优势 分布式计算之所以受到人们的青睐,而且越来 越受到重视,主要是其优势明显。就系统而言,采用 分布式计算的工作方式,以网络互联计算机,相互配 合完成共同目标,其可用性显著提高。尤其是云计 算环境下,当计算机运行遇到问题或出现故障时,可 以通过冗余和重构的办法,令系统性能下降以维持 正常运行,这样,即使是有一台或若干台计算机出现 故障,其它计算机仍可以继续工作。从整体看,系统 的容错能力明显提高,与并行计算相比,这是分布式 计算的特有优势,许多用户对这一功能是非常认 可的。 分布式计算中,前一项任务尚无结果或结果未 返回,甚至结果是错误的,对其它任务的处理都不会 产生过多的影响,有时几乎没有影响,其原因是每个 计算任务经常是多个参与者计算,上传结果到服务 系统维护而言,也容易体现出灵活性的比较优势。 相比较之下,分布式系统的投资比单机系统不 见得多,但所获得的处理能力却是单机系统的几倍、 几十倍,甚至更大。性价比方面分布式系统明显占 优。同时,必须看到,分布式计算可以有序地吸收志 愿者、民间组织、网民等大量的分布式计算资源和能 力。这在云计算环境下是非常有前景的优势。 3 对分布式计算CAP理论和云计算 BASE理论的认知 分布式系统的重要理论CAP理论强调:一个分 布式系统不可能同时满足一致性(Consistency)、可 用性(Availability)和分区容忍性(Partition Toler- ance)这三个需求,最多只能满足其中的两个。 关于一致性。分布式系统中的数据一般会存在 不止一份,当客户修改数据,包括增、删等,会“一动 全动,马上更新”,也就是说,对一份数据而言,不同 的客户端在不同的存储节点读取到的副本一定是一 致的。 关于可用性。分布式系统的客户端如果有访问 数据意愿可以得到即时响应,当然有时也会出现响 应延时,但这是系统设定的、有下限的可控延时,超 限即为不可用。 关于分区容忍性。同一数据分别存储于不同城 市或不同国家,是互联网公司保证服务质量的必要 手段,子节点集合的故障应该不会影响整个系统 响应。 设计分布式存储系统,对上述三个特性,只能择 其二,面面俱到,全部顾及是难以实现的。于是,基 于CAP理论,出现了BASE思想。这种源于电子商 务实践总结形成的理论,其核心思想是:即使达不到 强一致性,也会根据应用特点,运用其它合适的方法 实现最终一致性。 BASE是三个词组的缩写:Basically Available (基本可用)、 (下转第9页) 一3一 询处理策略。查询的执行开销主要包括磁盘存取块 数(I/O代价),处理机时间(CPU代价),查询的内 存开销。其中I/O代价是最主要的。为此可以充分 利用索引方法,减少表扫描的I/0代价,尽量避免表 搜索的发生。例如可以在order表中对agentid或是 2O05. [4]徐晟,刘胜全.内存数据库在撮合交易系统中的研究与实 现[J].电脑知识与技术,2007,1(1):20—22. [5]向仕建,郭春梅,李也白.J2EE架构在网上股票交易系统中的 应用[J].微机发展,2003,13(6):7—9. [6]赵佳,孙涌.分布式多层架构模拟证券交易系统[J].微电子学 与计算机,2004,21(12):107一l11. stockid建立索引提高查询效率。 利用好索引可以极大地提高数据库的检索性 能,但是不能在经常修改变动的列中建立索引,这只 会增加系统搜索代价。而且由于股票撮合系统每秒 钟都需要处理大量的数据,因此为了提高系统效率, 可以尽量建立单索引提高查找效率。 [7]宋毅红.基于C/S结构的证券交易系统性能评价研究[J].计算 机应用于软件,2007,24(3):1l1—121. [8]Zhen Liu,Nicolas Niclausse,Cesar Jalpa—Villanueva. Fraffic model and performance evaluation of Web servel ̄'『J].Performance Evalu- ation,200l,46(2—3):77一loo [9]Ryan S D,Bordoloi B.Evaluating security threats in mainframe nd aclient/server environments[J].Information&Management,1997,32 (3):137~146. 6 结束语 本文通过了解现行股票市场的交易制度和交易 [1O]Ruffer S M,Yen D.Client/Server Computing Technology:A 流程,熟悉股票市场撮合订单的方式与机制,并将其 Framework for Feasibility Analysis and Implementation[J].Inter- national Journal of Ifornmation Management,1995,15(2):135— 150. 转换为详细的流程框图,为撮合系统提供设计基础。 从交易机制中抽象出撮合系统的需求,将系统分为 多个功能模块进行详细架构和设计。同时为了构建 一[1 1]Polo Macario,Gbmez Juan Ange1.Generating three—tier applications from relational databases:a formal and practical approach[J].In- formation and Software Technology,2002,44(15):923—941. 个高性能、高可靠性和高扩展性的交易撮合系统, 本文提出了基于多层分布式体系,利用Java技术进 行设计和实现。采用最新的内存撮合技术,利用多 级存储模式提高系统运行效率。随着股票市场的日 益扩大以及股民对系统性能要求越来越高,如何构 [12]Microsoft Ine.Distributed Application Development for Three・Tier Architecture:Microsoft on Windows DNA[J].IEEE Internet Com- puting,1998. [13]Bemstein,Philip A.Middleware:A Model for Distirbuted Service [J].CommunicationsoftheACM,1996,2(2):86—97. [14]梅宏斌,王德强,于三禄.一种基于内存撮合的计算机期货交易 建一个高性能的撮合交易系统是股票市场需要进一 步研究的课题。本文通过构建一个基于多层分布式 系统[J].计算机应用,2001,21(8):60—61. [15]叶德伟.一个高性能多券种交易撮合系统设计与实现[D].杭 州:浙江大学,2008. 体系的股票交易撮合系统来模拟仿真股票市场,借 此充分了解股票市场的交易运作模式,为进一步深 人研究市场提供基础。 参考文献: [1]王锦炎.中国证券电子商务发展现状与分析[D].北京:对外经 济贸易大学,2007. [16]徐晟.统一市场下撮合交易系统优化研究与性能模拟[D].新 疆:新疆大学,2007. [17]朱剑涛.J2EE和分布式数据库在军品价格管理交易系统中的 应用[D].成都:四川大学,2004. [18]张龙,刘连臣,张霖.等.基于J2EE的电子商务自动撮合系统研 究与实现[J].计算机工程与应用,2003,32:216—228. 责任编辑:么丽苹 [2]丁茂华,王海航.股票信息系统的组成与应用[J].计算机应用, 2008,28(2):507—510. f3]蔡雯艳.现期货交易系统研究与实现fD].匕海:华东师范大学. )} (上接第3页) [2]李天目,韩进.云计算技术架构与实践[M].清华大学出版社, 2014. Soft—State(状态的/柔性的,亦即状态可以有短时间 的不同步)、Eventual Consistency(最终一致性)。 CAP和BASE理论是当今互联网领域颇受关注且十 [3]吴朱华.云计算核心技术剖析[M].人民邮电出版社,2011. [4]龚强.当代云计算发展研究现状[J].测绘与空间地理信息, 2013,36(5):I一4,8. 分流行的分布式NoSQL的理论基础。 关于分布式系统模型、分布式操作系统和文件 系统,以及分布式数据库等拟另文讨论。 参考文献: [1]黎连业,王安,李龙.云计算基础与实用技术[M].清华大学出 版社.2013. [5]龚强.云计算关键技术之弹性伸缩控制技术认知研究[J].信息 技术,2014(1):l一3. [6]龚强.虚拟化技术及应用于地理国情普查的思考[J].测绘与空 间地理信息,2013(1O):1—3. 责任编辑:肖滨 一9一