APP下载

基于软硬件协同思想的机群互连系统通信协议设计*

2018-12-19倪博远

通信技术 2018年12期
关键词:描述符机群数据通信

倪博远

(空军工程大学 信息与导航学院,陕西 西安 710077)

0 引 言

目前,较常见的机群互连网络大多数采用数据包控制所包含软件的通信协议。此种方法产生的通信开销较大。对此,更多专家教授在研究机群通信协议时,在高速交换网络中所采用的硬件通信其自身处理开销代价相对较小,而包含的软件通信协议自身处理开销代价相对较大,这是因前期针对机群通信协议的研究关注点主要放在对用户层软件通信协议的研究上。典型的用户层通信协议主要有U-NET、VIA等,但所研究的用户层协议提供给用户的通信效率相对较低,效果不理想[1]。

经过对前期研究的分析,诱发用户通信效率降低的关键和主要因素是,机群互连网络所包含的硬件协议在设计之初,缺乏设计与机群互连网络所包含的用户态软件协议运行之间的协调配合。

FPGA以及相关可编程板件自身容量的不断扩充,有效地辅助机群硬件互连技术快速发展。通过前期对相关文献的研究,本文研究的机群互连系统所采取的软硬件协同(Software/Hardware Codesign)思想,是通过借助FPGA的硬件资源研究机群互连系统的通信协议,以提升机群互连网络SHC-NET(Software/Hardware Codesign Network)的性能。

1 软硬件协同设计

对通信协议的设计可以采用的方法具有多样性。当前,比较典型的一种方法是协同设计系统的软硬件,以期实现对整个通信系统资源的协调、合理、整体的配置,有效提升通信系统整体效率。通过采用软硬件协同设计通信协议的方法,研究的重难点主要集中在软件和硬件通信协议之间如何实现通信过程中软硬件之间的有效、合理分工。

对于机群互连系统通信协议的研究,若在设计之初的任务分配过程中,通过硬件承担较多的通信协议处理任务,则可有效减轻处理通信协议的主机CPU负担,充分实现高集成度的通信与计算一体化,从而有效提升机群互连系统的计算效率。同时,通信协议硬件处理部分较小的延迟开销,可以有效提升系统整体的通信效率。

用软件实现机群互连系统通信协议,即将通信协议本身更多的计算与处理工作交由处理通信协议的主机CPU来完成,增大了CPU的处理负担。同时,由于借由软件来处理与分析的通信协议往往延迟较大,不利于提高系统整体的通信效率。但是,软件相比硬件处理相对复杂的通信协议更容易。因此,软件处理通信协议可以有效增强机群通信协议的可扩展性与设计灵活性,用户可根据自身实际应用需要,随时、灵活且自主地设计满足自身需求的通信系统[2]。

在分析LOGP等通信开销模型时可以发现,当前高性能互连网络中在物理层上用户传输的数据速率较高,但用户终端最终所获得的数据传输速率却很低。经过对相关原因的分析发现,主要导致用户终端数据通信效率低的因素是在通信系统中相关数据处理过程应用的通信协议产生的开销较大。通信协议产生的处理开销主要包括两个部分,即硬件通信处理开销和软件处理开销。表1所给的数据主要表现了以太网的通信性能。

表1 以太网的通信性能

对表1所示的以太网性能进行分析可知,较好的软件通信协议虽然能够极大地提升用户通信性能,但是应用于实际的通信系统后,用户最终通信效率仍然较低。例如:TCP/IP协议应用于千兆位以太网中,通信延迟高达59 μs,但通信带宽仅有248 Mb/s;应用较新的M-VIA用户态协议后,虽然通信性能相比未使用M-VIA时有很大的改善,但总体性能仍然有待提升,因为此时的通信延迟仍高达19 μs,通信带宽也仅为480 Mb/s,带宽效率仅为48%。机群互连网络所包含的硬件协议与用户态软件协议在设计之初缺乏有效的协调配合与整体设计,是用户终端通信效率相对较低的主要因素。为此,本文主要通过采用相关软硬件协同设计的思路,设计机群互连系统所包含的通信协议,以期为用户提供更高效的网络通信[3]。

对机群互连系统所涉及的通信协议进行软硬件协同设计,可以实现合理、高效、整体地配置整个通信系统所包含的系统资源,从整体上提高通信系统的效率。软硬件协同设计的设计方法相较于传统的设计方法,更加强调软件设计师和硬件设计师两类人员的相互协调与配合,通过采用并行设计方法,协调配合完成系统软件和硬件设计,并在设计过程中贯穿对软硬件一致性的控制和系统正确性的判断。本文所选的软硬件协同方法可以在硬件完成前帮助软件设计者提前熟悉硬件模块,结合硬件模块需求帮助软件设计者更好地设计相应的硬件驱动、操作系统以及所需要的应用程序等软件。同样,软硬件协同的方法帮助硬件设计师提前熟悉与适应软件模块,进而在设计硬件平台过程中,通过采用适应软件设计者设计需求的高性能硬件平台,减少整体设计中的盲目性。在系统设计的早期阶段,软硬件协同设计还可以提前论证系统设计的正确性,发现通信系统设计过程中存在的诸多不足与部分错误,进而有效降低传统设计方法不能在软件设计阶段及时发现并改正所设计通信系统的缺陷,进而有效降低重新设计系统的可能性。

