当前位置:主页 > 科技论文 > 软件论文 >

遗留代码的可分布式并行性分析研究

发布时间:2021-10-19 18:13
  随着信息技术和智能移动设备的快速发展和大规模普及,数据产生的速度以及累积的速度正在呈爆炸式增长,传统的业务系统已经无法满足大数据处理的需求。而云计算是一种新兴的商业计算模型,拥有并行性、弹性、可扩展性等诸多优势,而且已经在当今学术界、产业界被广泛关注,越来越多的组织者计划将遗留系统移植到云计算平台,以便提高数据处理的效率。但是,直接将遗留串行代码部署在云计算平台上运行,并不能充分利用云计算的优势,开发人员需要根据云计算编程模型对遗留代码进行重构,实现数据的并行处理。在此之前,首先要做的是遗留代码的可分布式并行性分析,即确定遗留系统中哪些业务可以分布式并行。本文借鉴语句之间依赖关系的分析方法,提出循环迭代之间依赖关系的分类及定义,并针对简单变量和数组访问提出相应的判定规则,通过分析循环迭代间的依赖关系是否存在来判定循环的可并行性。同时,针对云平台主流的分布式并行编程模型MapReduce,提出数据可分割的定义和相应的判定规则。在分析循环迭代之间依赖关系和数据可分割性的基础上,提出一种针对遗留代码可分布式并行性的分析方法。最后,基于该方法开发了可分布式并行性分析工具,用于识别和标记遗留系统... 

【文章来源】:内蒙古大学内蒙古自治区 211工程院校

【文章页数】:65 页

【学位级别】:硕士

【部分图文】:

遗留代码的可分布式并行性分析研究


Fibonacci算法分析前后源码对比图

对比图,层次聚类算法,不可分,对象


内蒙古大学硕士学位论文层次聚类算法是一个嵌套循环,两层循环之间没有任何语句,所以直接分析内层循环。由于每次循环迭代的输出数据都不作为下一次循环迭代的输入数据,所以 DLI 不存在,即循环是可并行的。而在每轮迭代时,需要计算该对象与其他所有对象之间的距离,并将距离最近的两个对象合并为一类,组成一个新的对象,即每个对象和其他对象均有关联,因此数据不可分割。所以人工分析的结果是该循环不可分布式并行。DPAT 的分析结果是层次聚类算法的循环不可分布式并行,根据规则 5 和 6,数组访问不会导致 DLI 存在,所以该循环可并行。根据规则 8,对于 A 数组来说,任意迭代的数据集的交集都不为空,表明数据不可分割,所以该循环被判定为不可分布式并行,DPAT 执行结果是未作任何注释的原遗留代码。如图 5.5 是层次聚类算法的遗留代码与 DPAT 执行结果的对比图(左为遗留代码,右为 DPAT 的执行结果)。

矩阵乘法,数组,可分,简单变量


int result=0;for(int k=0;k<m;k++){result+=a[i][k]*b[k][j];}c[i][j]=result;}}图 5.6 矩阵乘法的代码片段Figure 5.6 Code Fragment of the Matrix MultiplicationDPAT 的分析结果是矩阵乘法的循环可分布式并行,根据规则 3,简单变量不会导致 DL存在,根据规则 4、5,数组访问不会导致 DLI 存在,所以整个循环可并行。根据规则 7,数组 C 导致数据是可分割的。根据规则 8,对于 A、B 数组来说,任意迭代的数据集的交集都为空,表明数据是可分割的。该循环不仅满足可并行还满足数据可分割,则是可分布式并行的。DPAT 的执行结果如图 5.7 右边所示,在这个可分布式并行的循环前面添加了#DistributeParallel#注释。

【参考文献】:
期刊论文
[1]面向Java多线程机制的软件重构方法[J]. 张杨,柳晨光,张冬雯,郑琨,郑雅洁.  北京理工大学学报. 2018(11)
[2]一种面向众核处理器的嵌套循环多维并行识别方法[J]. 李颖颖,庞建民,李雁冰,翟胜伟.  计算机应用研究. 2018(11)
[3]基于OPM的数据依赖关系分析研究[J]. 董宇超,张文生.  微型电脑应用. 2016(06)
[4]含有跨迭代数据依赖关系循环的自动并行化[J]. 张琼声,李莹,范志东,李吉乐.  小型微型计算机系统. 2014(06)
[5]基于数据依赖关系的程序自动并行化方法[J]. 闫昭,刘磊.  吉林大学学报(理学版). 2010(01)
[6]分布内存系统中流水并行代码的自动生成[J]. 龚雪容,陆林生,赵荣彩.  计算机工程. 2008(11)
[7]一种非可规约循环的投机并行方法[J]. 邓之刚,曾国荪,周静.  计算机工程与科学. 2007(10)
[8]关于串行程序并行化[J]. 蒋作,高毅.  云南民族大学学报(自然科学版). 2007(03)
[9]并行编译中一种线性数据和计算划分算法[J]. 董春丽,韩林,赵荣彩.  计算机工程. 2006(24)
[10]对SUIF中依赖关系分析技术的研究与改进[J]. 王珊珊,赵荣彩,张平.  计算机工程. 2006(07)

博士论文
[1]程序并行识别方法及应用研究[D]. 闫昭.吉林大学 2009

硕士论文
[1]面向循环并行化的软件重构方法研究与实现[D]. 魏萌萌.河北科技大学 2019
[2]面向多线程机制的软件重构方法研究与实现[D]. 柳晨光.河北科技大学 2016
[3]串行程序并行化及其在桌面网格中的应用[D]. 姚辉萍.苏州大学 2010



本文编号:3445371

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3445371.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户aa37f***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com