论文部分内容阅读
随着近年来商用微处理器性能的迅速提高,机群系统变得越发引人注目。人们预期,由于在可扩展性和性能价格比等方面存在的优势,机群系统将成为高性能服务器领域的一种主流平台。由于机间通讯是制约机群系统性能的一个关键,因此成为机群研究中的热点。本文结合国家“863”重点项目曙光2000高性能计算机的研制对机群系统中高效机间通讯系统进行了深入的研究,提出了一种全新的消息分类方法和基于这种分类方法的软件通讯协议,同时设计了一种綦于盈余(credit)的动态流量控制算法和相应的死锁防止方法,解决了通讯软件的可扩展性问题。在性能分析的基础上本文对影响机间通讯性能的主要因素做了分析并对通讯系统的两种主要结构进行了比较。 本文的工作主要包括以下几个方面: 1.对与机群机间通讯系统相关的问题进行了深入、细致地研究,尤其是对系统域网的概念和特征进行了探讨,同时在对当今世界上有代表性系统进行分析比较的基础上提出了机群机间通讯系统设计实现中面临的一些关键问题和已有的解决策略。 2.提出了一种全新的消息分类方法和相应的软件通讯协议。目前已有的消息分类方法只是依据PIO和DMA在传输数据时性能的差异而简单地将消息分为长短两类。在此基础上,新的分类方法还将内存拷贝、进出操作系统核心以及虚实地址转换等开销以及流量控制的需求考虑在内。依据新的分类方法,消息被分作四类,并采用不同的协议进行传送。在此分类方法和软件通讯协议基础上实现的底层通讯库API消除了对其用户数据缓冲区的任何限制,理想情况下可实现数据在由用户发送缓冲区到接收缓冲区间传输过程中真正意义上的零拷贝。 3.设计出一种基于盈余的动态流量控制算法和相应的死锁防止方法。这种流量控制算法克服了传统的基于盈余的流量控制算法在可扩展性方面的缺陷,同时也避免了由发送方预留缓冲区所可能造成的数据包在网络上做无谓的传递和用于对无序数据包进行接收的开销。使用新的算法,消息接收方为所有可能的发送方所预留的缓冲区大小不会随应用规模的扩大而呈线性增长。 4.介绍了曙光2000机间通讯软件在采用传统网络接口和智能网络接口两种不同的通讯系统结构中的实现策略。通过对在传统网络接口上实现的底层通讯软件性能的分析和对在智能网络接口上实现的底层通讯软件性能的估算,本文对这两种结构进行了比较并试图阐明它们各自的优缺点。