- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
适于进化算法迭代式MapReduce框架
适于进化算法迭代式MapReduce框架 摘要:MapReduce模块化的编程大大降低了分布式算法的实现难度,但同时也限制了它的应用范围介绍了MapReduce的基本结构及其实现迭代算法的缺陷,并针对基于MapReduce进化算法效率低下的问题,在对MapReduce的计算框架进行研究的基础上提出了一种适用于进化算法的迭代式MapReduce计算框架描述了迭代式MapReduce计算框架的实现需求及其具体实现,提出并证明了异常机制的可行性,且在公有的Hadoop云计算平台上对提出的框架进行了验证实验结果表明,基于迭代式MapReduce计算框架的并行遗传算法在算法的加速比上与基于MapReduce的并行遗传算法相比有较大的提高
关键词:云计算; MapReduce; 进化算法; 迭代; Hadoop
中图分类号: TP391 文献标志码:A
0引言
云计算[1-3]是近年来新兴的一种大规模,集存储、计算于一身的分布式平台,其易用性、廉价性和按需购买的特性受到了市场的欢迎MapReduce[4]是云计算平台上的一个分布式计算框架,最初是Google公司为解决实践中出现的问题在2003年提出的Google公司经常需要处理大规模的数据,其主要采用分布式算法实现,在实践中发现两个问题:1)分布式算法不容易实现,项目进度经常受分布式算法的实现难度影响;2)有大量重复的共需的功能模块可以利用在此基础上,经过分析,借鉴LISP语言中的Map与Reduce函数功能,提出了MapReduce框架MapReduce一经提出后,便被应用到诸多领域,远远超出了设计者的设想
与MapReduce针对的问题所对应,MapReduce框架最大的优势在于简单易用用户只要按照给定的模块,在对应的位置填写相应的代码就可以完成原来需要很多编码才可以完成的工作,甚至只需要一个命令行就可以将原来的程序变为分布式程序,这大大增加了MapReduce的吸引力
但是,在MapReduce应用领域不断扩展的过程中,MapReduce开始出现一些问题[5-6]其中一个问题就是MapReduce框架不适应迭代算法求解[7],这是由MapReduce框架本身的设计所决定的在MapReduce框架中,将计算分为两步:首先是Map,然后是ReduceMap的主要功能是从云计算平台读取数据进行分布式的计算;Reduce的主要功能是收集分布式计算的结果,即Map的计算结果,然后将其进行输出在进行迭代计算时,每一次迭代,其计算的数据都不相同因此,如果使用MapReduce实现迭代式算法,则必须将每一次迭代转化为每一次任务提交,这将大大增加计算过程中的非计算开销,使得迭代算法的求解效率下降
针对MapReduce框架在分布式算法求解过程中出现的问题,本文提出了一种适用于进化算法的迭代式MapReduce计算框架,其主要原理是在MapReduce计算过程中增加了一个通信模块,使得多次迭代可以通过一次任务提交获得计算结果为本文表述方便,将新的适用于进化算法的迭代式MapReduce计算框架简记为CMapReduce (Communication MapReduce)迭代算法的种类很多,进化算法是较为典型的一种迭代算法,通过对基于MapReduce的进化算法的研究来推动MapReduce在整个迭代算法中的应用本文首先介绍MapReduce的计算框架及其当前针对MapReduce在迭代算法中的缺陷所进行的研究,然后提出了一种适应于进化算法的新的MapReduce计算框架CMapReduce,并通过实验验证了基于CMapReduce的并行遗传算法与基于MapReduce的并行遗传算法相比,最多达到了620倍的加速
1MapReduce框架及其相关研究
MapReduce框架将任务的执行分为两步,对于使用者来说,只需按照模板指定Map与Reduce的功能即可完成整个分布式代码的编写对于MapReduce本身的架构来说,程序的执行分为Map任务和Reduce任务从计算节点功能上分,在MapReduce架构中,分为Master和Slave节点,Master节点负责任务的分配、调度、资源的管理等,Slave节点负责向Master节点请求计算任务并将计算信息和计算结果反馈给Master节点
图1显示了语料统计中MapReduce的工作过程用户首先将任务提交给Master节点,Master节点在收到请求后对用户的程序进行复制,然后按照任务的类型,Map或者Reduce任务,将任务分配到相应的Slave节点任务的执行过程如下:
首先Map任务从云计算平台以(key,value)的形式读取数据,然后执行Map任务对于字符统计任务来说,就是将相应的句子
文档评论(0)