论文部分内容阅读
目前,以SMP服务器作为结点的机群系统被普遍采用。由于单个结点上多个CPU的使用,机群对结点间的通信带宽提出更高的要求。虽然目前的高性能通信网络得到迅速的发展,但因受物理硬件和I/O总线带宽等方面的限制,单套网络的性能仍无法满足其需求,这使得并行通信技术具有重要的意义。并行通信技术多种多样,其中以消息分片技术为主。当前并行通信中的分片机制主要是基于底层RMA通信协议之上的,而RMA通信协议本身是面向大消息的,因此并行通信只适合于大消息。虽然也可将该并行机制应用于中等长度的消息(3k至16k),但由于RMA协议中主机层握手的开销很大,使得其性能提高非常有限,而中等长度的消息一直是众多应用程序的主要消息段,因此,传统的并行通信协议依然无法满足目前的需要。为了解决这一问题,本文引入了基于智能网卡支持的并行通信协议。所谓基于智能网卡支持的并行通信协议,就是指消息发送过程中让网卡参与并行通信处理,其实质就是对MPI中的Eager协议进行并行化。由于Eager协议在发送消息前并不知道接收端的缓冲区地址,因此,为了能够正确地进行消息重组,在实现并行时引入了握手机制,通过握手返回接收端的缓冲区地址,从而可以根据该地址以及各消息分片的偏移量确定消息在接收端的存放位置。本协议吸取了RMA通信机制中主机层握手的不足之处,将握手机制下移到网卡上实现,从而缩短了握手的过程,提高了并行通信性能。本文最后对基于智能网卡支持的并行通信协议进行性能评测。在网络通信性能上,与BCL-4[41](基于RMA机制的并行通信系统)相比,它提高了3K到17K范围的通信带宽;在应用性能上,对不同的程序性能提高程度是不同的,最好的情况,如FT程序,该并行协议使执行时间减少了9.0%,而BCL-4只减少了6.6%。此外,本文分析了影响并行通信性能的主要因素,为以后的并行研究工作提供了重要的参考意见。