通过应用软硬件协同方法设计机群互连通信协议的技术重难点在于,合理分工软件和硬件通信协议之间所承担的通信任务。对于机群互连系统所包含的通信协议,通过硬件承担较多的通信协议处理任务,可有效减轻处理通信协议的主机CPU负担,充分实现高集成度的通信与计算一体化,从而有效提升机群互连系统的计算效率。同时,通信协议硬件处理部分较小的延迟开销可以有效提升系统整体的通信效率。但是,通过硬件实现机群互连系统通信协议的需求存在较为明显的缺点,如逻辑复杂、网卡成本高且机群的灵活性和可扩展性下降明显等。

2 机群互连系统的硬件通信协议设计

2.1 基于软硬件协同的NIC设计

当前,VISI技术不断进步与发展,可编程芯片FPGA与多样化的ARM板件自身容量在不断增加,处理能力不断增强,为机群互连系统实现硬件上的互连提供了理论基础与硬件支持,为软硬件协同处理通信协议提供了良好的发展机会。通信描述符作为机群互连系统所包含的数据通信基础,用户通过通信描述符向网卡提交通信任务。为有效提高机群互连系统中包含的数据通信的自身效率,借助软硬件协同的设计思路与设计构想,SHC-NET在网卡中直接实现通信描述符(Descriptor-DESC)的处理与运算,并借由硬件逻辑实现通信描述符中所包含的硬件通信描述符(Hardware Descriptor-HDESC)的处理与计算实现。

HDESC包含接收描述符和发送描述符两类。其中,发送描述符主要是为实现数据的发送而构建,接收描述符主要是为实现数据的接收而构建。每个HDESC均包括长度寄存器和地址寄存器。在网卡中应用硬件通信描述符实现数据通信的过程,如图1所示。

基于HDESC的数据通信过程包含的具体步骤为:

步骤1:通过PCI接口,用户将通信过程需要交互的信息写入NIC相关负责发送/接收任务的硬件通信描述符寄存器中。通信过程需要交互的信息主要包括数据的MAC地址、数据的发送长度等信息。

图1 数据通信

步骤2:启动NIC后,根据寄存在硬件发送描述符所包含的寄存器信息,从内存中直接以DMA方式读取出用户缓冲区数据,通过进一步融合相应的通信控制信息,包装形成发送帧发送数据至相应的通信链路。

步骤3:接收端NIC收到相应传输的数据后,通过分析硬件接收描述符寄存器的内容和接收到的数据帧帧头控制信息,将所接收到的数据通过DMA方式直接送入接收缓冲区中[4]。

通过分析数据通信的相关通信过程可知,在使用硬件通信发送/接收描述符进行相关通信后,NIC每次只需要访问一次内存即可完成相关数据通信过程,有效提高了数据传输与处理计算的效率。

2.2 基于软硬件协同的机群数据通信过程

应用软硬件协同思想构建的SHC-NET,用户发送数据可以通过图2的过程表示。数据接收过程与数据发送的过程相类似。

图2 SHC-NET的数据通信过程

用户发送数据的过程如下:

(1)用户通过MPI_Send函数将用户缓冲区信息写入核心空间的发送队列中。发送队列由DESC组成,每个DESC含有用户通信的缓冲区信息。

(2)根据发送队列中DESC信息初始化网卡中所运行的HDESC,并运行其中核心空间的底半函数。

(3)根据HDESC的内容,NIC组织并完成相关数据发送过程。

3 性能测试

本文在测试基于软硬协同理念构建的机群互连系统通信协议的性能时,选用2台PC机作为机群的2个终端用户,通过选用带宽200 Mb/s的SHC-NET交换机将实验用2台PC机互连,通过MPI的pingpong基准测试程序,测试SHC-NET在机群互连系统中的通信性能。其中,本次实验所使用的实验PC机的基本配置为PⅢ 800CPU、256 MB内存、133 MHz系统总线,实验中各个节点安装的操作系统均为Linux 6.2版本。最终的性能测试结果,如表2表示。

表2 测试SHC-NET测试结果

从表2可以知道,基于软硬件协同理念设计的应用于机群互连系统中的SHC-NET所产生的通信时延总体较低,主要原因可以概括如下:

(1)在通信过程中信息传输时,以太网必须将网卡通信描述符放置在内存中,在每次进行数据通信时,网卡至少需要访问2次内存,由此产生的通信延迟很大,且整体通信的通信效率很低。SHC-NET通过采用硬件通信描述符,每次数据通信过程中,网卡只需要访问一次内存,降低了网络的通信时间开销,提高了数据通信效率[5]。

(2)通过软硬件协同设计,SHC-NET中的用户数据通过精简协议进行数据传输,有效降低了软件通信开销。

4 结 语

经过深入的分析和研究,本文提出采用软硬件协同的思想,利用FPGA及相关可以使用的ARM板的硬件资源进行机群互连系统通信协议的研究,以实现高性能的机群互连网络。测试结果表明,本文设计构建的SHC-NET能够满足MPI用户的最大通信延迟为5 μs;与千兆以太网为MPI用户提供的通信最大延迟60 μs,效果提升明显;同时,千兆以太网通过M-VIA协议提供给用户的通信延迟也有19 μs。可见,通过软硬件协同设计的SHC-NET网络具有低延迟的数据通信特征。

猜你喜欢

描述符机群数据通信
基于AKAZE的BOLD掩码描述符的匹配算法的研究
欧洲共同语言参考标准在中国高校学术英语写作教学适用性的研究:可理解性,可行性和有用性
基于深度学习的局部描述符
数据通信网络维护与网络安全问题探讨
施工机群配置优化研究综述
施工机群配置优化研究综述
监测系统接口数据通信方式
一种基于PCIE总线的改进分散集聚DMA的设计
关于数据通信电源现状和高压直流供电新系统的分析
广东省机群吊桶洒水灭火技术发展与应用①