APP下载

基于InfiniBand的高性能计算机技术研究

2021-04-04张众钦

信息记录材料 2021年11期
关键词:网络接口缓冲区交换机

张众钦

(漳州职业技术学院 福建 漳州 363000)

1 引言

网络性能一直是制约高性能计算技术发展的瓶颈,无论是面向计算的网络还是面向存储的网络,通信速度的发展远落后于CPU的发展,InfiniBand互连结构能够缩短网络和CPU之间的性能差距,使高性能计算机的性能趋于平衡。在这项工作中,我们建议使用DRB作为InfiniBand网络的拥塞控制机制。实验表明,与原始的基于消息节流的InfiniBand技术相比,我们的方法实现了显著的性能改进。对于分析中的网络,延迟和吞吐量分别提高了66%和35%。最后,建议的机制使用InfiniBand规范中定义的管理模型,因此提供了完全的兼容性。

2 高性能计算机技术研究现状

在InfiniBand协议发展初期,国家并行计算机工程技术研究中心就在国家“八六三”计划的支持下开始对InfiniBand协议展开了深入研究,旨在改进高性能计算特别是集群系统的互连性能,研制出符合InfiniBand标准规范的高性能互连部件。目前的商业互连网络,如InfiniBand、Myrinet和Quadrics,旨在满足HPC系统的要求,如高数据传输速度和低行程延迟。高速互连网络适用于具有不同性能要求的计算机系统(即系统局域网(SAN)和PC集群)。此外,对具有大量计算或数据管理需求的并行应用程序的需求不断增加,这是上述标准和商业实现不断增加的主要原因。这些应用旨在解决“重大挑战问题”,包括:分子动力学、预测、核反应、地质活动等。随着计算机系统规模的增加,互连网络成为瓶颈。目前,互连网络的成本和功耗远远高于处理器。为了解决这个问题,尽可能减少网络组件的数量。但是,使用较少的网络组件会导致网络的利用率(吞吐量)接近饱和点。如果拥塞得不到有效控制,这些资源可能会饱和,应用程序可能会减速。当网络无法处理通信负载时,数据包会延迟,它们必须等待资源释放。这种情况会导致消息延迟增加,并且全局系统性能会下降,因为拥塞会快速传播到整个网络[1]。

3 基于InfiniBand的高性能计算机技术研究

3.1 网络接口

网络接口由一个或多个称为通道适配器(CA)的适配器完成,该适配器通过链路连接终端节点和交换机。网络分为不同的子网。就像端节点通过交换机互连一样,子网也通过路由器互连。InfiniBand指定一个协议栈,将体系结构划分为多个独立的层:物理层、链路层、网络层和传输层。链路层和传输层是IBA体系结构的核心,因为在这些层中,创建数据包,建立点对点连接,并执行子网交换。IBA规范中提供了虚拟通道机制(VL),以便在物理链路上创建多个虚拟链路,从而提高链路吞吐量。每个IBA网络设备由16位本地标识符(LID)表示。所有数据包头都包括源和目标LID,交换机利用它们来确定输出端口并实现数据包转发[2]。IBA子网使用定义良好的管理模型进行独立控制,其中多个实体或代理相互通信以配置网络设备和操作。名为子网管理器(SM)的实体负责在网络启动时发现子网组件,分配LID并发现它们之间的路径。这些操作由管理包(管理数据报,MAD)完成,这些管理包在SM和位于每个网络设备中的代理之间传输信息。SM使用LID和一条路径查找和配置每个设备,默认情况下,会在端点节点之间查找。但是,IBA体系结构提供了多路径支持。这是通过LID屏蔽机制实现的,该机制允许为单个网络组件分配多个名称。此名称多样性提供了在同一对节点之间建立多条路径的方法。下一节将提供有关多路径实现的LID掩蔽的更多详细信息[3]。管理模型的另一个重要组件是拥塞控制管理器(CCM)。该组件执行拥塞检测并生成通知包以通知其外观。IBA CCM指定了一种监控机制,以测量资源利用率。在缓冲区占用超过阈值的情况下,将激活拥塞控制机制。在检测到拥塞后,交换机使用包头中的一对通知位完成包标记。标记后,数据包被转发到目的地。当源CA从结构接收到关于拥塞的信息时,拥塞控制代理降低属于拥塞路径的端口处的分组注入速率。这种方法允许拥塞的端口释放缓冲区中包含的数据包过载,并防止拥塞扩散。根据接收到的通知数据包的数量,注入减少将更具限制性。限制速率由整数IRD(注入速率延迟)值指定,该值产生B/(1+IRD)的速率限制,其中B是源CA链路的带宽[4]。

3.2 初始IRD值

