有效
一种高速互连网络拓扑发现方法,装置,介质及高性能计算系统
曹继军、徐炜遐、常俊胜、刘路、戴艺、肖灿文、王强、王武芳、徐佳庆、熊泽宇、翦杰、王子聪
中国人民解放军国防科技大学
曹
曹继军 专利 37
中国人民解放军国防科技大学数字信息传输电通信技术电学
徐
徐炜遐 专利 77
中国人民解放军国防科技大学计算技术物理仪器电子数据处理
常
常俊胜 专利 70
中国人民解放军国防科技大学电子数据处理通用计算机数字信息传输
刘
刘路 专利 28
中国人民解放军国防科技大学数据交换网数字信息传输电通信技术
戴
戴艺 专利 39
中国人民解放军国防科技大学数据交换网数字信息传输电通信技术
肖
肖灿文 专利 30
中国人民解放军国防科技大学数据交换网数字信息传输电通信技术
王
王强 专利 61
中国人民解放军国防科技大学电子数据处理电通信技术计算技术
王
王武芳 专利 2
中国人民解放军国防科技大学网络管理数据交换网数字信息传输
徐
徐佳庆 专利 47
中国人民解放军国防科学技术大学电通信技术电学数字信息传输
熊
熊泽宇 专利 34
中国人民解放军国防科技大学数字信息传输电子数据处理计算技术
翦
翦杰 专利 19
中国人民解放军国防科技大学电通信技术数字信息传输电子数据处理
王
王子聪 专利 36
中国人民解放军国防科技大学电子数据处理计算技术物理仪器
摘要
本发明公开了一种高速互连网络拓扑发现方法,装置,介质及高性能计算系统,其中拓扑发现方法的步骤包括从本节点的网络接口芯片开始读取对端标记信息并加入种子队列,针对种子队列逐步迭代寻找对端标记信息记入邻接表并构建指向该对端网络接口芯片的源路由表表项,最后将邻接表表达的实际拓扑结构和期望拓扑结构进行对比以发现错误的端口连接关系,本发明还公开前述高速互连网络拓扑发现方法对应的装置、介质及高性能计算系统。本发明支持快速实现网络拓扑结构发现、支持对实际拓扑结构和期望拓扑结构进行对比,以发现错误的端口连接关系,从而缩短互连网络调试时间、提高互连网络构建效率。
1.一种用于高性能计算系统的高速互连网络拓扑发现方法,其特征在于实施步骤包括:1)初始化种子队列和邻接表为空;2)访问本节点的网络接口芯片中的对端标记信息,并将该对端标记信息中的记录的网络接口芯片加入种子队列;网络接口芯片的每个网络端口都既主动周期性的发送携带本端标记信息的链路层控制报文,又被动周期性的接收到携带对端标记信息的链路层控制报文,从而实现相连接的两个网络端口实时保存了各自对方端口的标记信息;3)构建指向对端网络接口芯片的源路由表表项,所述源路由表为在管理服务器内存中分配的用来记录管理服务器与各个网络芯片间往返路由路径的数据结构;4)将种子队列中的第一个网络交换芯片作为当前网络交换芯片并从种子队列中删除;5)访问当前网络交换芯片所有端口的对端标记信息;6)取出当前网络交换芯片一个未处理端口的对端标记信息,当该端口的对端标记信息指明该端口连接到的网络交换芯片为NRC芯片时,如果该端口连接到的网络交换芯片的编号CHIP_ID未记入邻接表,则将该端口连接到的网络交换芯片加入种子队列,并构建指向该交换芯片的源路由表表项;如果该端口连接到的网络交换芯片的编号CHIP_ID已记入邻接表,则无需处理;该端口连接到的网络交换芯片是否还有未处理端口,若有则执行步骤6);否则若有则执行步骤7);当该端口的对端标记信息指明该端口连接到的网络交换芯片为NIC芯片时,则将该端口连接到的网络交换芯片的CHIP_ID记录到邻接表;所述网络交换芯片的编号CHIP_ID为监控板管理软件通过带外接口配置;7)判断种子队列是否为空,若种子队列非空,则跳转步骤4);若种子队列为空,则输出记录了所有可达网络芯片各端口的连接信息的邻接表;8)将所述邻接表作为最终得到的实际拓扑结构,将实际拓扑结构和期望拓扑结构进行对比以发现错误的端口连接关系。
2.根据权利要求1所述的用于高性能计算系统的高速互连网络拓扑发现方法,其特征在于,步骤8)的详细步骤包括:8.1)载入用户指定的标准拓扑连接文件记为期望拓扑结构;8.2)取出期望拓扑结构信息中未处理的端口连接信息 X - Y ,其中 X 和 Y 分别表示两个网络端口,具体包含<CHIP_TYPE, CHIP_ID, PORT_ID>三元组信息,根据其在实际拓扑结构中的状态分为以下情况:若实际拓扑结构中不存在与 X 的连接,说明端口X的实际连接断开,输出错误说明信息;若实际拓扑结构中存在与 X 的连接,但是连接对方不是 Y ,说明连接关系错误,输出该错误说明信息;若实际拓扑中存在 X - Y 的连接,说明连接正确;8.3)判断期望拓扑结构中是否有未处理的端口连接信息,若还有处理的端口连接信息,则跳转执行步骤8.2);否则,拓扑结构检查结束,退出。
3.一种用于高性能计算系统的高速互连网络拓扑发现装置,包括计算机设备,其特征在于,该计算机设备被编程或配置以执行权利要求1或2所述用于高性能计算系统的高速互连网络拓扑发现方法的步骤,或者该计算机设备的存储器上存储有被编程或配置以执行权利要求1或2所述用于高性能计算系统的高速互连网络拓扑发现方法的计算机程序。
4.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有被编程或配置以执行权利要求1或2所述用于高性能计算系统的高速互连网络拓扑发现方法的计算机程序。
5.一种用于应用权利要求1或2所述用于高性能计算系统的高速互连网络拓扑发现方法的高性能计算系统,包括计算节点、交换节点、监控节点,所述计算节点、交换节点、监控节点均通过高速互连网络相连,任意相邻计算节点之间通过一个或多个交换节点相连,每一个计算节点、交换节点均对应有一个监控节点,其特征在于,所述计算节点和交换节点的网络接口芯片中均包含位于端口逻辑层的拓扑发现辅助装置,所述拓扑发现辅助装置包括:端口标记信息存储模块(11),用于存储本端标记信息以及对端标记信息,所述本端标记信息包括本网络接口芯片的类型、编号及端口信息,所述对端标记信息包括连接到本网络接口芯片的某个端口的另一本网络接口芯片的类型、编号及端口信息;端口标记信息控制模块(12),用于管理本端标记信息及对端标记信息的存储以及进行;本端标记信息发送模块(13),用于从端口标记信息控制模块(12)接收链路层控制报文,并根据链路状态启动报文发送至物理链路;对端标记信息接收模块(14),用于从物理链路层接收链路层控制报文,并根据报文携带的对端标记信息更新端口标记信息存储模块(11)中存储的对端标记信息的值;带内访问接口模块(15),用于接收针对本网络芯片的带内访问的管理请求报文并返回管理响应报文;带外访问接口模块(16),用于接收针对本网络芯片的带外访问的管理请求报文并返回管理响应报文;所述端口标记信息控制模块(12)分别与端口标记信息存储模块(11)、本端标记信息发送模块(13)、对端标记信息接收模块(14)、带内访问接口模块(15)、带外访问接口模块(16)分别相连,所述本端标记信息发送模块(13)、对端标记信息接收模块(14)分别与物理链路相连,所述带内访问接口模块(15)用于与软件层的带内管理服务器软件相连,所述带外访问接口模块(16)用于与软件层的监控板管理软件相连。
6.根据权利要求5所述的高性能计算系统,其特征在于,所述端口标记信息存储模块(11)包含本端标记信息配置寄存器REG_CFG_LOCAL和对端标记信息状态寄存器REG_STA_PEER,所述本端标记信息配置寄存器REG_CFG_LOCAL用来保存本端口的<CHIP_TYPE, CHIP_ID, PORT_ID>信息,所述对端标记信息状态寄存器REG_STA_PEER用来保存对端端口的<CHIP_TYPE, CHIP_ID, PORT_ID>信息,其中CHIP_TYPE表示为网络接口芯片类型为NIC芯片或NRC芯片,CHIP_ID为网络接口芯片的编号,PORT_ID为端口编号,所述端口标记信息控制模块(12)用于从带内访问接口模块(15)接收寄存器读写请求,如果是寄存器读请求,则端口标记信息控制模块(12)从端口标记信息存储模块(11)的读请求指定的本端标记信息配置寄存器REG_CFG_LOCAL或对端标记信息状态寄存器REG_STA_PEER,进而读取本端标记信息或对端标记信息,并将本端标记信息或对端标记信返回给带内访问接口模块(15);如果是寄存器写请求,则端口标记信息控制模块(12)向端口标记信息存储模块(11)中指定的本端标记信息配置寄存器REG_CFG_LOCAL或对端标记信息状态寄存器REG_STA_PEER的写入值,并写入本端标记信息或对端标记信息;所述端口标记信息控制模块(12)还用于从带外访问接口模块(16)接收寄存器读写请求,如果是寄存器读请求,则端口标记信息控制模块(12)从端口标记信息存储模块11读取指定的本端标记信息配置寄存器REG_CFG_LOCAL或对端标记信息状态寄存器REG_STA_PEER,进而读取本端标记信息或对端标记信息,并将本端标记信息或对端标记信息返回给带外访问接口模块(16);如果是寄存器写请求,则端口标记信息控制模块(12)向端口标记信息存储模块(11)中指定的本端标记信息配置寄存器REG_CFG_LOCAL或对端标记信息状态寄存器REG_STA_PEER的写入值,并写入本端标记信息或对端标记信息;所述端口标记信息控制模块(12)还用于从对端标记信息接收模块(14)接收携带对端标记信息的链路层控制报文,提取链路层控制报文中的对端标记信息<CHIP_TYPE, CHIP_ID, PORT_ID>,并向端口标记信息存储模块(11)写入对端标记信息;所述端口标记信息控制模块(12)还用于周期性地从端口标记信息存储模块(11)从本端标记信息配置寄存器REG_CFG_LOCAL读取本端标记信息,并将本端标记信息生成链路层控制报文后通过本端标记信息发送模块(13)发送到物理链路上;所述端口标记信息控制模块(12)还用于从对端标记信息接收模块(14)接收携带对端标记信息的链路层控制报文,提取链路层控制报文中的对端标记信息<CHIP_TYPE, CHIP_ID, PORT_ID>;向端口标记信息存储模块11写入对端标记信息;所述端口标记信息控制模块(12)包括访问寄存器请求仲裁器,所述访问寄存器请求仲裁器用于仲裁对本端标记信息配置寄存器REG_CFG_LOCAL和对端标记信息状态寄存器REG_STA_PEER的访问请求,且针对请求源进行仲裁的优先级从高到低的顺序为:带内访问接口模块(15)、带外访问接口模块(16)、对端标记信息接收模块(14)、本端标记信息发送模块(13)。
7.根据权利要求6所述的高性能计算系统,其特征在于,所述本端标记信息发送模块(13)用于从端口标记信息控制模块(12)接收链路层控制报文,并根据链路状态启动报文发送:如果本端口链路处于未握手成功状态,则丢弃该链路层控制报文;如果本端口链路握手成功且网络链路处于空闲状态,则直接发送该链路层控制报文到物理链路层;如果本端口链路握手成功且网络链路状态处于占用状态,则等待链路空闲后发送该链路层控制报文到物理链路层;如果有链路层控制报文处于等待链路空闲状态,则直接丢弃新到达的链路层控制报文。
8.根据权利要求6所述的高性能计算系统,其特征在于,所述对端标记信息接收模块(14)用于从物理链路层接收链路层控制报文,从链路层控制报文中提取<CHIP_TYPE,CHIP_ID, PORT_ID>信息;向端口标记信息控制模块(12)发送针对本端口标记信息存储模块(11)寄存器的访问请求;如果访问请求获端口标记信息控制模块(12)仲裁许可,则端口标记信息控制模块(12)将<CHIP_TYPE, CHIP_ID, PORT_ID>信息写入端口标记信息存储模块(11)的对端标记信息状态寄存器REG_STA_PEER,否则等待请求被仲裁许可。
9.根据权利要求6所述的高性能计算系统,其特征在于,所述带内访问接口模块(15)用于将来自带内管理服务器软件的管理请求报文转换为访问端口标记信息存储模块(11)内寄存器的请求,将寄存器请求提交给端口标记信息控制模块(12),并将端口标记信息控制模块(12)返回的端口标记信息构造成管理响应报文返回给带内管理服务器软件,其中管理响应报文携带路由域信息直接来自于相应的管理请求报文,其中路由域信息格式为:<HopCnt, Hop1, Hop2,…,Hop n >,其中HopCnt为路由跳步数,表示管理报文达到目的网络芯片需要经过的交换芯片数目;其中Hop t 为第 t 跳路由输出端口,表示从当前网络交换芯片编号为Hop t 的端口输出管理报文, t 为正整数,1≤ t ≤ n , n 为总跳步数。
10.根据权利要求6所述的高性能计算系统,其特征在于,所述带外访问接口模块(16)用于将本节点对应的监控节点的带外控制信号转换为访问端口标记信息存储模块(11)内寄存器的请求,将寄存器请求提交给端口标记信息控制模块(12),并将从端口标记信息控制模块(12)获取的端口标记信息返回给监控节点。



