陈逸飞,李宏亮,刘 骁,高红光
(江南计算技术研究所,江苏 无锡 214083)
处理器是高性能计算机的核心器件,其主要参数指标对整个系统的结构和能力起着决定性作用。近年来,众核处理器在学术界和工业界都得到了广泛关注和蓬勃发展,当前主要的众核处理器和众核结构包括NVIDIA公司的GPU架构[1]、Intel公司的MIC和SCC架构[2]、AMD公司的GPU/APU系列[3]以及申威26010架构、MIT的RAW[4]、Stanford的ELM[5]、Tilera公司的TILE[6]、中国科学院计算技术研究所的Godson-T[7]、Adapteva公司的Epiphany[8]、Kalray公司的MPPA[9]、PEZY-SC处理器[10]等。其中申威26010架构、TILE、Godson-T、Epiphany、MPPA、PEZY-SC等均属于阵列众核处理器,其特点是以阵列方式(Mesh)组织众多计算核心,具有可扩展性优秀、实现代价小、功耗低、可提供多层次并行性的优势,是众核处理器发展的重要方向。
阵列众核处理器的不断发展,依然面临着严峻的挑战,一是“访存墙”问题。众核处理器的“计算/访存比”高,部分访存受限的课题呈现计算资源闲置问题,随着大数据时代的到来,访存密集的课题呈现增长趋势,导致这一问题更加显著。二是核心协同问题。阵列众核处理器中“运算核心——应用进程”存在映射关系,用户需要考虑应用进程的分布、同步协作以及局部存储如何高效利用的问题,对编程要求较高;同时,“运算核心——运算核心”之间的连接关系,进程之间的数据交换需要通过片上网络进行,片上网络通信频繁,通信模式也日趋复杂,对片上网络的设计和使用都提出了很高的要求。
在阵列众核处理器中,引入同时多线程技术SMT(Simultaneous Multithreading)[11],是解决上述问题的可能途径,通过多线程技术能够提高片上资源利用率,较强的多线程核心局部存储资源和大量在共享存储中进行的数据交换能够进一步提升运算性能;……