CN101694628B - 一种串行与并行模拟相结合的并行计算机系统性能模拟方法 - Google Patents
一种串行与并行模拟相结合的并行计算机系统性能模拟方法 Download PDFInfo
- Publication number
- CN101694628B CN101694628B CN2009100445767A CN200910044576A CN101694628B CN 101694628 B CN101694628 B CN 101694628B CN 2009100445767 A CN2009100445767 A CN 2009100445767A CN 200910044576 A CN200910044576 A CN 200910044576A CN 101694628 B CN101694628 B CN 101694628B
- Authority
- CN
- China
- Prior art keywords
- program
- simulation
- code segment
- parallel
- function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种串行与并行模拟相结合的并行计算机系统性能模拟方法,要解决的技术问题是提高性能模拟准确性和模拟效率。技术方案是先从并行源程序中分离计算代码段,将各计算机代码段封装为可独立执行的串行源程序;接着对串行源程序进行串行模拟,得到的各计算代码段的执行时间预测值;然后将各计算代码段的执行时间预测值标记到并行程序源代码中;最后采用并行模拟器进行通信性能模拟,结合计算代码段执行时间预测值,预测并行程序整体执行时间。本发明适应含不同处理器和网络结构的并行机系统的模拟,采用本发明既可提高整个并行模拟数据的精确性,又可对大规模科学计算程序在大规模互连网络上的性能进行高效模拟,且大大降低了模拟开销。
Description
技术领域
本发明涉及并行计算机系统的性能模拟方法,特别是以模拟技术为手段,对并行计算机系统上单程序多数据(Single Program Multiple Data,SPMD)模式消息传递程序的性能(即运行时间)进行模拟评估的方法。
背景技术
计算机体系结构模拟软件(简称模拟器)是一类可对计算机系统行为进行模拟的软件,它们一般是可配置的,可以对目标计算机系统的体系结构参数或技术方案进行配置,在现有计算机(称为宿主机)上模拟运行Benchmark程序(包括来自于真实应用领域的程序或人工合成的程序等),获得目标计算机系统在给定配置下的性能数据。在新计算机系统研制过程中,基于模拟器软件,在目标系统可用前就对其性能进行评估,分析系统性能瓶颈或者找到最优配置,从而对系统进行针对性的改进。此外,由于新的计算机(特别是大规模并行计算机)系统资源稀缺,运行成本高,很多情况下并不能直接在新计算机上直接进行程序开发,而是在其它计算机上开发好程序之后再将其部署到新计算机上。为了在新计算机上获得高的运行效率,开发过程中需要对程序进行深入的性能调优,通过模拟技术对程序在目标计算机系统上的性能进行评估,可有效指导其性能优化。
模拟器采用软件来模拟硬件的行为,时间开销很大,通常比在真实目标机上运行相同Benchmark程序的时间大几个数量级,并行计算机系统的模拟工作量更为巨大。美国伦斯勒理工学院的Christopher D.Carothers举了一个例子(Christopher D.Carothers,ROSS:Parallel Discrete-Event Simulations on Near Petascale Supercomputers,charmworkshop,2009):假设要对一个万万亿次超级计算机上的MPI程序进行模拟,假定程序只发挥机器峰值性能的10%,即每秒1千万亿次浮点运算,每个浮点操作需要2字节数据,其中1%需要通过通信获得,每秒共2TB数据通信,设MPI消息大小为1K,因此每秒产生20亿个MPI通信,如果每个消息传输要经过8跳,则每秒产生160亿个事件,运行1000秒产生16万亿个事件,以目前的串行离散事件模拟器10万个事件每秒的模拟速度,需要5年多时间才能模拟完。串行不可能满足模拟容量和时效性需求,只 有利用并行计算机系统作为宿主机平台进行并行模拟,才有可能满足计算能力与存储容量的需求。因此,目前已经出现了一些基于并行宿主机的并行模拟器原型系统,如WWTII(威斯康辛大学)、RSIM(莱斯大学与伊利诺伊大学等)、LAPSE(NASA)、MPI-Sim(加州大学洛杉矶分校)、BigSim(伊利诺伊大学厄贝纳香槟分校)、BGLsim(IBM公司与伊利诺伊大学厄贝纳香槟分校)、SILAS(德国尤利西超级计算中心)等的并行模拟器原型系统。
即使这样,目前对并行计算机系统上并行应用程序的性能模拟预测仍然面临很大的困难,具体表现在:
(1)并行模拟器中缺乏准确的计算性能模拟模块。并行计算机系统上并行程序性能受处理器(含片上Cache存储层次)、互连网络等众多因素交互影响,准确的性能模拟非常困难。除BGLSim宣称可实现近似周期精确的模拟外,现有并行模拟器基本上都没有使用周期精确的处理器模拟模块。例如MPI-Sim和BigSim中,没有对处理器性能进行指令级级别的详细模拟模型,而只采用简单的宿主机处理器和目标机处理器性能的缩放因子的方式进行性能估计。据我们在一个集群系统上对BigSim的测试发现,其计算性能预测误差可达到80%以上。
(2)可配置性差,适应性差。已有的模拟器通常针对具体目标系统进行设计,如果系统体系结构部件发生改变,例如采用了新型处理器或网络互连设备,则无法适应。
(3)模拟开销仍然很大。模拟性能仍然是制约模拟器应用的主要障碍之一,由于模拟开销大,使得并行模拟的运行环境条件难以满足。
由于上述原因,如何从模拟器结构设计和模拟过程设计方面来提高模拟器的体系结构适应性、模拟效率成为研究界面临的重要问题。目前的并行模拟器主要侧重于网络通信性能的模拟,例如BigSim、MPI-Sim都有可配置的网络模拟模块,具有详细的网络模拟模型,精度较高,且适应多种网络类型的模拟,而在处理器模拟方面,它们都仅提供非常粗略的性能模型。另一方面,目前针对处理器模拟已有很多较好的串行模拟器,例如SimpleScalar(威斯康辛大学)、SimOS(斯坦福大学)、SimNow(AMD公司)、GEMS(威斯康辛大学)、SimOS-Goodson(中科院计算所)等的串行模拟器都可以做到周期精确的模拟。此外,目前并行计算领域采用消息传递方式编程的科学计算程序多数是SPMD模式的程序(Daniel Chavarr′1aMiranda等,Topology-aware Tile Mapping forClusters of SMPs,ACM International Conference on Computing Frontiers,2006),在运行过程中,不同进程处理一个大数据集中不同部分的数据,它们执行的计算基本相同,因 此只要对一个进程的计算性能(主要与处理器相关)进行模拟就可获得所有进程的计算性能数据。而文献(Yoon-Ju Lee and Mary Hall,A Code Isolator:Isolating Code Fragmentsfrom Large Programs,International Workshop on Languages and Compilers for ParallelComputing,2004)报告了他们从大的科学与工程计算程序中分离出代码片段,将各个代码片段封装为可独立执行的代码,其性能可反映该代码片段在完整程序中的性能,最后将针对分离后的代码片断进行经验性能优化(empirical optimization)的最佳方案用于完整程序中对应代码片断的性能优化。这说明并行程序中的计算代码段可以被分离出来,从而可采用串行模拟器对其进行性能模拟。因此,可以结合利用并行模拟和串行模拟两者的优势来进行SPMD模式消息传递并行程序的性能模拟。
根据专利文献检索,以往的专利与文献中尚未见到在并行计算机系统上并行应用程序性能模拟中将并行模拟和串行模拟结合进行两阶段性能模拟的报道。只有一些关于并行模拟器构造方面的方法申请了专利,如专利号分别为5956261、5442772的美国专利、专利号200710304653.9的中国专利。
发明内容
本发明要解决的技术问题是:在对并行计算机系统上SPMD模式消息传递并行程序的性能进行模拟时,提出一种串行模拟和并行模拟相结合的两阶段性能模拟方法,通过代码分离从消息传递程序分离出计算代码段,利用串行模拟器模拟处理器上计算代码段的执行时间,通过代码标记方法将计算代码段执行时间标记到消息传递程序中,利用并行模拟器模拟网络通信的执行时间,并结合计算代码段执行时间,预测总的执行时间,既提高性能模拟准确性,又可灵活适应含不同处理器和网络结构的并行机系统的模拟。
本发明技术方案如下:
第一步,从并行程序源代码(由一系列通信语句与计算代码段构成)中分离出各个计算代码段,计算代码段是一段连续的程序代码,其中包含一系列计算语句或者函数调用,但不包括通信语句,除了位于程序开始或结束位置的计算代码段之外,每个计算代码段的前后均与通信语句相邻,将各计算机代码段生成独立的串行源程序文件,并将串行源程序文件封装为可独立执行的串行源程序。具体过程如下:
1.1对并行程序源代码进行规范化处理。从并行程序的主函数代码开始处一直向后扫描到结束处,对遇到的每一个过程或函数(这里的过程或函数不包括系统过程或函数,为描述方便,以下统称函数),如果其中包含通信语句,则将该函数内联到主函数中,即将主函数中对该函数的调用表达式用该函数的函数体来替换;如果该函数中还调用其它函数,则还要检查这些被调用的函数是否包含通信语句,如果被调用的函数包含通信语句就先将它们内联到被调用处。这一规范化处理步骤是递归的,直到检查到原子函数(即不调用其它函数的函数)。例如,如果并行程序的主函数A调用函数B,函数B又调用函数C,函数C中包含通信语句,则先要在函数B中将函数C内联,然后在主函数A中将函数B内联。
经过规范化处理,保证并行程序的主函数中调用的函数或其子函数均不包含通信语句。
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个计算代码段的执行时间预测值。例如,如果是Fortran程序,采用如下方式:
cDEC$ EXCECUTION_TIME_OF_REGION(时间),其中“cDEC$”是编译指导命令前导符,“EXCECUTION_TIME_OF_REGION”说明是代码段执行时间,而“时间”是执行时间预测值。
如果是C程序,采用如下方式:
#pragma execution_time_of_region(时间),其中“#pragma”是编译指导命令前导符,“execution_time_of_region”说明是代码段执行时间,而“时间”是执行时间的预测值。
3.5判断,如果k小于N,则K值增加1,转3.2;否则,执行第四步。
第四步,对标记有计算代码段执行时间预测值的并行程序源代码进行编译,在并行宿主机上,采用并行模拟器对其进行通信性能模拟,结合计算代码段执行时间预测值,预测并行程序整体执行时间。具体过程如下:
4.1编译标记有计算代码段执行时间预测值的并行程序源代码:对通信语句和计算代码进行编译,并将说明计算代码段执行时间预测值的编译指导命令编译为并行模拟器可识别的时间提示信息。
4.2在并行宿主机上,采用并行模拟器对编译得到的代码进行模拟。并行模拟器对通信代码进行性能模拟,预测各个通信操作的时间,得到通信时间的预测值。对各个计算代码段不执行性能模拟,而只进行功能模拟(比性能模拟快得多),通过时间提示信息获得计算代码段执行时间的预测值。并行模拟器结合计算代码段执行时间预测值与通信时间的预测值,预测并行程序整体执行时间。
综上所述,本发明采取串行模拟与并行模拟的方式,实现并行计算机系统上消息传递程序的性能模拟。采用本发明可以达到以下技术效果:
(1)利用了串行模拟器对处理器计算性能的精确模拟能力,提高对消息传递程序计算代码部分性能模拟的精度,进而提高整个并行模拟数据的精确性。
(2)利用并行模拟器的容量与性能优势,可对大规模科学计算程序在大规模互连网络上的性能进行高效模拟。
(3)基于消息传递程序SPMD模式的特性,仅使用单处理器对一个目标处理器上的计算代码段进行模拟,而不是采用并行宿主机的全部处理器对所有目标处理器上的计算代码段进行模拟,大大降低了模拟开销。如果并行模拟器中的计算代码性能模拟模块采用与本发明中串行模拟器相同精度的模拟模型,设目标并行计算机系统的处理器数为M,则本发明对计算代码的模拟运行机时仅为采用并行模拟器进行计算代码模拟运行机时的1/M。
(4)由于可分别选择面向处理器的串行模拟器和面向互连网络的并行模拟器,因此提高了模拟技术的灵活性,可适应更多并行计算机体系结构的性能模拟,特别是可以采用针对新型处理器的串行模拟器和针对新型互连网络的并行模拟器。
附图说明
图1是本发明的总体流程图。
图2是本发明第一步从并行源程序中分离计算代码段的流程图。
图3是本发明第二步对分离得到的各个串行源程序进行串行模拟的流程图。
图4是本发明第三步将各个计算代码段的执行时间预测值标记到并行程序源代码中的流程图。
图5是采用本发明使并行模拟整体精度提高的示意图。
具体实施方式
图1是本发明的总体流程图。主要流程是:
步骤S101,从并行源程序中分离计算代码段:从并行程序源代码中分离出各个计算代码段,并将各计算代码段封装成独立的串行源程序,并增加使其可独立运行的代码。
步骤S102,对分离得到的串行源程序进行串行模拟:在单机上对每个计算代码段进行串行模拟,包括编译、串行模拟并记录模拟预测时间。
步骤S103,将模拟得到的各个计算代码段的执行时间预测值标记到并行程序源代码中。
步骤S104,采用并行模拟器进行并行模拟:对标记有计算代码段执行时间预测值的并行程序源代码进行编译,在并行宿主机上,采用并行模拟器对其进行通信性能模拟,结合计算代码段执行时间预测值,预测并行程序整体执行时间。
图2是本发明第一步分离计算代码段的流程图。流程是:
步骤S201,对并行程序源代码进行规范化处理,保证并行程序源代码中没有既包括计算代码又包括通信代码的过程或函数。
步骤S202,打开并行程序源代码,将文件指针定位在开始处。初始化变量k为1。
步骤S203,从当前指针位置开始,定位一个新的计算代码段。
步骤S204,生成一个编号为k的串行源程序文件,将当前找到的计算代码段放到其中,并将该串行源程序文件封装为一个可独立执行的串行源程序。
步骤S205,判断:如果文件指针已到达程序末尾,则代码分离软件执行结束;否则,k增加1,转步骤S203。
图3是本发明第二步对串行源程序进行串行模拟的流程图。流程是:
步骤S301,初始化变量k为1。
步骤S302,编译编号为k的串行源程序。
步骤S303,在单台计算机上,使用串行模拟器软件,对编译得到的串行程序进行面向处理器的性能模拟,模拟完成后将模拟预测得到的时间加入计算代码性能数据集。
步骤S304,判断:如果k小于N,则K值增加1,转步骤S302;否则,结束。
图4是本发明第三步将各个计算代码段的执行时间预测值标记到并行程序源代码中的流程图。流程是:
步骤S401,初始化变量k为1。
步骤S402,在并行程序中定位第k个计算代码段。
步骤S403,从计算代码性能数据集中检索第k个计算代码段的执行时间预测值。
步骤S404,在并行程序中第k个计算代码段的末尾处,采用编译指导命令方式,标记第k个计算代码段的执行时间预测值。
步骤S405,判断:如果k小于N,则K值增加1,转步骤S402;否则,结束。
图5给出了采用本发明使模拟精度提高的示意图。分别采用本发明(并行模拟器和串行模拟器相结合的方法)和伊利诺伊大学厄贝纳香槟分校的BigSim模拟方法(即背景技术所述的只采用并行模拟器的方法)(见http://charm.cs.uiuc.edu),在一个含4处理器的PC机群上模拟一套含16个Intel Itanium 2处理器的基于千兆以太网互连的HP集群系统的性能。所采用的测试程序为一个求解三维Jacobi迭代问题的消息传递并行程序Jacobi3d。两种方法对程序并行程序在目标机上执行时间的模拟精度如图5所示。从图5可以看出,本发明相对于BigSim模拟方法的模拟精度有一定程度的提高,提高幅度在1.38%-8.85%之间。
Claims (1)
1.一种串行与并行模拟相结合的并行计算机系统性能模拟方法,其特征在于包括以下步骤:
第一步,从并行程序源代码中分离出各个计算代码段,计算代码段是一段连续的程序代码,其中包含一系列计算语句或者函数调用,但不包括通信语句,除了位于程序开始或结束位置的计算代码段之外,每个计算代码段的前后均与通信语句相邻,将各计算机代码段生成独立的串行源程序文件,并将串行源程序文件封装为可独立执行的串行源程序,具体过程如下:
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在并行宿主机上,采用并行模拟器对编译得到的代码进行模拟:并行模拟器对通信代码进行性能模拟,预测各个通信操作的时间,得到通信时间的预测值;对各个计算代码段不执行性能模拟,只进行功能模拟,通过时间提示信息获得计算代码段执行时间的预测值;并行模拟器结合计算代码段执行时间预测值与通信时间的预测值,预测并行程序整体执行时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100445767A CN101694628B (zh) | 2009-10-21 | 2009-10-21 | 一种串行与并行模拟相结合的并行计算机系统性能模拟方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100445767A CN101694628B (zh) | 2009-10-21 | 2009-10-21 | 一种串行与并行模拟相结合的并行计算机系统性能模拟方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101694628A CN101694628A (zh) | 2010-04-14 |
CN101694628B true CN101694628B (zh) | 2012-07-04 |
Family
ID=42093601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100445767A Expired - Fee Related CN101694628B (zh) | 2009-10-21 | 2009-10-21 | 一种串行与并行模拟相结合的并行计算机系统性能模拟方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101694628B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108052370A (zh) * | 2017-10-09 | 2018-05-18 | 华南理工大学 | 一种基于伴随程序组的共享内存对程序执行时间影响的评估方法 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101980166B (zh) * | 2010-10-09 | 2013-03-13 | 北京航空航天大学 | 一种用于机群系统并行模拟的时间序列控制方法 |
CN102520984B (zh) * | 2011-11-29 | 2013-09-04 | 北京广利核系统工程有限公司 | 目标软件在指定硬件环境中最差时间的计算方法 |
CN102567079B (zh) * | 2011-12-29 | 2014-07-16 | 中国人民解放军国防科学技术大学 | 基于渐进式踪迹更新的并行程序能耗模拟评估方法 |
CN102646053B (zh) * | 2012-02-20 | 2014-08-20 | 西安电子科技大学 | 基于算术表达式的msvl柱面计算方法和系统 |
CN103116527B (zh) * | 2013-03-05 | 2016-12-28 | 中国人民解放军国防科学技术大学 | 一种基于网络控制器的超大规模栅栏同步方法 |
CN103455412B (zh) * | 2013-09-23 | 2016-10-19 | 扬州大学 | 一种基于随机进程代数的并发系统性能模拟方法 |
CN103713933B (zh) * | 2013-12-31 | 2017-03-08 | 华为技术有限公司 | 计算机程序中热点函数、变量的汇聚方法、装置及系统 |
CN103902362B (zh) * | 2014-04-29 | 2018-05-18 | 浪潮电子信息产业股份有限公司 | 一种对gtc软件shift模块串行代码并行化的方法 |
CN106933665B (zh) * | 2017-03-09 | 2020-06-26 | 中国科学技术大学 | 预测mpi程序运行时间的方法 |
CN112400162A (zh) * | 2018-07-19 | 2021-02-23 | 日立汽车系统株式会社 | 模拟装置及其方法、以及ecu装置 |
CN110457810B (zh) * | 2019-08-07 | 2021-06-29 | 中国原子能科学研究院 | 反应堆关键材料空位、间隙演化的速率理论并行模拟方法 |
CN116560967B (zh) * | 2023-07-06 | 2023-09-19 | 苏州浪潮智能科技有限公司 | 一种数据采集器工作方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196828A (zh) * | 2007-12-29 | 2008-06-11 | 中国科学院计算技术研究所 | 一种模拟器及方法 |
CN101464922A (zh) * | 2009-01-22 | 2009-06-24 | 中国人民解放军国防科学技术大学 | 基于集群系统的计算机体系结构方案并行模拟优选方法 |
-
2009
- 2009-10-21 CN CN2009100445767A patent/CN101694628B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196828A (zh) * | 2007-12-29 | 2008-06-11 | 中国科学院计算技术研究所 | 一种模拟器及方法 |
CN101464922A (zh) * | 2009-01-22 | 2009-06-24 | 中国人民解放军国防科学技术大学 | 基于集群系统的计算机体系结构方案并行模拟优选方法 |
Non-Patent Citations (1)
Title |
---|
徐传福等.大规模并行计算机系统并行性能模拟技术研究.《计算机科学》.2009,第36卷(第9期),第7-10页. * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108052370A (zh) * | 2017-10-09 | 2018-05-18 | 华南理工大学 | 一种基于伴随程序组的共享内存对程序执行时间影响的评估方法 |
CN108052370B (zh) * | 2017-10-09 | 2021-06-08 | 华南理工大学 | 一种基于伴随程序组的共享内存对程序执行时间影响的评估方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101694628A (zh) | 2010-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101694628B (zh) | 一种串行与并行模拟相结合的并行计算机系统性能模拟方法 | |
Acun et al. | Parallel programming with migratable objects: Charm++ in practice | |
Calkin et al. | Portable programming with the PARMACS message-passing library | |
Gopalakrishnan et al. | Formal analysis of MPI-based parallel programs | |
CN101441569B (zh) | 基于异构可重构体系结构面向任务流的编译方法 | |
Pande et al. | A scalable scheduling scheme for functional parallelism on distributed memory multiprocessor systems | |
Maciel et al. | A petri net model for hardware/software codesign | |
CN103116493A (zh) | 一种应用于粗粒度可重构阵列的自动映射方法 | |
Zhang et al. | Dwarfcode: A performance prediction tool for parallel applications | |
Kerbyson et al. | Use of predictive performance modeling during large-scale system installation | |
Adve et al. | Compiler-optimized simulation of large-scale applications on high performance architectures | |
CN102063288A (zh) | 一种面向dsp芯片的指令调度方法 | |
Posadas et al. | Single source design environment for embedded systems based on SystemC | |
Fahey et al. | Early evaluation of the Cray XD1 | |
CN102760097B (zh) | 一种计算机体系结构性能模拟方法及系统 | |
Bosse et al. | Virtualization of Tiny Embedded Systems with a robust real-time capable and extensible Stack Virtual Machine REXAVM supporting Material-integrated Intelligent Systems and Tiny Machine Learning | |
Kvasnicka et al. | Developing architecture adaptive algorithms using simulation with MISS-PVM for performance prediction | |
Tetzlaff et al. | Making MPI intelligent | |
Yonezawa et al. | Barrier elimination based on access dependency analysis for openmp | |
Kubota et al. | Practical simulation of large-scale parallel programs and its performance analysis of the nas parallel benchmarks | |
WO2015014309A1 (en) | Compiler and method for global-scope basic-block reordering | |
Brailsford et al. | The MUSE machine—An architecture for structured data flow computation | |
KR20130088285A (ko) | 데이터 처리 시스템 및 그 시스템에서 데이터 시뮬레이션 방법 | |
César et al. | Modeling pipeline applications in poetries | |
Kreiner et al. | A HW/SW codesign framework based on distributed DSP virtual machines |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120704 Termination date: 20141021 |
|
EXPY | Termination of patent right or utility model |