CN112306913B - 一种端点设备的管理方法、装置及系统 - Google Patents
一种端点设备的管理方法、装置及系统 Download PDFInfo
- Publication number
- CN112306913B CN112306913B CN201910696478.5A CN201910696478A CN112306913B CN 112306913 B CN112306913 B CN 112306913B CN 201910696478 A CN201910696478 A CN 201910696478A CN 112306913 B CN112306913 B CN 112306913B
- Authority
- CN
- China
- Prior art keywords
- endpoint device
- endpoint
- message
- pcie
- pcie switching
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种端点设备的管理方法、装置及系统,该方法包括:第一端点设备先向第一PCIe交换设备发送包括第二端点设备的标识的配置读取报文,第一端点设备、第二端点设备和第一PCIe交换设备通过PCIe相连;然后,第一端点设备接收第一PCIe交换设备发送的包括第二端点设备健康状态信息和第一端点设备的标识的健康状态报文,健康状态信息为第二端点设备根据配置读取报文获取;第一端点设备再根据健康状态报文识别第二端点设备是否故障,并执行相应的处理操作,以此提高计算机系统的可靠性。
Description
技术领域
本申请涉及计算机领域,特别涉及计算机系统中一种端点设备的管理方法、装置及系统。
背景技术
传统计算机系统中包括处理器和多个端点设备(endpoint),不同端点设备间基于快捷外围部件互连标准(peripheral component interconnect express,PCIe)进行通信,具体实施时可以采用单主机(single-host)架构,使用基于地址的路由选择方式实现不同端点设备间点对点(peer-to-peer)的通信方式。虽然,点对点技术可以在端点设备间的输入/输出(input/output,I/O)数据传输,但是,对于路由配置、设备故障通知等管理数据仍需要发送给处理器(例如,中央处理器(central processing unit,CPU))中的中根复合体(root complex,RC),由该根复合体实现管理数据的发送和设备的管理。当计算机系统中的端点设备数量增多时,CPU接收的报文和待处理的管理数据的任务较多,可能导致处理器发生拥塞,以至于CPU无法及时管理端点设备,造成整体系统的可靠性降低,甚至影响计算机系统的正常运行。因此,如何提供一种高可靠性的端点设备的管理方法成为亟待解决的技术问题。
发明内容
本申请提供了一种端点设备的管理方法、装置及系统,以提高计算机系统的可靠性。
第一方面,本申请提供了一种端点设备的管理方法,第一端点设备先向第一快捷外围部件互连标准PCIe交换设备发送包括第二端点设备的标识的配置读取报文,第一端点设备、第二端点设备和第一PCIe交换设备通过PCIe相连。然后,第一PCIe交换设备可以基于第二端点设备的标识向所述第二端点设备转发配置读取报文。第二端点设备再根据配置读取报文获取其健康状态信息,向第一PCIe交换设备发送包括健康状态信息和第一端点设备的健康状态报文。接下来,第一PCIe交换设备根据第一端点设备的标识向第一端点设备发送健康状态报文。最后,第一端点设备根据健康状态报文识别第二端点设备是否故障,并执行相应的处理操作。这样第一端点设备可以触发第二端点设备发送其健康状态信息,并根据该健康信息检测第二端点设备是否故障并做相应处理,以此实现对第二端点设备进行有效管理,将对第二端点设备的管理工作从处理器下移到第一端点设备上,避免处理器接收的报文和待处理的管理数据的任务较多,避免了处理发生拥塞,提高计算机系统的可靠性。
在一种可能的实现方式中,第一端点设备、第二端点设备和第一PCIe交换设备属于同一PCIe交换域。这样第一端点设备管理与其共同接入同一个PCIe交换设备的第二端点设备,可以就近的协助处理器完成对第二端点设备的管理以及故障处理,能够减少报文传输的路径和传输时间,提升管理效率和故障处理的效率。
在另一种可能的实现方式中,第一端点设备和第一PCIe交换设备属于第一PCIe交换域,第二端点设备属于第二PCIe交换域,第一端点设备通过第一PCIe交换设备向处理器发送配置读取报文,第二端点设备的标识用于处理器向所述第二端点设备发送所述配置读取报文。在第一端点设备和第二端点设备位于不同PCIe域时,报文经由第一PCIe交换设备和处理器发送至第二端点设备,使得第一端点设备可以管理与其位于不同PCIe域的第二端点设备,由此实现对跨PCIe域的端点设备的管理,减少根复合体管理端点设备的开销,提高第一端点设备管理的可扩展性。
在另一种可能的实现方式中,第一端点设备接收第一PCIe交换设备发送的第二端点设备的中断报文和第一消息报文,第一消息报文包括第二端点设备的设备状态信息,设备状态信息包括第二端点设备的健康状态信息或所述第二端点设备传输的业务信息中的至少一个,中断报文和第一消息报文是第二端点设备在检测到其从第二PCIe交换设备上拨出时获取的,第二PCIe交换设备是与第二端点设备相连的PCIe交换设备;第一端点设备根据中断报文将第二端点设备的标识和设备状态信息对应保存在端点设备的标识与设备状态信息的对应关系中。这样在第二端点设备被拨出时第一端点设备将第二端点设备的设备状态信息进行保存,以便于在第二端点设备插入第二PCIe交换设备时能够对第二端点设备的状态进行恢复。
在另一种可能的实现方式中,第一端点设备接收第一PCIe交换设备发送的第二端点设备的第一恢复报文,第一恢复报文包括第二端点设备的标识,第一恢复报文是第二端点设备在检测到其被插入所述第二PCIe交换设备时发送的。第一端点设备向第一PCIe交换设备发送配置写入报文,配置写入报文包括第二端点设备的标识和第二端点设备的设备状态信息,第二端点设备的标识用于第一PCIe交换设备向第二端点设备转发配置写入报文,设备状态信息用于第二端点设备对其设备状态进行恢复。这样在第二端点设备插入第二PCIe交换设备时,第一端点设备将保存的第二端点设备的设备状态信息发送给第二端点设备,保证在第二端点设备在插入第二PCIe交换设备后能够恢复到被从第二PCIe交换设备上拨出时的状态。另外,在第二端点设备被热插拨时,将对第二端点设备处理从处理器下移到第一端点设备,可以进一步减轻处理器的任务数目,降低根复合体所在处理器的负载,避免了处理器发生拥塞,进一步增加了计算机系统的可靠性。
在另一种可能的实现方式中,第一端点设备接收第一PCIe交换设备发送的第二端点设备的第二恢复报文,第二恢复请求报文是第二端点设备在检测到其掉电后供电恢复时发送的,第二恢复报文包括第二端点设备在发生掉电时传输的业务信息。第一端点设备根据业务的业务信息,通过第一PCIe交换设备向第二端点设备发送业务信息对应的业务。这样第二端点设备在掉后恢复时,第一端点设备可以接收到来自第二端点设备的第二恢复报文,以对与第二端点设备之间传输的业务进行恢复。
第二方面,本申请提供了一种端点设备的管理方法,首先,第一端点设备、所述第二端点设备和所述第一PCIe交换设备通过PCIe相连,第一快捷外围部件互连标准PCIe交换设备接收包括第二端点设备的标识第一端点设备发送的配置读取报文。第一PCIe交换设备根据第二端点设备的标识向第二端点设备发送配置读取报文。第一PCIe交换设备接收包括第二端点设备发送的包括第二端点设备的健康状态信息和第一端点设备的标识的健康状态报文,健康状态信息为第二端点设备根据配置读取报文获取的。第一PCIe交换设备根据第一端点设备的标识向第一端点设备发送健康状态报文,健康状态报文用于第一端点设备根据健康状态信息识别所述第二端点设备是否故障并执行相应的处理操作。通过第一PCIe交换设备,第一端点设备可以获取第二端点设备的健康状态信息,并对第二端点设备的故障进行检测和处理,第一端点设备实现对第二端点设备进行有效管理,将对第二端点设备的管理工作从处理器下移到第一端点设备上,避免处理器接收的报文和待处理的管理数据的任务较多,避免了处理发生拥塞,提高计算机系统的可靠性。
在另一种可能的实现方式中,第一端点设备、第二端点设备和第一PCIe交换设备属于同一PCIe交换域。此时,第一端点设备管理与其共同接入同一个PCIe交换设备的第二端点设备,可以就近的协助处理器完成对第二端点设备的管理以及故障处理,能够减少报文传输的路径和传输时间,提升管理效率和故障处理的效率。
在另一种可能的实现方式中,第一端点设备和第一PCIe交换设备属于第一PCIe域,第二端点设备属于第二PCIe交换域。第一PCIe交换设备根据第二端点设备的标识向处理器发送配置读取报文,以使处理器根据第二端点设备的标识向第二端点设备发送配置读取报文。第一PCIe交换设备接收处理器发送的来自第二端点设备的健康状态报文。在第一端点设备和第二端点设备位于不同PCIe域时,健康状态报文由第一PCIe交换设备发送至处理器,再由处理器转发至第二PCIe交换设备,使得第一端点设备可以管理与其位于不同PCIe域的第二端点设备,如此第一端点设备可以和与其位于不同PCIe域的第二端点设备组成异构系统,提高组成异构系统的灵活性。
在另一种可能的实现方式中,第一端点设备和所述第一PCIe交换设备属于第一交换PCIe域,第二端点设备属于第二PCIe域,PCIe域是指与根复合体一个根端口连接的PCIe交换设备和端点设备的集合,则所述第一PCIe交换设备根据所述第二端点设备的标识向所述第二端点设备发送所述配置读取报文,包括:所述第一PCIe交换设备根据所述第二端点设备的标识向处理器发送所述配置读取报文,以使所述处理器根据所述第二端点设备的标识向所述第二端点设备发送所述配置读取报文;所述第一PCIe交换设备接收所述第二端点设备发送的健康状态报文,包括:所述第一PCIe交换设备接收所述处理器发送的来自所述第二端点设备的健康状态报文。
第三方面,本申请提供了一种端点设备,用于执行第一方面或第一方面的任意一种可选的实现方式中的方法。具体地,所述端点设备包括用于执行第一方面或第一方面的任意一种可能的实现方式中所述方法的操作步骤。
第四方面,本申请提供了一种端点设备管理装置,用于执行第二方面或第二方面的任意一种可选的实现方式中的方法。具体地,所述装置包括用于执行第二方面或第二方面的任意一种可能的实现方式中所述方法的操作步骤。
第五方面,本申请提供了一种端点设备,所述端点设备包括:处理器,存储器和通信接口,所述处理器通过总线与所述存储器和通信接口连接;存储器存储有计算机执行指令,所述计算机执行指令由所述处理器执行,以实现第一方面或第一方面的任意一种可能的实现方式的方法的操作步骤。
第六方面,本申请提供了一种PCIe交换设备,所述PCIe交换设备包括:处理器,存储器和通信接口,处理器通过总线与存储器和通信接口连接;所述存储器存储有计算机执行指令,所述计算机执行指令由所述处理器执行,用于执行第二方面或第二方面的任意一种可能的实现方式的方法的操作步骤。
第七方面,本申请提供了一种端点设备管理系统,系统包括第一端点设备、第二端点设备和第一快捷外围部件互连标准PCIe交换设备,第一端点设备、第二端点设备和第一PCIe交换设备通过PCIe相连。第一端点设备向第一PCIe交换设备发送配置读取报文,配置读取报文包括第二端点设备的标识;第一PCIe交换设备根据第二端点设备的标识向第二端点设备发送所述配置读取报文;第二端点设备根据配置读取报文向第一PCIe交换设备发送健康状态报文,健康状态报文包括第二端点设备的健康状态信息和第一端点设备的标识;第一PCIe交换设备根据第一端点设备的标识向第一端点设备发送健康状态报文;第一端点设备根据健康状态报文识别第二端点设备是否故障,并执行相应的处理操作。第一端点设备可以对第二端点设备进行有效管理,将对第二端点设备的管理工作从处理器下移到第一端点设备上,这样避免处理器接收的报文和待处理的管理数据的任务较多,避免了处理发生拥塞,提高计算机系统的可靠性。
在一种可能的实现方式中,第一端点设备、第二端点设备和第一PCIe交换设备属于同一PCIe域。这样第一端点设备管理与其共同接入同一个PCIe交换设备的第二端点设备,可以就近的协助处理器完成对第二端点设备的管理以及故障处理,能够减少报文传输的路径和传输时间,提升管理效率和故障处理的效率。
在另一种可能的实现方式中,第一端点设备和第一PCIe交换设备属于第一PCIe域,第二端点设备属于第二PCIe域,所述系统还包括:处理器,所述第一PCIe交换设备,用于根据所述第二端点设备的标识向所述处理器发送所述配置读取报文;所述处理器,用于接收所述配置读取报文,根据所述第二端点设备的标识向所述第二端点设备发送所述配置读取报文。在第一端点设备和第二端点设备位于不同PCIe域时,处理器向第二端点设备转发的配置读取报文,使得第一端点设备可以管理与其位于不同PCIe域的第二端点设备,如此第一端点设备可以和与其位于不同PCIe域的第二端点设备组成异构系统,提高组成异构系统的灵活性。
第八方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
第九方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1是本申请实施例提供的一种计算机系统结构示意图;
图2是本申请实施例提供的一种端点设备管理方法流程图;
图3是本申请实施例提供的另一种端点设备管理方法流程图;
图4是本申请实施例提供的另一种端点设备管理方法流程图;
图5是本申请实施例提供的另一种端点设备管理方法流程图;
图6是本申请实施例提供的一种端点设备管理装置结构示意图;
图7是本申请实施例提供的另一种端点设备管理装置结构示意图;
图8是本申请实施例提供的另一种计算机系统的结构示意图。
具体实施方式
下面将结合附图对本申请实施方式作进一步地详细描述。
参见图1,本申请实施例提供了一种计算机系统,包括处理器1(例如,CPU)、第一端点设备2和第二端点设备3,其中,第一端点设备2用于协助处理器1管理计算机系统,也可以称为协处理器第一端点设备2,可以以板卡的形式接入计算机系统,第一端点设备2除了集成有协处理器外,还可以集成有存储器等。其中,该协处理器可以为高级精简指令集计算机器(advanced reduced instruction set computing machines,ARM)芯片或者其他具有处理能力的芯片,例如,软件定义基础设施(software defined infrastructure,SDI)。板卡则是指处理器通过PCIe插槽接入处理器1所在印制电路板(printed circuit board,PCB),以此实现处理器1和第一端点设备通过PCIe的连接。
第二端点设备3包括网卡、显卡(例如,图形处理器(graphic processingprocessor,GPU))、加速器(例如,片上系统(system on chip,SoC)、软件定义基础设施SDI芯片)、磁盘(例如,机械硬盘(hard disk drive,HDD)和/或固态硬盘(solid state disk,SSD)等设备。处理器中包括根复合体11,多个端点设备可以通过根复合体11的根端口(rootport,RP)12与处理器1连接。可选地,由于根端口12的数量有限,为了在计算机系统中设置更多的端点设备3,图1所示的计算机系统中还可以包括PCIe交换设备4,多个第二端点设备3连接至PCIe交换设备4的下游端口(downstream port,DP),该PCIe交换设备4再通过上游端口(upstream port,UP)连接至根复合体11的根端口12,以此实现第二端点设备3和处理器1的连接。
每个端点设备3配置有专有的配置空间,该配置空间中包括端点设备的健康状态信息,包括用于指示端点设备的温度、电压、电流、功耗等工作状态的信息,具体可以利用参数值标识端点设备的健康状态。计算机系统中利用多个寄存器实现配置空间的功能,每个寄存器用于存储一个或多个健康参数的数值。例如,假设该寄存器对应的健康参数为该端点设备的温度,则该寄存器用于存储该端点设备的温度值。再例如,假设该寄存器对应的健康参数为该端点设备的电压,该寄存器用于保存该端点设备的电压值。可选的,对于同一类型的健康参数,不同端点设备用于存储该类型健康参数的数值的寄存器的编号可以相同。可选的,各端点设备3的配置空间的大小可以相等,例如,各端点设备的配置空间的大小可以为4k;也可以不等。
可选地,图1所示的计算机系统还可以按照预设规则分为多个不同的域,每个域也可以称为一个PCIe域。其中,预设规则可以是将每个根端口连接的设备的集合划分为PCIe域,例如,图1所示的根复合体左侧的根端口连接的PCIe交换设备和端点设备的集合成为第一PCIe域5,将根复合体右侧的根端口连接的PCIe交换设备和端点设备的集合成为第二PCIe域6。可选地,预设规则也可以将每个PCIe交换设备连接的多个端点设备的集合划分为一个PCIe交换域。
第一端点设备2可以与计算机系统中的至少一个第二端点设备3组成异构系统,异构系统包括运行操作系统(operating system,OS)、驱动和根复合体的处理器1,以及其他具有处理能力的第一端点设备,其中,运行其他具有处理能力的第一端点设备包括人工智能(architecture intelligence,AI)芯片、图形处理器(graphic processing unit,GPU)、加速卡(例如,片上系统(system on chip,SoC)、业务驱动基础架构(service driveninfrastructure,SDI)卡)。第一端点设备2可以对其所在异构系统的第二端点设备3进行管理访问和业务访问,具体过程如下:第一端点设备向第一PCIe交换设备发送配置读取(configure)报文,该配置读取报文用于对端点设备的配置空间进行管理,以此实现对该端点设备的管理,配置读取报文包括第二端点设备的设备标识,其中,第二端点设备的标识可以利用总线(bus)号、设备号(device)和功能(function)号所代表的BDF标识,或者,第二端点设备的标识还可以利用总线号、设备号、功能号中的一个或多个标识第二端点设备;第一PCIe交换设备接收第一端点设备发送的配置读取报文,根据配置报文中目的指向的第二端点设备的标识,查找IDM表后,向第二端点设备发送该配置读取报文。第二端点设备接收该配置读取报文,获取第二端点设备的健康状态信息,向PCIe交换设备发送健康状态报文,该健康状态报文包括第一端点设备的标识和第二端点设备的健康状态信息。第一PCIe交换设备接收该健康状态报文,根据该健康状态报文包括的第一端点设备的标识向第一端点设备转发该健康状态报文。第一端点设备可以根据该健康状态报文包括的第二端点设备的健康状态信息确定第二端点设备是否发生故障,在确定出第二端点设备发生故障时使用该故障对应的处理方式对第二端点设备进行处理,向第一PCIe交换设备发送对第二端点设备进行处理的处理结果;第一PCIe交换设备接收该处理结果,并向处理器1发送该处理结果。
可选的,配置读取报文可以包括第二端点设备的至少一个寄存器的编号,该至少一个寄存器中的每个寄存器用于保存第一端点设备需要读取的健康参数的数值。在该配置读取报文包括第二端点设备的至少一个寄存器的编号的情况,第二端点设备可以根据寄存器的编号直接读取每个寄存器中存储的健康参数的数值,在这种情况下,第二端点设备只需要根据配置读取报文中包含的寄存器的编号读取第一端点设备所需的健康参数即可,无需读取所有寄存器中保存的信息,减少了读取寄存器的数量和耗费的时长,也进一步减少了读取过程中所占用的网络资源。
可选的,当第一端点设备发送的配置读取报文不包括第二端点设备的至少一个寄存器的编号时,第二端点设备可以从其配置空间中读取健康状态信息。
第一端点设备可以管理与其归属同一PCIe域内的多个第二端点设备,也可以实现与第一端点设备归属不同PCIe域的第二端点设备的管理。当第一端点设备和第二端点设备位于同一PCIe域时,第一端点设备可以通过该PCIe域内的PCIe交换设备向第二端点设备转发配置读取报文。同样,第二端点设备也可以通过该PCIe交换设备向第一端点设备发送健康状态报文。当第一端点设备和第二端点设备位于不同PCIe域,且与第一端点设备归属同一域的PCIe交换设备的上游端口相连的设备是处理器1,则PCIe交换设备向处理器1发送配置读取报文,由处理器1的根复合体根据该配置读取报文中包括的第二端点设备的标识,向第二端点设备所在的PCIe域的PCIe交换设备发送该配置读取报文,该PCIe交换设备接收该配置读取报文,再根据该配置读取报文包括的第二端点设备的标识向第二端点设备发送该配置读取报文。同样,第二端点设备向与其归属同一PCIe域的PCIe交换设备发送健康状态报文,并由该PCIe交换设备向处理器1发送该健康状态报文。处理器1接收该健康状态报文,根据该健康状态报文包括的第一端点设备的标识向第一PCIe交换设备发送该健康状态报文。
第一PCIe交换设备保存有基于标识的匹配(identifier mapping,IDM)表,该IDM表用于保存端点设备的标识、端口号和链路号的对应关系,该IDM表中的每条记录用于指示与第一PCIe交换设备连接的端点设备的标识,第一PCIe交换设备中与该端点设备相连的下游端口的端口号和在该下游端口上建立的第一PCIe交换设备与该端点设备之间的逻辑链路的链路号的关系。
可选的,对于第一PCIe交换设备的任一下游端口,该下游端口可能与一个设备相连,也可以通过PCIe交换设备与多个设备相连。例如,该下游端口可以与两个设备相连。与该下游端口相连的每个设备在该下游端口上建立与第一PCIe交换设备之间的逻辑链路。
与该下游端口相连的设备可以为端点设备或PCIe交换设备。在该下游端口相连的设备为端点设备的情况,该端点设备在该下游端口上建立与第一PCIe交换设备之间的逻辑链路,对于IDM表中的包括该下游端口的端口号和该逻辑链路的链路号的记录,该记录保存该一个端点设备的标识。在该下游设备相连的设备为PCIe交换设备的情况,该PCIe设备在该下游端口上建立与第一PCIe交换设备之间的逻辑链路,对于IDM表中的包括该DP的端口号和该逻辑链路的链路号的记录,该记录保存连接到该PCIe交换设备的各端点设备的标识。
图2是本申请实施例提供了一种端点设备管理的方法,该方法可以应用于图1所示的计算机系统,在该方法中第一端点设备可以对第二端点设备进行管理,且第一端点设备和第二端点设备位于同PCIe域内,该方法包括:
步骤201:第一端点设备向第一PCIe交换设备发送配置读取报文,该配置读取报文包括第二端点设备的标识,第一PCIe交换设备是与第一端点设备相连的PCIe交换设备。
第一端点设备是计算机系统中用于协助处理器管理计算机系统的端点设备,第二端点设备是计算机系统中除第一端点设备之外的端点设备,第一PCIe交换设备、第一端点设备和第二端点设备属于同一PCIe域。例如,参见图1,第一端点设备对位于其归属的PCIe域5内的第二端点设备进行管理。具体地,第一端点设备可以对与其归属于同一PCIe交换域中第二端点设备进行管理,或者,第一端点设备也可以对于与其归属于不同PCIe交换域中第二端点设备进行管理。可选地,第一端点设备除了对与其归属于同一PCIe域的第二端点设备进行管理外,还可以对与其归属于不同PCIe域的第二端点设备进行管理。为了便于描述,接下来,以第一端点如何管理同一PCIe交换域中的第二端点设备为例进行描述。
第一端点设备可以与至少一个第二端点设备组成异构系统,该异构系统可以用于运行应用程序。在本实施例中,该异构系统中的第一端点设备和第二端点设备位于同一PCIe域内。第一端点设备可以对该异构系统中的第二端点设备进行管理。
维护人员需要组建异构系统时,维护人员可以通过基板管理控制器(baseboardmanagement controller,BMC)设置多个端点设备的设备类型,该设备类型可以不包括用于协助处理器管理计算机系统的端点设备的设备类型。处理器获取该多个端点设备的设备类型,从其保存的拓扑中选择一个具有计算能力的端点设备作为第一端点设备。对于获取的任意一个设备类型,处理器确定空闲的属于该设备类型的端点设备作为组成异构系统的第二端点设备,向第一端点设备发送确定的各第二端点设备的标识,向各第二端点设备发送第一端点设备的标识,以实现异构系统中各个端点设备的角色和作用划分。
可选的,对于计算机系统中的每个端点设备,该端点设备在接入到PCIe交换设备时,可以向处理器发送配置报文,该配置报文包括该PCIe设备的标识、与该端点设备相连的下游端口的端口号和在该下游端口上建立的该端点设备与该PCIe交换设备之间的逻辑链路的链路号。处理器接收计算机系统中的各端点设备的配置报文,根据各端点设备的配置报文可以构建计算机系统的拓扑。
第一端点设备可以定期或不定期地查询其所在异构系统中的第二端点设备是否出现故障。当开始对某个第二端点设备进行查询时,第一端点设备发送包括第二端点设备的标识的配置读取报文。
可选的,该配置读取报文还可以包括第二端点设备的至少一个寄存器的编号,第二端点设备中的该至少一个寄存器中的每个寄存器中保存的健康参数的数值均是第一端点设备需要读取的健康参数的数值。
步骤202:第一PCIe交换设备接收该配置读取报文,根据该配置读取报文包括的第二端点设备的标识向第二端点设备发送该配置读取报文。
第二端点设备可能位于第一PCIe交换设备所在的PCIe交换域内,也可能不位于第一PCIe交换设备所在的PCIe交换域内。
在本步骤中,可以通过如下2021至2022的操作来实现。该2021至2022的操作分别为:
2021:第一PCIe交换设备通过其包括的与第一端点设备相连的下游端口接收该配置读取报文,根据该配置读取报文包括的第二端点设备的标识确定第二端点设备是否位于其所在的PCIe交换域内。如果是,向第二端点设备发送该配置读取报文,如果否,向与其上游端口相连的设备发送该配置读取报文。
第一PCIe交换设备可以根据该配置读取报文包括的第二端点设备的标识查找其保存的IDM表,如果从该IDM表中查找出对应的端口号和链路号,则确定第二端点设备位于第一PCIe交换设备所在的PCIe交换域内,通过该端口号对应的下游端口上的该链路号对应的逻辑链路向第二端点设备发送该配置读取报文。如果从该IDM表中没有查找出对应的端口号和链路号,则确定第二端点设备不在第一PCIe交换设备所在的PCIe交换域内。第一PCIe交换设备通过其上游端口向与该上游端口相连的设备发送该配置读取报文。
在第二端点设备位于第一PCIe交换设备所在的PCIe交换域内的情况,第二端点设备可能直接与第一PCIe交换设备相连,也可能通过至少一个PCIe交换设备与第一PCIe交换设备相连。
在第二端点设备直接与第一PCIe交换设备相连的情况,第一PCIe交换设备通过该端口号对应的下游端口上的该链路号对应的逻辑链路向第二端点设备发送该配置读取报文。
在第二端点设备通过至少一个PCIe交换设备与第一PCIe交换设备相连的情况,第一PCIe交换设备通过该端口号对应下游端口上的该链路号对应的逻辑链路向与该下游端口相连的PCIe交换设备发送该配置读取报文。对于任意一个PCIe交换设备,该PCIe交换设备接收该配置读取报文后,执行与第一PCIe交换设备相同的操作转发该配置读取报文。且该配置读取报文最终被转发至第二端点设备。
由于第一端点设备、第一PCIe域和第二端点设备位于同一PCIe域内,所以与该上游端口相连的设备为一个PCIe交换设备。第二端点设备可能位于该PCIe交换设备所在的PCIe交换域内,也可能不位于该PCIe交换设备所在的PCIe交换域内。
2022:该PCIe交换设备接收该配置读取报文,根据该配置读取报文包括的第二端点设备的标识确定第二端点设备是否位于其所在的PCIe交换域内。如果是,向第二端点设备发送该配置读取报文,如果否,向与其上游端口相连的设备发送该配置读取报文。
该PCIe交换设备执行与第一PCIe交换设备相同的操作转发该配置读取报文。且该配置读取报文最终被转发至第二端点设备。
步骤203:第二端点设备接收该配置读取报文,根据该配置读取报文向第一PCIe交换设备发送健康状态报文,该健康状态报文包括第一端点设备的标识和第二端点设备的健康状态信息。
第二端点设备包括配置空间,该配置空间中保存有第二端点设备当前的健康状态信息。健康状态信息包括至少一个健康参数的数值。该至少一个健康参数包括第二端点设备的温度、电压、电流或功耗等中的至少一个。
第二端点设备的配置空间包括每个健康参数对应的寄存器,对于任一个寄存器,该寄存器用于保存其对应的健康参数的数值。其中,第二端点设备包括控制器,该控制器可以获取第二端点设备的健康参数的数值,将该健康参数对应的寄存器内保存的内容更新为当前获取的该健康参数的数值。
在本步骤中,第二端点设备接收该配置读取报文,根据该配置读取报文获取第二端点设备的配置空间中保存的健康状态信息;或者,第二端点设备接收该配置读取报文,该配置读取报文包括至少一个寄存器的编号,从每个寄存器的编号对应的寄存器中读取健康参数的数值,第二端点设备的健康状态信息包括读取的健康参数的数值。第二端点设备向与其相连的第二PCIe交换设备发送健康状态报文,该健康状态报文包括第一端点设备的标识和第二端点设备的健康状态信息。
在第二PCIe交换设备和第一PCIe交换设备是不同设备的情况下,可以通过如下2031至2032的操作将该健康状态报文传输至第一PCIe交换设备。该2031至2032的操作分别为:
2031:第二PCIe交换设备通过其包括的与第二端点设备相连的下游端口接收该健康状态报文,根据该健康状态报文包括的第一端点设备的标识确定第一端点设备是否位于其所在的PCIe交换域内。如果是,向第一PCIe交换设备发送该健康状态报文,如果否,向与其上游端口相连的设备发送该健康状态报文。
第二PCIe交换设备可以根据该健康状态报文包括的第一端点设备的标识查找其保存的IDM表,如果从该IDM表中查找出对应的端口号和链路号,则确定第一端点设备位于第二PCIe交换设备所在的PCIe交换域内,通过该该端口号对应的下游端口上的该链路号对应的逻辑链路发送该健康状态报文。如果从该IDM表中没有查找出对应的端口号和链路号,则确定第一端点设备不在第二PCIe交换设备所在的PCIe交换域内。第二PCIe交换设备通过其上游端口向与该上游端口相连的设备发送该配置读取报文。
在第一端点设备位于第二PCIe交换设备所在的PCIe交换域内的情况,第一端点设备通过至少一个PCIe交换设备与第二PCIe交换设备相连。至少一个PCIe交换设备包括第一PCIe交换设备。第二PCIe交换设备通过该端口号对应的下游端口上的该链路号对应的逻辑链路向与该下游端口相连的PCIe交换设备发送该健康状态报文。对于该至少一个PCIe交换设备中的任一个PCIe交换设备,该PCIe交换设备接收该健康状态报文,在自身不是第一PCIe交换设备时,执行与第二PCIe交换设备相同的操作转发该健康状态报文。且该健康状态报文被转发至第一PCIe交换设备。
由于第一端点设备、第一PCIe交换设备和第二端点设备位于同一PCIe域内,所以与该上游端口相连的设备为一个PCIe交换设备。该一个PCIe交换设备可能是第一PCIe交换设备,也可能不是第一PCIe交换设备。
在该一个PCIe交换设备不是第一PCIe交换设备的情况,执行如下2032的操作。
2032:该PCIe交换设备接收该健康状态报文,根据该健康状态报文包括的第一端点设备的标识确定第一端点设备是否位于其所在的PCIe交换域内。如果是,向第一PCIe交换设备发送该健康状态报文,如果否,向与其上游端口相连的设备发送该健康状态报文。
该PCIe交换设备执行与第二PCIe交换设备相同的操作转发该健康状态报文。且该健康状态报文被转发至第一PCIe交换设备。
步骤204:第一PCIe交换设备接收该健康状态报文,根据该健康状态报文包括的第一端点设备的标识向第一端点设备发送该健康状态报文。
在本步骤中,第一PCIe交换设备根据该健康状态报文包括的第一端点设备的标识,从其保存的IDM表中查找出对应的端口号和链路号,通过该端口号对应的下游端口上的该链路号对应的逻辑链路向第一端点设备发送该健康状态报文。
步骤205:第一端点设备接收该健康状态报文,根据该健康状态报文包括的第二端点设备的健康状态信息确定第二端点设备是否发生故障。
第一端点设备中保存有健康参数的异常数值范围与处理方式的对应关系。该对应关系中保存了每种故障对应的健康参数的异常数值范围和处理方式。例如,参见下表1所示的异常数值范围与处理方式的对应关系,端点设备的健康参数包括温度、电压、电流或功耗等中的至少一个,每种故障对应的异常数值范围包括异常温度值范围、异常电压值范围、异常电流值范围或异常功耗值范围等中的至少一个。
表1
在本步骤中,第一端点设备根据第二端点设备的健康状态信息包括的各健康参数的数值,查询健康参数的异常数值范围与处理方式的对应关系,如果查询出各健康参数的数值所在的异常数值范围,确定第二端点设备发生故障,并根据各健康参数的数值所在的异常数值范围,从健康参数的异常数值范围与处理方式的对应关系查询出对应的处理方式,该处理方式为该故障对应的处理方式。
可选地,第二端点设备也可以直接存储表1所示的异常数值范围,当检测到温度、电压等数值达到异常范围要求时,则向第一端点设备发送故障通知,由第一端点设备根据该故障通知执行相应的处理。
值得说明的是,端点设备的故障可以按照处理方式划分为可修复错误或不可修复错误,对于可修复错误则可以由第一端点设备指示第二端点设备直接进行故障修复,而对于不可修复错误,可以进一步区分故障级别,对于修复操作不会影响其他PCIe域的操作,则可以由第一端点设备确定修复处理过程,如执行单个PCIe域的复位或重启;对于修复操作会影响其他PCIe域的操作,则由第一端点设备将故障信息发送至根复合体所在处理器,由该处理器确定具体修复方式,并完成对该端点设备的故障修复。
步骤206:第一端点设备使用该故障对应的处理方式对第二端点设备进行处理,通过第一PCIe交换设备向处理器发送对第二端点设备进行处理的处理结果。
故障对应的处理方式可能包括至少一个参数的数值,即需要对端点设备的该至少一个参数中的每个参数进行调整,调整后的参数的数值等于该处理方式中包括的该参数的数值。例如,假设故障是端点设备的温度较高,该故障对应的处理方式包括电压值V1、电扇的工作功率值W1。该处理方式表示需要对端点设备的供电电压和端点设备的工作功率进行调整,调整后的该端点设备的供电电压的电压值为V1以及调整后的该端点设备的电扇的工作功率的功率值为W1。
故障对应的处理方式可以是系统恢复故障的方式,例如,当端点设备的问题过高时,可以通过减少该端点设备处理的任务,以此实现降低该端点设备的负载的目的;或者,通过调整风扇转速的方式对该端点设备进行物理降温。
可选地,故障对应的处理方式还可以是用于请求用户查看的指示信息。例如,假设端点设备的故障是温度过高,端点设备产生该故障的原因可能是该端点设备的电扇出现故障或可能是该端点设备产生明火等原因,该故障对应的处理方式为请求用户现场进行查看并关闭端点设备或上报致命警告请求至BMC,有维护人员现场查看并执行修复处理。
故障对应的处理方式还可能是其他的内容,在此不再一一列举。
在本步骤中,假设第一端点设备查询出故障对应的处理方式包括至少一个参数的数值,第一端点设备向第一PCIe交换设备发送配置写入报文,该配置写入报文包括第二端点设备的标识、该至少一个参数的数值和每个参数对应的寄存器的编号。第一PCIe交换设备根据该配置写入报文包括的第二端点设备的标识向第二端点设备发送该配置写入报文。其中,第一PCIe交换设备发送配置写入报文的流程和发送配置读取报文的流程相同,在此不再对发送配置写入报文的详细流程进行说明。
第二端点设备接收该配置写入报文,读取该配置写入报文中的至少一个参数的数值和每个参数对应的寄存器的编号。对于该至少一个参数中的每个参数,第二端点设备根据该参数对应的寄存器的编号确定该参数对应的寄存器,将该参数对应的寄存器保存的内容替换为该参数的数值。
第二端点设备包括控制器,该控制器从该配置空间中读取内容发生变动的寄存器,根据从寄存器读取的参数的数值调整第二端点设备。例如,假设配置写入报文包括电压值V1、电扇的工作功率值W1,第二端点设备将电压对应的寄存器中保存的内容替换为电压值V1,将电扇的工作功率对应的寄存器保存的内容替换为工作功率值W1,第二端点设备的控制器从内容变化的该两个寄存器中读取电压值V1和工作功率值W1,根据电压值V1调整第二端点设备的供电电压以及根据工作功率值W1调整第二端点设备的电扇的工作功率。
使用该方式对应第二端点设备进行处理得到的处理结果可以包括处理时间、第二端点设备当前的状态或对第二端点设备进行处理的操作等中的至少一个。第二端点设备当前的状态为正常工作状态。
在本步骤中,假设第一端点设备查询出故障对应的处理方式包括请求用户查看的指示信息,则第一端点设备向用户管理界面显示提示信息,该提示信息包括第二端点设备的标识和请求用户查看第二端点设备的描述信息。使用该方式对应第二端点设备进行处理得到的处理结果可以包括处理时间、第二端点设备当前的状态或对第二端点设备进行处理的操作等中的至少一个。第二端点设备当前的状态可以为故障状态。
在本申请实施例中,由于第一端点设备和位于同一PCIe域内的至少一个第二端点设备组成异构系统,第一端点设备可以对该至少一个第二端点设备进行管理,从而将对该至少一个第二端点设备的管理工作从处理器下移到第一端点设备上,使得管理该异构系统不依赖于处理器,这样计算机系统中的用于协助处理器的任一第一端点设备均可与第二端点设备组成计异构系统,并分担处理器的管理工作。计算机系统中的第一端点设备与第二端点设备组成的异构系统可用于运行应用,可以使不用的第一端点设备与不同的第二羰点设备组成用于运行应用的异构系统,可以将计算机系统中的各端点设备使用起来,避免资源浪费。在各异构系统中,由各异构系统中的第一端点设备对该异构系统中的第二端点设备进行管理,从而避免了由处理器管理导致拥塞的发生,提高了计算机系统的可靠性。
作为一个可能的实施例,除了图1所示的计算机系统中包括一个作为协处理器的第一端点设备以外,还可以设置多个第一端点设备,共同协助根复合体所在处理器实现计算机系统多管理。每个第一端点设备管理与其共同接入同一个PCIe交换设备的第二端点设备,并且,多个第一端点设备按照与根复合体距离划分不同等级,每级第一端点设备的权限不同。也就是说对于低级别的第一端点设备,仅可以管理与其共同接入同一个PCIe交换设备的第二端点设备,而高级别的PCIe交换设备既可以管理与其共同接入同一个PCIe交换设备的第二端点设备,也可以管理其他PCIe交换设备连接的第二端点设备。示例地,以图1所示计算机系统为例,若与第三PCIe交换设备连接的一个第二端点设备也被作为协处理器使用,当与第三PCIe交换设备连接的第二端点设备出现故障时,第三PCIe交换设备可以将故障发送给该协处理器,由其确定故障类型和处理。若该协处理器对于此类故障处理权限不足,则可通过第三PCIe交换设备将故障上报给第一PCIe交换设备,再转发给第一端点设备11,由第一端点设备11完成故障处理。再若第一端点设备11无法处理该故障,则转发至处理器1完成故障处理。以此实现多个第一端点设备协助根复合体所在处理器共同完成分级的故障处理,上述实施方式也可以减少根复合体所在处理器的负载;同时,由就近的协助处理器完成故障处理,能够减少报文传输的路径和传输时间,提升故障处理的效率。
图3是本申请实施例提供了另一种端点设备管理的方法,该方法可以应用于图1所示的计算机系统,与图2所示的方法的区别在于,在该方法中第一端点设备可以对与其属于不同PCIe交换域的第二端点设备进行管理,如图1所示,第一端点设备和与其相连的第一PCIe位于第一PCIe域内,第二端点设备位于第二PCIe域内,该方法包括:
步骤301:与步骤201相同,在此不再详细说明。
步骤302:第一PCIe交换设备接收该配置读取报文,根据该配置读取报文包括的第二端点设备的标识向处理器发送该配置读取报文。
第二端点设备位于与第一PCIe域不同的第二PCIe域内,该配置读取报文需要借助处理器转发至第二端点设备。
在本步骤中,可以通过如下3021至3022的操作来实现。该3021至3022的操作分别为:
3021:第一PCIe交换设备通过其包括的与第一端点设备相连的下游端口接收该配置读取报文,根据该配置读取报文包括的第二端点设备的标识确定第二端点设备不位于其所在的PCIe交换域内,向与其上游端口相连的设备发送该配置读取报文。
第一PCIe交换设备可以根据该配置读取报文包括的第二端点设备的标识查找其保存的IDM表,由于第二端点设备不在第一PCIe所在的第一PCIe域内,所以从该IDM表中查找不出对应的端口号和链路号,从而确定第二端点设备不在第一PCIe交换设备所在的PCIe交换域内。第一PCIe交换设备通过其上游端口向与该上游端口相连的设备发送该配置读取报文。
与该上游端口相连的设备可能是一个PCIe交换设备,也可能是处理器。
在与该上游端口相连的设备是一个PCIe交换设备的情况,执行如下3022的操作。
3022:该PCIe交换设备接收该配置读取报文,根据该配置读取报文包括的第二端点设备的标识确定第二端点设备不位于其所在的PCIe交换域内,向与其上游端口相连的设备发送该配置读取报文。
该PCIe交换设备执行与第一PCIe交换设备相同的操作转发该配置读取报文。且该配置读取报文会被转发至处理器。
步骤303:处理器接收该配置读取报文,根据该配置读取报文包括的第二端点设备的标识向第二PCIe交换设备发送该配置读取报文,第二PCIe交换设备是与第二端点设备相连的PCIe交换设备。
处理器中保存有计算机系统的拓扑。在本步骤中,处理器通过其根复合体上与第一PCIe交换设备所在的第一PCIe域相连的根端口接收该配置读取报文,根据该配置读取报文包括的第二端点设备的标识,从主机的拓扑中确定与第二端点设备相连的第二PCIe交换设备,第二端点设备和第二PCIe交换设备位于第二PCIe域,通过与第二PCIe交换设备所在的第二PCIe域相连的根端口向第二PCIe交换设备发送该配置读取报文。
第二PCIe交换设备可能直接与处理器的根复合体上的根端口相连,也可以通过至少一个PCIe设备与处理器的根复合体上的根端口相连。
在第二PCIe交换设备直接与处理器的根复合体上的根端口相连的情况下,处理器直接向第二PCIe交换设备发送该配置读取报文。
在第二PCIe交换设备通过至少一个PCIe设备与处理器的根复合体上的根端口相连时,处理器通过该根端口向与该根端口相连的PCIe设备发送该配置读取报文,该配置读取报文经过该至少一个PCIe交换设备向第二PCIe交换设备传输。
对于任意一个PCIe交换设备,该PCIe交换设备通过其上游端口接收与该上游端口相连的设备发送的该配置读取报文,根据该配置读取报文中的第二端点设备的标识,从其保存的IDM表中查找出对应的端口号和链路号,通过该端口号对应的下游端口上的该链路号对应的逻辑链路向与该下游端口相连的PCIe交换设备转发该配置读取报文。
步骤304:第二PCIe交换设备接收该配置读取报文,根据该配置读取报文包括的第二端点设备的标识向第二端点设备发送该配置读取报文。
在本步骤中,第二PCIe交换设备通过其上游端口接收该配置读取报文,根据该配置读取报文包括的第二端点设备的标识从该IDM表查找出对应的端口号和链路号,通过该端口号对应的下游端口上的该链路号对应的逻辑链路向第二端点设备发送该配置读取报文。
其中,对于计算机系统的任一个PCIe交换设备,该PCIe交换设备在通过其上游端口接收到报文时,会检测该报文包括的源设备标识。在目前的技术中在检测出该源设备标识为端点设备的标识时,该PCIe交换设备将该报文作为错误报文进行处理,在检测出该源设备标识为处理器的标识时,该PCIe交换设备对该报文进行转发。但是在本申请中对PCIe交换设备进行修改,在检测出该源设备标识为端点设备的标识时,该PCIe交换设备不会将该报文作为错误报文进行处理,而是对该报文进行转发。
所以在本步骤中,第二PCIe交换设备通过其上游端口接收该配置读取报文时,读取该配置读取报文中的源设备标识,该源设备标识为第一端点设备的标识。第二PCIe交换设备继续对该配置读取报文进行转发。
步骤305:第二端点设备接收该配置读取报文,根据该配置读取报文向第二PCIe交换设备发送健康状态报文,该健康状态报文包括第一端点设备的标识和第二端点设备的健康状态信息。
第二端点设备获取健康状态信息以及发送健康状态报文,可以参见步骤203中的相关内容,在此不再详细说明。
步骤306:第二PCIe交换设备接收该健康状态报文,根据该健康状态报文包括的第一端点设备的标识向处理器发送该健康状态报文。
在本步骤中,可以通过如下步骤3061至步骤3062的操作来实现。该步骤3061至步骤3062的操作分别为:
步骤3061:第二PCIe交换设备通过其包括的与第二端点设备相连的下游端口接收该健康状态报文,根据该健康状态报文包括的第一端点设备的标识确定第一端点设备不位于其所在的PCIe交换域内,向与其上游端口相连的设备发送该健康状态报文。
第二PCIe交换设备可以根据该健康状态报文包括的第一端点设备的标识查找其保存的IDM表,由于第一端点设备不在第二PCIe所在的第二PCIe域内,所以从该IDM表中查找不出对应的端口号和链路号,从而确定第一端点设备不在第二PCIe交换设备所在的PCIe交换域内。第二PCIe交换设备通过其上游端口向与该上游端口相连的设备发送该健康状态报文。
与该上游端口相连的设备可能是一个PCIe交换设备,也可以是处理器。
在与该上游端口相连的设备是一个PCIe交换设备的情况,执行如下3062的操作。
步骤3062:该PCIe交换设备接收该健康状态报文,根据该健康状态报文包括的第一端点设备的标识确定第一端点设备不位于其所在的PCIe交换域内,向与其上游端口相连的设备发送该配置读取报文。
该PCIe交换设备执行与第二PCIe交换设备相同的操作转发该健康状态报文。且该健康状态报文会被转发至处理器。
步骤307:处理器接收该健康状态报文,根据该健康状态报文包括的第一端点设备的标识向第一PCIe交换设备发送该健康状态报文。
在本步骤中,处理器通过其根复合体上与第二PCIe交换设备所在第二PCIe域相连的根端口接收该健康状态报文,根据该健康状态报文包括的第一端点设备的标识,从计算机系统的拓扑中确定与第一端点设备相连的第一PCIe交换设备,通过与第一PCIe交换设备所在第一PCIe域相连的根端口向第一PCIe交换设备发送该健康状态报文。
第一PCIe交换设备可能直接与处理器的根复合体上的根端口相连,也可以通过至少一个PCIe设备与处理器的根复合体上的根端口相连。
在第一PCIe交换设备直接与处理器的根复合体上的根端口相连的情况下,处理器直接向第一PCIe交换设备发送该健康状态报文。
在第一PCIe交换设备通过至少一个PCIe设备与处理器的根复合体上的根端口相连时,处理器通过该根端口向与该根端口相连的PCIe设备发送该健康状态报文,该健康状态报文经过该至少一个PCIe交换设备向第一PCIe交换设备传输。
对于该至少一个PCIe交换设备中的任一个PCIe交换设备,该PCIe交换设备通过其上游端口接收与该上游端口相连的设备发送的该健康状态报文,根据该健康状态报文中的第一端点设备的标识,从其保存的IDM表中查找出对应的端口号和链路号,通过该端口号对应的下游端口上的该链路号对应的逻辑链路向与该下游端口相连的PCIe交换设备转发该健康状态报文。
步骤308:第一PCIe交换设备接收该健康状态报文,根据该健康状态报文包括的第一端点设备的标识向第一端点设备发送该健康状态报文。
在本步骤中,第二PCIe交换设备通过其上游端口接收该健康状态报文,根据该配置读取报文包括的第一端点设备的设识从该IDM表查找出对应的端口号和链路号,通过该端口号对应的下游端口上的该链路号对应的逻辑链路向第一端点设备发送该健康状态报文。
步骤309-310:分别与步骤205-206相同,在此不再详细说明。
作为一个可能的实施例,除了图1所示的计算机系统中包括一个作为协处理器的第一端点设备以外,还可以设置多个第一端点设备,共同协助根复合体所在处理器实现计算机系统多管理。每个第一端点设备管理与其共同接入不同PCIe交换设备的第二端点设备。以此实现多个第一端点设备协助根复合体所在处理器共同完成的故障处理,上述实施方式也可以减少根复合体所在处理器的负载。
在本申请实施例中,由于第一端点设备和第二端点设备组成异构系统,第一端点设备可以对该异构系统中的第二端点设备进行管理,从而将对第二端点设备的管理工作从处理器下移到第一端点设备上,使得对该异构系统的管理不依赖于处理器。另外,在组建异构系统时,可以将第一端点设备和与第一端点设备不同在同一PCIe域内的第二端点设备组成异构系统,增加组成异构系统的灵活性。计算机系统中包括多个第一端点设备,可以组建多个异构系统,如此可以使计算机系统中的各端点设备使用起来,避免资源浪费。在各异构系统中,由各异构系统中的第一端点设备对该异构系统中的第二端点设备进行管理,从而避免了由处理器管理导致拥塞的发生,提高了计算机系统的可靠性。
作为另一种可能的实施例,作为根复合体所在处理器的协处理器,第一端点设备除了可以实现同一PCIe域内同一PCIe交换域中多个第二端点设备的管理外,也可以实现同一PCIe域内不同PCIe交换域的多个第二端点设备的管理。与同一PCIe域内不同PCIe交换域的多个第二端点设备的管理方法类似,第一端点设备还可以实现不同PCIe域中第二端点设备的管理,第一端点设备可以通过根复合体所在处理器和PCIe交换设备实现与第二端点设备的连接。
作为另一种可能的实施例,在计算机系统中,第二端点设备可能被用户热插拨。在计算机系统中,第二端点设备连接到第二PCIe交换设备上,第二PCIe交换设备与第一端点设备连接的第一PCIe交换设备可能相同,也可能不同,所谓热插拨是指在计算机运行的情况下,将端点设备从计算机系统中插入或拔出,不影响应用程序的正常运行。例如,用户从计算机系统中拨出第二端点设备,或者,将第二端点设备插入计算机系统的PCB。
当第二端点设备被用户从计算机系统拨出时,第二端点设备需要向第一端点设备发送其设备状态信息,以便其被重新插入计算机系统时可以基于该设备状态信息进行恢复。参见图4,实现流程如下:
步骤401:第二端点设备在检测到其从第二PCIe交换设备上拨出时向第一端点设备发送中断报文和第一消息报文,第一消息报文包括第二端点设备的设备状态信息,该设备状态信息包括第二端点设备的健康状态信息或第二端点设备传输的业务信息等至少一个。
该业务信息包括该业务的业务标识,还可以包括该业务的传输进度。
用户将第二端点设备从第二PCIe交换设备上拨出所需要的时间可以需要几十或几百毫秒,或者需要的时间可能更长,例如,需要1秒或2秒时间等。所以第二端点设备在检测到其从第二PCIe交换设备上开始拨出时,从第二端点设备的配置空间中读取第二端点设备的健康状态信息、获取第二端点设备当前传输的业务标识,还可以获取该业务的传输进度等信息,即获取到第二端点设备的设备状态信息。在第二端点设备完全从第二PCIe交换设备上拨出之前,第二端点设备先向第二PCIe交换设备发送中断报文,该中断报文包括第一端点设备的标识,再向第二PCIe交换设备发送第一消息报文,第一消息报文包括第一端点设备的标识和第二端点设备的设备状态信息。
第二PCIe交换设备接收该中断报文和第一消息报文,向第一端点设备发送该中断报文和第一消息报文。详细发送过程可以参见图2或图3所示实施例中的第二PCIe交换设备向第一端点设备发送健康状态报文的过程,在此不再详细说明。
步骤402:第一端点设备接收该中断报文和第一消息报文,根据所述中断报文将第二端点设备的标识和设备状态信息对应保存在端点设备的标识与设备状态信息的对应关系中。
在本步骤中,第一端点设备根据接收的中断报文,中断其当前正在处理的操作,接收第一消息报文,将第一消息报文包括的第二端点设备的标识和设备状态信息对应保存在端点设备的标识与设备状态信息的对应关系中。
当第二端点设备被用户插接到第二PCIe交换设备时,第二端点设备需要向第一端点设备请求其设备状态信息,以便基于该设备状态信息进行恢复。实现流程如下:
步骤403:第二端点设备在检测到其被插入到第二PCIe交换设备上时向第一端点设备发送第一恢复报文,第一恢复报文包括第一端点设备的标识和第二端点设备的标识。
第二端点设备向第一端点设备发送第一恢复报文的过程可以参见图2或图3所示实施例中的第二端点设备向第一端点设备发送健康状态报文的过程,在此不再详细说明。
步骤404:第一端点设备接收第一恢复报文,根据第一恢复报文包括的第二端点设备的标识,从端点设备的标识与设备状态信息的对应关系中获取第二端点设备的设备状态信息。
步骤405:第一端点设备向第二端点设备发送配置写入报文,该配置写入报文包括第二端点设备的标识和第二端点设备的设备状态信息。
第一端点设备向第二端点设备发送配置写入报文的过程可以参见图2或图3所示实施例中的第一端点设备向第二端点设备发送配置读取报文的过程,在此不再详细说明。
步骤406:第二端点设备接收该配置写入报文,根据该配置写入报文包括的第二设备的设备状态信息进行恢复。
该设备状态信息包括第二端点设备的健康状态信息或业务的业务信息等至少一个。第二端点设备可以将该健康状态信息保存到其配置空间中。第二端点设备可以根据该业务的业务信息恢复业务传输。
在本申请实施例中,在第二端点设备被热拔出时,第二端点设备将自己的设备状态信息发送给第一端点设备,第一端点设备保存该设备状态信息。在第二端点设备被插入时,第一端点设备向第二端点设备发送该设备状态信息。这样第二端点设备基于该设备状态信息进行恢复到热拔出时的状态,且整个恢复操作,可以不需要依赖处理器,分担了处理器负担。
作为另一种可能的实施例,在主机中,第二端点设备可能发生掉电,当第二端点设备发生掉时,第二端点设备相连的第二PCIe交换设备向第一端点设备发送通知报文。当第二端点设备恢复供电时,第二端点设备需要向第一端点设备请求恢复传输业务。参见图5,实现流程如下:
步骤501:第二PCIe交换设备在检测到第二端点设备发生掉电时向第一端点设备发送通知报文,该通知报文包括第二端点设备的标识。
第二PCIe交换设备可以通过与第二端点设备相连的下游端口检测到第二端点设备是否发生掉电,在发生掉电时获取第二端点设备的标识,向第一端点设备发送通知报文,该通知报文包括第二端点设备的标识。
第二PCIe交换设备向第一端点设备发送通知报文的过程可以参见图2或图3所示实施例中第二PCIe交换设备向第一端点设备发送健康状态报文的过程,在此不再详细说明。
步骤502:第一端点设备接收该通知报文,根据该通知报文停止向第二端点设备传输业务。
第一端点设备在接收到该通知报文时,如果当前向第二端点设备传输业务,即立即停止传输业务。
当第二端点设备恢复供电时,第二端点设备需要向第一端点设备请求恢复传输业务。实现流程如下:
步骤503:第二端点设备在检测到其恢复供电时向第一端点设备发送第二恢复报文,第二恢复报文包括第一端点设备的标识、第二端点设备在发生掉电时传输的业务信息。
该业务信息可以包括该业务的业务标识,还可以包括该业务的传输进度。
第二PCIe交换设备向第一端点设备发送第二恢复报文的过程可以参见图2或图3所示实施例中第二PCIe交换设备向第一端点设备发送健康状态报文的过程,在此不再详细说明。
步骤504:第一端点设备接收第二恢复报文,根据第二恢复报文包括的业务信息,向第二端点设备发送该业务的业务数据。
在本申请实施例中,在第二端点设备掉电后恢复时,第二端点设备向第一端点设备发送业务的业务信息,这样第一端点设备基于该业务信息包括的业务标识和传输进度,恢复向第二端点设备传输该业务,保证业务传输的连续性,整个恢复操作,可以不需要依赖处理器,分担了处理器负担。
上文中结合图1至图5,详细描述了根据本申请实施例所提供的端点设备的管理方法,下面将结合图6至图8,描述根据本申请实施例所提供的端点设备的管理装置和计算机系统。
参见图6,本申请实施例一种端点设备管理装置600,所述装置600可以部署在图1-5任实施例所示的第一端点设备中,包括:
发送单元601,用于向第一快捷外围部件互连标准PCIe交换设备发送配置读取报文,所述配置读取报文包括第二端点设备的标识,所述第二端点设备的标识用于所述第一PCIe交换设备向所述第二端点设备转发所述配置读取报文,所述装置、所述第二端点设备和所述第一PCIe交换设备通过PCIe相连;
接收单元602,用于接收所述第一PCIe交换设备发送的所述第二端点设备的健康状态报文,所述健康状态报文包括所述第二端点设备的健康状态信息和所述装置的标识,所述健康状态信息为所述第二端点设备根据所述配置读取报文获取的;
处理单元603,用于根据所述健康状态报文识别所述第二端点设备是否故障,并执行相应的处理操作。
可选的,所述装置600、所述第二端点设备和所述第一PCIe交换设备属于同一PCIe交换域。
可选的,所述装置600和所述第一PCIe交换设备属于第一PCIe交换域,所述第二端点设备属于第二PCIe交换域,所述发送单元601,还用于通过所述第一PCIe交换设备向处理器发送所述配置读取报文,所述第二端点设备的标识用于所述处理器向所述第二端点设备发送所述配置读取报文。
可选的,所述接收单元602,还用于接收所述第一PCIe交换设备发送的所述第二端点设备的中断报文和第一消息报文,所述第一消息报文包括所述第二端点设备的设备状态信息,所述设备状态信息包括所述第二端点设备的健康状态信息或所述第二端点设备传输的业务信息中的至少一个,所述中断报文和所述第一消息报文是所述第二端点设备在检测到其从第二PCIe交换设备上拨出时获取的,所述第二PCIe交换设备是与所述第二端点设备相连的PCIe交换设备;
所述处理单元603,还用于根据所述中断报文将所述第二端点设备的标识和所述设备状态信息对应保存在端点设备的标识与设备状态信息的对应关系中。
可选的,所述接收单元602,还用于接收所述第一PCIe交换设备发送的所述第二端点设备的第一恢复报文,所述第一恢复报文包括所述第二端点设备的标识,所述第一恢复报文是所述第二端点设备在检测到其被插入所述第二PCIe交换设备时发送的;
所述发送单元601,还用于向所述第一PCIe交换设备发送配置写入报文,所述配置写入报文包括所述第二端点设备的标识和所述第二端点设备的设备状态信息,所述第二端点设备的标识用于所述第一PCIe交换设备向所述第二端点设备转发所述配置写入报文,所述设备状态信息用于所述第二端点设备对其设备状态进行恢复。
可选的,所述接收单元602,还用于接收所述第一PCIe交换设备发送的所述第二端点设备的第二恢复报文,所述第二恢复请求报文是所述第二端点设备在检测到其掉电后供电恢复时发送的,所述第二恢复报文包括所述第二端点设备在发生掉电时传输的业务信息;
所述发送单元601,还用于根据所述业务的业务信息,通过所述第一PCIe交换设备向所述第二端点设备发送所述业务信息对应的业务。
应理解的是,本申请实施例的装置600可以通过专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logicdevice,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logicaldevice,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现图2至图5所示的端点设备的管理方法中第一端点设备执行的操作步骤时,装置600及其各个模块也可以为软件模块。
在本申请实施例中,所述装置可以对第二端点设备进行管理,从而将对第二端点设备的管理工作从处理器下移到所述装置上,使得对第二端点设备的管理不依赖于处理器。从而避免了由处理器管理导致拥塞的发生,提高了计算机系统的可靠性。
参见图7,本申请实施例提供了一种端点设备管理装置700,所述装置700可以部署在图1-5任实施例所示的第一PCIe交换设备中,包括:
接收单元701,用于接收第一端点设备发送的配置读取报文,所述配置读取报文包括第二端点设备的标识,所述第一端点设备、所述第二端点设备和所述装置通过基于快捷外围部件互连标准PCIe相连;
发送单元702,用于根据所述第二端点设备的标识向所述第二端点设备发送所述配置读取报文;
所述接收单元701,还用于接收所述第二端点设备发送的健康状态报文,所述健康状态报文包括所述第二端点设备的健康状态信息和所述第一端点设备的标识,所述健康状态信息为所述第二端点设备根据所述配置读取报文获取的;
所述发送单元702,还用于根据所述第一端点设备的标识向所述第一端点设备发送所述健康状态报文,所述健康状态报文用于所述第一端点设备根据所述健康状态信息识别所述第二端点设备是否故障并执行相应的处理操作。
可选的,所述第一端点设备、所述第二端点设备和所述装置700属于同一PCIe域。
可选的,所述第一端点设备和所述装置700属于第一PCIe域,所述第二端点设备属于第二PCIe域,
所述发送单元702,用于根据所述第二端点设备的标识向处理器发送所述配置读取报文,以使所述处理器根据所述第二端点设备的标识向所述第二端点设备发送所述配置读取报文;
所述接收单元701,用于接收所述处理器发送的来自所述第二端点设备的健康状态报文。
应理解的是,本申请实施例的装置700可以通过专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logicdevice,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logicaldevice,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现图2至图5所示的端点设备的管理方法中PCIe交换设备执行的步骤时,装置700及各个模块也可以为软件模块。
在本申请实施例中,所述装置可以接收第一端点设备的配置读取报文并向第二端点设备发送该配置读取管理报文,以及接收第二端点设备发送的健康状态报文并向第一端点设备发送该健康状态报文,使第一端点设备可以对第二端点设备进行管理,从而将对第二端点设备的管理工作从处理器下移到第一端点设备上,使得对第二端点设备的管理不依赖于处理器。从而避免了由处理器管理导致拥塞的发生,提高了计算机系统的可靠性。
参见图8,本申请实施例提供了一种计算机系统800。该系统800包括处理器801,第一端点设备802,第二端点设备803、PCIe交换设备804、通信接口805、内存单元806和总线807,其中,处理器801、第一端点设备802,第二端点设备803、PCIe交换设备804、通信接口805、内存单元806通过总线807进行通信,也可以通过无线传输等其他手段实现通信。可选地,第二端点设备803也可以通过PCIe交换设备804连接总线807,实现第二端点设备与第一端点设备802和处理器801之间的通信。
处理器801可以调用内存单元806中存储的计算机执行指令(例如,程序代码)实现图1至3所示实施例中处理器执行的操作步骤。例如,可以建立计算机系统800的拓扑并将该拓扑保存在存储介质(图8未示出)中,从该拓扑中选择第一端点设备802和至少一个第二端点设备803,用于组成异构系统,然后通过PCIe交换设备804或总线807向第一端点设备802发送第二端点设备803的标识以及向第二端点设备807发送第一端点设备802的标识。在第一端点设备802和第二端点设备803位于不同的PCIe交换域,或者,第一端点设备802和第二端点设备803位于不同的PCIe时,处理器801还用于转发第一端点设备802和第二端点设备803之间的报文。处理器801还可以通过通信接口805与除所述计算机系统700以外的其他设备通信或通信网络通信。
可选的,上述处理器801可以是一个CPU,微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。作为一种实施例,处理器801可以包括一个或多个CPU,例如图8中的CPU0和CPU1。该处理器801还可以是其他通用处理器、数字信号处理器(digital signalprocessing,DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
第一端点设备802可以包括处理器8021、存储器8022、通信接口8023和总线8024,其中,处理器8021、存储器8022和通信接口8023通过总线系统8024相连。第一端点设备802的通信接口9023可以连接至总线807或PCIe交换设备。第一端点设备包括具有处理能力的芯片,例如,人工智能(architecture intelligence,AI)芯片、图形处理器(graphicprocessing unit,GPU)、网络处理单元(network processing unit,NPU)、片上系统(system on chip,SoC)、加速卡(例如,SDI卡)。
第一端点设备802的存储器8022用于存储计算机执行指令,当所述第一端点设备8021运行时,所述第一端点设备执行所述存储器8022中存储的计算机执行指令,以实现图2至图5所示的方法中第一端点设备所执行的操作步骤。
PCIe交换设备804包括处理器8041、用于存储计算机执行指令的存储器8042、通信接口8043,其中,处理器8041、用于存储计算机执行指令的存储器8042、通信接口8043通过总线8044相通信。
该系统800中总线807、总线8024和总线8044除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线807,总线8024或总线8044。
作为一种可能的实施例,本申请还提供一种如图8所示的第一端点设备802,包括用于存储计算机执行指令的存储器8022,处理器8021执行所述存储器8022中指令以实现所述图2至图5所示方法中第一端点设备执行的方法步骤。
作为另一种可能的实施例,本申请还提供一种如图8所示的PCIe交换设备804,包括处理器8041、用于存储计算机执行指令的存储器8042、通信接口8043,其中,处理器8041、用于存储计算机执行指令的存储器8042、通信接口8043通过总线8044相通信。处理器8041执行所述存储器8042中指令以实现所述图2至图5所示方法中PCIe交换设备执行的方法步骤。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,SSD)。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过逻辑和硬件结合的设计来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (23)
1.一种端点设备的管理方法,其特征在于,所述方法包括:
第一端点设备向第一快捷外围部件互连标准PCIe交换设备发送配置读取报文,所述配置读取报文包括第二端点设备的标识,所述第二端点设备的标识用于所述第一PCIe交换设备向所述第二端点设备转发所述配置读取报文,所述第一端点设备、所述第二端点设备和所述第一PCIe交换设备通过PCIe相连;
所述第一端点设备接收所述第一PCIe交换设备发送的所述第二端点设备的健康状态报文,所述健康状态报文包括所述第二端点设备的健康状态信息和所述第一端点设备的标识,所述健康状态信息为所述第二端点设备根据所述配置读取报文获取的;
所述第一端点设备根据所述健康状态报文识别所述第二端点设备是否故障,并执行相应的处理操作;
所述第一端点设备接收所述第一PCIe交换设备发送的所述第二端点设备的中断报文和第一消息报文,所述第一消息报文包括所述第二端点设备的设备状态信息,所述设备状态信息包括所述第二端点设备的健康状态信息或所述第二端点设备传输的业务信息中的至少一个,所述中断报文和所述第一消息报文是所述第二端点设备在检测到其从第二PCIe交换设备上拨出时获取的,所述第二PCIe交换设备是与所述第二端点设备相连的PCIe交换设备;
所述第一端点设备根据所述中断报文将所述第二端点设备的标识和所述设备状态信息对应保存在端点设备的标识与设备状态信息的对应关系中。
2.如权利要求1所述的方法,其特征在于,所述第一端点设备、所述第二端点设备和所述第一PCIe交换设备属于同一PCIe交换域,所述PCIe交换域是指将所述第一PCIe交换设备连接的多个端点设备的集合。
3.如权利要求1所述的方法,其特征在于,所述第一端点设备和所述第一PCIe交换设备属于第一PCIe交换域,所述第二端点设备属于第二PCIe交换域,则在所述第一端点设备接收所述第一PCIe交换设备发送的所述第二端点设备的健康状态报文之前,所述方法还包括:
所述第一端点设备通过所述第一PCIe交换设备向处理器发送所述配置读取报文,所述第二端点设备的标识用于所述处理器向所述第二端点设备发送所述配置读取报文。
4.如权利要求1所述的方法,其特征在于,所述第一端点设备和所述第一PCIe交换设备属于第一PCIe域,所述第二端点设备属于第二PCIe域,所述PCIe域是指与根复合体一个根端口连接的PCIe交换设备和端点设备的集合,则在所述第一端点设备接收所述第一PCIe交换设备发送的所述第二端点设备的健康状态报文之前,所述方法还包括:
所述第一端点设备通过所述第一PCIe交换设备向处理器发送所述配置读取报文,所述第二端点设备的标识用于所述处理器向所述第二端点设备发送所述配置读取报文。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一端点设备接收所述第一PCIe交换设备发送的所述第二端点设备的第一恢复报文,所述第一恢复报文包括所述第二端点设备的标识,所述第一恢复报文是所述第二端点设备在检测到其被插入所述第二PCIe交换设备时发送的;
所述第一端点设备向所述第一PCIe交换设备发送配置写入报文,所述配置写入报文包括所述第二端点设备的标识和所述第二端点设备的设备状态信息,所述第二端点设备的标识用于所述第一PCIe交换设备向所述第二端点设备转发所述配置写入报文,所述设备状态信息用于所述第二端点设备对其设备状态进行恢复。
6.如权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:
所述第一端点设备接收所述第一PCIe交换设备发送的所述第二端点设备的第二恢复报文,所述第二恢复报文是所述第二端点设备在检测到其掉电后供电恢复时发送的,所述第二恢复报文包括所述第二端点设备在发生掉电时传输的业务信息;
所述第一端点设备根据所述业务的业务信息,通过所述第一PCIe交换设备向所述第二端点设备发送所述业务信息对应的业务。
7.一种端点设备的管理方法,其特征在于,所述方法包括:
第一快捷外围部件互连标准PCIe交换设备接收第一端点设备发送的配置读取报文,所述配置读取报文包括第二端点设备的标识,所述第一端点设备、所述第二端点设备和所述第一PCIe交换设备通过PCIe相连;
所述第一PCIe交换设备根据所述第二端点设备的标识向所述第二端点设备发送所述配置读取报文;
所述第一PCIe交换设备接收所述第二端点设备发送的健康状态报文,所述健康状态报文包括所述第二端点设备的健康状态信息和所述第一端点设备的标识,所述健康状态信息为所述第二端点设备根据所述配置读取报文获取的;
所述第一PCIe交换设备根据所述第一端点设备的标识向所述第一端点设备发送所述健康状态报文,所述健康状态报文用于所述第一端点设备根据所述健康状态信息识别所述第二端点设备是否故障并执行相应的处理操作;
所述第一PCIe交换设备接收所述第二端点设备发送的中断报文和第一消息报文,所述第一消息报文包括所述第二端点设备的设备状态信息,所述设备状态信息包括所述第二端点设备的健康状态信息或所述第二端点设备传输的业务信息中的至少一个,所述中断报文和所述第一消息报文是所述第二端点设备在检测到其从第二PCIe交换设备上拨出时获取的,所述第二PCIe交换设备是与所述第二端点设备相连的PCIe交换设备;
所述第一PCIe交换设备向所述第一端点设备发送所述中断报文和所述第一消息报文,使所述第一端点设备根据所述中断报文将所述第二端点设备的标识和所述设备状态信息对应保存在端点设备的标识与设备状态信息的对应关系中。
8.如权利要求7所述的方法,其特征在于,所述第一端点设备、所述第二端点设备和所述第一PCIe交换设备属于同一PCIe交换域。
9.如权利要求7所述的方法,其特征在于,所述第一端点设备和所述第一PCIe交换设备属于第一交换PCIe域,所述第二端点设备属于第二PCIe交换域,则所述第一PCIe交换设备根据所述第二端点设备的标识向所述第二端点设备发送所述配置读取报文,包括:
所述第一PCIe交换设备根据所述第二端点设备的标识向处理器发送所述配置读取报文,以使所述处理器根据所述第二端点设备的标识向所述第二端点设备发送所述配置读取报文;
所述第一PCIe交换设备接收所述第二端点设备发送的健康状态报文,包括:
所述第一PCIe交换设备接收所述处理器发送的来自所述第二端点设备的健康状态报文。
10.如权利要求7所述的方法,其特征在于,所述第一端点设备和所述第一PCIe交换设备属于第一交换PCIe域,所述第二端点设备属于第二PCIe域,所述PCIe域是指与根复合体一个根端口连接的PCIe交换设备和端点设备的集合,则所述第一PCIe交换设备根据所述第二端点设备的标识向所述第二端点设备发送所述配置读取报文,包括:
所述第一PCIe交换设备根据所述第二端点设备的标识向处理器发送所述配置读取报文,以使所述处理器根据所述第二端点设备的标识向所述第二端点设备发送所述配置读取报文;
所述第一PCIe交换设备接收所述第二端点设备发送的健康状态报文,包括:
所述第一PCIe交换设备接收所述处理器发送的来自所述第二端点设备的健康状态报文。
11.一种端点设备的管理装置,其特征在于,所述装置包括:
发送单元,用于向第一快捷外围部件互连标准PCIe交换设备发送配置读取报文,所述配置读取报文包括第二端点设备的标识,所述第二端点设备的标识用于所述第一PCIe交换设备向所述第二端点设备转发所述配置读取报文,所述装置、所述第二端点设备和所述第一PCIe交换设备通过PCIe相连;
接收单元,用于接收所述第一PCIe交换设备发送的所述第二端点设备的健康状态报文,所述健康状态报文包括所述第二端点设备的健康状态信息和所述装置的标识,所述健康状态信息为所述第二端点设备根据所述配置读取报文获取的;
处理单元,用于根据所述健康状态报文识别所述第二端点设备是否故障,并执行相应的处理操作;
所述接收单元,还用于接收所述第一PCIe交换设备发送的所述第二端点设备的中断报文和第一消息报文,所述第一消息报文包括所述第二端点设备的设备状态信息,所述设备状态信息包括所述第二端点设备的健康状态信息或所述第二端点设备传输的业务信息中的至少一个,所述中断报文和所述第一消息报文是所述第二端点设备在检测到其从第二PCIe交换设备上拨出时获取的,所述第二PCIe交换设备是与所述第二端点设备相连的PCIe交换设备;
所述处理单元,还用于根据所述中断报文将所述第二端点设备的标识和所述设备状态信息对应保存在端点设备的标识与设备状态信息的对应关系中。
12.如权利要求11所述的装置,其特征在于,所述装置、所述第二端点设备和所述第一PCIe交换设备属于同一PCIe交换域,所述PCIe交换域是指将所述第一PCIe交换设备连接的多个端点设备的集合。
13.如权利要求11所述的装置,其特征在于,所述装置和所述第一PCIe交换设备属于第一PCIe交换域,所述第二端点设备属于第二PCIe交换域,
所述发送单元,还用于通过所述第一PCIe交换设备向处理器发送所述配置读取报文,所述第二端点设备的标识用于所述处理器向所述第二端点设备发送所述配置读取报文。
14.如权利要求11所述的装置,其特征在于,所述装置和所述第一PCIe交换设备属于第一PCIe域,所述第二端点设备属于第二PCIe域,所述PCIe域是指指与根复合体一个根端口连接的PCIe交换设备和端点设备的集合;
所述发送单元,还用于通过所述第一PCIe交换设备向处理器发送所述配置读取报文,所述第二端点设备的标识用于所述处理器向所述第二端点设备发送所述配置读取报文。
15.如权利要求11所述的装置,其特征在于,
所述接收单元,还用于接收所述第一PCIe交换设备发送的所述第二端点设备的第一恢复报文,所述第一恢复报文包括所述第二端点设备的标识,所述第一恢复报文是所述第二端点设备在检测到其被插入所述第二PCIe交换设备时发送的;
所述发送单元,还用于向所述第一PCIe交换设备发送配置写入报文,所述配置写入报文包括所述第二端点设备的标识和所述第二端点设备的设备状态信息,所述第二端点设备的标识用于所述第一PCIe交换设备向所述第二端点设备转发所述配置写入报文,所述设备状态信息用于所述第二端点设备对其设备状态进行恢复。
16.如权利要求11至15任一项所述的装置,其特征在于,
所述接收单元,还用于接收所述第一PCIe交换设备发送的所述第二端点设备的第二恢复报文,所述第二恢复报文是所述第二端点设备在检测到其掉电后供电恢复时发送的,所述第二恢复报文包括所述第二端点设备在发生掉电时传输的业务信息;
所述发送单元,还用于根据所述业务的业务信息,通过所述第一PCIe交换设备向所述第二端点设备发送所述业务信息对应的业务。
17.一种端点设备的管理装置,其特征在于,所述装置包括:
接收单元,用于接收第一端点设备发送的配置读取报文,所述配置读取报文包括第二端点设备的标识,所述第一端点设备、所述第二端点设备和所述装置通过基于快捷外围部件互连标准PCIe相连;
发送单元,用于根据所述第二端点设备的标识向所述第二端点设备发送所述配置读取报文;
所述接收单元,还用于接收所述第二端点设备发送的健康状态报文,所述健康状态报文包括所述第二端点设备的健康状态信息和所述第一端点设备的标识,所述健康状态信息为所述第二端点设备根据所述配置读取报文获取的;
所述发送单元,还用于根据所述第一端点设备的标识向所述第一端点设备发送所述健康状态报文,所述健康状态报文用于所述第一端点设备根据所述健康状态信息识别所述第二端点设备是否故障并执行相应的处理操作;
所述装置还用于接收所述第二端点设备发送的中断报文和第一消息报文,所述第一消息报文包括所述第二端点设备的设备状态信息,所述设备状态信息包括所述第二端点设备的健康状态信息或所述第二端点设备传输的业务信息中的至少一个,所述中断报文和所述第一消息报文是所述第二端点设备在检测到其从第二PCIe交换设备上拨出时获取的,所述第二PCIe交换设备是与所述第二端点设备相连的PCIe交换设备;向所述第一端点设备发送所述中断报文和所述第一消息报文,使所述第一端点设备根据所述中断报文将所述第二端点设备的标识和所述设备状态信息对应保存在端点设备的标识与设备状态信息的对应关系中。
18.如权利要求17所述的装置,其特征在于,所述第一端点设备、所述第二端点设备和所述装置属于同一PCIe交换域,所述PCIe交换域是指将所述装置连接的多个端点设备的集合。
19.如权利要求17所述的装置,其特征在于,所述第一端点设备和所述装置属于第一PCIe交换域,所述第二端点设备属于第二PCIe交换域,
所述发送单元,还用于根据所述第二端点设备的标识向处理器发送所述配置读取报文,以使所述处理器根据所述第二端点设备的标识向所述第二端点设备发送所述配置读取报文;
所述接收单元,还用于接收所述处理器发送的来自所述第二端点设备的健康状态报文。
20.一种端点设备,其特征在于,所述端点设备包括:处理器和存储器,所述存储器用于存储计算机执行指令,所述计算机执行指令被所述处理器加载并执行,以实现如权利要求1至6任一项所述的方法的操作步骤。
21.一种快捷外围部件互连标准PCIe交换设备,其特征在于,所述PCIe交换设备包括:处理器和存储器,所述存储器用于存储至少一条指令,所述至少一条指令被所述处理器加载并执行,以实现如权利要求7至10任一项所述方法的操作步骤。
22.一种端点设备管理系统,其特征在于,所述系统包括第一端点设备、第二端点设备和第一快捷外围部件互连标准PCIe交换设备,所述第一端点设备、所述第二端点设备和所述第一PCIe交换设备通过PCIe相连;
所述第一端点设备,用于向所述第一PCIe交换设备发送配置读取报文,所述配置读取报文包括第二端点设备的标识;
所述第一PCIe交换设备,用于根据所述第二端点设备的标识向所述第二端点设备发送所述配置读取报文;
所述第二端点设备,用于根据所述配置读取报文向所述第一PCIe交换设备发送健康状态报文,所述健康状态报文包括所述第二端点设备的健康状态信息和所述第一端点设备的标识;
所述第一PCIe交换设备,还用于根据所述第一端点设备的标识向所述第一端点设备发送所述健康状态报文;
所述第一端点设备,还用于根据所述健康状态报文识别所述第二端点设备是否故障,并执行相应的处理操作;
所述第二端点设备,还用于向所述第一PCIe设备发送的中断报文和第一消息报文,所述第一消息报文包括所述第二端点设备的设备状态信息,所述设备状态信息包括所述第二端点设备的健康状态信息或所述第二端点设备传输的业务信息中的至少一个,所述中断报文和所述第一消息报文是所述第二端点设备在检测到其从第二PCIe交换设备上拨出时获取的,所述第二PCIe交换设备是与所述第二端点设备相连的PCIe交换设备;
所述第一PCIe交换设备,还用于向所述第一端点设备发送所述中断报文和所述第一消息报文;
所述第一端点设备,还用于根据所述中断报文将所述第二端点设备的标识和所述设备状态信息对应保存在端点设备的标识与设备状态信息的对应关系中。
23.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-10任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910696478.5A CN112306913B (zh) | 2019-07-30 | 2019-07-30 | 一种端点设备的管理方法、装置及系统 |
PCT/CN2020/081889 WO2021017503A1 (zh) | 2019-07-30 | 2020-03-28 | 一种端点设备的管理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910696478.5A CN112306913B (zh) | 2019-07-30 | 2019-07-30 | 一种端点设备的管理方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112306913A CN112306913A (zh) | 2021-02-02 |
CN112306913B true CN112306913B (zh) | 2023-09-22 |
Family
ID=74230169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910696478.5A Active CN112306913B (zh) | 2019-07-30 | 2019-07-30 | 一种端点设备的管理方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112306913B (zh) |
WO (1) | WO2021017503A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102647736A (zh) * | 2012-04-19 | 2012-08-22 | 华为技术有限公司 | 一种设备状态信息获取系统及通信方法 |
CN103870435A (zh) * | 2014-03-12 | 2014-06-18 | 华为技术有限公司 | 服务器及数据访问方法 |
CN104756081A (zh) * | 2013-09-11 | 2015-07-01 | 华为技术有限公司 | 一种故障处理的方法、计算机系统和装置 |
CN108769016A (zh) * | 2018-05-29 | 2018-11-06 | 新华三信息安全技术有限公司 | 一种业务报文的处理方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3629186B1 (en) * | 2013-12-31 | 2022-02-23 | Huawei Technologies Co., Ltd. | Method and apparatus for extending pcie domain |
CN109815043B (zh) * | 2019-01-25 | 2022-04-05 | 华为云计算技术有限公司 | 故障处理方法、相关设备及计算机存储介质 |
-
2019
- 2019-07-30 CN CN201910696478.5A patent/CN112306913B/zh active Active
-
2020
- 2020-03-28 WO PCT/CN2020/081889 patent/WO2021017503A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102647736A (zh) * | 2012-04-19 | 2012-08-22 | 华为技术有限公司 | 一种设备状态信息获取系统及通信方法 |
CN104756081A (zh) * | 2013-09-11 | 2015-07-01 | 华为技术有限公司 | 一种故障处理的方法、计算机系统和装置 |
CN103870435A (zh) * | 2014-03-12 | 2014-06-18 | 华为技术有限公司 | 服务器及数据访问方法 |
CN108769016A (zh) * | 2018-05-29 | 2018-11-06 | 新华三信息安全技术有限公司 | 一种业务报文的处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112306913A (zh) | 2021-02-02 |
WO2021017503A1 (zh) | 2021-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7925795B2 (en) | Method and system for configuring a plurality of network interfaces that share a physical interface | |
US8069368B2 (en) | Failover method through disk takeover and computer system having failover function | |
US20200193027A1 (en) | Firmware upgrade method, slave station of robot, and machine readable storage medium | |
CN104050061A (zh) | 一种基于PCIe总线多主控板冗余备份系统 | |
CN107070731B (zh) | 一种主从仲裁方法及系统 | |
CN111767244A (zh) | 基于国产龙芯平台的双冗余计算机设备 | |
US20140204734A1 (en) | Node device, communication system, and method for switching virtual switch | |
CN107395710B (zh) | 一种云平台网元的配置和高可用ha实现方法和装置 | |
CN115550291B (zh) | 交换机的复位系统及方法、存储介质、电子设备 | |
CN105183575A (zh) | 处理器故障的诊断方法、装置及系统 | |
CN111585835A (zh) | 一种带外管理系统的控制方法、装置和存储介质 | |
CN114610551A (zh) | 一种基于fpga故障检测的双机热备系统的实现方法 | |
CN212541329U (zh) | 基于国产龙芯平台的双冗余计算机设备 | |
CN105009086A (zh) | 一种实现处理器切换的方法、计算机和切换装置 | |
CN112306913B (zh) | 一种端点设备的管理方法、装置及系统 | |
CN116644011B (zh) | 一种i2c设备的快速识别方法、装置、设备及存储介质 | |
CN112201378A (zh) | 基于核电厂dcs平台的热备切换方法、系统、终端及介质 | |
CN115729164B (zh) | 一种工业通信系统管理方法、装置及工业通信系统 | |
CN114880266B (zh) | 故障处理的方法、装置、计算机设备和存储介质 | |
JP2015045905A (ja) | 情報処理システム、情報処理システムの障害処理方法 | |
US20170279667A1 (en) | Providing a redundant connection in response to a modified connection | |
CN114172789B (zh) | 虚拟设备链路探测方法、装置、设备及存储介质 | |
EP3364618A1 (en) | Data processing method and device | |
JP2856617B2 (ja) | プログラマブルコントローラ | |
JPH07152697A (ja) | 疎結合計算機システム |
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 |