[发明专利]一种串行与并行模拟相结合的并行计算机系统性能模拟方法无效
申请号: | 200910044576.7 | 申请日: | 2009-10-21 |
公开(公告)号: | CN101694628A | 公开(公告)日: | 2010-04-14 |
发明(设计)人: | 车永刚;徐传福;王勇献;王正华;彭宇行;陆平静;方建滨;翁玉芬 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/46 |
代理公司: | 国防科技大学专利服务中心 43202 | 代理人: | 郭敏 |
地址: | 410073 *** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种串行与并行模拟相结合的并行计算机系统性能模拟方法,要解决的技术问题是提高性能模拟准确性和模拟效率。技术方案是先从并行源程序中分离计算代码段,将各计算机代码段封装为可独立执行的串行源程序;接着对串行源程序进行串行模拟,得到的各计算代码段的执行时间预测值;然后将各计算代码段的执行时间预测值标记到并行程序源代码中;最后采用并行模拟器进行通信性能模拟,结合计算代码段执行时间预测值,预测并行程序整体执行时间。本发明适应含不同处理器和网络结构的并行机系统的模拟,采用本发明既可提高整个并行模拟数据的精确性,又可对大规模科学计算程序在大规模互连网络上的性能进行高效模拟,且大大降低了模拟开销。 | ||
搜索关键词: | 一种 串行 并行 模拟 相结合 计算机系统 性能 方法 | ||
【主权项】:
一种串行与并行模拟相结合的并行计算机系统性能模拟方法,其特征在于包括以下步骤:第一步,从并行程序源代码中分离出各个计算代码段,计算代码段是一段连续的程序代码,其中包含一系列计算语句或者函数调用,但不包括通信语句,除了位于程序开始或结束位置的计算代码段之外,每个计算代码段的前后均与通信语句相邻,将各计算机代码段生成独立的串行源程序文件,并将串行源程序文件封装为可独立执行的串行源程序,具体过程如下:1.1对并行程序源代码进行规范化处理:从并行程序的主函数代码开始处一直向后扫描到结束处,对遇到的每一个过程或函数,如果其中包含通信语句,则将该函数内联到主函数中,即将主函数中对该函数的调用表达式用该函数的函数体来替换;如果该函数中还调用其它函数,则还要检查这些被调用的函数是否包含通信语句,如果被调用的函数包含通信语句就先将它们内联到被调用处;这一规范化处理步骤是递归的,直到检查到原子函数-即不调用其它函数的函数;1.2将文件指针定位在并行程序的主函数代码的开始处,初始化变量k为1;1.3从当前文件指针位置开始,定位一个新的计算代码段;1.4生成一个编号为k的串行源程序文件,将当前找到的计算代码段放到其中,并将该串行源程序文件封装为一个可独立执行的串行源程序,具体方法是:a)创建一个新的源程序,将计算代码段放在一个空的主函数中;b)如果计算代码段中包括对过程或函数的调用,则将该函数在调用处进行内联;c)如果当前串行源程序中存在未初始化即尚未被赋值的变量,则在代码开始处增加对这些变量进行初始化的代码;1.5判断:如果已到达主程序的末尾,表示并行源程序代码中的全部计算代码段均已分离出来,此时的k值就是得到的串行源程序的个数,计共得到N个串行源程序,执行第二步;否则,k增加1,转1.3;第二步,对第一步代码分离得到的N个串行源程序逐个进行编译和串行模拟,并记录得到的执行时间预测值,具体过程如下:2.1初始化变量k为1;2.2编译编号为k的串行源程序,得到编译后的串行程序;2.3在单台计算机上,使用串行模拟器软件,对串行程序进行面向处理器性能的模拟,得到计算代码段的执行时间预测值,并将该执行时间预测值加入计算代码性能数据集,计算代码性能数据集是文本形式的,按顺序存储计算代码段的编号及其执行时间;2.4判断,如果k小于N,则k值增加1,转2.2;否则,执行第三步;第三步,将模拟得到的各计算代码段的执行时间预测值标记到并行程序源代码中,具体过程如下:3.1初始化变量k为1;3.2在并行程序源代码中定位第k个计算代码段;3.3从计算代码性能数据集中检索第k个计算代码段的执行时间预测值;3.4在并行程序中第k个计算代码段的末尾处,采用编译指导命令标记第k个计算代码段的执行时间预测值;3.5判断,如果k小于N,则K值增加1,转3.2;否则,执行第四步;第四步,对标记有计算代码段执行时间预测值的并行程序源代码进行编译,在并行宿主机上,采用并行模拟器对其进行通信性能模拟,结合计算代码段执行时间预测值,预测并行程序整体执行时间,具体过程如下:4.1编译标记有计算代码段执行时间预测值的并行程序源代码:对通信语句和计算代码进行编译,并将说明计算代码段执行时间预测值的编译指导命令编译为并行模拟器可识别的时间提示信息;4.2在并行宿主机上,采用并行模拟器对编译得到的代码进行模拟:并行模拟器对通信代码进行性能模拟,预测各个通信操作的时间,得到通信时间的预测值;对各个计算代码段不执行性能模拟,只进行功能模拟,通过时间提示信息获得计算代码段执行时间的预测值;并行模拟器结合计算代码段执行时间预测值与通信时间的预测值,预测并行程序整体执行时间。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200910044576.7/,转载请声明来源钻瓜专利网。