论文部分内容阅读
多核处理器现在已经被广泛应用,但是大多的传统体系结构模拟器都仍然是串行运行的。众核的体系结构仍然在摸索创新中,我们需要一个有效的加速方法,用尽可能少的改动加速原有的串行模拟器,使模拟器能获得更快的模拟速度。
SimK模拟框架是一个高效的、高度优化过的PDES的模拟框架,进行适量的改进,可以适用于众核芯片模拟的并行化。本文完成了在Godson-T众核模拟器上整合SimK,成为并行运行的P-GAS模拟器的工作。
本文提出了一种对众核芯片模拟器模块进行有效划分的方案。对模拟器模块进行并行化划分时,不仅仅应该从芯片模块的逻辑功能出发,更应该考虑模块的物理位置、通信量和并行后的负载平衡等的考虑。
并行框架的同步向来是开销很大且很难解决的问题,处理不当就会造成死锁等很麻烦的异常情况。本文在对串行模拟器GAS进行并行化的过程中,提出了在时序精确的芯片模拟中可能出现的0延迟事件对PDES同步方式的影响,以及会造成的错误。在发现问题的同时,提出了一种有效可行的解决方法:0延迟计数器。通过PE对“被动事件”的记录,准确得到何时应该步进到下一个时钟周期的信息。这种方法既不影响整体性能,又能完美的解决问题。
除了同步,消息传递也是并行的附加开销中不可忽视的一项。本文基于Godson-T模拟器的统一消息格式,对SimK的消息传递机制进行了优化,大量减少了消息传递的操作次数。对跨进程和跨宿主机等的大型模拟规模来说,这种优化所得到的效果更加明显。
测试数据显示,运行Splash-2测试集,与串行版本相比,16线程的并行版本能达到平均10.9倍最高13.6倍的加速比,而时钟精确度差异平均不到0.1%。而且,由于减少了插入队列的开销,在单线程运行时能够达到超线性加速比。我们得出了PDES可以作为时钟精确的众核模拟器并行化利器的结论。