● 摘要
在研究并行程序时常用有向无环图DAG(Directed Acyclic Graph)模型来表示并行任务及其依赖关系。早期的研究中,DAG模型中并没有反映进程之间与通信相关的属性。但是随着近年来并行系统规模急剧扩大、网络和计算机技术的飞速发展,在网络并行计算环境中任务间的通信延迟越来越成为一个不可忽略的影响因素,从而给并行计算领域中DAG模型带来了新的问题。本文基于离散事件仿真的原理对MPI并行程序的性能仿真问题进行研究,结合并行计算机网络的研究,从不同角度验证并行程序的DAG模型并实现基于该模型的并行程序仿真环境。在事件级别使用DAG图分析并行程序各个任务之间的相关性和依赖性,将DAG图中每个节点对应到仿真系统中一个具体的事件,用节点的权值表示该节点计算所需要的时间;用DAG图边的权值表示通信消息的大小,并通过分析MPI程序和MPI通信过程中的时间构成,提出仿真环境中计算MPI通信时间的方法,用以在仿真执行过程中确定消息通信的真正时间。使用离散事件仿真的原理分析并行系统,提出仿真系统的架构。设计仿真工具的网络层,使其网络状态随着仿真的执行而动态变化。在这个过程中并行程序的通信时间需要根据发送消息时网络的负载动态计算得出,网络模拟层通过输入DAG通信消息的大小计算DAG图中传输数据的时间。最后,结合上述主要研究成果,设计并实现了并行程序性能仿真的原型工具。该工具实现仿真环境的可配置,并提供扩展网络部分所需要的接口,以便仿真不同的网络环境,同时也可以扩展系统中的事件类型,可以表示更复杂的并行程序。