技术摘要: 本发明公开了一种高速互连网络拓扑发现方法,装置,介质及高性能计算系统,其中拓扑发现方法的步骤包括从本节点的网络接口芯片开始读取对端标记信息并加入种子队列,针对种子队列逐步迭代寻找对端标记信息记入邻接表并构建指向该对端网络接口芯片的源路由表表项,最后 全部
背景技术:
高性能计算系统的生命周期主要由三部分构成:一是计算系统的构建时间,包括
各个子系统硬件和软件安装、配置、调试、测试等过程;二是计算系统正常运营时间,即计算
系统能够为高性能计算应用提供服务的时间;三是系统的故障处理时间,某些轻微的系统
故障可以在线诊断并处理,而个别严重故障需要应用下线后处理甚至停机维护。随着计算
系统规模的增大,计算系统构建时间占其整个生命周期的比例通常也会增大。
高速互连网络是高性能计算系统全局性基础设施,通常由网络接口芯片(Network
Interface Chip,简记为NIC)和网络交换芯片(Network Routing Chip,简记为NRC)连接而
成。高速互连网络是构成计算系统并实现系统中各个计算节点协同工作的关键部件,其复
杂性往往使得互连网络构建成为计算系统构建中最耗时间的过程。所以,互连网络子系统
的构建时间通常会明显地影响整个计算系统的构建时间。互连网络构建的具体环节通常包
括:物理布局设计、拓扑结构检查、网络参数配置和网络调试等。
当前,绝大部分高性能计算系统的互连网络采用光电混合互连技术,即第一层次
是通过PCB(Printed Circuit Board)板内的金属导线实现部分交换芯片端口间的互连,以
构成各种交换模块;第二层次是通过电背板实现交换模块上的交换芯片端口与计算主板网
络接口间的连接,以及不同交换模块之间的短距离互连;第三层次是通过有源光纤AOC
(Active Optical Cable)实现交换模块上部分网络芯片端口之间的长距离互连。与通过背
板和PCB板上金属线实现交换芯片端口之间的固定连接关系不同,光纤连接在网络构建过
程中往往由于人为因素(例如光纤标签贴错、光纤位置插错、光纤连接器未插紧、光纤损坏
等)而可能偏离网络拓扑结构的设计预期,这是网络调试阶段必须首先排除的错误。一种高
效的方法就是互连网络及其管理工具提供拓扑检查的功能,从而通过比较实际发现的拓扑
与设计的拓扑之间的差异,以判断实际拓扑结构的正确性并纠正可能的错误端口连接关
系。
目前,InfiniBand协议定义了一种互连网络拓扑发现的方法,其主要特征为:(1)
支持单一的带内接口访问网络芯片的寄存器;(2)每个网络芯片具有标记芯片唯一性的
GUID(Globally Unique Identifier,全球唯一的标记);(3)芯片的GUID标记由网络生产厂
家写入,不支持被管理用户配置。由于每个网络芯片具有全球唯一的GUID标记和基于带内
的芯片寄存器访问接口,高性能计算机系统搭建后,网络管理软件通过读取系统中网络芯
片的GUID信息,可以获取高性能计算机系统的实际拓扑结构,因此,InfiniBand互连网络具
备拓扑结构发现功能。但是,InfiniBand互连网络在拓扑结构检查功能方面存在的问题主
要是:(1)由于标记网络芯片唯一性的GUID无法由管理用户根据网络拓扑结构分配并配置
6
CN 111585821 A 说 明 书 2/12 页
到网络芯片,无法获取高性能计算机系统搭建前的期望拓扑结构,因此无法实现拓扑结构
检查;(2)由于网络芯片的端口不具备与对端网络芯片交换GUID信息功能,因此其拓扑发现
过程无法简单地通过读取网络芯片本地端口寄存器而直接获得其对端网络芯片的GUID信
息。因此,需要设计一种完善的互连网络拓扑结构检查装置和方法,既能便于在网络芯片硬
件逻辑和网络管理软件实现拓扑结构检查,又能满足网络调测试人员快速检查网络拓扑结
构的需求。
技术实现要素:
本发明要解决的技术问题:针对现有高性能计算系统互连网络基于InfiniBand协
议的互连网络拓扑发现技术无法进行互连网络拓扑结构检查的问题,提供一种高速互连网
络拓扑发现方法,装置,介质及高性能计算系统,本发明支持快速实现网络拓扑结构发现,
且支持对实际拓扑结构和期望拓扑结构进行对比以发现错误的端口连接关系,从而缩短互
连网络调试时间、提高互连网络构建效率,既能便于在网络芯片硬件逻辑和网络管理软件
实现拓扑结构检查,又能满足网络调测试人员快速检查网络拓扑结构的需求。
为了解决上述技术问题,本发明采用的技术方案为:
一种用于高性能计算系统的高速互连网络拓扑发现方法,实施步骤包括:
1)初始化种子队列和邻接表为空;
2)访问本节点的网络接口芯片中的对端标记信息,并将该对端标记信息中的记录
的网络接口芯片加入种子队列;
3)构建指向该对端网络接口芯片的源路由表表项,所述源路由表为在管理服务器
内存中分配的用来记录管理服务器与各个网络芯片间往返路由路径的数据结构;
4)将种子队列中的第一个网络交换芯片作为当前网络交换芯片并从种子队列中
删除;
5)访问当前网络交换芯片所有端口的对端标记信息;
6)取出当前网络交换芯片一个未处理端口的对端标记信息,当该端口的对端标记
信息指明该端口连接到的网络交换芯片为NRC芯片时,如果该端口连接到的网络交换芯片
的编号CHIP_ID未记入邻接表,则将该端口连接到的网络交换芯片加入种子队列,并构建指
向该交换芯片的源路由表表项;如果该端口连接到的网络交换芯片的编号CHIP_ID已记入
邻接表,则无需处理;该端口连接到的网络交换芯片是否还有未处理端口,若有则执行步骤
6);否则若有则执行步骤7);当该端口的对端标记信息指明该端口连接到的网络交换芯片
为NIC芯片时,则将该端口连接到的网络交换芯片的CHIP_ID记录到邻接表;
7)判断种子队列是否为空,若种子队列非空,则跳转步骤4);若种子队列为空,则
输出记录了所有可达网络芯片各端口的连接信息的邻接表;
8)将所述邻接表作为最终得到的实际拓扑结构,将实际拓扑结构和期望拓扑结构
进行对比以发现错误的端口连接关系。
可选地,步骤8)的详细步骤包括:
8.1)载入用户指定的标准拓扑连接文件记为期望拓扑结构;
8.2)取出期望拓扑结构信息中未处理的端口连接信息X-Y,其中X和Y分别表示两
个网络端口,具体包含
三元组信息,根据其在实际拓扑结构
7
CN 111585821 A 说 明 书 3/12 页
中的状态分为以下情况:若实际拓扑结构中不存在与X的连接,说明端口X的实际连接断开,
输出该错误说明信息;若实际拓扑结构中存在与X的连接,但是连接对方不是Y,说明连接关
系错误,输出该错误说明信息;若实际拓扑中存在X-Y的连接,说明连接正确;
8.3)判断期望拓扑结构中是否有未处理的端口连接信息,若还有处理的端口连接
信息,则跳转执行步骤8.2);否则,拓扑结构检查结束,退出。
此外,本发明还提供一种用于高性能计算系统的高速互连网络拓扑发现装置,包
括计算机设备,该计算机设备被编程或配置以执行所述用于高性能计算系统的高速互连网
络拓扑发现方法的步骤,或者该计算机设备的存储器上存储有被编程或配置以执行所述用
于高性能计算系统的高速互连网络拓扑发现方法的计算机程序。
此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质上存储有
被编程或配置以执行所述用于高性能计算系统的高速互连网络拓扑发现方法的计算机程
序。
此外,本发明还提供一种用于应用前述用于高性能计算系统的高速互连网络拓扑
发现方法的高性能计算系统,包括计算节点、交换节点、监控节点,所述计算节点、交换节
点、监控节点均通过高速互连网络相连,任意相邻计算节点之间通过一个或多个交换节点
相连,每一个计算节点、交换节点均对应有一个监控节点,所述计算节点和交换节点的网络
接口芯片中均包含位于端口逻辑层的拓扑发现辅助装置,所述拓扑发现辅助装置包括:
端口标记信息存储模块,用于存储本端标记信息以及对端标记信息,所述本端标
记信息包括本网络接口芯片的类型、编号及端口信息,所述对端标记信息包括连接到本网
络接口芯片的某个端口的另一本网络接口芯片的类型、编号及端口信息;
端口标记信息控制模块,用于管理本端标记信息及对端标记信息的存储以及进
行;
本端标记信息发送模块,用于从端口标记信息控制模块接收链路层控制报文,并
根据链路状态启动报文发送至物理链路;
对端标记信息接收模块,用于从物理链路层接收链路层控制报文,并根据报文携
带的对端标记信息更新端口标记信息存储模块中存储的对端标记信息的值;
带内访问接口模块,用于接收针对本网络芯片的带内访问的管理请求报文并返回
管理响应报文;
带外访问接口模块,用于接收针对本网络芯片的带外访问的管理请求报文并返回
管理响应报文;
所述端口标记信息控制模块分别与端口标记信息存储模块、本端标记信息发送模
块、对端标记信息接收模块、带内访问接口模块、带外访问接口模块分别相连,所述本端标
记信息发送模块、对端标记信息接收模块分别与物理链路相连,所述带内访问接口模块用
于与软件层的带内管理服务器软件相连,所述带外访问接口模块用于与软件层的监控板管
理软件相连。
可选地,所述端口标记信息存储模块包含本端标记信息配置寄存器REG_CFG_
LOCAL和对端标记信息状态寄存器REG_STA_PEER,所述本端标记信息配置寄存器REG_CFG_
LOCAL用来保存本端口的信息,所述对端标记信息状态寄存
器REG_STA_PEER用来保存对端端口的信息,其中CHIP_TYPE
8
CN 111585821 A 说 明 书 4/12 页
表示为网络接口芯片类型为NIC芯片或NRC芯片,CHIP_ID为网络接口芯片的编号,PORT_ID
为端口编号,所述端口标记信息控制模块用于从带内访问接口模块接收寄存器读写请求,
如果是寄存器读请求,则端口标记信息控制模块从端口标记信息存储模块的读请求指定的
本端标记信息配置寄存器REG_CFG_LOCAL或对端标记信息状态寄存器REG_STA_PEER,进而
读取本端标记信息或对端标记信息,并将本端标记信息或对端标记信返回给带内访问接口
模块;如果是寄存器写请求,则端口标记信息控制模块向端口标记信息存储模块中指定的
本端标记信息配置寄存器REG_CFG_LOCAL或对端标记信息状态寄存器REG_STA_PEER的写入
值,并写入本端标记信息或对端标记信息;所述端口标记信息控制模块还用于从带外访问
接口模块接收寄存器读写请求,如果是寄存器读请求,则端口标记信息控制模块从端口标
记信息存储模块11读取指定的本端标记信息配置寄存器REG_CFG_LOCAL或对端标记信息状
态寄存器REG_STA_PEER,进而读取本端标记信息或对端标记信息,并将本端标记信息或对
端标记信息返回给带外访问接口模块;如果是寄存器写请求,则端口标记信息控制模块向
端口标记信息存储模块中指定的本端标记信息配置寄存器REG_CFG_LOCAL或对端标记信息
状态寄存器REG_STA_PEER的写入值,并写入本端标记信息或对端标记信息;所述端口标记
信息控制模块还用于从对端标记信息接收模块接收携带对端标记信息的链路层控制报文,
提取链路层控制报文中的对端标记信息,并向端口标记信
息存储模块写入对端标记信息;所述端口标记信息控制模块还用于周期性地从端口标记信
息存储模块从本端标记信息配置寄存器REG_CFG_LOCAL读取本端标记信息,并将本端标记
信息生成链路层控制报文后通过本端标记信息发送模块发送到物理链路上;所述端口标记
信息控制模块还用于从对端标记信息接收模块接收携带对端标记信息的链路层控制报文,
提取链路层控制报文中的对端标记信息;向端口标记信息
存储模块11写入对端标记信息;所述端口标记信息控制模块包括访问寄存器请求仲裁器,
所述访问寄存器请求仲裁器用于仲裁对本端标记信息配置寄存器REG_CFG_LOCAL和对端标
记信息状态寄存器REG_STA_PEER的访问请求,且针对请求源进行仲裁的优先级从高到低的
顺序为:带内访问接口模块、带外访问接口模块、对端标记信息接收模块、本端标记信息发
送模块。
可选地,所述本端标记信息发送模块用于从端口标记信息控制模块接收链路层控
制报文,并根据链路状态启动报文发送:如果本端口链路处于未握手成功状态,则丢弃该链
路层控制报文;如果本端口链路握手成功且网络链路处于空闲状态,则直接发送该链路层
控制报文到物理链路层;如果本端口链路握手成功且网络链路状态处于占用状态,则等待
链路空闲后发送该链路层控制报文到物理链路层;如果有链路层控制报文处于等待链路空
闲状态,则直接丢弃新到达的链路层控制报文。
可选地,所述对端标记信息接收模块用于从物理链路层接收链路层控制报文,从
链路层控制报文中提取信息;向端口标记信息控制模块发
送针对本端口标记信息存储模块寄存器的访问请求;如果访问请求获端口标记信息控制模
块仲裁许可,则端口标记信息控制模块将信息写入端口标
记信息存储模块的对端标记信息状态寄存器REG_STA_PEER,否则等待请求被仲裁许可。
可选地,所述带内访问接口模块用于将来自带内管理服务器软件的管理请求报文
转换为访问端口标记信息存储模块内寄存器的请求,将寄存器请求提交给端口标记信息控
9
CN 111585821 A 说 明 书 5/12 页
制模块,并将端口标记信息控制模块返回的端口标记信息构造成管理响应报文返回给带内
管理服务器软件,其中管理响应报文携带路由域信息直接来自于相应的管理请求报文,其
中路由域信息格式为:,其中HopCnt为路由跳步数,表示管理
报文达到目的网络芯片需要经过的交换芯片数目;其中Hopt为第t跳路由输出端口,表示从
当前网络交换芯片编号为Hopt的端口输出管理报文,t为正整数,1≤t≤n,n为总跳步数。
可选地,所述带外访问接口模块用于将本节点对应的监控节点的带外控制信号转
换为访问端口标记信息存储模块内寄存器的请求,将寄存器请求提交给端口标记信息控制
模块,并将从端口标记信息控制模块获取的端口标记信息返回给监控节点。
和现有技术相比,本发明具有下述优点:
1、本发明采用带内外相结合的网络拓扑结构,原理简单、容易实现、实用性强,已
获应用检验;
2、本发明通过为网络芯片设置管理芯片编号并实施对端信息交换,既能得出高性
能计算机系统搭建前的期望拓扑结构,又能得到高性能计算机系统搭建后的实际拓扑结
构,从而为网络拓扑结构发现提供支持,支持对实际拓扑结构和期望拓扑结构进行对比,以
发现错误的端口连接关系,从而缩短互连网络调试时间、提高互连网络构建效率;
3、本发明采用带内外相结合方式,通过带外为网络芯片配置参数,并采用带内进
行拓扑结构发现,不仅解决了参数配置与拓扑发现的彼此依赖问题,又提高了拓扑发现效
率;本发明所设计的装置及其方法对于优化互连网络调试流程、加快互连网络调试进度具
有重要作用。
综上所述,本发明支持快速实现网络拓扑结构发现,且支持对实际拓扑结构和期
望拓扑结构进行对比以发现错误的端口连接关系,从而缩短互连网络调试时间、提高互连
网络构建效率,既能便于在网络芯片硬件逻辑和网络管理软件实现拓扑结构检查,又能满
足网络调测试人员快速检查网络拓扑结构的需求。
附图说明
图1为本发明实施例方法的基本流程示意图。
图2为本发明实施例中进行拓扑检查的流程示意图。
图3为本发明拓扑发现辅助装置的总体结构示意图。
图4为本发明实施例中的网络芯片对端信息交换过程示意图。
图5为本发明带内外相结合的互连网络拓扑结构检查方法流程图。
图6为本发明带内外相结合的互连网络拓扑结构检查方法监控板管理软件通过带
外接口为芯片配置编号信息过程示意图。