浅析云计算分布式并行计算:编程模型
MapReduce 是由Google公司开发的一个针对大规模群组中的海量数据处理的分布式编程模型。它实现了两个功能:Map把一个函数应用于集合中的所有成员,然后返回一个基于这个处理的结果集。而Reduce是把从两个或更多个Map中,通过多个线程,进程或者独立系统并行执行处理的结果集进行分类和归纳。Map() 和 Reduce() 两个函数可能会并行运行,即使不是在同一的系统的同一时刻。
微软于2010年12月21日发布了分布式并行计算基础平台Dryad测试版,成为谷歌MapReduce分布式数据计算平台的竞争对手。它可以使开发人员能够在Windows或者.Net平台上编写大规模的并行应用程序模型,并能够在单机上所编写的程序很轻易的运行在分布式并行计算平台上,程序员可以利用数据中心的服务器集群对数据进行并行处理,当程序开发人员在操作数千台机器时,而无需关心分布式并行处理系统方面的细节。本文将重点讲述微软最新Dryad平台方面的功能原理以及应用。
Dryad平台也是构建微软云计算基础设施重要核心技术之一。要使云计算真正的“落地”主要面临两个重要问题:如何构建与应用程序来紧密结合的大规模底层基础设施?目前构建分布式平台的基础设施主要包括Dryad、Dynamo和MapReduce等框架。
图1 数据并行计算
另一个问题就是如何通过构建新型的云计算应用程序,能够在网络上提供更加丰富的用户体验?Yahoo扩展了MapReduce并提出了MapReduceMerge框架,并可以应用到多核处理器上。HP则将注意力关注于分布式共享内存的使用上,而不同于MapReduce编程方面。IBM主要使用Linux系统映像以及Hadoop软件(Google File System以及MapReduce的开源实现)。微软则自主研发了Dryad和DryadLINQ,并可以用于辅助C#开发人员在计算机集群或数据中心里分布式并行处理大规模的数据,从而在程序执行性能与效率上提高数倍。
Dryad和DryadLINQ是微软硅谷研究院创建的研究项目,主要用来提供一个分布式并行计算平台,DryadLINQ提供一种高级语言接口,使普通程序员可以轻易进行大规模的分布式计算,它结合了微软Dryad和LINQ两种关键技术,被用于在该平台上构建应用。Dryad与微软体系结构中的位置关系,如图2所示。
图2 Dryad与微软体系结构的关系
Dryad同MapReduce一样,它不仅仅是一种编程模型,同时也是一种高效的任务调度模型。Dryad这种编程模型并不仅适用于云计算,在多核和多处理器以及异构机群上同样有良好的性能。
我们知道在Visual Studio 2010 C++有一套并行计算编程框架,支持常用的协同任务调度和硬件资源(例如CPU和内存等)管理,通过Work stealing算法可以充分利用细颗粒度并行的优势,来保证空闲的线程依照一定的策略建模,从所有线程队列中“偷取”任务执行,所以能够让任务和数据粒度并行。如果一个耗时的任务只被粗略分割成四个子任务并发执行,即使是在四核心CPU的计算机上运行也无法做到实时动态的负载均衡,可能发生三个子任务很早就完成了,而另一个任务还在一个核上是等待状态。
Dryad与上述并行框架相似,同样可以对计算机和它们的CPU进行调度,不同的是Dryad被设计为伸缩于各种规模的集群计算平台,无论是单台多核计算机还是到由多台计算机组成的集群,甚至拥有数千台计算机的数据中心,可以从任务队列中创建的策略建模来实现分布式并行计算的编程框架。(责任编辑:admin)
- “扫一扫”关注融合网微信号
免责声明:我方仅为合法的第三方企业注册用户所发布的内容提供存储空间,融合网不对其发布的内容提供任何形式的保证:不保证内容满足您的要求,不保证融合网的服务不会中断。因网络状况、通讯线路、第三方网站或管理部门的要求等任何原因而导致您不能正常使用融合网,融合网不承担任何法律责任。
第三方企业注册用户在融合网发布的内容(包含但不限于融合网目前各产品功能里的内容)仅表明其第三方企业注册用户的立场和观点,并不代表融合网的立场或观点。相关各方及作者发布此信息的目的在于传播、分享更多信息,并不代表本网站的观点和立场,更与本站立场无关。相关各方及作者在我方平台上发表、发布的所有资料、言论等仅代表其作者个人观点,与本网站立场无关,不对您构成任何投资、交易等方面的建议。用户应基于自己的独立判断,自行决定并承担相应风险。
根据相关协议内容,第三方企业注册用户已知悉自身作为内容的发布者,需自行对所发表内容(如,字体、图片、文章内容等)负责,因所发表内容(如,字体、图片、文章内容等)等所引发的一切纠纷均由该内容的发布者(即,第三方企业注册用户)承担全部法律及连带责任。融合网不承担任何法律及连带责任。
第三方企业注册用户在融合网相关栏目上所发布的涉嫌侵犯他人知识产权或其他合法权益的内容(如,字体、图片、文章内容等),经相关版权方、权利方等提供初步证据,融合网有权先行予以删除,并保留移交司法机关查处的权利。参照相应司法机关的查处结果,融合网对于第三方企业用户所发布内容的处置具有最终决定权。
个人或单位如认为第三方企业注册用户在融合网上发布的内容(如,字体、图片、文章内容等)存在侵犯自身合法权益的,应准备好具有法律效应的证明材料,及时与融合网取得联系,以便融合网及时协调第三方企业注册用户并迅速做出相应处理工作。
融合网联系方式:(一)、电话:(010)57722280;(二)、电子邮箱:2029555353@qq.com dwrh@dwrh.net
对免责声明的解释、修改及更新权均属于融合网所有。