


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于maprence模型的矩阵并行lu分解
内联是google提出的并行分布式编程模型。在MapRedcue模型中用户只须指定一个map函数来处理一个输入的key/value对,产生中间结果key/value对,再通过一个由用户指定的reduce函数来处理中间结果中具有相同key值的value。借鉴Hadoop,以BoostMPI为基础实现了MapReduce系统——高性能MapReduce(HighPerformanceMapReduce,HPMR),它更适应于数值计算。本文分析矩阵的LU分解算法在HPMR上的应用,阐述运用MapReduce模型解决并行问题的方法,该方法清晰简洁。1map创造算法在传统并行编程过程中,程序员必须花大量的精力去处理进程间通信。WordCount被用来统计输入数据中各单词出现的次数。以WordCount为例,MPI的一种实现方式为:在各个MPI进程完成各自的统计任务后,将结果汇总给某一个进程,然后由该进程进行最终统计。该实现方式很容易在完成最终统计任务的进程处形成通信瓶颈,而最终统计任务是以顺序方式完成,会导致统计效率低下。采用并行分类统计能提升效率,即收集各个进程获得的关于某个相同单词的局部统计信息,并将这些信息汇总给某个进程处进行分类统计。然而由于这种实现方式仅确定能产生某个单词统计信息的进程范围,因此会增加编程复杂度。在MapReduce模型下,完成单词统计的具体步骤为:(1)用户编写Map程序对出现的单词word产生中间结果key/value偶对,如<word,1>。(2)这些分布产生的中间结果将按key值的不同进行汇总处理,产生key(word)相同的value列表,如<word,1,1,1,…>,并作为Reduce阶段的输入,这个阶段的工作将由MapReduce运行系统自动完成。(3)用户提供的Reduce程序只须将获得的value累加即可得到结果。Map算法和Reduce算法如下:图1是在MapReduce模型下的WordCount运行示意图。由上文可知,与传统并行编程模型相比,MapReduce模型具有较高的并行表述抽象性。用户仅须提供Map和Reduce操作函数即可。与MPI类似,MapReduce是一种显式数据划分的并行分布式编程模型。在Map阶段局部数据处理通常产生局部结果。用户可以借助MapReduce模型提供的key/value策略,把对全局(或阶段性)计算结果有影响且有关联的value采用相同key标志。由于这种策略的简单抽象,因此用户可以较容易地把握局部和全局关系,从而确保问题求解并行实现的正确性,并进一步降低并行分布式编程的难度。2矩阵计算中的hpmr应用2.1不同子矩阵描述及描述在矩阵并行计算前须对矩阵进行划分,即把一个大矩阵划分成若干子矩阵,每个子矩阵分配给不同进程或线程处理。在HPMR中,每个矩阵子块称为sub_matrix类,包含2个部分的内容:子矩阵描述和子矩阵数据。子矩阵描述包含划分相关的信息,如划分方式、总块数、本块块号、子块起始/终止行(或列)号等,以及和矩阵计算特征有关的信息,如LU分解中的主行行号。而子矩阵数据为实际存储子块数据地址的指针,如图2所示。2.2矩阵、并行流分解算法2.2.1map和run的工艺流程LU分解算法是把一个给定的n阶方阵A分解成一个下三角阵。在分解的过程中,主要计算是利用主行k(k:1~n)依次对其余各行i(i>k)做初等变换,各行计算之间没有数据相关性,因此,可以对矩阵A按行划分实现并行计算。LU分解主要串行代码如下:由于MapReduce依然属于显式数据划分与并行计算模型,因此须按照特定数据划分策略将待分解的矩阵划分为若干个子数据块,所用的划分方法可以是按行连续划分或按行交错划分等方式。然后根据LU分解串行计算的语义及划分方式,可以较容易地写出Map和Reduce处理过程,描述如下:(1)Map:检查当前数据子块是否要使用当前主行进行变换。1)如果Map持有的数据子块不包含主行号i的数据行,且主行号i没有超越本地数据子块所持有行的行号范围,则产生<key=本地数据子块号#current_block,Val=本地数据子块>;2)如果Map持有的数据子块包含了主行号i的数据行,则产生<key=本地数据子块号#current_block,Val=本地数据子块>,然后针对所有其他需要变换的划分子块分别产生<key=其他数据子块号#other_block,Val=主行数据>。(2)Reduce:对要变换的数据子块实施相应主行变换。1)对经过MapReduce运行时汇聚后的<key=数据子块号#block,Val1=子块号为#block的数据子块,Val2=主行数据>中的数据子块进行相应主行变换;2)产生<key=数据子块号#block,Val=变换后的子块号为#block的数据子块(主行号增1)>作为下一轮MapReduce的输入。图3显示了某轮MapReduce过程中Map产生的key/val,其中,左边给出进行LU分解的矩阵划分,如子块b0,b1和b2;右边给出了Map产生的key/val偶对序列,b0因含有主行i而产生4个key/val偶对,而其余划分分别只产生1个key/val偶对。经过一轮MapReduce过程,完成了以某一行为主行的LU变换,对于n阶的方阵来说,完成整个LU变换的过程仅要进行n-1轮的变换。HPMR为用户提供了控制迭代次数的接口,通过这些接口可以设置MapReduce循环的轮数和循环停止的条件。2.2.2广播方式与hpmr比较2000阶、4000阶、6000阶、8000阶矩阵LU分解分别如图4~图7所示。由此可知,当进程数较少时,HPMR的性能与Boost_MPI相当,当进程数为10时,HPMR的性能略高。在LU分解中总有一个进程将主行发送给其他需要变换的进程,这种一到多的通信方式,在Boost_MPI实现的LU分解程序中是通过广播实现的,在HPMR中采用点到点的通信方式。根据本文测试,在进程数目较少的情况下,采用点对点通信方式实现的LU分解比采用广播方式实现的性能好。但当进程数目增多的时候广播方式的性能更好。当进程数目大于30时采用广播通信的Boost_MPI程序的性能比HPMR好得多,但是在进程数小于25时,HPMR有很好的加速性能。20个进程的性能比较如图8所示,由此可知,在进程数为20时,随着矩阵规模的增大,HPMR的性能接近于Boost_MPI,但在进程数增多时,用点对点方式实现影响了一到多通信的性能。2.2.3map创造时间MapReduce程序在每一轮的运行中都有3个过程:(1)Map过程,时间用tm表示;(2)中间结果的处理过程,时间用tp表示;(3)Reduce过程,时间用tr表示。数据分发过程所需时间用td表示,最后结果收集所需时间用tq表示,整个MapReduce过程的迭代次数用n表示,整个过程所用的时间用T表示。使用大同步并行(BulkSynchronousParallel,BSP)模型对MapRedcue进行分析。MapRedcue一个超级计算步的成本为其中,L为每轮之间的路障同步时间。整个MapRedcue程序所需时间为由于tm和tr是数据处理过程所需要的时间,与具体应用的算法有关,在系统中很难进行优化。tp除了同步外,key的统计和key/value对的通信占了很大比例。因此,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年金属制厨房调理器具项目发展计划
- Unit7 Lesson 5 The colourful seasons(教学设计)-2024-2025学年冀教版(2024)初中英语七年级上册
- 湘少版六年级英语上册教学工作计划(及进度表)
- 八年级生物下册 第9单元 保护人类与其他生物的公同家园 第26章 第2节《保护生物多样性》教学实录3 (新版)苏科版
- 安全文化建设实践策略计划
- 提升仓库品牌形象的工作思路计划
- 团队建设的实施计划
- 学期教学活动日历规划计划
- 劳保用品安全教育
- 广告互换合同(2025年版)
- 2024年江苏常州机电职业技术学院招聘44人历年高频难、易错点500题模拟试题附带答案详解
- 2024-2030年中国干黄花菜市场营销策略与未来发展方向建议研究报告版
- NGS与感染性疾病医学课件
- 数据资产化实践指南2024年
- 部编版语文六年级下册第五单元教材解读大单元集体备课
- DB32T 4787-2024城镇户外广告和店招标牌设施设置技术标准
- 钢结构安全交底
- 2024年社区工作者考试必背1000题题库含必背答案
- 2024年建筑业10项新技术
- 小米创始人雷军的创业经历
- 海南中维生物科技有限公司 蝗虫微孢子虫生物制剂项目 环评报告
评论
0/150
提交评论