论文部分内容阅读
并行应用对计算能力的需求永无止境,推动着高性能计算从百万亿次向千万亿次乃至亿亿次规模进发。随着系统规模的不断扩大,作为影响并行应用的性能和扩展性的重要因素之一,机群通信系统将面临诸多挑战。首先,系统规模扩大导致节点数目不断扩展,这要求节点互联网络具有良好的可扩展性;其次,多核处理器的发展使得单个节点内部存在更多的处理器单元,增大了对网络资源的竞争;再次,虚拟化技术不断普及和异构体系结构的出现,给传统的通信系统的性能和可扩展性带来了新的挑战。
针对多核机群环境对通信系统的影响和需求,本文主要面向性能和可扩展性问题,重点研究了基于目前主流的高性能互联网络的高效节点间通信关键技术。本文的主要贡献如下:
(1)针对超并行体系结构(HPP)的多操作系统核心特点,提出了基于节点内的全局物理地址空间的高效I/O虚拟化方法,为异构结构下多核心系统的节点间高效通信提供了支持。作为典型的异构多核结构,HPP结构采用了主从式的多操作系统核心来管理异构节点。本文提出的I/O虚拟化方法采用了半虚拟化的设计思想,基于全局地址空间支持,主、从核心在通信的关键路径上均可对网络设备直接发起I/O操作,从而获得最佳的I/O虚拟化性能。对曙光6000原型系统的测试表明,从核心使用虚拟化InfiniBand的通信性能与主核心相当,I/O虚拟化对应用性能的影响小于2%。
(2)提出了虚拟机感知的通信协议设计方法,以解决虚拟机环境下节点间通信面临的可扩展性问题。未虚拟化环境下针对通信系统的可扩展性问题提出的方法,在虚拟化环境下将不能有效发挥作用。本文提出的通信协议设计方法,实现了虚拟机感知的通信域共享及虚拟机感知的连接管理机制,从而利用未虚拟化环境下提出的相关方法有效解决了虚拟机环境下通信系统的可扩展性问题。在由16核刀片组成的虚拟化机群系统中,Alltoall的性能提高了15%~20%,通信系统的扩展性提高了16倍左右,从而验证了使用本方法的通信协议在性能和可扩展性上均与未虚拟化环境相当。
(3)提出了虚拟链路感知的集合通信优化方法,以缓解多核环境下节点间通信对网络资源的竞争。目前主流的高速网络提供了用于支持细粒度QoS的虚拟链路机制。基于本文提出的虚拟链路感知的集合通信优化方法,并发的通信进程可使用不同的虚拟链路进行通信,这提高了通信进程的并发度和同步性,从而可获得更好的集合通信性能。测试表明,使用该设计方法后,Alltoall、Reduce、Allreduce及Reduce scatter的性能提高了10%~20%;在1024个进程的测试中,快速傅里叶变换的性能提高了11%。