论文部分内容阅读
现代高性能计算机系统通常采用处理器和存储器相分离的结构设计,即以处理器为中心、通过层次式Cache和复杂存储互连网络把分离的处理器和存储器相连接。在分离结构设计中,处理器以高速度为设计目标、存储器以高集成度为设计目标,不同的目标追求导致不同的发展趋势,并且随着工艺水平的进步和处理器体系结构的发展,处理器和存储器之间的速度差距越来越大,形成“存储墙”,而在分离结构中,大量的芯片资源则用于缓解日益增大的速度差距。PIM技术把处理器和存储器紧密结合在一个芯片上,把分离的结构统一起来,具有高访存带宽、低访存延时、低功耗的优点,成为解决“存储墙”问题的一种有效方法。当前基于PIM技术的研究主要有:PIM微体系结构研究、PIM并行体系结构研究、PIM编程模型研究以及基于PIM的编译优化技术研究等方面,研究的出发点是为了最大限度发挥PIM高带宽、低延迟的结构特性。我们的研究重点集中在两个方面:一是PIM微体系结构研究,即PIM中的处理器采用何种结构才能充分发挥PIM高带宽、低延迟的结构特点是我们的研究重点之一;另一方面是PIM并行系统相关问题的研究。文章通过对面向科学计算的PIM体系结构研究,提出并设计实现了一种具有向量处理能力的高性能PIM结构——V-PIM结构,探讨了基于V-PIM的并行系统以及面向V-PIM结构的软件优化技术。文章的创新主要体现在以下几点:1、提出并设计了具有向量处理能力的V-PIM结构V-PIM是基于向量处理逻辑的PIM结构。向量具有成熟的编程模型和强大的数据并行表达能力,PIM具有高性能的存储系统,因此向量和PIM结合比较自然。我们从基于面积的效用(Performance/Area)角度分析了基于寄存器和基于存储器结构的两种向量结构,认为存储器-存储器结构与PIM结构结合在芯片资源利用以及降低功耗等方面具有优势,因此采用了基于存储器.存储器的向量结构形式。文章描述了V-PIM的结构设计,给出了扩展的向量指令集,并通过FPGA进行了验证。2、提出面向V-PPIM并行系统的V-Parcels通信机制并行系统中的通信子系统对系统的计算效率、可扩展性和适用性具有重要影响。为了减少在并行V-PIM系统中执行向量指令时的数据通信开销,我们提出了面向并行V-PPIM系统的V-Parcels通信机制。其基本思想是根据向量元素分布规律,动态产生合理的计算-通信模式,在保持性能最大化的前提下,尽可能降低向量指令执行时的通信开销。V-Parcels通信机制可以把计算传递到数据所在节点而无需在节点间频繁地传递数据。3、基于V-PIM并行系统的线程判别模型V-PIM处理器通常执行时间局部性较差但空间局部性较好的线程,这类线程我们通常称为轻量级线程;而其它适合Host处理器处理的线程通常被称为重量级线程。为了提高系统整体的性能,需要利用软件的方法将这两类线程区别开来。我们设计了一种编译级的两类线程区分算法,依据一段线程分别在V-PIM和Host处理器上的执行性能来确定,当通过编译识别出线程类型后再调度到相应的处理器上进行处理,从而加速整体性能。算法实现简单,对编译器改动较少,运行效果接近实际情况,具有较好的实用性。4、提出一种多运算核构成的运算簇和PIM主存相结合的结构——COPE提出一种多运算核构成的运算簇和PIM主存相结合的结构——COPE(Composite Organization for Push Execution,COPE)。COPE具有主存向执行部件“推”数据进行执行的特点。COPE以存储器为中心,由作为存储器的PIM向运算簇“推”数据,运算簇负责执行,只具有简单的控制功能,通过片上互连网络相连。程序存储在PIM存储器中,由PIM中的处理器静态调度部分程序块在运算簇上执行,所需数据由PIM存储器提供,运算簇以数据驱动方式执行,中间结果通过寄存器通信直接传递到下一个运算簇中,无需把临时值传递到寄存器中,从而避免使用大量既影响性能又不可扩展的硬件机制。