论文部分内容阅读
当前以机群体系结构为代表的高性能计算机在向千万亿次发展时面临着若干问题,功耗、管理和可靠性限制了大规模扩展,以峰值计算能力衡量的高性能并不等同于高效能.随着制造工艺的发展,芯片内部晶体管数目已突破十亿,微处理器向多核发展.为了充分地发挥多核处理器的并行能力,解决高性能计算机发展面临的问题,中科院计算所提出了超并行体系结构(Hyper Parallel Processing,简称HPP).
高性能计算机的系统控制器的设计技术取决于其体系结构和编程模型,主要包括四个功能:一是提供节点内的处理器联接,二是提供节点间互联的支持,三是为编程模型提供通信支持,四是为编程模型提供同步支持.为了实现这些功能,不同体系结构和编程模型下的高性能计算机系统控制器采用了不同的关键技术,本文对此进行了总结.
面向IIPP体系结构的系统控制器主要设计思想包括:
1、由于HPP体系结构采用多核处理器和三层并行体系结构,系统控制器必须实现与多层互联网络联接的多层互联网络接口,支持多通道核对核通信.互联网络接口被集成在系统控制器内部,支持两级互联、三套复用的互联网络.
2、由于HPP体系结构支持全局地址空间的编程模型,系统控制器提供了全局地址空间和同步的支持.系统控制器在节点内共享内存,并内置可直接寻址的硬件锁实现共享内存的同步;在节点间支持全局地址空间,采用硬件同步网实现全局同步网络;系统控制器还提供了Cache一致性的解决方案以支持全局地址空间.
3、由于HPP体系结构支持消息传递的编程模型,系统控制器内部总线协议支持可变长包传输、按字节对齐、顺序传输并保证通信的可靠性,提供了对内存零拷贝、半用户级通信、集合通信和单边通信等通信功能的支持.
4、系统控制器为通信软件提供的接口包括远程写、远程读、远程MSG操作、NAP消息传输、基于通道的NAP消息传输以及Fence功能.
结合系统控制器主要应用于高性能计算的特点,为了解决MPI长消息通信给系统控制器带来的阻塞问题,提出并研究了一种基于重传的流控机制.其设计思想是采用分布式寄存器实现流控,如果某目的端口的缓冲区满则放弃源端口虚通道长消息请求,延迟若干固定周期后重新尝试,该流控机制能够在不明显增加延迟的前提下提高物理信道的利用率.实验表明与传统的持续等待机制比较,在通道内外带宽比为7/4,缓冲区大小为2KB条件下,64KB消息采用等待49周期的重传机制,延迟增加3‰.,但物理通道利用率从58.5﹪提高到97.6﹪.研究表明基于重传的流控机制适用于长消息、带宽不平衡的通道以及深度有限的缓冲区.
为了构建曙光5000千万亿次高性能计算机,本文具体实现一种面向HPP体系结构的系统控制器-基于龙芯2E处理器的HPP系统控制器.该HPP系统控制器的实现技术包括交叉开关、内部寄存器、处理器接口、外设控制器、互联网络接口、内存控制器.该系统控制器在曙光5000A的原型系统中得到应用,测试结果为FPGA实现的频率可达到80MHz,连续传输256B数据延迟为650ns,带宽达到512MB/s,如果采用ASIC技术将频率提高4倍,延迟将减小到162.5ns,带宽同时提高到2GB/s.
为了给目前正在实现中的系统控制器硬件方案提供指导,给曙光5000通信软件和操作系统提供早期开发调试平台,给HPP体系结构研究提供工具,设计了HPP系统控制器模拟器,它是HPP系统模拟器的组成部分.HPP系统控制器模拟器实现了处理器HT接口、交叉开关、互联网络接口、外设接口和寄存器的模拟,HPP系统控制器模拟器的关键技术包括模拟粒度、同步方法、模块接口、模块通信方式、内外部总线模拟和具有阻塞状态的缓冲区.