论文部分内容阅读
高性能计算机系统规模急剧增大,节点数量和处理器核心数目不断增长,多进程间消息通信带来的开销日益增加,以集合通信为代表的多进程间通信往往成为系统瓶颈。集合通信消息开销巨大,软件优化的方法无法胜任,考虑到高性能计算机多节点的通信是通过互连网络进行的,所以可以构建硬件支持集合通信专用网络来加速集合通信操作。
随着多核技术的发展,节点内的硬件并行度大大增加,节点内部的通信压力加剧,集合通信的节点内部分越来越重要。因为采用软件算法有扩展性问题,而且频繁的访存操作增加节点内通信开销,所以可以考虑采用基于网卡的实现方法来加速节点内集合通信操作,这种方法能够分担节点内处理器的通信和计算开销,使得通信与计算重叠。
本文配合曙光6000专用集合通信交换机芯片,设计并实现集合通信网卡,与交换机一起构成专用集合通信网络。本文的主要贡献包括:
1.提出了一种支持集合通信操作的网卡结构,此网卡可以加速节点内集合通信操作,而且与交换机构成集合通信网络加速节点间集合通信操作。该集合通信网络具有良好的扩展性、高带宽、低延迟、可靠性和可管理性等特性。
2.设计并实现集合通信核心部件:Barrier模块、Reduce模块、Burst-AllReduce模块。这三个部件不仅具有网络数据交换功能,而且具有运算功能。
3.采用仿真验证平台对专用集合通信网络进行功能验证和数据测试。主要测试节点内集合通信操作和节点间集合通信操作的延迟和带宽,并给出数据的分析和性能评价。
对数据的分析可以发现:(1)基于数据包的Barrier操作延迟相对较大。(2)Reduce操作带宽利用率低,延迟较小,适用于小消息归约,Burst-AllReduce操作启动代价大,带宽利用率高,适用于大消息归约。