并行模拟中支持踪迹文件并行输入输出的方法技术

技术编号:3807276 阅读:331 留言:0更新日期:2012-04-11 18:40
本发明专利技术公布了一种并行模拟中支持踪迹文件并行输入输出的方法,目的是提出一种支持分布式并行Trace文件I/O的方法,提高并行模拟过程中Trace文件I/O的效率和模拟精度。技术方案是先构建运行并行模拟器的由主控节点和模拟节点组成的宿主机,在主控节点上执行主配置程序,进行全局配置;然后由主控节点上的调度软件A调度模拟节点上的模拟器A执行模拟工作,再由主控节点上的Trace分布软件为每个目的模拟节点生成Trace移动脚本并发给目的模拟节点,目的模拟节点执行Trace移动脚本,从相应的源节点上将Trace文件移动到本节点;最后由主控节点上的调度软件B调度模拟节点上的模拟器B执行模拟工作。采用本发明专利技术可大幅度提高Trace文件I/O的效率,同时还可提高模拟精度。

【技术实现步骤摘要】

本专利技术涉及并行计算机系统模拟方法,特别是在具有分布式磁盘存储系统的并行宿主机上,对并行模拟过程中的Trace(踪迹)文件进行分布式并行输入输出(Input/Output,I/O)的方法。
技术介绍
计算机体系结构模拟软件(简称模拟器)是一类对计算机系统行为进行模拟的软件。它们一般是可配置的,可以对目标计算机系统的体系结构参数或技术方案进行配置,在现有的计算机(称为宿主机)上模拟运行Benchmark程序(包括真实的基准测试程序或自动生成的工作负载),获得目标系统在给定配置下的性能数据,为计算机系统的体系结构设计决策提供参考。此外,基于模拟器还可对新计算机系统上的算法及软件进行调试与评估。 模拟器模拟硬件的行为,其时间开销通常比在真实目标机上运行相同Benchmark程序的时间大几个数量级,并且内存开销也很大。对于大规模并行计算机系统的模拟来说,串行宿主机难以胜任,只有采用并行计算机系统作为宿主机,基于并行模拟器并利用并行机的计算与存储资源进行模拟,才能满足计算能力与存储容量的需求。目前已经出现了一些基于并行宿主机的并行模拟器原型系统,如WWT II(威斯康辛大学)、LAPSE(NASA)、MPI-SIM(加州大学洛杉矶分校)、BigSimulator(伊利诺伊大学香槟分校)、BGLsim(IBM公司与伊利诺伊大学香槟分校)、SILAS(德国尤利西超级计算中心)等。 很多并行模拟器(如SILAS和BigSimulator)采用了Trace驱动的方式。Trace是对Benchmark程序执行过程中发生的事件或操作的记录,其中可以包括程序执行的指令序列及指令地址、访存地址序列、通信事件发生的时刻与数量、通信的对象等信息,通常将其以Trace文件的方式存储在磁盘系统中,后续的性能分析或模拟软件以Trace文件为输入,进行进一步的性能评估。例如BigSimulator原型模拟器中的性能模拟预测分两个步骤,第一个步骤称为仿真(Emulation),在其中进行初步模拟并生成Trace文件;第二个步骤称为模拟(Simulation),它基于前一步骤的Trace文件进行更详细的性能模拟预测。但是基于Trace的模拟带来了问题 (1)Trace文件占据很大的存储空间,导致对Trace文件进行磁盘I/O的开销大。如文献(Gao Xiaofeng等,Path Grammar Guided Trace Compression and TraceApproximation,IEEE HPDC-15,2006)报道,NPB(NAS Parallel Benchmark)中BT程序采用Class A输入集时,只使用4个并行模拟进程,其有效地址的Trace文件大小就超过了260GB。由于需要在磁盘系统上存储和读取的Trace文件的容量巨大,模拟器的执行性能严重受限于Trace文件的磁盘I/O操作。 (2)模拟器进行Trace文件记录的过程对目标程序执行过程是一种干扰,可能影响模拟器的模拟精度。因为Trace驱动的性能模拟器往往基于计算时间、通信时间的综合来预测并行程序在目标并行机上的性能,计算时间根据宿主机上测得的Benchmark程序计算部分的时间来估计(Gengbin Zheng等,Simulation-based performance predictionfor large parallel machines,International Journal of Parallel Programming,2005),而Trace文件I/O操作是对Benchmark程序执行过程的一种干扰,可能影响测得的计算时间,从而在最终的预测性能中引入误差。 由于上述原因,如何优化Trace文件的磁盘I/O操作以提高模拟器的性能,并降低Trace文件I/O操作对计算时间估计的影响,成为模拟器研究领域的一个重要问题。在并行模拟器中,这一问题更加重要,因为并行模拟中通常运行规模更大的并行Benchmark程序,产生的Trace文件容量更大;并且,由于并行编程模式传统上只由主进程进行I/O操作,并行模拟器中通常也只有一个主模拟进程进行Trace文件的I/O操作,由单个主进程支持多个模拟进程的Trace文件I/O操作,很可能造成性能瓶颈。 目前已提出的解决Trace文件输入输出问题的方法主要有三类(1)缓冲存储方法将模拟过程中持续不断产生的Trace缓存在主存中,直到模拟结束时才将Trace以文件方式写入磁盘,这样减少磁盘I/O操作执行的次数,一定程度上提高性能。这种方法在多种模拟器中都有采用。但Trace的缓冲存储方法对宿主机的主存使用带来压力,在主存容量不足的情况下,会出现频繁的磁盘交换操作,性能大幅度降低。(2)在并行模拟器中,每个模拟进程都进行Trace文件I/O操作,这样可缓解单个进程处理Trace文件I/O时的性能瓶颈。例如BigSimulator中就采用了这种方法。但这种方法通常采用单个I/O服务器,基于网络文件系统(如NFS)支持多个模拟进程的Trace文件I/O,一方面单个I/O服务器可提供的磁盘I/O带宽有限,另一方面Trace文件数据还要通过网络传输,数据访问的路径更长,读取延迟比本地磁盘的更大,带宽受限于网络带宽,导致Trace文件I/O操作的效率低,影响并行模拟器系统的执行效率。据在一个100M以太网互连的集群系统(采用SCSI磁盘存储)上的测试结果,基于网络文件系统NFS从I/O节点读取Trace文件的带宽不到12MB/s,而从本地磁盘读取Trace文件的I/O带宽可达到200MB/s以上。(3)Trace文件压缩方法,通过压缩减小Trace文件大小,从而减少相应的I/O开销。例如文献(ALEKSANDAR 等,An Efficient Single-PassTrace Compression Technique Utilizing Instruction Streams,ACM Transactions on Modelingand Computer Simulation,2007)报告了一种基于流的压缩方法SBC,可将Dinero模拟器生成的SPEC CPU2000的指令和数据地址Trace文件的大小压缩到原来的1/18到1/309,并可跟通用压缩技术如gzip结合使用。但Trace文件压缩和解压缩操作也带来额外的开销,例如在3GHz的Intel Pentium4处理器上,SBC对SPEC2000每个程序产生的Trace文件的平均压缩时间需要28.9分钟,平均解压缩时间为86秒。对于并行Trace文件的压缩和解压缩操作则更加费时,如据文献(Gao Xiaofeng等,Path Grammar GuidedTrace Compression and Trace Approximation,IEEE HPDC-15,2006)报道,采用一种Trace文件压缩方法Sequitur压缩NPB中EP程序944MB大小的控制流Trace文件共花费了约70个小时。 通过调查发现,除了少数系统中只配有集中式的磁盘存储系统之外,目前的并行计算机通常在每个节点上都配有本地磁盘,特别是主流的集群结构本文档来自技高网...

