一种支持多节点高端计算机系统中的链路检测方法

文档序号:10572504
一种支持多节点高端计算机系统中的链路检测方法
【专利摘要】本发明公开了一种支持多节点高端计算机系统中的链路检测方法,所述方法通过依次在各节点的处理器之间进行数据传送来检测各个链路状态。本发明方通过判断传输的成功与否,判断链路是否正常并报告相关结果;该方法的应用,大大降低了故障链路的定位时间,极大的提升了用户的体验感受。
【专利说明】
一种支持多节点高端计算机系统中的链路检测方法
技术领域
[0001]本发明涉及计算机技术领域,具体涉及一种支持多节点高端计算机系统中的链路检测方法,一种多节点系统各个节点之中,主节点选定的优化方法。
【背景技术】
[0002]可扩展高端计算机系统,一般由多个节点组成,节点之间的互连拓扑结构往往很复杂。节点间的互连链路有成百甚至上千条。而当多个节点进行数据交互时,任意一条链路不通,都会导致整个计算机系统宕机。
[0003]对计算机使用者或实施人员来说,在遇到由于链路不通造成宕机的情况时,往往需要耗费大量的时间来重复实验,定位故障链路。

【发明内容】

[0004]本发明要解决的技术问题是:本发明提出了一种支持多节点高端计算机系统中的链路检测方法,在多节点进行互连之前,对各个链路状态进行测试。若有故障时给出故障链路指示。该方法的应用,大大降低了故障链路的定位时间,极大的提升了用户的体验感受。
[0005]本发明所采用的技术方案为:
一种支持多节点高端计算机系统中的链路检测方法,所述方法通过依次在各节点的处理器之间进行数据传送来检测各个链路状态。
[0006]所述方法操作内容如下:
首先,对多节点高端计算机系统中各个节点的各个(PU进行唯一编码;
然后,分别在各个CPU链路之间设置flag(标记),表示各个CPU之间的连通与否;
之后运行链路检测程序;
当系统由于链路不通导致系统宕机时,读出系统已完成设置的flag,确定故障链路。
[0007]所述链路检测程序运行过程如下:
设置f IagX,bit0,用来表示CPUX到CPUO的链路连通与否;
首先使CPUO发出对其他各个CPU的访问,每次访问成功后都对f IagO的对应位置进行标记;
当CPUO的访问检测完成后,CPUO依次发出I,2,……N的命令,使CPUl到CPUN依次完成各自的访问检测;
非CPUO的其他CPU,在检测程序开始时,持续查询命令,若检测到命令与自身的ID相同时,依次发起对比自身ID数大的CPU的访问,每次访问成功后,设置相应的flag;
以上流程保证了系统在同一时间内只有一条链路在进行数据传输;
当系统由于链路不通导致系统宕机时,读出系统已完成设置的flag,其下一个bit所对应的链路即为故障链路;
如若flagX的最高位为0,对flagX从高位到低位进行监测,最后一个不为I的为bitY,则故障链路出现在CPU X-CPUY,再结合其他flag信息,准确判断出具体的故障链路。
[0008]CPU之间访问的命令发送接受过程由带外系统完成。
[0009]通过以上方法,完成了系统链路检测和故障链路定位。
[0010]本发明的有益效果为:
本发明方法通过在节点互连之前,依次在单个CPU之间的链路上进行数据传输,通过判断传输的成功与否,判断链路是否正常并报告相关结果。该方法的应用,大大降低了故障链路的定位时间,极大的提升了用户的体验感受。
【附图说明】
[0011]图1为发明方法涉及系统拓扑图;
图2为flag2解析不意图;
图3为检测流程图;
图4为各个节点CPU编码表。
【具体实施方式】
[0012]下面结合说明书附图,根据【具体实施方式】对本发明进一步说明:
实施例1:
一种支持多节点高端计算机系统中的链路检测方法,通过依次在各节点的处理器之间进行数据传送来检测各个链路状态。
[0013]实施例2
在实施例1的基础上,本实施例所述方法操作内容如下:
首先,对多节点高端计算机系统中各个节点的各个(PU进行唯一编码;
然后,分别在各个CPU链路之间设置flag(标记),表示各个CPU之间的连通与否;
之后运行链路检测程序;
当系统由于链路不通导致系统宕机时,读出系统已完成设置的flag,确定故障链路。
[0014]实施例3
在实施例2的基础上,本实施例所述链路检测程序运行过程如下:
设置f IagX,bit0,用来表示CPUX到CPUO的链路连通与否;
首先使CPUO发出对其他各个CPU的访问,每次访问成功后都对f IagO的对应位置进行标记;
当CPUO的访问检测完成后,CPUO依次发出I,2,……N的命令,使CPUl到CPUN依次完成各自的访问检测;
非CPUO的其他CPU,在检测程序开始时,持续查询命令,若检测到命令与自身的ID相同时,依次发起对比自身ID数大的CPU的访问,每次访问成功后,设置相应的flag;
以上流程保证了系统在同一时间内只有一条链路在进行数据传输;所以当系统由于链路不通导致系统宕机时,读出系统已完成设置的flag,其下一个bit所对应的链路即为故障链路;
如若flagX的最高位为0,对flagX从高位到低位进行监测,最后一个不为I的为bitY,则故障链路出现在CPU X-CPUY,再结合其他flag信息,准确判断出具体的故障链路。
[0015]实施例4 在实施例3的基础上,本实施例CPU之间访问的命令发送接受过程由带外系统完成。
[0016]通过以上方法,完成了系统链路检测和故障链路定位。
[0017]实施例4
在实施例3的基础上,本实施例以一个4节点的系统进行说明,如图1所示,该系统中4个节点,每个节点2个处理器;
对这4个节点的各个CPU进行唯一编码,如图4所示;
然后,设置多个flag,表示各个CPU之间的连通与否,如图2所示,FlagX,bit O,用来表示CPUX到CPUO的链路连通与否;
如图3流程图所示,首先使CPUO发出对其他各个CPU的访问,每次访问成功后都对f IagO的对应位置进行标记;
当CPUO的访问检测完成后,CPUO依次发出I,2,……7的命令,使CPUl到CPU7依次完成各自的访问检测;命令发送接受过程由带外系统完成;
非CPUO的其他CPU,在检测程序开始时,持续发出查询命令,若检测到命令与自身的ID相同时,依次发起对比自身ID数大的CPU的访问,每次访问成功后,设置相应的flag;
以上流程保证了系统在同一时间内只有一条链路在进行数据传输;
当系统由于链路不通导致系统宕机时,读出系统已完成设置的flag,其下一个bit所对应的链路即为故障链路;
如,若系统在链路检测时发生宕机,flagO= 0xfe,f Iagl=Oxfc ,flag2=0xf 8 ,flag3=0x30时,宕机链路为CPU3-CPU6的链路,且CPU3-B,CPU6-D的链路都没有问题,可得出是互连芯片B到D的链路故障。
[0018]如此,完成了系统链路检测和故障链路定位。
[0019]以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
【主权项】
1.一种支持多节点高端计算机系统中的链路检测方法,其特征在于:所述方法通过依次在各节点的处理器之间进行数据传送来检测各个链路状态。2.根据权利要求1所述的一种支持多节点高端计算机系统中的链路检测方法,其特征在于,所述方法操作内容如下: 首先,对多节点高端计算机系统中各个节点的各个CPU进行唯一编码; 然后,分别在各个CRJ链路之间设置flag,表示各个CRJ之间的连通与否; 之后运行链路检测程序; 当系统由于链路不通导致系统宕机时,读出系统已完成设置的flag,确定故障链路。3.根据权利要求2所述的一种支持多节点高端计算机系统中的链路检测方法,其特征在于,所述链路检测程序运行过程如下: 设置f I agX,b i t O,用来表示CPUX到CRJO的链路连通与否; 首先使CPUO发出对其他各个CPU的访问,每次访问成功后都对f IagO的对应位置进行标记; 当CPUO的访问检测完成后,CPUO依次发出I,2,……N的命令,使CPUI到CPUN依次完成各自的访问检测; 非CPUO的其他CPU,在检测程序开始时,持续查询命令,若检测到命令与自身的ID相同时,依次发起对比自身ID数大的CPU的访问,每次访问成功后,设置相应的flag; 当系统由于链路不通导致系统宕机时,读出系统已完成设置的flag,其下一个bit所对应的链路即为故障链路; 如若flagX的最高位为0,对flagX从高位到低位进行监测,最后一个不为I的为bitY,则故障链路出现在CPU X-CPUY,再结合其他flag信息,准确判断出具体的故障链路。4.根据权利要求3所述的一种支持多节点高端计算机系统中的链路检测方法,其特征在于:CPU之间访问的命令发送接受过程由带外系统完成。
【文档编号】H04L12/26GK105933143SQ201610220814
【公开日】2016年9月7日
【申请日】2016年4月11日
【发明人】黄家明, 乔英良, 王建红
【申请人】浪潮电子信息产业股份有限公司
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1