CN113064850A - 拓扑检测处理方法、装置、服务器及可读存储介质 - Google Patents
拓扑检测处理方法、装置、服务器及可读存储介质 Download PDFInfo
- Publication number
- CN113064850A CN113064850A CN202110386063.5A CN202110386063A CN113064850A CN 113064850 A CN113064850 A CN 113064850A CN 202110386063 A CN202110386063 A CN 202110386063A CN 113064850 A CN113064850 A CN 113064850A
- Authority
- CN
- China
- Prior art keywords
- cpld module
- gpu
- information
- target
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 26
- 238000003672 processing method Methods 0.000 title claims abstract description 11
- 238000012545 processing Methods 0.000 claims abstract description 50
- 238000000034 method Methods 0.000 claims abstract description 29
- 238000012795 verification Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种拓扑检测处理方法、装置、服务器及可读存储介质,涉及服务器系统管理领域。方法包括:当服务器启动时,通过第二CPLD模块基于与第二CPLD模块连接的连接器的标识,确定目标位置标识;基于位置标识与GPU拓扑信息的关联关系,通过第二CPLD模块确定与目标位置标识对应的目标GPU拓扑信息;通过第一CPLD模块从第二CPLD模块获取目标GPU拓扑信息,并将目标GPU拓扑信息输出至处理模块,用于分配与目标GPU拓扑信息对应的PCIe根端口,如此,能改善服务器获取GPU拓扑因人工操作存在错误且识别的效率低的问题。
Description
技术领域
本申请涉及服务器系统管理领域,具体而言,涉及一种拓扑检测处理方法、装置、服务器及可读存储介质。
背景技术
随着云计算、大数据、人工智能的推广,基于图形处理器(Graphics ProcessingUnit,GPU)的服务器凭借突出的图形处理能力、高性能的数据计算能力,在深度学习训练、深度学习推理等领域占有越大越大的市场份额。在GPU服务器系统中,通常会使用中央处理器(Central Processing Unit,CPU)主板搭配GPU底板来实现深度学习训练、推理等应用,并根据不同的业务应用场景选择性能配置相匹配的GPU拓扑来实现业务,从而防止性能过剩。目前,通常采用处理器的通用输入输出口连接到开关组件(Switch),以区分GPU系统配置,在组装前,人工将对应的拨码开关(DIAL SW)拨到相对应的位置,用于区分不同GPU拓扑,供处理器在服务器系统开机前查询。由于该方式是人工操作,存在误操作的可能,且操作的效率低,从而导致服务器识别的GPU拓扑存在错误,且识别效率低的问题。
发明内容
本申请实施例的目的在于提供一种拓扑检测处理方法、装置、服务器及可读存储介质,能够改善服务器获取GPU拓扑因人工操作存在错误且识别的效率低的问题。
为了实现上述目的,本申请的实施例通过如下方式实现:
第一方面,本申请实施例提供一种拓扑检测处理方法,应用于服务器,所述服务器包括设置有处理模块及第一CPLD模块的主板,以及设置有第二CPLD模块的GPU底板,所述方法包括:
当所述服务器启动时,通过所述第二CPLD模块基于与所述第二CPLD模块连接的连接器的标识,确定目标位置标识;
基于位置标识与GPU拓扑信息的关联关系,通过所述第二CPLD模块确定与所述目标位置标识对应的目标GPU拓扑信息;
通过所述第一CPLD模块从所述第二CPLD模块获取所述目标GPU拓扑信息,并将所述目标GPU拓扑信息输出至所述处理模块,用于分配与所述目标GPU拓扑信息对应的PCIe根端口。
在上述的实施方式中,通过将位置标识与GPU拓扑信息进行关联,不同GPU拓扑信息与不同的位置标识关联,如此,在服务器的系统启动时,便可以直接基于关联关系和目标位置标识,确定当前的GPU拓扑信息作为目标GPU拓扑信息,从而实现GPU拓扑信息的检测与获取。由服务器自动识别拓扑,无需人工区分,从而提高识别检测的稳定性,降低因人工操作导致的错误,方便服务器基于获取的GPU拓扑信息进行后续的PCIe根端口分配,改善服务器获取GPU拓扑因人工操作存在错误且识别的效率低的问题。
结合第一方面,在一些可选的实施方式中,在通过所述第二CPLD模块基于与所述第二CPLD模块连接的连接器的标识,确定目标位置标识之前,所述方法还包括:
创建并存储位置标识与GPU拓扑信息的关联关系,所述关联关系包括所述目标GPU拓扑信息与所述目标位置标识的对应关系。
在上述的实施方式中,通过创建并存储位置标识与GPU拓扑信息的关联关系,方便服务器后续基于位置标识检测并获取目标GPU拓扑信息,以实现PCIe根端口的自动分配。
结合第一方面,在一些可选的实施方式中,通过所述第一CPLD模块从所述第二CPLD模块获取所述目标GPU拓扑信息,包括:
通过所述第二CPLD模块获取所述GPU底板的底板信息,并将所述底板信息编码成密文数据输出至所述第一CPLD模块,所述底板信息包括所述目标GPU拓扑信息;
通过所述第一CPLD模块中的解码器对所述密文数据进行解码得到明文数据;
当所述明文数据满足预设条件时,确定对所述底板信息的校验通过,并从所述明文数据中获取表征所述目标GPU拓扑信息的数据。
在上述的实施方式中,通过对底板信息进行校验,可以提高服务器系统的安全性能。
结合第一方面,在一些可选的实施方式中,通过所述第二CPLD模块获取所述GPU底板的底板信息,并将所述底板信息编码成密文数据输出至所述第一CPLD模块,包括:
通过所述第二CPLD模块从所述GPU底板中的寄存器获取所述GPU底板的底板信息;
通过所述第二CPLD模块中的编码器将所述底板信息编码成密文数据,并将所述密文数据输出至所述第一CPLD模块。
在上述的实施方式中,通过寄存器存储底板信息,方便信息的获取以及避免底板信息的丢失。
结合第一方面,在一些可选的实施方式中,通过所述第一CPLD模块中的解码器对所述密文数据进行解码得到明文数据,包括:
通过所述第一CPLD模块中的所述解码器,从所述第一CPLD模块中的FIFO存储器获取所述密文数据,并对所述密文数据进行解码得到明文数据。
结合第一方面,在一些可选的实施方式中,通过所述第一CPLD模块从所述第二CPLD模块获取所述目标GPU拓扑信息,并将所述目标GPU拓扑信息输出至所述处理模块,包括:
通过所述第一CPLD模块从所述第二CPLD模块中的寄存器获取所述目标GPU拓扑信息;
在将目标GPU拓扑信息存储于所述第一CPLD模块的锁存器后,通过所述第一CPLD模块将所述目标GPU拓扑信息通过通用输入输出接口输出至所述处理模块。
在上述的实施方式中,通过锁存器对目标GPU拓扑信息进行锁存,有利于避免目标GPU信息被轻易更改,提高系统的稳定性。
第二方面,本申请还提供一种拓扑检测处理装置,应用于服务器,所述服务器包括设置有处理模块及第一CPLD模块的主板,以及设置有第二CPLD模块的GPU底板,所述装置包括:
标识确定单元,用于当所述服务器启动时,通过所述第二CPLD模块基于与所述第二CPLD模块连接的连接器的标识,确定目标位置标识;
拓扑信息确定单元,用于基于位置标识与GPU拓扑信息的关联关系,通过所述第二CPLD模块确定与所述目标位置标识对应的目标GPU拓扑信息;
拓扑信息获取单元,用于通过所述第一CPLD模块从所述第二CPLD模块获取所述目标GPU拓扑信息,并将所述目标GPU拓扑信息输出至所述处理模块,用于分配与所述目标GPU拓扑信息对应的PCIe根端口。
第三方面,本申请还提供一种服务器,所述服务器包括设置有处理模块及第一CPLD模块的主板,以及设置有第二CPLD模块的GPU底板;
当所述服务器启动时,所述第二CPLD模块,用于基于与所述第二CPLD模块连接的连接器的标识,确定目标位置标识;
所述第二CPLD模块还用于基于位置标识与GPU拓扑信息的关联关系,确定与所述目标位置标识对应的目标GPU拓扑信息;
所述第一CPLD模块用于从所述第二CPLD模块获取所述目标GPU拓扑信息,并将所述目标GPU拓扑信息输出至所述处理模块,用于分配与所述目标GPU拓扑信息对应的PCIe根端口。
结合第三方面,在一些可选的实施方式中,所述第二CPLD模块还用于获取所述GPU底板的底板信息,并将所述底板信息编码成密文数据输出至所述第一CPLD模块,所述底板信息包括所述目标GPU拓扑信息;
所述第一CPLD模块中的解码器用于对所述密文数据进行解码得到明文数据;
当所述明文数据满足预设条件时,所述第一CPLD模块还用于确定对所述底板信息的校验通过,并从所述明文数据中获取表征所述目标GPU拓扑信息的数据。
第四方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的服务器的结构示意图之一。
图2为本申请实施例提供的服务器中的主板与GPU底板的部分连接示意图之一。
图3为本申请实施例提供的服务器的结构示意图之二。
图4为本申请实施例提供的服务器中的主板与GPU底板的部分连接示意图之二。
图5为本申请实施例提供的拓扑检测处理方法的流程示意图。
图6为本申请实施例提供的拓扑检测处理装置的框图。
图标:10-服务器;20-主板;21-处理模块;22-第一CPLD模块;23-锁存器;24-解码器;25-FIFO存储器;30-GPU底板;31-第二CPLD模块;32-编码器;33-时钟发生器;34-串行器;35-寄存器;36-PCIe开关组件;37-PCIe开关组件;40-连接器;41-Slimline连接器;42-Slimline连接器;43-Slimline连接器;44-Slimline连接器;200-拓扑检测处理装置;210-标识确定单元;220-拓扑信息确定单元;230-拓扑信息获取单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。需要说明的是,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
申请人发现,在GPU服务器系统中,通常会使用CPU主板搭配GPU底板来实现深度学习训练、推理等应用,并根据不同的业务应用场景选择性能配置相匹配的GPU拓扑来实现业务。不同的GPU拓扑,主板PCIe(Peripheral Component Interconnect Express,高速串行计算机扩展总线标准)根端口(Root Port,RP)的分配方式不同。需要GPU服务器在系统启动前,由基本输入输出系统(Basic Input Output System,BIOS)准确获取GPU拓扑信息,并基于GPU拓扑信息进行PCIe RP分配,以实现GPU的配置。目前,GPU服务器通常无法在系统启动前,准确获取GPU拓扑信息,通常是人工的方式进行GPU配置,导致效率低,且存在人工操作错误的风险。
或者,GPU服务器系统通过另一种方式获取GPU拓扑信息,方式如下:将GPU拓扑信息编译成固件(Firmware,FW),烧录至现场可更换单元(Field Replace Unit,FRU)中,CPU通过与基板管理控制器(Baseboard Management Controller,BMC)进行信息交互,从而获取GPU拓扑信息。但此方式会导致系统启动时间变慢,并且亦存在人工误烧录可能。另外,如果BMC或FRU芯片出现故障,处理器无法准确获得拓扑信息,甚至会出现系统无法开机等问题。
鉴于上述问题,本申请发明人提出以下实施例以解决上述问题。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,本申请提供一种服务器10,服务器10包括主板20和GPU底板30。主板20设置有处理模块21及CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)模块。GPU底板30设置有另一CPLD模块。可理解地,为便于区分,主板20上的CPLD模块即为第一CPLD模块22,GPU底板30上的CPLD模块为第二CPLD模块31。
在本实施例中,处理模块21可以通过第一CPLD模块22与第二CPLD模块31连接,另外,处理模块21还通过连接器40与第二CPLD模块31连接。
第一CPLD模块22可以包括锁存器23、解码器24以及FIFO(First In First Out,先入先出)存储器。
第二CPLD模块31可以包括编码器32及寄存器35。其中,编码器32可以包括时钟发生器33及串行器34。
处理模块21可以通过连接器与寄存器35连接。寄存器35与编码器32中的串行器34连接,串行器34与时钟发生器33连接,串行器34还与第一CPLD模块22中的FIFO存储器25连接,FIFO存储器25还与解码器24连接,解码器24通过锁存器23与处理模块21连接。
请参照图2,连接器可以包括一个或多个Slimline连接器。示例性地,连接器可以包括4个Slimline连接器,分别为Slimline连接器41、Slimline连接器42、Slimline连接器43以及Slimline连接器44。不同的Slimline连接器可以预先设置有相应的身份标识(Identity,ID),该身份标识可以为Slimline连接器的Position ID。通常而言,不同的GPU拓扑,需要不同的连接器与GPU底板30中的第二CPLD模块31连接,因此,不同的GPU拓扑可以通过与第二CPLD模块31相连的连接器的Position ID进行区分。
请参照图3,图3可理解为图2结合到图1中时的结构示意图。在本实施例中,第二CPLD模块31中的寄存器35可以存储有GPU底板30的底板信息,底板信息可以包括GPU拓扑信息与位置标识的关联关系,另外,底板信息还可以包括但不限于GPU底板30的系统类型、GPU底板30的IO口类型、GPU底板30的板卡类型等,底板信息可以根据实际情况进行灵活设置,这里对底板信息不作具体限定。
在本实施例中,编码器32中的时钟发生器33可以对第二CPLD模块31的时钟分频,比如,产生100kHz(kHz为千赫兹,指频率单位)SCLK。SCLK是服务器10的基准时钟,用于串行译码器的编解码以及GPU底板30和主板20信息交互通道的串行同步时钟。当然,时钟发生器33所产生的时钟频率可以根据实际情况进行灵活设置,这里不作具体限定。
串行器34可以基于时钟发生器33产生的时钟信号,将寄存器35中的数据编码转换成串行数据,该串行数据通常为密文数据,然后输出至第一CPLD模块22。第一CPLD模块22中的FIFO存储器25可以缓存串行数据,避免传输过程中数据丢失。解码器24可以从FIFO存储器25中获取串行数据,并将串行数据解码转换为并行数据,转换得到的并行数据即为明文数据。锁存器23可以用于锁存相应的明文数据,如锁存目标GPU拓扑信息,以避免目标GPU拓扑信息轻易发生变化。
在本实施例中,处理模块21可以包括一个或多个中央处理器。例如,处理模块21可以包括主处理器及从处理器,主处理器与第一CPLD模块22、Slimline连接器41、Slimline连接器42连接。从处理器与Slimline连接器43、Slimline连接器44连接。
请结合参照图2和图3,为服务器10在第一模式下连接器与GPU底板30中的PCIe和第二CPLD模块31的连接示意图。图4为服务器10在第二模式下,连接器与GPU底板30中的PCIe和第二CPLD模块31的连接示意图。图中连接的虚线表示处于断开状态的线路,实线表示连接的线路。
请参照图5,本申请还提供一种拓扑链路检测处理方法,可以应用于上述的服务器10中,由服务器10执行或实现方法的各步骤,方法可以包括如下步骤:
步骤S110,当服务器10启动时,通过第二CPLD模块31基于与所述第二CPLD模块31连接的连接器的标识,确定目标位置标识;
步骤S120,基于位置标识与GPU拓扑信息的关联关系,通过所述第二CPLD模块31确定与所述目标位置标识对应的目标GPU拓扑信息;
步骤S130,通过第一CPLD模块22从所述第二CPLD模块31获取所述目标GPU拓扑信息,并将所述目标GPU拓扑信息输出至所述处理模块21,用于分配与所述目标GPU拓扑信息对应的PCIe根端口。
在上述的实施方式中,通过将位置标识与GPU拓扑信息进行关联,不同GPU拓扑信息与不同的位置标识关联,如此,在服务器10的系统启动时,便可以直接基于关联关系和目标位置标识,确定当前的GPU拓扑信息作为目标GPU拓扑信息,从而实现GPU拓扑信息的检测与获取,方便服务器10基于获取的GPU拓扑信息进行后续的PCIe根端口分配,改善服务器10获取GPU拓扑因人工操作存在错误且识别的效率低的问题。
下面将对方法的各步骤进行详细阐述,如下:
在步骤S110中,“服务器10启动时”可理解为用户按下服务器10的电源开关后,服务器10的系统还未完全启动这一期间的任一时刻。此时,服务器10的BIOS可以运行。当服务器10启动时,主板20中的处理模块21、第一CPLD模块22,以及GPU底板30上的第二CPLD模块31均可以运行。第二CPLD模块31可以自动获取与第二CPLD模块31自身所连的连接器的标识,从而确定目标位置标识,目标位置标识即为与当前的GPU拓扑信息对应的位置标识。
示例性地,请结合参照图1至图3,假设:
Slimline连接器41的Position ID:000;
Slimline连接器42的Position ID:001;
Slimline连接器43的Position ID:100;
Slimline连接器44的Position ID:101;
在第一模式下,Slimline连接器41和Slimline连接器43与第二CPLD模块31连接,Slimline连接器42和Slimline连接器44未与第二CPLD模块31连接,此时,第二CPLD模块31可以将Slimline连接器41及Slimline连接器43的Position ID进行拼接,从而得到目标位置标识“100000”。需要说明的是,标识的拼接方式可以根据实际情况进行设置,可以是Slimline连接器41的标识在前,或者是Slimline连接器43的标识在前。
另外,在第一模式下,Slimline连接器41还与PCIe开关组件36连接,Slimline连接器43还与PCIe开关组件37连接。PCIe开关组件即为PCIe Switch,为本领域技术人员熟知。
请参照图4,在第二模式下,Slimline连接器41和Slimline连接器42与第二CPLD模块31连接,此时,第二CPLD模块31可以将Slimline连接器41及Slimline连接器42的Position ID“000”、“001”进行拼接,从而得到目标位置标识“001000”。在第二模式下,Slimline连接器41还与PCIe开关组件36连接,Slimline连接器42还与PCIe开关组件37连接。
在步骤S120中,第二CPLD模块31的寄存器35可以预先存储有位置标识与GPU拓扑信息的关联关系,不同的位置标识对应不同的GPU拓扑信息。第二CPLD模块31可以存储一组或多组位置标识与GPU拓扑信息的关联关系,这里对关联关系的组数不作具体限定。基于寄存器35中存储的关联关系和当前所确定的目标位置标识,第二CPLD模块31便可以从寄存器35中确定出与目标位置标识相关联的GPU拓扑信息,以作为目标GPU拓扑信息。
在步骤S130中,第二CPLD模块31可以将所确定的目标GPU拓扑信息输出至第一CPLD模块22,然后由第一CPLD模块22将目标GPU拓扑信息输出至处理模块21。处理模块21在接收到目标GPU拓扑信息后,便可以基于目标GPU拓扑信息,对PCIe根端口进行分配,以实现对GPU资源的分配。其中,对PCIe根端口可以对应不同的GPU,通过PCIe根端口的开/关控制,便可以启动相应的GPU资源,所启动的GPU资源可以根据实际业务的运算需求进行灵活分配,这里不作具体限定。如此,服务器10可以自动检测并获取当前的GPU拓扑信息,并完成PCIe根端口的自动分配,替换人工分配的方式,从而能够改善服务器10获取GPU拓扑因人工操作存在错误且识别的效率低的问题。
若第二CPLD模块31的寄存器35中,没有存储位置标识与GPU拓扑信息的关联关系,在步骤S110之前,方法还可以包括创建并存储该关联关系的步骤。例如,在步骤S110之前,方法还可以包括:
创建并存储位置标识与GPU拓扑信息的关联关系,所述关联关系包括所述目标GPU拓扑信息与所述目标位置标识的对应关系。
可理解地,服务器10或管理人员可以在服务器10的系统正常运行期间,基于当前连接器中各个Slimline连接器与第二CPLD模块31的连接关系及对应的GPU拓扑信息,创建位置标识与GPU拓扑信息的关联关系。其中,该关联关系可以存储在第二CPLD模块31的寄存器35中。由于寄存器35所存储的关联关系中包括目标GPU拓扑信息与目标位置标识的对应关系,如此,后续服务器10在检测GPU拓扑信息时,便可以由第二CPLD模块31从寄存器35中基于目标位置标识提取得到目标GPU拓扑信息。
当然,管理人员后续可以根据实际情况,对关联关系进行维护与修改。例如,在运行期间,管理人员可以通过服务器10删除部分位置标识与GPU拓扑信息的关联关系,修改位置标识与GPU拓扑信息的关联关系,新增位置标识与GPU拓扑信息的关联关系等。
在本实施例中,步骤S130可以包括:
通过所述第二CPLD模块31获取所述GPU底板30的底板信息,并将所述底板信息编码成密文数据输出至所述第一CPLD模块22,所述底板信息包括所述目标GPU拓扑信息;
通过所述第一CPLD模块22中的解码器24对所述密文数据进行解码得到明文数据;
当所述明文数据满足预设条件时,确定对所述底板信息的校验通过,并从所述明文数据中获取表征所述目标GPU拓扑信息的数据。
可理解地,第二CPLD模块31具有编码功能,可以将底板信息编码成密文数据,以避免底板信息在传输过程中造成数据泄露,提高数据传输的安全性。第一CPLD模块22中的解码器24可以对密文数据进行解码,从而得到明文数据。
预设条件可以根据实际情况进行确定,通常而言,解码后得到的明文数据通常存在校验码,第一CPLD模块22可以通过校验码进行校验,校验码可以由第二CPLD模块31根据实际情况进行灵活设置。在对校验码进行校验时,第一CPLD模块22可以存储与校验码对应的参考码,若参考码与校验码相同或相匹配,则对校验码的校验通过,并确定明文数据满足预设条件。参考码与校验码不同或不匹配,则对校验码的校验未通过,并确定明文数据不满足预设条件。可理解地,对明文数据进行校验的方式可以根据实际情况进行灵活设置,这里不作具体限定。
其中,通过所述第二CPLD模块31获取所述GPU底板30的底板信息,并将所述底板信息编码成密文数据输出至所述第一CPLD模块22,可以包括:
通过所述第二CPLD模块31从所述GPU底板30中的寄存器35获取所述GPU底板30的底板信息;
通过所述第二CPLD模块31中的编码器32将所述底板信息编码成密文数据,并将所述密文数据输出至所述第一CPLD模块22。
在本实施例中,GPU底板30中的寄存器35可以包括mBit的存储空间,寄存器35的地址即为0~m-1,其中,寄存器35中的0~7位可以作为校验码,比如,作为Checksum。可理解地,预留8bit作为Checksum使用,可以避免信息传输出现误码。寄存器35中的8~m-1可以用于存储底板信息,例如,存储GPU拓扑信息。其中,m为整数,可以根据实际情况进行确定,这里不作具体限定。
在本实施例中,由GPU底板30中的寄存器35存储底板信息,有利于避免底板信息出现丢失,另外,也方便第二CPLD模块31快捷获取底板信息。
在本实施例中,通过所述第一CPLD模块22中的解码器24对所述密文数据进行解码得到明文数据,可以包括:
通过所述第一CPLD模块22中的所述解码器24,从所述第一CPLD模块22中的FIFO存储器25获取所述密文数据,并对所述密文数据进行解码得到明文数据。
可理解地,FIFO存储器25可以缓存第二CPLD模块31传输的数据,避免数据在传输过程中出现丢失,从而有利于提高系统运行的稳定性。通常而言,若密文数据在解码过程中,解码未出错,则解码得到的明文数据即为底板信息以及预设的校验码的明文数据。其中,编码与解码过程为本领域技术人员熟知,这里不再赘述。
在本实施例中,解码器24可以包括串并转换器(De-Serializer)和主板寄存器,串并转换器用于将FIFO存储器25中的串行数据流解析成并行数据,当校验Checksum与预设条件一致后,便将行数据存储到主板寄存器。
步骤S130可以包括:
通过所述第一CPLD模块22从所述第二CPLD模块31中的寄存器35获取所述目标GPU拓扑信息;
在将目标GPU拓扑信息存储于所述第一CPLD模块22的锁存器23后,通过所述第一CPLD模块22将所述目标GPU拓扑信息通过通用输入输出接口(General-Purpose InputOutput,GPIO)输出至所述处理模块21。
在本实施例中,锁存器23对目标GPU拓扑信息进行锁存,有利于避免目标GPU信息被轻易更改,提高系统的稳定性。
请参照图6,本申请实施例还提供一种拓扑检测处理装置200,可以应用于上述的服务器10中,用于执行方法中的各步骤。拓扑检测处理装置200包括至少一个可以软件或固件(Firmware)的形式存储于存储模块中或固化在服务器10操作系统(Operating System,OS)中的软件功能模块。处理模块21用于执行存储模块中存储的可执行模块,例如拓扑检测处理装置200所包括的软件功能模块及计算机程序等。
拓扑检测处理装置200可以包括标识确定单元210、拓扑信息确定单元220以及拓扑信息获取单元230,可以执行的操作步骤如下:
标识确定单元210,用于当所述服务器10启动时,通过所述第二CPLD模块31基于与所述第二CPLD模块31连接的连接器的标识,确定目标位置标识;
拓扑信息确定单元220,用于基于位置标识与GPU拓扑信息的关联关系,通过所述第二CPLD模块31确定与所述目标位置标识对应的目标GPU拓扑信息;
拓扑信息获取单元230,用于通过所述第一CPLD模块22从所述第二CPLD模块31获取所述目标GPU拓扑信息,并将所述目标GPU拓扑信息输出至所述处理模块21,用于分配与所述目标GPU拓扑信息对应的PCIe根端口。
可选地,拓扑检测处理装置200可以包括创建单元。在标识确定单元210执行步骤S110之前,创建单元用于创建并存储位置标识与GPU拓扑信息的关联关系,所述关联关系包括所述目标GPU拓扑信息与所述目标位置标识的对应关系。
可选地,拓扑信息获取单元230可以用于:
通过所述第二CPLD模块31获取所述GPU底板30的底板信息,并将所述底板信息编码成密文数据输出至所述第一CPLD模块22,所述底板信息包括所述目标GPU拓扑信息;
通过所述第一CPLD模块22中的解码器24对所述密文数据进行解码得到明文数据;
当所述明文数据满足预设条件时,确定对所述底板信息的校验通过,并从所述明文数据中获取表征所述目标GPU拓扑信息的数据。
可选地,拓扑信息获取单元230还可以用于:
通过所述第二CPLD模块31从所述GPU底板30中的寄存器35获取所述GPU底板30的底板信息;
通过所述第二CPLD模块31中的编码器32将所述底板信息编码成密文数据,并将所述密文数据输出至所述第一CPLD模块22。
可选地,拓扑信息获取单元230还可以用于:
通过所述第一CPLD模块22中的所述解码器24,从所述第一CPLD模块22中的FIFO存储器25获取所述密文数据,并对所述密文数据进行解码得到明文数据。
可选地,拓扑信息获取单元230还可以用于:
通过所述第一CPLD模块22从所述第二CPLD模块31中的寄存器35获取所述目标GPU拓扑信息;
在将目标GPU拓扑信息存储于所述第一CPLD模块22的锁存器23后,通过所述第一CPLD模块22将所述目标GPU拓扑信息通过通用输入输出接口输出至所述处理模块21。
在本实施例中,存储模块可以为上述的寄存器35,可以用于存储位置标识与GPU拓扑信息的关联关系等。当然,存储模块还可以用于存储程序,处理模块21在接收到执行指令后,执行该程序。
需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的服务器10的具体工作过程,可以参考前述方法中的各步骤对应过程,在此不再过多赘述。
本申请实施例还提供一种计算机可读存储介质。计算机可读存储介质中存储有计算机程序,当计算机程序在计算机上运行时,使得计算机执行如上述实施例中所述的拓扑检测处理方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
综上所述,本申请提供一种拓扑检测处理方法、装置、服务器及可读存储介质。方法包括:当服务器启动时,通过第二CPLD模块基于与第二CPLD模块连接的连接器的标识,确定目标位置标识;基于位置标识与GPU拓扑信息的关联关系,通过第二CPLD模块确定与目标位置标识对应的目标GPU拓扑信息;通过第一CPLD模块从第二CPLD模块获取目标GPU拓扑信息,并将目标GPU拓扑信息输出至处理模块,用于分配与目标GPU拓扑信息对应的PCIe根端口。在本方案中,通过将位置标识与GPU拓扑信息进行关联,不同GPU拓扑信息与不同的位置标识关联,如此,在服务器的系统启动时,便可以直接基于关联关系和目标位置标识,确定当前的GPU拓扑信息作为目标GPU拓扑信息,从而实现GPU拓扑信息的检测与获取,方便服务器基于获取的GPU拓扑信息进行后续的PCIe根端口分配,改善服务器获取GPU拓扑因人工操作存在错误且识别的效率低的问题。
在本申请所提供的实施例中,应该理解到,所揭露的装置、系统和方法,也可以通过其它的方式实现。以上所描述的装置、系统和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种拓扑检测处理方法,其特征在于,应用于服务器,所述服务器包括设置有处理模块及第一CPLD模块的主板,以及设置有第二CPLD模块的GPU底板,所述方法包括:
当所述服务器启动时,通过所述第二CPLD模块基于与所述第二CPLD模块连接的连接器的标识,确定目标位置标识;
基于位置标识与GPU拓扑信息的关联关系,通过所述第二CPLD模块确定与所述目标位置标识对应的目标GPU拓扑信息;
通过所述第一CPLD模块从所述第二CPLD模块获取所述目标GPU拓扑信息,并将所述目标GPU拓扑信息输出至所述处理模块,用于分配与所述目标GPU拓扑信息对应的PCIe根端口。
2.根据权利要求1所述的方法,其特征在于,在通过所述第二CPLD模块基于与所述第二CPLD模块连接的连接器的标识,确定目标位置标识之前,所述方法还包括:
创建并存储位置标识与GPU拓扑信息的关联关系,所述关联关系包括所述目标GPU拓扑信息与所述目标位置标识的对应关系。
3.根据权利要求1所述的方法,其特征在于,通过所述第一CPLD模块从所述第二CPLD模块获取所述目标GPU拓扑信息,包括:
通过所述第二CPLD模块获取所述GPU底板的底板信息,并将所述底板信息编码成密文数据输出至所述第一CPLD模块,所述底板信息包括所述目标GPU拓扑信息;
通过所述第一CPLD模块中的解码器对所述密文数据进行解码得到明文数据;
当所述明文数据满足预设条件时,确定对所述底板信息的校验通过,并从所述明文数据中获取表征所述目标GPU拓扑信息的数据。
4.根据权利要求3所述的方法,其特征在于,通过所述第二CPLD模块获取所述GPU底板的底板信息,并将所述底板信息编码成密文数据输出至所述第一CPLD模块,包括:
通过所述第二CPLD模块从所述GPU底板中的寄存器获取所述GPU底板的底板信息;
通过所述第二CPLD模块中的编码器将所述底板信息编码成密文数据,并将所述密文数据输出至所述第一CPLD模块。
5.根据权利要求3所述的方法,其特征在于,通过所述第一CPLD模块中的解码器对所述密文数据进行解码得到明文数据,包括:
通过所述第一CPLD模块中的所述解码器,从所述第一CPLD模块中的FIFO存储器获取所述密文数据,并对所述密文数据进行解码得到明文数据。
6.根据权利要求1所述的方法,其特征在于,通过所述第一CPLD模块从所述第二CPLD模块获取所述目标GPU拓扑信息,并将所述目标GPU拓扑信息输出至所述处理模块,包括:
通过所述第一CPLD模块从所述第二CPLD模块中的寄存器获取所述目标GPU拓扑信息;
在将目标GPU拓扑信息存储于所述第一CPLD模块的锁存器后,通过所述第一CPLD模块将所述目标GPU拓扑信息通过通用输入输出接口输出至所述处理模块。
7.一种拓扑检测处理装置,其特征在于,应用于服务器,所述服务器包括设置有处理模块及第一CPLD模块的主板,以及设置有第二CPLD模块的GPU底板,所述装置包括:
标识确定单元,用于当所述服务器启动时,通过所述第二CPLD模块基于与所述第二CPLD模块连接的连接器的标识,确定目标位置标识;
拓扑信息确定单元,用于基于位置标识与GPU拓扑信息的关联关系,通过所述第二CPLD模块确定与所述目标位置标识对应的目标GPU拓扑信息;
拓扑信息获取单元,用于通过所述第一CPLD模块从所述第二CPLD模块获取所述目标GPU拓扑信息,并将所述目标GPU拓扑信息输出至所述处理模块,用于分配与所述目标GPU拓扑信息对应的PCIe根端口。
8.一种服务器,其特征在于,所述服务器包括设置有处理模块及第一CPLD模块的主板,以及设置有第二CPLD模块的GPU底板;
当所述服务器启动时,所述第二CPLD模块,用于基于与所述第二CPLD模块连接的连接器的标识,确定目标位置标识;
所述第二CPLD模块还用于基于位置标识与GPU拓扑信息的关联关系,确定与所述目标位置标识对应的目标GPU拓扑信息;
所述第一CPLD模块用于从所述第二CPLD模块获取所述目标GPU拓扑信息,并将所述目标GPU拓扑信息输出至所述处理模块,用于分配与所述目标GPU拓扑信息对应的PCIe根端口。
9.根据权利要求8所述的服务器,其特征在于,所述第二CPLD模块还用于获取所述GPU底板的底板信息,并将所述底板信息编码成密文数据输出至所述第一CPLD模块,所述底板信息包括所述目标GPU拓扑信息;
所述第一CPLD模块中的解码器用于对所述密文数据进行解码得到明文数据;
当所述明文数据满足预设条件时,所述第一CPLD模块还用于确定对所述底板信息的校验通过,并从所述明文数据中获取表征所述目标GPU拓扑信息的数据。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110386063.5A CN113064850B (zh) | 2021-04-09 | 2021-04-09 | 拓扑检测处理方法、装置、服务器及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110386063.5A CN113064850B (zh) | 2021-04-09 | 2021-04-09 | 拓扑检测处理方法、装置、服务器及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113064850A true CN113064850A (zh) | 2021-07-02 |
CN113064850B CN113064850B (zh) | 2024-05-28 |
Family
ID=76566609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110386063.5A Active CN113064850B (zh) | 2021-04-09 | 2021-04-09 | 拓扑检测处理方法、装置、服务器及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113064850B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023016379A1 (zh) * | 2021-08-12 | 2023-02-16 | 华为技术有限公司 | 计算机系统、基于PCIe设备的控制方法及相关设备 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016037503A1 (zh) * | 2014-09-10 | 2016-03-17 | 华为技术有限公司 | PCIe拓扑的配置方法和装置 |
US20160125566A1 (en) * | 2014-10-29 | 2016-05-05 | Daegu Gyeongbuk Institute Of Science And Technology | SYSTEM AND METHOD FOR PROCESSING LARGE-SCALE GRAPHS USING GPUs |
CN107992438A (zh) * | 2017-11-24 | 2018-05-04 | 郑州云海信息技术有限公司 | 一种服务器及在服务器内灵活配置PCIe拓扑的方法 |
US20180263034A1 (en) * | 2017-03-10 | 2018-09-13 | Kabushiki Kaisha Toshiba | Wireless communication device, wireless communication system, and computer program product |
CN109002591A (zh) * | 2018-06-26 | 2018-12-14 | 郑州云海信息技术有限公司 | 一种从服务器主板端调整PCIe拓扑的方法和系统 |
US10325343B1 (en) * | 2017-08-04 | 2019-06-18 | EMC IP Holding Company LLC | Topology aware grouping and provisioning of GPU resources in GPU-as-a-Service platform |
CN109993685A (zh) * | 2019-03-26 | 2019-07-09 | 苏州浪潮智能科技有限公司 | 一种gpu服务器 |
CN110377553A (zh) * | 2019-06-26 | 2019-10-25 | 苏州浪潮智能科技有限公司 | 一种检测硬盘背板与主板port对应关系的方法及装置 |
CN110543404A (zh) * | 2019-07-19 | 2019-12-06 | 广东浪潮大数据研究有限公司 | 一种服务器、硬盘点灯方法、系统及计算机可读存储介质 |
US20200065283A1 (en) * | 2018-08-21 | 2020-02-27 | International Business Machines Corporation | Reconfigurble network infrastructure |
CN110908953A (zh) * | 2019-11-25 | 2020-03-24 | 山东超越数控电子股份有限公司 | 一种处理器互连系统及方法 |
CN111078403A (zh) * | 2019-12-09 | 2020-04-28 | 苏州浪潮智能科技有限公司 | 一种服务器加gpu的配置方法及系统 |
CN111082980A (zh) * | 2019-12-10 | 2020-04-28 | 深圳市英威腾自动控制技术有限公司 | 一种解析拓扑结构的方法及装置 |
CN111352787A (zh) * | 2020-03-13 | 2020-06-30 | 浪潮商用机器有限公司 | 一种gpu拓扑连接检测方法、装置、设备及存储介质 |
CN111475431A (zh) * | 2020-04-01 | 2020-07-31 | 苏州浪潮智能科技有限公司 | 一种主板,背板,识别系统以及识别方法 |
CN111865630A (zh) * | 2019-04-26 | 2020-10-30 | 北京达佳互联信息技术有限公司 | 拓扑信息获取方法、装置、终端及存储介质 |
-
2021
- 2021-04-09 CN CN202110386063.5A patent/CN113064850B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016037503A1 (zh) * | 2014-09-10 | 2016-03-17 | 华为技术有限公司 | PCIe拓扑的配置方法和装置 |
US20160125566A1 (en) * | 2014-10-29 | 2016-05-05 | Daegu Gyeongbuk Institute Of Science And Technology | SYSTEM AND METHOD FOR PROCESSING LARGE-SCALE GRAPHS USING GPUs |
US20180263034A1 (en) * | 2017-03-10 | 2018-09-13 | Kabushiki Kaisha Toshiba | Wireless communication device, wireless communication system, and computer program product |
US10325343B1 (en) * | 2017-08-04 | 2019-06-18 | EMC IP Holding Company LLC | Topology aware grouping and provisioning of GPU resources in GPU-as-a-Service platform |
CN107992438A (zh) * | 2017-11-24 | 2018-05-04 | 郑州云海信息技术有限公司 | 一种服务器及在服务器内灵活配置PCIe拓扑的方法 |
CN109002591A (zh) * | 2018-06-26 | 2018-12-14 | 郑州云海信息技术有限公司 | 一种从服务器主板端调整PCIe拓扑的方法和系统 |
US20200065283A1 (en) * | 2018-08-21 | 2020-02-27 | International Business Machines Corporation | Reconfigurble network infrastructure |
CN109993685A (zh) * | 2019-03-26 | 2019-07-09 | 苏州浪潮智能科技有限公司 | 一种gpu服务器 |
CN111865630A (zh) * | 2019-04-26 | 2020-10-30 | 北京达佳互联信息技术有限公司 | 拓扑信息获取方法、装置、终端及存储介质 |
CN110377553A (zh) * | 2019-06-26 | 2019-10-25 | 苏州浪潮智能科技有限公司 | 一种检测硬盘背板与主板port对应关系的方法及装置 |
CN110543404A (zh) * | 2019-07-19 | 2019-12-06 | 广东浪潮大数据研究有限公司 | 一种服务器、硬盘点灯方法、系统及计算机可读存储介质 |
CN110908953A (zh) * | 2019-11-25 | 2020-03-24 | 山东超越数控电子股份有限公司 | 一种处理器互连系统及方法 |
CN111078403A (zh) * | 2019-12-09 | 2020-04-28 | 苏州浪潮智能科技有限公司 | 一种服务器加gpu的配置方法及系统 |
CN111082980A (zh) * | 2019-12-10 | 2020-04-28 | 深圳市英威腾自动控制技术有限公司 | 一种解析拓扑结构的方法及装置 |
CN111352787A (zh) * | 2020-03-13 | 2020-06-30 | 浪潮商用机器有限公司 | 一种gpu拓扑连接检测方法、装置、设备及存储介质 |
CN111475431A (zh) * | 2020-04-01 | 2020-07-31 | 苏州浪潮智能科技有限公司 | 一种主板,背板,识别系统以及识别方法 |
Non-Patent Citations (5)
Title |
---|
JIANPING ZHU ET AL.: "Enabling Rack-scale Confidential Computing using Heterogeneous Trusted Execution Environment", 《2020 IEEE SYMPOSIUM ON SECURITY AND PRIVACY (SP)》, pages 1450 - 1465 * |
夏惊涛等: "基于CPLD的数据远程传输接收端逻辑控制设计", 《测控技术》, vol. 32, no. 4, pages 26 - 29 * |
张珩等: "基于Multi-GPU平台的大规模图数据处理", 《计算机研究与发展》, vol. 55, no. 2, pages 273 - 288 * |
王浩宇: "基于兆芯X86架构处理器的国产化CPCI主板设计", 《机电产品开发与创新》, vol. 33, no. 1, pages 37 - 38 * |
辛逸杰等: "面向分布式机器学习的大消息广播设计", 《计算机应用系统》, vol. 29, no. 1, pages 1 - 13 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023016379A1 (zh) * | 2021-08-12 | 2023-02-16 | 华为技术有限公司 | 计算机系统、基于PCIe设备的控制方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113064850B (zh) | 2024-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7657688B2 (en) | Dynamically allocating lanes to a plurality of PCI express connectors | |
US20120131201A1 (en) | Virtual Hot Inserting Functions in a Shared I/O Environment | |
US10824724B2 (en) | Detecting runtime tampering of UEFI images in an information handling system | |
CN111966419A (zh) | 一种信号调节设备自动分配vpp地址的方法及装置 | |
CN113064850B (zh) | 拓扑检测处理方法、装置、服务器及可读存储介质 | |
CN116662091A (zh) | 服务器高速线缆检测方法、装置、设备和存储介质 | |
US11514951B2 (en) | Identification of storage resources in multiple domains | |
CN110716892A (zh) | 板卡管理方法、装置及通信板卡 | |
WO2024113767A1 (zh) | 智能网卡的上电方法及上电装置 | |
CN111090537B (zh) | 集群启动方法、装置、电子设备及可读存储介质 | |
CN111309353B (zh) | 一种基于服务器控制板更新运算板fpga固件的方法及设备 | |
CN115599727A (zh) | 一种pcie设备带宽分配方法及相关装置 | |
CN112615739B (zh) | 一种多主机应用环境下ocp3.0网卡的适配方法及系统 | |
CN115509333A (zh) | 一种服务器协同上下电装置、方法、系统及介质 | |
CN112069108A (zh) | 一种基于PCIE Switch的服务器灵活配置系统及方法 | |
CN113344767A (zh) | 数据处理装置、系统、板卡、方法、电子设备及存储介质 | |
US10157157B2 (en) | Component population optimization | |
CN216014148U (zh) | 一种服务器和服务器背板 | |
CN114721900B (zh) | 连接关系的建立方法、主板、装置、设备和存储介质 | |
CN117234618A (zh) | 代码的运行方法和装置、存储介质及电子装置 | |
CN115795480A (zh) | 主板、子卡、计算机系统的可信启动方法和系统 | |
CN115687189A (zh) | 一种计算设备及pcie资源分配方法 | |
CN117880104A (zh) | 一种Retimer的带宽配置方法和服务器 | |
WO2016085983A1 (en) | Technologies for resolving forward error correction (fec) mode on a 25g ethernet link | |
CN117648239A (zh) | 一种外接设备的误插检测方法及计算设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |