论文部分内容阅读
并行离散事件仿真只关注对仿真结果有影响的事件,且能在多个节点上并行执行,因而具有很高的运行效率,在分析、评估、论证类仿真领域正受到越来越多的重视。对并行离散事件仿真运行信息展开记录与分析有助于发现程序逻辑错误和性能瓶颈,可为开发人员编写高质量仿真程序提供参考。由于并行离散事件仿真采用基于事件的建模方法、支持乐观时间管理机制,其在运行机理上与传统的分布式交互仿真等存在较大的差异,使得现有面向分布式交互仿真的数据记录与分析策略难以适用于并行离散事件仿真系统。论文针对并行离散事件仿真系统的特点,在分析总结现有仿真数据记录与分析相关技术的基础上,对并行离散事件仿真运行信息记录与分析的关键技术进行了深入研究。主要工作和创新包括:1.针对并行离散事件仿真运行以事件为基本处理单位,论文提出了采用“基本事件单元”表示运行信息的方案,每个“事件单元”表示一个已执行事件的运行信息。该方案不仅能便捷地表示并行离散事件仿真的运行信息,还能容易地实现事件单元与仿真处理流程的一一对应。2.针对并行离散事件仿真数据获取会对仿真性能造成一定影响的问题,论文采用建立“运行信息缓冲队列”获取运行信息的策略,该策略是:在当前逻辑节点上每执行一个事件,就将该事件的状态信息保存到该节点的运行信息缓冲队列,直到仿真结束才将缓冲队列的信息写入到磁盘。该策略有效降低了仿真数据获取对仿真性能的影响。3.针对大规模仿真环境下,事件间调度关系复杂多变、难以分析这一问题,采用了以树状图方式展示事件调度关系的分析技术。该技术能简单、有效而直观地展示事件间的调度过程,为开发人员调试程序提供参考依据。4.大规模并行离散仿真程序往往比较复杂,容易产生程序逻辑错误或产生性能瓶颈。为了方便用户查找逻辑错误,论文采用了对错误进行列表并集中展示的方法。该方法逐个定位错误的事件名、所属仿真对象、执行时间等信息,能够较准确地定位程序逻辑错误。为了发现性能瓶颈,论文采用了事件执行信息列表的方法,该方法能容易发现执行效率低下且最大时间同平均时间比值过大的事件,可协助开发人员发现性能瓶颈。在上述基础上,设计实现了一个并行离散事件仿真运行信息记录与分析工具。测试应用表明该工具使用方便、功能齐备、性能良好。