[发明专利]并行程序通信模式的提取方法及系统有效
申请号: | 200910093067.3 | 申请日: | 2009-09-22 |
公开(公告)号: | CN101661409A | 公开(公告)日: | 2010-03-03 |
发明(设计)人: | 郑纬民;陈文光;翟季冬;盛田维;何江舟 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 北京路浩知识产权代理有限公司 | 代理人: | 胡小永 |
地址: | 100084北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 并行 程序 通信 模式 提取 方法 系统 | ||
技术领域
本发明涉及并行程序通信模式分析领域,尤其涉及一种基于程序 切割技术的并行程序通信模式的提取方法及系统。
背景技术
通信性能是影响基于消息传递的并行程序性能的关键因素。并行 程序的通信模式可以通过三个方面衡量:通信量、通信的空间属性和 通信的时间属性。准确的理解并行程序的通信模式,不但可以帮助优 化并行程序的性能,而且可以辅助设计更好的通信子系统模块,改进 基于重放技术的并行程序调试工具的开销。
例如,英特尔公司的工具集MPIPP利用并行程序的通信模式, 优化了程序在异构网络通信平台上的性能,参见:H.Chen,W.G.Chen, et al.MPIPP:An automatic profile-guided parallel process placement toolset for SMP clusters and multi-clusters(2006 ICS)。MPIWIZ利用并 行程序通信局部性特征优化了基于重放技术的并行程序调试工具的 开销,参见:R.Xue,X.Liu,et al.MPIWIZ:Subgroup reproducible replay of MPI applications(2009 PPoPP)。
并行程序的通信模式可以通过分析程序的通信记录(Traces)获 取。传统的方法获得程序的通信记录主要是依赖基于插装的方法,例 如ITC/ITA,KOJAK,TAU等。这些工具都需要插装原始程序,然 后在一个全规模的并行系统上运行插装后的程序,在执行过程中收集 通信记录。传统收集通信记录的方法具有以下缺点:
(1)资源需求大:大规模并行程序一般都需要很大的并行系统 才能运行起来,例如,NPB(NAS parallel Benchmark,并行测试程序 程序)FT程序,测试程序的数据集包括七组,规模由小到大分别是S、 W、A、B、C、D、E,FT程序在数据集是E规模下,需要600GB 内存才能运行起来;ASCI中SAGE程序需要2000-4000个处理器才 可以运行起来。由于传统的方法需要执行整个插装程序,受限于资源 需求,无法在一个小规模的系统获得所需的通信记录。
(2)通信记录收集时间长:尽管传统的方法在收集通信记录过 程中并没有引入显著的开销,但是它们需要执行整个并行程序。例如, ASCI中SAGE在2000-4000个处理器上运行一次需要大约几个月的 时间。因此,对于一个执行时间非常长的程序,传统的方法在获取通 信记录上是不可接受的,尤其是对一个程序需要反复收集不同模式下 的通信记录。
总之,传统的基于插装的方法获取并行程序的通信模式资源需求 大,需要的时间长,无法在一个小规模的系统上收集大规模的并行程 序的通信模式。
发明内容
本发明的目的是提供一种并行程序通信模式的提取方法及系统, 该方法及系统可减少收集大规模并行程序通信模式的资源需求和时 间开销,实现在小规模系统上收集大规模并行程序通信模式的目标, 以克服现有技术存在的不足。
为实现上述目的本发明采用如下技术方案。
本发明一种实施方式提供了一种并行程序通信模式的提取方法, 该方法包括步骤:
S1.解析并行程序源码,识别所述并行程序中的通信函数调用, 确定所述通信函数中的通信变量,并将所述通信变量放入设定集合;
S2.分析所述并行程序的控制流和数据流,收集所述并行程序的 数据依赖、控制依赖以及通信依赖信息;
S3.收集所述并行程序中的调用信息,构建程序调用图;
S4.通过基于LIVE变量传播的切割算法对所述并行程序进行程 序切割,获得所述并行程序的程序切片;
S5.执行所述程序切片,收集并输出通信记录;
S6.根据所述通信记录,按照设定目标获取所述并行程序的通信 模式。
其中,步骤S1进一步包括:
S1.1按照预定义的函数名识别所述并行程序中所有的通信函 数;
S1.2按照预定义的格式确定所述通信函数中的每个通信变量, 并将其放入所述设定集合。
其中,步骤S2进一步包括:
S2.1通过数据流分析,对所述并行程序中每个变量的使用和定 义之间建立链接关系,即数据依赖,并将所述数据依赖信息保存于使 用-定义UD数据结构;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910093067.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种通孔刻蚀方法
- 下一篇:硅平面半导体器件的玻璃钝化方法