每个CCT条目包含不同的IRD值。当收到更多通知时,将选择具有更高IRD值的表条目。最终堵塞消失,注入速率必须恢复。拥塞控制代理使用计时器执行注入恢复。每当计时器过期时,如果未收到拥塞通知,则逐渐恢复注入(选择具有较低IRD值的表条目)。如上所述,消息限制机制的主要缺点在于,将数据包争用从交换机缓冲区传输到源节点可以消除拥塞。因此,拥塞被消除,但全局延迟无论如何都会增加,并且在出现突发流量负载时可能会达到较高的值。为了解决InfiniBand网络中因拥塞而导致的性能下降问题,我们提出了通过利用SM多径特性、分组传输报头中的通知位以及CCM提供的监控机制来实现动态路由平衡的应用。DRB技术可以有效地进行拥塞控制,因为它可以提高链路利用率并提供较低的消息延迟。与IBA默认机制(IBA_CC)中的消息限制不同,这种改进是通过在多条路径上分配流量负载来实现的。本文提出的IBA拥塞控制机制的动态路由平衡是在InfiniBand体系结构环境下实现的。未修改IBA标准定义和操作,因此实现了完全兼容性。

3.3 型号设计

IBA交换机配备一组监控组件,用于测量每个交换机端口的每个虚拟通道中的缓冲区占用情况。IBA标准建立了一个可配置的阈值,该阈值与检测到拥塞的缓冲区大小有关。如果缓冲区占用超过此阈值,则会激活拥塞控制机制。阈值由CCM设置,可配置为数字0到15之间的多个可能值。值0表示端口上未标记任何数据包,值15指定非常严格的阈值。当检测到拥塞时,交换机将标记属于虚拟通道缓冲区且超过阈值的所有数据包。标记在分组传输报头中完成,设置前向显式拥塞通知位(FECN)。通知消息被发送回源节点。最终,将在向拥塞区域注入数据包的源节点中接收拥塞通知。此时,拥塞控制代理(CCA)配置并评估可能的替代路径,以避免拥塞。路径扩展是逐步执行的,它基于接收到的拥塞通知的分布。换言之,根据接收到的拥塞通知分组的倒数来选择属于拥塞路径的端口,以便进行后续注入。

3.4 模型实现

IBA型号具有IBA标准体系结构中规定的功能:虚拟穿透交换、流量控制机制、多路径、虚拟通道、端口监控、可靠传输等。Endnode包括一个处理器节点,用于执行生成和使用数据包的应用程序,还包括一个网络接口,用于将处理器节点与网络交换机连接。在endnode模型中执行的功能和能力。endnode中的处理器节点根据应用程序的特定流量模式生成链路层数据消息。网络接口包括一个端口。与交换机端口的情况一样,它支持使用虚拟通道控制器的虚拟通道,并且通过将网络接口连接到物理链路的链路控制器来实现流量控制。发送方接收处理器节点生成的消息,并根据网络接口的MTU将其拆分为多个数据包。对数据包进行编号以测量无序交付的程度,这可能是由某些自适应路由算法引起的。最后,发送方选择一个虚拟通道来转发数据包。类似地,接收器负责收集虚拟通道上的数据包,分析数据包顺序,将数据包合并到消息中,最后将消息传递给处理器节点。该管理模型也在端节点级别实现,以便执行FECN位分析、确认拥塞通知包、配置和评估可能的备选路径,以及在没有拥塞的情况下执行路径压缩。

3.5 环面拓扑中的性能

动态路由平衡技术,可以有效地处理更大的通信负载。由于负载分布在多条路径上,动态路由技术比IBA_-CC方法具有更高的性能。这一改进在所研究的两种拓扑中都可以看到,其中延迟分别减少了66%和42%。此外,对于更高的流量负载值,支持平坦的延迟曲线区域,从而提高网络可用性。必须注意的是,减少是由于DRB利用网络路径多样性将数据包发送到目的地。

4 结语

本文提出了一种针对InfiniBand网络的拥塞预防方案。该技术基于动态路由平衡机制。DRB消除了因网络资源中的数据包争用而导致的性能下降。拥塞消除是通过将通信负载分配到多条备选路径来完成的。与IBA规范中提出的消息限制技术不同,DRB允许源节点保持注入速率。因此,减少了消息延迟,提高了网络性能[5]。

猜你喜欢

网络接口缓冲区交换机
修复损坏的交换机NOS
基于网络聚类与自适应概率的数据库缓冲区替换*
使用链路聚合进行交换机互联
双冗余网络接口自动切换测试模块的设计与实现
浅析CTC与GSM-R系统网络接口及路由配置改进措施
关键链技术缓冲区的确定方法研究
网络设置管理
PoE交换机雷击浪涌防护设计
初涉缓冲区
罗克韦尔自动化交换机Allen-Bradley ArmorStratix 5700