论文部分内容阅读
近年来,多核处理器取代单核处理器成为商业主流,但随着处理器小核数量的增多,多核处理器体系结构的发展遇到问题。物理设计的限制、可扩展性的要求以及功耗等因素催生了众核体系结构的诞生。众核体系结构的出现,为处理器设计研究人员带了新的方向,然而,这一体系结构的有效性仍然需要进行验证。
在研究体系结构的过程中,模拟器凭借其开发周期短、实现简单以及可以较好符合真实硬件设计等众多优点受到工业界和学术界的青睐。模拟器中有两个关键因素:精度和速度。一般而言,模拟器的这两个因素不能兼顾,在保证模拟精度的同时必然增加通信同步开销,导致模拟速度的降低,反之亦然。
本文针对中科院计算所自主产权的GAS串行众核模拟器平台(64个小核),提出了一种方法,通过互连网络,将16个GAS模拟器以集群的方式进行连接,并使用采用了PDES技术的SimK并行模拟框架将原串行模拟器并行化,使其可以充分发挥宿主机平台上多处理器的性能优势。本文的主要贡献有如下三点:
第一,实现了一个快速的、精确的集群模拟,能够模拟至千核的规模。在当今的学术界和工业界中,模拟器成为研究体系结构的重要工具,但模拟器始终面临着速度和精度两个方面如何平衡的问题。希望同时兼顾模拟器的速度和精度两个方面,是一个挑战。我们借助基于PDES机制开发的SimK并行模拟框架,将原有的串行模拟器并行起来,获得加速的同时也保证时钟精确的模拟。
第二,在众核集群模拟器中,实现了多线程和多进程两个版本,并对其进行了对比。基于GAS众核模拟器,我们将其并行化,使得GAS可以利用多核宿主机的性能优势,充分发挥其并行性,获得速度的提升;之后以并行的众核模拟器为基础,采用同样的方式,将众核模拟器以集群的形式组合起来,得到众核集群模拟器,在多线程下依然得到了加速。之后,为验证结构的可扩展性,我们还采用了多进程的方式进行模拟,为今后进行更大规模的模拟打下基础。
第三,在当今主流的并行编程环境中,选择了MPI+Pthread的混合编程环境,在众核集群模拟器上移植了MPI,使其可以运行MPI程序。在充分利用到众核集群特征的同时,实现更好的并行粒度,解决了由于内存、带宽及延迟限制造成的可扩展性不好的问题。