论文部分内容阅读
随着体系结构的发展,各种众核处理器结构已经出现,在单芯片上集成上千核已经可以实现,并会在不远的将来商用化。模拟这样庞大的处理器结构是个巨大的挑战。传统的模拟器都是串行的,串行模拟器用一个主机线程来模拟整个目标系统。当目标系统的核数增加时,分配给单个核的模拟性能就会下降。目前已经有许多方法被用来加速模拟,这些方法包括:并行模拟,动态二进制翻译执行,FPGA加速等等。在这些加速技术中,并行模拟技术因为能够利用目标结构天然的并行特征,并且能够在低成本的SMP计算机上实现,成为了最有吸引力的加速技术,其中具有代表性的并行模拟工作是基于离散事件驱动的模拟器。 本文通过分析传统并行事件模拟的机制和众核处理器结构的结构特点,提出了一个并行模拟框架:PartitionSim。从速度和精度两方面对众核结构的并行事件模拟器进行优化。PartitionSim提出了一系列的优化方法:用户级同步算法,高效同步策略,时序分割技术,并行事件队列负载均衡方法,自适应模拟方法。其中,时序分割策略是根据目标结构的结构特点,把目标时序结构切分到不同的主线程上;负载均衡是通过自适应的方法维护模拟线程之间的负载均衡,从而尽量使得各个模拟线程以“近似”的节奏运行,保证精确度和速度。自适应的模拟方法是让模拟器采用最佳的线程数目和同步粒度进行模拟。本文主要贡献包括: 设计实现了一个并行事件驱动模拟框架:PartitionSim。以这个框架为基础,衍生出了一系列的针对不同众核结构的优化模拟方法,其中主要的方法是时序分割。这个方法允许目标结构被分割在不同的主机线程上以不同的同步方式模拟,从而可以以很小的时序代价获得模拟速度的巨大提升。 在该框架下,针对软件维护一致性的众核结构,利用时序分割的方法把一级缓冲和小核流水线划分到异步模拟的线程提高模拟速度,把网络时序划分到同步模拟的线程以保持精确度。这个方法能以很小的时序代价获得模拟速度的巨大提升。 在该框架下,针对硬件维护一致性的众核结构,利用目标片上网络通信不均匀的特点,针对低频通信的链接进行负载切分,配合负载均衡的技术,既提高的模拟精度,又提高了模拟速度。 在该框架下,针对硬件维护一致性的众核结构,利用时序分割+负载均衡的方法,对小核部分和网路部分进行差异化模拟,同时保持模拟线程之间的负载均衡。 使用ParttisonSim模拟Godson-D众核结构的片上互联,并对其片上互联的设计提供性能评估参考。