论文部分内容阅读
近十几年来,生物分子模拟,航空宇宙计算,飓风预测等科学、工程和社会领域的超高计算能力的大型应用的进展,推动着高性能计算系统的持续发展。为了降低成本,系统开发和设计人员需要对系统性能进行全面深入的性能分析,评测应用在他们计划研制的系统上的性能能否达到预期,以指导软硬件选型和系统平衡设计,为系统的设计、实现以及优化提供参考。由于相对建模分析等其它方法,在预测精度、时间开销以及灵活性等方面的优势,模拟方法已成为当前并行系统性能分析与预测的主流技术。本文针对性能模拟技术展开研究,主要研究内容包括离散事件执行驱动的性能模拟器设计、实现以及实验验证。本文首先分析了基于对称多处理机的离散事件模拟器设计中面临的关键问题,然后提出对应的解决办法。基于SMP统一编址的存储结构,SMP-SIM模拟器事件处理的核心思想包括两个方面,一是以CPU为粒度对事件进行全局管理,在共享段存放全局数据结构,统一管理所有绑定在该CPU上运行的进程所产生的事件。其基本思想是每次选择产生时间最小的事件进行处理。二是采用虚实结合的方法处理被选择的事件:选中某个事件进行处理时,如果该事件是通信开始事件,则采用虚处理,通信开销通过通信模型计算;如果事件是串行计算开始事件,则采用实处理,串行计算的时间通过直接运行获得。然后基于对关键问题的分析,提出了基于SMP的离散事件模拟器SMP-SIM的设计方案,并对其中关键功能模块的原理进行了详细分析。SMP-SIM模拟器的功能是通过在MPI库层次结构中引入模拟API层来实现的,模拟API层包含3个功能模块:通信原语分解模块,通信模型模块和事件管理模块。在通信原语分解模块中,所有的通信原语通过核心点对点通信原语重新构造。当目标程序在宿主机上执行到某个通信原语时,该通信原语会被通信原语分解模块分解为核心原语,从而调用核心点对点通信原语。核心点对点通信原语的调用和返回产生相应的事件。事件管理模块统一调度事件,对其进行处理,并更新对应进程的模拟时间。在处理通信类事件时,事件管理模块将会和通信模型模块进行交互,负责对通信类事件的相关时间进行计算。最后,基于MPICH2通信库实现了SMP-SIM原型系统,并从模拟精度、执行效率和可扩展性三个方面对模拟器进行了全面的测试与分析。实验结果表明该模拟器具有较高的精度和良好的可扩展性,初步验证了设计方案的正确性和有效性。