MapReduce在科学计算中的研究与改进

来源 :安徽大学 | 被引量 : 0次 | 上传用户:qzl11320583407
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着异构数据的急剧增加,云计算应运而生。作为云计算的编程模型MapReduce同样也得到了广泛的关注,特别是在学术界。为了解决覆盖及中间数据的存储等诸多问题,诸多学者提出了许多地改进办法并形成了自己的编程模型,如有Hadoop、Twister和Haloop等。为了能够实现迭代算法,Haloop模型中增加了Loop Control机制,该机制在具体的实施时主要是增加了两个函数,即ADDMap和ADDReduce,这两个函数的目的就在于来增加其迭代的次数。同时在Twister模型中也有相应控制loop的机制。同样,在本文中为了更好的执行具有迭代的算法,不但保持了原有的接口和函数,而且还在Map函数、Reduce函数、ADDMap函数和ADDReduce函数中增加了一个参数M,M的作用主要是来区分科学计算中的四类算法的。如果M等于1就代表是第一类算法;如果M等于2时就代表第二类算法;如果M等于3时就代表第三类算法;如果M等于4时就代表第四类算法。由于第三类和第四类算法都是具有迭代的算法,这时把该两类算法经常要用到的函数及接口都写成了适配器。在具体做实验时,开发人员就可以根据需要往函数体里面增加相应的函数体。为了确保数据的安全,在实验时变量被声明成保护型。把那些变化不大的数据放在缓冲池,这样一来就可在Slave节点的本地系统上读写数据,而不用从Master节点上读写数据,这样不但可以减轻Master节点的工作量,而且可以提高运行效率。基于种种调度算法的缺点,提出改进的算法。该算法增加如下参数:计算成本,任务的最后期限和客服端机器的处理速度等参数,还设置了两个队列:计算资源队列和最后期限队列。其中,计算资源队列中任务的优先级是由计算成本来决定。计算计算成本时要乘以一个权值Weight,该权值的大小是由在Map函数、Reduce函数、ADDMap函数和ADDReduce函数中增加的参数M来决定。如果M等于1时,Weight也等于1;如果M等于2时,Weight也等于2;如果M等于3时,Weight也等于3;如果M等于4时,Weight也等于4。最后期限队列的优先级是由最后期限(deadline)来决定。并设置计算资源队列的所有任务的优先级都高于最后期限队列中所有任务,如果最后期限队列存在有最后期限等于0的任务,则将该任务直接插到计算资源队列的队首的位置。这样一来,不仅确保了大任务的高效执行,同时也照顾了小任务的执行。改进的算法取得了很好的性能。在文章的最后举出相关的例子并利用Hadoop作了相应的实验。
其他文献
智能电网的智能性是建立在海量的,关键的,敏感的电网运行信息上的,这就需要强大的数据处理、分析和存储能力。这些海量数据的处理和存储对传统的服务器和关系型数据库来说是一个
在节能减排,建设智慧、绿色城市的大背景下,加大燃气,特别是天然气的在能源消费结构中的比重,已成为上海市能源政策的重点。上海的主要燃气分为液化石油气、煤气和天然气。随着城
21世纪是人类深海探测和开发的时代,大深度潜水器作为实现人类开发深海的重要技术手段,其重要性越来越凸显。为了适应深海工作需要,对大深度潜水器的材料性能要求而相应提高
随着互联网的普及和电子商务的蓬勃发展,大量的数据资源充斥在网络之中,人们不得不花费较长的时间选择自己喜欢的资源。个性化推荐系统的出现较好地解决了这一问题,成为当今越来
Web服务作为面向服务体系结构(Service-orientedarchitecture,SOA)的一种实现,通过标准的Web协议提供服务,保证了异构平台上应用程序之间的互操作。将语义Web技术和Web服务融合
计算机视觉是工程学科研究范畴中非常具有挑战性的一个研究领域,而运动目标的检测与跟踪技术可以说是这个领域中的一个关键技术。而且这项技术在智能交通、医疗诊断和军事工
数字视频是人们获取信息的重要媒介之一,然而其庞大的数据量给计算机的存储容量和信道带宽带来了巨大的挑战,严重地阻碍了视频技术的发展。视频编码成为了解决该问题的关键,编码
随着视频通信技术的发展,资源受限领域的视频通信应用越来越受到关注,例如计算能力、内存容量、耗电量受限的无线传感网络中视频监控、无线PC相机、移动视频通话等特殊场合,如何
模型检测是一种自动化程度非常高的有限状态系统验证技术,目前已经在计算机硬件、通信与安全协议、软件可靠性的验证方面获得了较大的成功。传统模型检测技术关注的是系统行为
在人类生活中,根据环境变化不断学习新知识是一个重要的过程。对于智能交互系统来说,这就要求其具有通过交互自我学习的能力。另一方面,在人类感知、学习的过程中,不断把新知