【技术保护点】
一种并行模拟中支持踪迹文件并行输入输出的方法,其特征在于包括以下步骤: 第一步,构建运行并行模拟器的宿主机,宿主机由多个节点构成,每个节点都是一台可独立运行的计算机,都具有主存和本地磁盘存储,各个节点间通过网络互连;指定一个节点为主控 节点,它负责与用户交互,通过它进行模拟预测过程的配置与控制;其它节点称为模拟节点,它们根据需要参与并行模拟;主控节点和模拟节点均安装有操作系统、网络协议软件和远程命令执行软件,各个节点采用主机名来标识;基于Trace的并行模拟器的模拟过程分为两个模拟阶段,第一阶段的模拟器称为模拟器A,第二阶段的模拟器称为模拟器B,在模拟节点上安装有模拟器A和模拟器B、Benchmark程序;主控节点上装有主配置程序、Trace分布软件、调度软件A和调度软件B,调度软件A调度模拟器A的执行,调度软件B调度模拟器B的执行; 第二步,在主控节点上执行主配置程序,进行全局配置,过程如下: 2.1设置参与第一个阶段模拟的节点及其上模拟进程的数目,每一行存储一个节点的信息,生成源节点列表文件,具体流程是: 2.1.1建一 个空的源节点列表文件; 2.1.2初始化计数器i为1; 2.1.3在源节点列表文件中新起一行,写入第i个节点的主机名HE↓[i]; 2.1.4在当前节点的主机名HE↓[i]后写入该节点的模拟进程数目PE↓[i]; 2 .1.5计数器i的值增加1,若i≤NE,转2.1.3;否则,关闭源节点列表文件,完成源节点列表文件的创建,NE为参与第一阶段并行模拟的节点数,各节点编号为1-NE; 2.2设置参与第二个阶段模拟的节点及其上模拟进程的数目,生成目的节点 列表文件,具体流程是: 2.2.1建一个空的目的节点列表文件; 2.2.2初始化计数器j为1; 2.2.3在目的节点列表文件中新起一行,写入第j个节点的主机名HS↓[j]; 2.2.4在当前节点的主机名HS↓[j]后 写入该节点上的模拟进程数目PS↓[j]; 2.2.5计数器j的值增加1,若j≤NS,转2.2.3;否则,关闭目的节点列表文件,完成目的节点列表文件的创建,NS为参与第二阶段并行模拟的节点个数,各节点编号为1-NS; 2.3创建全 局配置文件,流程是: 2.3.1创建一个空的全局配置文件; 2.3.2在全局配置文件中记录源节点和目的节点列表文件的存放目录及...

【技术特征摘要】

【专利技术属性】
技术研发人员:车永刚徐传福王勇献王正华彭宇行
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:43[中国|湖南]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利