论文部分内容阅读
高性能计算机在征服每秒千万亿次计算能力的过程中,成功地提高了单个节点的性能和互连网络的规模,但同时也引入了许多新的问题。多核处理器和GPU等加速部件在增加了节点性能的同时,也改变了节点间的通信行为,增加了通信控制器的通信负担。通信控制器作为节点和互连网络之间的桥梁,很大程度上决定了通信的效率,直接影响高性能计算机的性能。
为了实现每秒千万亿次的计算能力,中科院计算所提出了超并行处理(HPP)体系结构。曙光5000高效能计算机项目中的一个原型系统就具有HPP体系结构的部分特征,它设计实现了定制的Gemini网络接口;此外,曙光6000千万亿次高性能计算机项目中的一个核心部件-HPP控制器,体现了HPP体系结构中超节点的特征。
本文针对高性能计算机的通信技术开展研究,重点研究了通信软硬件接口和通信控制器的关键技术,并且应用在曙光5000项目中的一个原型系统和曙光6000项目的HPP控制器的设计和实现中,具体的创新性工作如下:
1)设计了面向HPP体系结构的通信软硬件接口,涵盖了多项关键技术,主要包括:从MPI/PGAS抽象的多种通信语义:NAP、Put、Get、远程读写和原子操作等,全局地址空间,协议offloading/onloading权衡:例如软件tag匹配等,memory-free的无连接通信,大页面和集合通信等。其中memory-free的无连接通信是本文中首次提出。
2)设计了面向HPP体系结构的通信控制器,涵盖了多项关键技术,主要包括:通信语义的硬件实现方法,采用HT规范的处理器接口,远程直接内存访问,通信控制器的虚拟化,小消息加速和支持集合通信等。其中,“远程直接内存访问”关键技术中的chain DMA描述符技术和基于HT规范的远程原子操作技术是本文中首次提出。
3)提出了一种小消息加速引擎的结构,并在一个原型系统的网络接口中进行了实现。测试结果表明小消息加速引擎对PGAS这种需要细粒度通信的编程模型有很好的加速效果,多个测试程序都有2-4倍的加速比。通过小消息加速和支持增强型block描述符等关键技术,原型系统的最短通信延迟为0.99us,最大有效带宽为749.9MB/s,物理带宽的利用率达到94%。
4)针对HPP控制器,提出了一种支持chain DMA描述符的DMA引擎结构,设计实现了HPP控制器的内部数据通路。测试结果表明采用chain DMA引擎的HPP控制器能够获得非常低的通信延迟和非常高的通信带宽利用率。HPP节点内的最短通信延迟达到0.58us,最大有效带宽达到1322MB/s,由于HT接口的有效数据带宽达到1422MB/s,因此带宽利用率达到93%。
5)设计实现了一个HPP节点模拟器用于HPP体系结构的研究。该模拟器实现了HPP控制器的时序模型,可以模拟单个HPP节点的行为,能够几乎不修改地运行操作系统、驱动和通信库软件。