CN116881053B - 数据处理方法及交换板、数据处理系统、数据处理装置 - Google Patents
数据处理方法及交换板、数据处理系统、数据处理装置 Download PDFInfo
- Publication number
- CN116881053B CN116881053B CN202311144706.0A CN202311144706A CN116881053B CN 116881053 B CN116881053 B CN 116881053B CN 202311144706 A CN202311144706 A CN 202311144706A CN 116881053 B CN116881053 B CN 116881053B
- Authority
- CN
- China
- Prior art keywords
- data
- host system
- processor
- cxl
- host
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 156
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000000034 method Methods 0.000 claims abstract description 63
- 230000015654 memory Effects 0.000 claims description 177
- 230000008569 process Effects 0.000 claims description 32
- 238000011084 recovery Methods 0.000 claims description 25
- 238000012544 monitoring process Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 14
- 239000000872 buffer Substances 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 5
- 230000000694 effects Effects 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000004364 calculation method Methods 0.000 description 34
- 238000007726 management method Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 9
- 238000012546 transfer Methods 0.000 description 5
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 3
- 102100036725 Epithelial discoidin domain-containing receptor 1 Human genes 0.000 description 3
- 101710131668 Epithelial discoidin domain-containing receptor 1 Proteins 0.000 description 3
- 238000013468 resource allocation Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 239000000370 acceptor Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2025—Failover techniques using centralised failover control functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
-
- 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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- 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/17306—Intercommunication techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请实施例提供了一种数据处理方法及交换板、数据处理系统、数据处理装置,其中,该方法包括:接收控制器发送的第一故障指令;基于第一故障指令获取第一目标数据;将第一目标数据传输至第二主机系统,以指示第二主机系统控制第二处理器按照第一目标数据对第一数据继续进行处理,其中,第二主机系统是CXL交换芯片上连接的多个主机系统中处于正常运行状态的主机系统,第二处理器是CXL交换芯片分配给第二主机系统的处理器。通过本申请,解决了相关技术中不能保证数据处理的连续性的问题,进而达到了保证数据处理的连续性的效果。
Description
技术领域
本申请实施例涉及计算机领域,具体而言,涉及一种数据处理方法及交换板、数据处理系统、数据处理装置。
背景技术
随着越来越多的业务在网络上进行,人工智能(Artificial Intelligence,简称为AI)、高性能计算(High Performance Computing,简称为HPC)、云服务等多种高并发、高算力需求的应用场景也越来越多,此时对数据中心的内存池数量需求巨大,而且(Peripheral Component Interconnect Express,简称为PCIe)运算加速器数量庞大,需要进行海量的缓存数据交换,此时内存数量以及内存分割会造成算力的巨大浪费及性能下降,因此集群服务器逐渐由以计算中心转换到以数据中心,所以提高内存容量、提升缓存一致性极为重要。
另外,数据越多就证明承担的风险越大,大大小小的数据每天不停的交互计算,有许多种原因会造成设备宕机,并且丢失当前计算数据,待设备重启后所有计算需要重新开始,无法满足AI、HPC、云服务这类用到海量计算模型的场景,所以能保证计算业务的连续性、保证系统不停机成为亟需解决的问题。
发明内容
本申请实施例提供了一种数据处理方法及交换板、数据处理系统、数据处理装置,以至少解决相关技术中不能保证数据处理的连续性的问题。
根据本申请的一个实施例,提供了一种数据处理方法,应用于CXL交换芯片,包括:接收控制器发送的第一故障指令,其中,上述第一故障指令用于表示第一主机系统出现故障,上述第一主机系统用于控制第一处理器对第一数据进行处理,上述第一处理器是上述CXL交换芯片分配给上述第一主机系统的加速器,上述CXL交换芯片是支持开放式互连标准CXL协议的芯片;基于上述第一故障指令获取第一目标数据,其中,上述第一目标数据包括上述第一处理器处理上述第一数据的处理逻辑数据和上述第一处理器对上述第一数据进行处理的第一结果数据;将上述第一目标数据传输至第二主机系统,以指示上述第二主机系统控制第二处理器按照上述第一目标数据对上述第一数据继续进行处理,其中,上述第二主机系统是上述CXL交换芯片上连接的多个主机系统中处于正常运行状态的主机系统,上述第二处理器是上述CXL交换芯片分配给上述第二主机系统的处理器。
根据本申请的另一个实施例,提供了一种交换板,包括:CXL交换芯片和多个设备接口,其中,多个上述设备接口,用于在上述CXL交换芯片的控制下允许控制器、多个主机系统、扩展内存、多个处理器接入上述CXL交换芯片。上述CXL交换芯片,用于执行上述的数据处理方法。
根据本申请的另一个实施例,提供了数据处理系统,包括:交换板,控制器,多个主机系统,扩展内存,多个处理器,其中,上述交换板上部署了CXL交换芯片和多个设备接口,多个上述设备接口,用于在上述CXL交换芯片的控制下允许上述控制器、多个上述主机系统、上述扩展内存、多个上述处理器接入上述CXL交换芯片,上述CXL交换芯片,用于执行上述的数据处理方法;上述控制器,用于向上述交换芯片发送第一故障指令,其中,上述第一故障指令用于表示多个上述主机系统中的第一主机系统出现故障,上述第一主机系统用于控制第一处理器对第一数据进行处理,上述第一处理器是上述CXL交换芯片从多个上述处理器中分配给上述第一主机系统的加速器。
在一个示例性实施例中,上述控制器包括目标处理器和基板管理控制器,其中,上述基板管理控制器,与多个上述主机系统连接,用于监测多个上述主机系统的工作状态,并在多个上述主机系统中包括故障的主机系统时,将出现故障的主机系统的故障工作状态发送至上述目标处理器;上述目标处理器,用于基于上述故障工作状态生成故障指令,上述故障指令中包括对应的出现故障的主机系统的系统信息。
在一个示例性实施例中,上述基板管理控制器,还用于通过多路信号监控上述第一主机系统,并在多个上述信号均指示上述第一主机系统出现故障的情况下,将上述第一主机系统的故障工作状态发送至上述目标处理器;上述目标处理器,用于基于上述第一主机系统的故障工作状态生成上述第一故障指令。
在一个示例性实施例中,上述基板管理控制器,还用于重启上述第一主机系统,并在上述第一主机系统重启的情况下,将故障恢复指令发送至上述目标处理器,其中,上述故障恢复指令用于表示上述第一主机系统的故障已修复,当前处于正常工作状态。
在一个示例性实施例中,上述控制器还包括可编程逻辑器件,其中,上述可编程逻辑器件,与上述目标处理器连接,用于接收上述目标处理器发送的上述故障恢复指令,并将上述故障恢复指令发送至上述CXL交换芯片,以指示上述CXL交换芯片将第二主机系统切换至上述第一主机系统继续对上述第一数据进行处理。
在一个示例性实施例中,上述CXL交换芯片,还用于给多个上述主机系统分配内存和处理器,其中,分配的内存是上述扩展内存中处于空闲状态的内存,分配的处理器是多个上述处理器中处于空闲状态的处理器。
在一个示例性实施例中,上述扩展内存、多个上述处理器以及多个上述主机系统均允许在上述CXL交换芯片的控制下通过CXL链路与多个上述设备接口连接。
在一个示例性实施例中,上述扩展内存、多个上述处理器以及多个上述主机系统均允许在上述CXL交换芯片的控制下通过CXL链路与多个上述设备接口连接。
根据本申请的又一个实施例,还提供了一种数据处理装置,包括:第一接收模块,用于接收控制器发送的第一故障指令,其中,上述第一故障指令用于表示第一主机系统出现故障,上述第一主机系统用于控制第一处理器对第一数据进行处理,上述第一处理器是上述CXL交换芯片分配给上述第一主机系统的加速器,上述CXL交换芯片是支持开放式互连标准CXL协议的芯片;第一获取模块,用于基于上述第一故障指令获取第一目标数据,其中,上述第一目标数据包括上述第一处理器处理上述第一数据的处理逻辑数据和上述第一处理器对上述第一数据进行处理的第一结果数据;第一传输模块,用于将上述第一目标数据传输至第二主机系统,以指示上述第二主机系统控制第二处理器按照上述第一目标数据对上述第一数据继续进行处理,其中,上述第二主机系统是上述CXL交换芯片上连接的多个主机系统中处于正常运行状态的主机系统,上述第二处理器是上述CXL交换芯片分配给上述第二主机系统的处理器。
在一个示例性实施例中,上述第一接收模块,包括:第一接收单元,用于接收上述控制器中的目标处理器发送的上述第一故障指令;其中,上述目标处理器与基板管理控制器连接,上述基板管理控制器与多个上述主机系统连接,用于监测多个上述主机系统的工作状态,并在多个上述主机系统中包括故障的主机系统时,将出现故障的主机系统的故障工作状态发送至上述目标处理器,上述目标处理器用于基于上述故障工作状态生成故障指令,上述故障指令中包括对应的出现故障的主机系统的系统信息。
在一个示例性实施例中,上述第一获取模块,包括:第一响应单元,用于响应上述第一故障指令,从上述第一主机系统对应的第一内存中获取上述处理逻辑数据,并从上述第一处理器对应的第一缓存中获取上述第一结果数据,其中,上述第一内存是上述CXL交换芯片分配给上述第一主机系统的扩展内存中处于空闲状态的内存,上述扩展内存通过CXL链路与上述CXL交换芯片连接。
在一个示例性实施例中,上述第一传输模块,包括:第一存储单元,用于将上述处理逻辑数据存储至上述第二主机系统对应的第二内存中,并将上述第一结果数据存储至上述第二处理器对应的第二缓存中,以指示上述第二主机系统控制上述第二处理器按照上述处理逻辑数据对第一剩余数据继续进行处理,其中,上述第一剩余数据是上述第一处理器对上述第一数据进行处理之后剩余的数据,上述第二内存是上述CXL交换芯片分配给上述第二主机系统的扩展内存中处于空闲状态的内存,上述扩展内存通过CXL链路与上述CXL交换芯片连接。
在一个示例性实施例中,上述装置还包括:第一缓存模块,用于将上述第一目标数据存储至上述第二主机系统对应的第二内存中,以指示上述第二主机系统控制上述第二处理器按照上述处理逻辑数据和上述第一结果数据对第一剩余数据继续进行处理之后,将上述第二处理器对上述第一剩余数据进行处理的当前处理结果和上述第一结果数据均缓存至上述第二缓存中。
在一个示例性实施例中,上述装置还包括:第一分配模块,包括基于上述第一故障指令获取第一目标数据之后,将上述第一内存分配给其他主机系统,其中,上述其他主机系统是上述CXL交换芯片上连接的多个主机系统中除上述第一主机系统之外的处于正常运行状态的主机系统,上述其他主机系统包括上述第二主机系统;第二分配模块,用于将上述第一处理器分配给上述其他主机系统。
在一个示例性实施例中,上述装置还包括:第二接收模块,用于基于上述第一故障指令获取第一目标数据之后,接收上述控制器中的可编程逻辑器件发送的故障恢复指令,其中,上述故障恢复指令用于表示上述第一主机系统的故障已修复,当前处于正常工作状态;第一响应模块,用于响应上述故障恢复指令,将其他处理器分配给上述第一主机系统,其中,上述其他处理器是上述CXL交换芯片上连接的多个处理器中处于空闲状态的处理器,上述其他处理器对应其他缓存;第三分配模块,用于将其他内存分配给上述第一主机系统,其中,上述其他内存是上述CXL交换芯片上连接的扩展内存中处于空闲状态的内存。
在一个示例性实施例中,上述装置还包括:第二获取模块,用于将其他内存分配给上述第一主机系统之后,在上述第二主机系统当前处于处理上述第一数据的状态的情况下,从上述第二主机系统中获取第二目标数据,其中,上述第二目标数据中包括上述处理逻辑数据、上述第二处理器对上述第一数据继续进行处理的第二结果数据,以及上述第一结果数据;第二传输模块,用于将上述第二目标数据传输至上述第一主机系统,以指示上述第一主机系统控制上述其他处理器按照上述第二目标数据对上述第一数据继续进行处理。
在一个示例性实施例中,第二传输模块,包括:第二存储单元,用于将上述逻辑数据存储至上述其他内存中,并将上述第二结果数据和上述第一结果数据存储至上述其他缓存中,以指示上述第一主机系统控制上述其他处理器按照上述处理逻辑数据对第二剩余数据继续进行处理,其中,上述第二剩余数据是上述第二处理器对上述第一数据继续进行处理之后剩余的数据。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请,由于在第一主机系统出现故障时,控制器向CXL交换芯片发送第一故障指令,CXL交换芯片将第一主机系统控制处理的第一数据转存至第二主机系统中,第二主机系统继续对第一数据进行处理。即第一数据并不会因为第一主机系统的故障而中断,而是通过CXL交换芯片的分配由第二主机系统继续处理。保证了数据处理的连续性。因此,可以解决相关技术中不能保证数据处理的连续性的问题,达到保证数据处理的连续性的效果。
附图说明
图1是本申请实施例的一种数据处理方法的移动终端的硬件结构框图;
图2是根据本申请实施例的数据处理方法的流程图;
图3是根据本申请实施例的集群服务器中的实现扩充内存容量的示意图;
图4是根据本申请实施例的各个设备的连接示意图;
图5是根据本申请实施例的断点续算功能实现的具体流程图;
图6是根据本申请实施例的数据处理装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本申请实施例的一种数据处理方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的数据处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种数据处理方法,应用于CXL交换芯片,图2是根据本申请实施例的数据处理方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,接收控制器发送的第一故障指令,其中,第一故障指令用于表示第一主机系统出现故障,第一主机系统用于控制第一处理器对第一数据进行处理,第一处理器是CXL交换芯片分配给第一主机系统的加速器,CXL交换芯片是支持开放式互连标准CXL协议的芯片;
步骤S204,基于第一故障指令获取第一目标数据,其中,第一目标数据包括第一处理器处理第一数据的处理逻辑数据和第一处理器对第一数据进行处理的第一结果数据;
步骤S206,将第一目标数据传输至第二主机系统,以指示第二主机系统控制第二处理器按照第一目标数据对第一数据继续进行处理,其中,第二主机系统是CXL交换芯片上连接的多个主机系统中处于正常运行状态的主机系统,第二处理器是CXL交换芯片分配给第二主机系统的处理器。
通过上述步骤,由于在第一主机系统出现故障时,控制器向CXL交换芯片发送第一故障指令,CXL交换芯片将第一主机系统控制处理的第一数据转存至第二主机系统中,第二主机系统继续对第一数据进行处理。即第一数据并不会因为第一主机系统的故障而中断,而是通过CXL交换芯片的分配由第二主机系统继续处理。保证了数据处理的连续性。因此,可以解决相关技术中不能保证数据处理的连续性的问题,达到保证数据处理的连续性的效果。
可选地,CXL交换芯片包括但不限于是具备接口交换功能和资源分配功能的芯片,例如,CXL Switch。第一内存和第二内存均是与CXL Switch连接的扩展内存中的内存。第一处理器和第二处理器也是CXL Switch中挂载的处理器中的处理器。
可选地,第一故障指令中包括第一主机系统的系统信息,例如,第一主机系统中的名称、标识等。第一主机系统对应的处理器和内存均可以是CXL交换芯片分配的,并不受限于自身内存的限制,可以有效的进行内存的扩容。
可选地,第一数据的处理逻辑数据包括处理第一数据的步骤,例如,按照步骤S1、S2、S3......的顺序执行对第一数据的处理。第一处理结果中包括对第一数据进行处理的部分结果。例如,对步骤S1、S2的处理结果。通过将第一数据的处理逻辑数据转存至第二主机系统,第二主机系统对应的第二处理器可以获知继续处理第一数据的哪一个步骤。通过将第一结果数据转存至第二主机系统,有利于第二主机系统获取完整的处理结果。
可选地,CXL交换芯片上连接有多个主机系统,均是通过CXL链路连接的。给每一个主机系统分配需要的资源(例如,内存和处理器)。从而可以实现对集群服务器的内存扩容和处理资源的分配。例如,如图3所示,是集群服务器中的实现扩充内存容量的示意图,CPU自身保留有内存,并通过持久化设备实现扩容。可以保证当某一主机系统宕机时,该主机系统的计算缓存数据可以完整保存,并且保证计算业务不丢失,待节点恢复后继续进行计算业务。需要说明的是,CXL交换芯片优先给主机系统分配处于空闲状态资源。也可以分配固定的资源,例如,给第一主机系统分配第一内存、第二内存、第一处理器,给第二主机系统分配第三内存、第四内存、第二处理器。第一处理器和第二处理器包括但不限于是加速器Accelerator。
在一个示例性实施例中,接收控制器发送的第一故障指令,包括:接收控制器中的目标处理器发送的第一故障指令;其中,目标处理器与基板管理控制器连接,基板管理控制器与多个主机系统连接,用于监测多个主机系统的工作状态,并在多个主机系统中包括故障的主机系统时,将出现故障的主机系统的故障工作状态发送至目标处理器,目标处理器用于基于故障工作状态生成故障指令,故障指令中包括对应的出现故障的主机系统的系统信息。
可选地,目标处理器可以是具备数据处理功能的设备,例如CPU、GPU、mCPU等。基板管理控制器可以是具备设备监测功能的设备,例如,BMC。BMC可以用2路管理信号(mCpu_heartError、SMI_GPIO)同时监控多个主机系统的工作状态,BMC通过LPC/IIC与mCPU通信,传输第一故障指令。BMC监控多个主机系统的工作状态,为防止单链路被干扰造成误判,BMC会等待第一主机系统的2路监控反馈信号,只有当三路监控反馈信号(mCpu_heartError、SMI_GPIO)均告警时,BMC才会判定主机系统处于故障状态下。
本实施例通过基板管理控制器对主机系统进行监控,可以及时的确定出主机系统是否出现故障,从而可以及时对数据的处理进行切换。保证数据处理的不间断性。
在一个示例性实施例中,基于第一故障指令获取第一目标数据,包括:响应第一故障指令,从第一主机系统对应的第一内存中获取处理逻辑数据,并从第一处理器对应的第一缓存中获取第一结果数据,其中,第一内存是CXL交换芯片分配给第一主机系统的扩展内存中处于空闲状态的内存,扩展内存通过CXL链路与CXL交换芯片连接。
可选地,CXL交换芯片在接收到第一故障指令之后,首先提取故障信息以确定是第一主机系统出现了故障。然后,从第一主机系统对应的第一内存中读取处理逻辑数据,从第一缓存中读取第一结果数据,然后将两个数据转存至处于空闲状态的第二主机系统进行继续处理。第一内存和第一处理器均是CXL交换芯片按照第一主机系统的资源需求分配的。本实施例通过及时转存数据,可以实现计算的缓存数据完整保存,并且保证计算业务不丢失,及时对数据进行继续处理。
在一个示例性实施例中,将第一目标数据传输至第二主机系统,以指示第二主机系统控制第二处理器按照第一目标数据对第一数据继续进行处理,包括:将处理逻辑数据存储至第二主机系统对应的第二内存中,并将第一结果数据存储至第二处理器对应的第二缓存中,以指示第二主机系统控制第二处理器按照处理逻辑数据对第一剩余数据继续进行处理,其中,第一剩余数据是第一处理器对第一数据进行处理之后剩余的数据,第二内存是CXL交换芯片分配给第二主机系统的扩展内存中处于空闲状态的内存,扩展内存通过CXL链路与CXL交换芯片连接。
可选地,本实施例中的第二内存和第二处理器均是CXL交换芯片按照第二主机系统的资源需求分配的,可以在转存第一目标数据之前就分配好的,也可以是在确定转存数据时,临时分配的。第二主机系统可以是与第一主机系统具备相同功能的系统,也可以是第一主机系统的备用主机系统。本实施例通过及时将数据转存至第二主机系统中继续进行处理,可以保证计算业务不丢失,及时对数据进行继续处理。
在一个示例性实施例中,将第一目标数据存储至第二主机系统对应的第二内存中,以指示第二主机系统控制第二处理器按照处理逻辑数据和第一结果数据对第一剩余数据继续进行处理之后,上述方法还包括:将第二处理器对第一剩余数据进行处理的当前处理结果和第一结果数据均缓存至第二缓存中。
可选地,在本实施例中,第二处理器需要将处理的数据及时的进行缓存,并与第一结果数据进行合并,以保证处理结果的完整性。在第一数据处理之后,可以将缓存的完整的数据存储至第二内存中进行长久保存。也可以传输至第二主机系统自身的内存中进行保存,还可以由CXL交换芯片重新分配内存进行存储。
在一个示例性实施例中,基于第一故障指令获取第一目标数据之后,上述方法还包括:将第一内存分配给其他主机系统,其中,其他主机系统是CXL交换芯片上连接的多个主机系统中除第一主机系统之外的处于正常运行状态的主机系统,其他主机系统包括第二主机系统;将第一处理器分配给其他主机系统。
可选地,在本实施例中,在第一主机系统出现故障之后,并将数据处理逻辑和第一结果数据转存后,第一内存和第一处理器均处于空闲状态,则CXL交换芯片释放掉与第一主机系统的关联。将第一内存和第一处理器分配至其他需要资源的主机系统。例如,分配给第二主机系统或者是第三主机系统。不仅可以对资源进行充分的利用,还可以缓解其他主机系统的数据处理压力。
在一个示例性实施例中,基于第一故障指令获取第一目标数据之后,上述方法还包括:接收控制器中的可编程逻辑器件发送的故障恢复指令,其中,故障恢复指令用于表示第一主机系统的故障已修复,当前处于正常工作状态;响应故障恢复指令,将其他处理器分配给第一主机系统,其中,其他处理器是CXL交换芯片上连接的多个处理器中处于空闲状态的处理器,其他处理器对应其他缓存;将其他内存分配给第一主机系统,其中,其他内存是CXL交换芯片上连接的扩展内存中处于空闲状态的内存。
可选地,可编程逻辑器件包括但不限于是具备复位功能的设备,例如,CPLD。BMC通过LPC/IIC与mCPU和CPLD通信,传输第一故障指令。mCPU和CPLD通过UART对CXL交换芯片进行状态分配及复位动作。并且,BMC及CPLD在完成对第一目标数据缓存的控制后,对故障的第一主机系统进行重启,当故障第一主机系统重启成功后,会通过BMC通知上层用户设备完成重启。在此第一主机系统重启期间,所有设备均挂载到第二主机系统下且正常工作,不会影响到计算业务的进行。
可选地,CXL交换芯片在收到故障恢复指令后,重新对第一主机系统进行资源恢复,如果第一处理器和第一内存处于空闲状态,则还将第一处理器和第一内存挂载至第一主机系统。如果第一处理器和第一内存以挂载至其他主机系统,则给第一主机系统重新挂载其他的处理器和内存。
可选地,将其他内存分配给第一主机系统之后,上述方法还包括:在第二主机系统当前处于处理第一数据的状态的情况下,从第二主机系统中获取第二目标数据,其中,第二目标数据中包括处理逻辑数据、第二处理器对第一数据继续进行处理的第二结果数据,以及第一结果数据;将第二目标数据传输至第一主机系统,以指示第一主机系统控制其他处理器按照第二目标数据对第一数据继续进行处理。在本实施例中,第二主机系统当前处于处理第一数据的状态则表示第一数据的处理并未完成,则可以继续切换至第一主机系统进行处理。切换过程和切换至第二主机系统执行的过程相同,在此不再赘述。需要说明的是,在第二主机系统是第一主机系统的备用系统的情况下,第一主机系统作为主处理系统,在故障修复之后,主要承担数据处理的功能。在第一主机系统恢复之后,第二主机系统已经处理完成第一数据的情况下,CXL交换芯片也需要将完整的处理结果转存至第一主机系统。以由第一主机系统对处理结果进行分析。
可选地,将第二目标数据传输至第一主机系统,以指示第一主机系统控制其他处理器按照第二目标数据对第一数据继续进行处理,包括:将逻辑数据存储至其他内存中,并将第二结果数据和第一结果数据存储至其他缓存中,以指示第一主机系统控制其他处理器按照处理逻辑数据对第二剩余数据继续进行处理,其中,第二剩余数据是第二处理器对第一数据继续进行处理之后剩余的数据。在本实施例中,第一主机系统在对第二剩余数据进行继续处理时,CXL交换芯片可以释放掉第二主机系统的资源。并对数据进行及时的转存,以保证数据的及时存储。
在一个具体的实施例中,在CXL交换芯片是CXL Switch,第一主机系统是Host0,第二主机系统是Host1,控制器包括BMC、mCPU、CPLD的情况下,CXL Switch和CXL Expander通过CXL协议实现内存扩展与管理。同时用BMC监控各个Host的工作状态,当某一路Host出现故障时BMC将切换信息发送至mCPU和CPLD,由mCPU和CPLD对CXL Switch发送计算端口切换指令,同时进行当前数据缓存的保存、写入操作,待到切换到正常Host后,根据内存中的缓存数据继续执行计算业务,当故障Host恢复正常后再将当前计算业务交换,从而实现业务断点续算功能。
可选地,正常工作状态下Host通过CXL链路和CXL Switch、CXL Expander进行互联,负责进行数据处理及高性能计算的加速器Accelerator也是通过CXL链路与CXL Switch互联。其中,Host分别有1路心跳监控(mCpu_heartError)和1路异常中断告警SMI_GPIO连接到BMC,BMC通过心跳监控链路、中断告警链路实时监控各个Host的工作状态,当BMC监控到某一路Host心跳异常时,会通过SPI/IIC链路与mCPU和CPLD进行通信,通过CXL Switch将当前计算数据保存,然后通过配置CXL Switch将内存挂载到正常工作的HOST下,继续进行计算业务。同时通过控制链路重启故障HOST,当故障Host重启成功恢复正常工作后,mCPU和CPLD再将CXL Switch恢复到初始配置,将计算业务交还到原Host,这样既可实现对集群服务器的内存容量扩充,并且通过存在缓存一致性实现断点续算功能。保证当系统内某一节点宕机时,该节点的计算缓存数据可以完整保存,并且保证计算业务不丢失,待节点恢复后继续进行计算业务。
具体地,如图4所示,本实施例包括以下步骤:
S1,Host通过CXL信号与CXL Switch、CXL Expander及Accelerator互联,CXLExpander通过CXL链路实现内存容量的扩展,Accelerator通过CXL链路挂载到Host下,执行加速计算业务。监控及管理切换实现方案以BMC、mCPU及CPLD为核心,BMC用2路管理信号(mCpu_heartError、SMI_GPIO)同时监控各个Host的工作状态,BMC通过LPC/IIC与mCPU和CPLD通信,传输切换指令。mCPU和CPLD通过UART对CXL Switch进行状态分配及复位动作。
S2,BMC监控各Host的工作状态,为防止是单链路被干扰造成误判,BMC会等待Host的2路监控反馈信号,只有当三路监控反馈信号(mCpu_heartError、SMI_GPIO)均告警时,BMC才会判定Host处于故障状态下。
S3,扩展内存DDR0、DDR1、DDR2、DDR3通过CXL Expander挂载到CXL Switch下,通过CXL Switch给扩展内存分配地址空间,分别挂载到Host0和Host1下。Accelerator通过CXLSwitch与Host0通信,执行相关计算业务,并将计算数据缓存在DDR4、DDR5中。当BMC通过LPC/IIC信号将故障状态通知mCPU后,mCPU会通过UART与CXL Switch通信。假定Host0出现故障,按照如图5所示的步骤进行断点续算,具体包括:CXL Switch首先访问挂载在Host0下的DDR0和DDR1中的数据并进行保存;再对与Host0交互并执行计算业务的Accelerator中的数据进行校验和保存,保证DDR4、DDR5中的数据为最新内容,将这些最新的数据命名为Date_old。
S4,通过CXL Switch将所有旧数据(Date_old)缓存到Host1的内存空间内。同时mCPU通知CXL Switch更改内部寄存器配置,并将Accelerator进行复位。
S5,Accelerator将Host1中的旧数据缓存到自身内存中,从上次断点处继续执行计算业务。并将继续进行计算业务产生的新数据定义为Date_new。
S6,BMC及CPLD在完成旧数据缓存后对故障Host0进行重启,当故障 Host0重启成功后,会通过BMC通知上层用户设备完成重启。在此 Host0重启期间,所有设备均挂载到Host1下且正常工作,不会影响到计算业务的进行。
S7,当故障Host0重启成功后,重复S3至S5操作,将最新的计算结果缓存到DDR0、DDR1、DDR4及DDR5内,Accelerator根据最新计算结果继续进行计算进程。整过过程Host0在故障期间,断点处的计算数据保存在Host1并继续执行计算业务。在Host0重启完成后,回写入Host1中新的计算数据,从新断点处继续执行计算业务,由此实现了断点续算的功能。
本具体实施例可以对集群服务器实现扩充内存容量,并通过实现缓存一致性完成断点续算功能。保证当系统内某一节点宕机时,该节点的计算缓存数据可以完整保存,并且保证计算业务不丢失,待节点恢复后继续进行计算业务。可有效解决集群服务器存在内存容量无法有效扩充,并且存在缓存一致性的问题,当系统内某一节点宕机时,该节点的计算数据不能完整保存下来更无法实现断点续算功能,会带来沉重的经济损失的问题。
在本实施例中提供了一种交换板,CXL交换芯片和多个设备接口,其中,多个设备接口,用于在CXL交换芯片的控制下允许控制器、多个主机系统、扩展内存、多个处理器接入CXL交换芯片。CXL交换芯片,用于执行上述中的数据处理方法。
可选地,CXL交换芯片包括但不限于是具备接口交换功能和资源分配功能的芯片,例如,CXL Switch。扩展内存挂载在CXL Switch上,包括多个内存,例如,第一内存和第二内存。多个处理器也挂载在CXL Switch上,例如,包括第一处理器和第二处理器。
可选地,如图4所示,多个设备接口包括S0-S9,可以和不同的设备连接,例如,通过S0与mCPU连接。
通过上述交换板,由于在第一主机系统出现故障时,控制器向CXL交换芯片发送第一故障指令,CXL交换芯片将第一主机系统控制处理的第一数据转存至第二主机系统中,第二主机系统继续对第一数据进行处理。即第一数据并不会因为第一主机系统的故障而中断,而是通过CXL交换芯片的分配由第二主机系统继续处理。保证了数据处理的连续性。因此,可以解决相关技术中不能保证数据处理的连续性的问题,达到保证数据处理的连续性的效果。
在本实施例中提供了一种数据处理系统,包括:交换板,控制器,多个主机系统,扩展内存,多个处理器,其中,交换板上部署了CXL交换芯片和多个设备接口,多个设备接口,用于在CXL交换芯片的控制下允许控制器、多个主机系统、扩展内存、多个处理器接入CXL交换芯片,CXL交换芯片,用于执行数据处理方法;控制器,用于向交换芯片发送第一故障指令,其中,第一故障指令用于表示多个主机系统中的第一主机系统出现故障,第一主机系统用于控制第一处理器对第一数据进行处理,第一处理器是CXL交换芯片从多个处理器中分配给第一主机系统的加速器。
通过上述数据处理系统,由于在第一主机系统出现故障时,控制器向CXL交换芯片发送第一故障指令,CXL交换芯片将第一主机系统控制处理的第一数据转存至第二主机系统中,第二主机系统继续对第一数据进行处理。即第一数据并不会因为第一主机系统的故障而中断,而是通过CXL交换芯片的分配由第二主机系统继续处理。保证了数据处理的连续性。因此,可以解决相关技术中不能保证数据处理的连续性的问题,达到保证数据处理的连续性的效果。
可选地,CXL交换芯片包括但不限于是具备接口交换功能和资源分配功能的芯片,例如,CXL Switch。第一内存和第二内存均是与CXL Switch连接的扩展内存中的内存。第一处理器和第二处理器也是CXL Switch中挂载的处理器中的处理器。
可选地,第一故障指令中包括第一主机系统的系统信息,例如,第一主机系统中的名称、标识等。第一主机系统对应的处理器和内存均可以是CXL交换芯片分配的,并不受限于自身内存的限制,可以有效的进行内存的扩容。
可选地,第一数据的处理逻辑数据包括处理第一数据的步骤,例如,按照步骤S1、S2、S3......的顺序执行对第一数据的处理。第一处理结果中包括对第一数据进行处理的部分结果。例如,对步骤S1、S2的处理结果。通过将第一数据的处理逻辑数据转存至第二主机系统,第二主机系统对应的第二处理器可以获知继续处理第一数据的哪一个步骤。通过将第一结果数据转存至第二主机系统,有利于第二主机系统获取完整的处理结果。
可选地,CXL交换芯片上连接有多个主机系统,均是通过CXL链路连接的。给每一个主机系统分配需要的资源(例如,内存和处理器)。从而可以实现对集群服务器的内存扩容和处理资源的分配。例如,如图3所示,是集群服务器中的实现扩充内存容量的示意图,CPU自身保留有内存,并通过持久化设备实现扩容。可以保证当某一主机系统宕机时,该主机系统的计算缓存数据可以完整保存,并且保证计算业务不丢失,待节点恢复后继续进行计算业务。需要说明的是,CXL交换芯片优先给主机系统分配处于空闲状态资源。也可以分配固定的资源,例如,给第一主机系统分配第一内存、第二内存、第一处理器,给第二主机系统分配第三内存、第四内存、第二处理器。第一处理器和第二处理器包括但不限于是加速器Accelerator。
在一个示例性实施例中,控制器包括目标处理器和基板管理控制器,其中,基板管理控制器,与多个主机系统连接,用于监测多个主机系统的工作状态,并在多个主机系统中包括故障的主机系统时,将出现故障的主机系统的故障工作状态发送至目标处理器;目标处理器,用于基于故障工作状态生成故障指令,故障指令中包括对应的出现故障的主机系统的系统信息。
可选地,目标处理器可以可以具备数据处理功能的设备,例如CPU、GPU、mCPU等。基板管理控制器可以是具备设备监测功能的设备,例如,BMC。BMC可以用2路管理信号(mCpu_heartError、SMI_GPIO)同时监控多个主机系统的工作状态,BMC通过LPC/IIC与mCPU通信,传输第一故障指令。BMC监控多个主机系统的工作状态,为防止是单链路被干扰造成误判,BMC会等待第一主机系统的2路监控反馈信号,只有当三路监控反馈信号(mCpu_heartError、SMI_GPIO)均告警时,BMC才会判定主机系统处于故障状态下。
本实施例通过基板管理控制器对主机系统进行监控,可以及时的确定出主机系统是否出现故障,从而可以及时对数据的处理进行切换。保证数据处理的不间断性。
在一个示例性实施例中,基板管理控制器,还用于通过多路信号监控第一主机系统,并在多个信号均指示第一主机系统出现故障的情况下,将第一主机系统的故障工作状态发送至目标处理器;目标处理器,用于基于第一主机系统的故障工作状态生成第一故障指令。
在一个示例性实施例中,基板管理控制器,还用于重启第一主机系统,并在第一主机系统重启的情况下,将故障恢复指令发送至目标处理器,其中,故障恢复指令用于表示第一主机系统的故障已修复,当前处于正常工作状态。
在一个示例性实施例中,控制器还包括可编程逻辑器件,其中,可编程逻辑器件,与目标处理器连接,用于接收目标处理器发送的故障恢复指令,并将故障恢复指令发送至CXL交换芯片,以指示CXL交换芯片将第二主机系统切换至第一主机系统继续对第一数据进行处理。
可选地,可编程逻辑器件包括但不限于是具备复位功能的设备,例如,CPLD。BMC通过LPC/IIC与mCPU和CPLD通信,传输第一故障指令。mCPU和CPLD通过UART对CXL交换芯片进行状态分配及复位动作。并且,BMC及CPLD在完成对第一目标数据缓存的控制后,对故障的第一主机系统进行重启,当故障第一主机系统重启成功后,会通过BMC通知上层用户设备完成重启。在此第一主机系统重启期间,所有设备均挂载到第二主机系统下且正常工作,不会影响到计算业务的进行。
在一个示例性实施例中,CXL交换芯片,还用于给多个主机系统分配内存和处理器,其中,分配的内存是扩展内存中处于空闲状态的内存,分配的处理器是多个处理器中处于空闲状态的处理器。
在一个示例性实施例中,扩展内存、多个处理器以及多个主机系统均允许在CXL交换芯片的控制下通过CXL链路与多个设备接口连接。
在一个示例性实施例中,扩展内存、多个处理器以及多个主机系统均允许在CXL交换芯片的控制下通过CXL链路与多个设备接口连接。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在本实施例中还提供了一种数据处理方法数据装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本申请实施例的数据处理装置的结构框图,如图6所示,该装置包括:
第一接收模块62,用于接收控制器发送的第一故障指令,其中,上述第一故障指令用于表示第一主机系统出现故障,上述第一主机系统用于控制第一处理器对第一数据进行处理,上述第一处理器是上述CXL交换芯片分配给上述第一主机系统的加速器,上述CXL交换芯片是支持开放式互连标准CXL协议的芯片;
第一获取模块64,用于基于上述第一故障指令获取第一目标数据,其中,上述第一目标数据包括上述第一处理器处理上述第一数据的处理逻辑数据和上述第一处理器对上述第一数据进行处理的第一结果数据;
第一传输模块66,用于将上述第一目标数据传输至第二主机系统,以指示上述第二主机系统控制第二处理器按照上述第一目标数据对上述第一数据继续进行处理,其中,上述第二主机系统是上述CXL交换芯片上连接的多个主机系统中处于正常运行状态的主机系统,上述第二处理器是上述CXL交换芯片分配给上述第二主机系统的处理器。
在一个示例性实施例中,上述第一接收模块,包括:第一接收单元,用于接收上述控制器中的目标处理器发送的上述第一故障指令;其中,上述目标处理器与基板管理控制器连接,上述基板管理控制器与多个上述主机系统连接,用于监测多个上述主机系统的工作状态,并在多个上述主机系统中包括故障的主机系统时,将出现故障的主机系统的故障工作状态发送至上述目标处理器,上述目标处理器用于基于上述故障工作状态生成故障指令,上述故障指令中包括对应的出现故障的主机系统的系统信息。
在一个示例性实施例中,上述第一获取模块,包括:第一响应单元,用于响应上述第一故障指令,从上述第一主机系统对应的第一内存中获取上述处理逻辑数据,并从上述第一处理器对应的第一缓存中获取上述第一结果数据,其中,上述第一内存是上述CXL交换芯片分配给上述第一主机系统的扩展内存中处于空闲状态的内存,上述扩展内存通过CXL链路与上述CXL交换芯片连接。
在一个示例性实施例中,上述第一传输模块,包括:第一存储单元,用于将上述处理逻辑数据存储至上述第二主机系统对应的第二内存中,并将上述第一结果数据存储至上述第二处理器对应的第二缓存中,以指示上述第二主机系统控制上述第二处理器按照上述处理逻辑数据对第一剩余数据继续进行处理,其中,上述第一剩余数据是上述第一处理器对上述第一数据进行处理之后剩余的数据,上述第二内存是上述CXL交换芯片分配给上述第二主机系统的扩展内存中处于空闲状态的内存,上述扩展内存通过CXL链路与上述CXL交换芯片连接。
在一个示例性实施例中,上述装置还包括:第一缓存模块,用于将上述第一目标数据存储至上述第二主机系统对应的第二内存中,以指示上述第二主机系统控制上述第二处理器按照上述处理逻辑数据和上述第一结果数据对第一剩余数据继续进行处理之后,将上述第二处理器对上述第一剩余数据进行处理的当前处理结果和上述第一结果数据均缓存至上述第二缓存中。
在一个示例性实施例中,上述装置还包括:第一分配模块,包括基于上述第一故障指令获取第一目标数据之后,将上述第一内存分配给其他主机系统,其中,上述其他主机系统是上述CXL交换芯片上连接的多个主机系统中除上述第一主机系统之外的处于正常运行状态的主机系统,上述其他主机系统包括上述第二主机系统;第二分配模块,用于将上述第一处理器分配给上述其他主机系统。
在一个示例性实施例中,上述装置还包括:第二接收模块,用于基于上述第一故障指令获取第一目标数据之后,接收上述控制器中的可编程逻辑器件发送的故障恢复指令,其中,上述故障恢复指令用于表示上述第一主机系统的故障已修复,当前处于正常工作状态;第一响应模块,用于响应上述故障恢复指令,将其他处理器分配给上述第一主机系统,其中,上述其他处理器是上述CXL交换芯片上连接的多个处理器中处于空闲状态的处理器,上述其他处理器对应其他缓存;第三分配模块,用于将其他内存分配给上述第一主机系统,其中,上述其他内存是上述CXL交换芯片上连接的扩展内存中处于空闲状态的内存。
在一个示例性实施例中,上述装置还包括:第二获取模块,用于将其他内存分配给上述第一主机系统之后,在上述第二主机系统当前处于处理上述第一数据的状态的情况下,从上述第二主机系统中获取第二目标数据,其中,上述第二目标数据中包括上述处理逻辑数据、上述第二处理器对上述第一数据继续进行处理的第二结果数据,以及上述第一结果数据;第二传输模块,用于将上述第二目标数据传输至上述第一主机系统,以指示上述第一主机系统控制上述其他处理器按照上述第二目标数据对上述第一数据继续进行处理。
在一个示例性实施例中,第二传输模块,包括:第二存储单元,用于将上述逻辑数据存储至上述其他内存中,并将上述第二结果数据和上述第一结果数据存储至上述其他缓存中,以指示上述第一主机系统控制上述其他处理器按照上述处理逻辑数据对第二剩余数据继续进行处理,其中,上述第二剩余数据是上述第二处理器对上述第一数据继续进行处理之后剩余的数据。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (20)
1.一种数据处理方法,应用于CXL交换芯片,其特征在于,包括:
接收控制器发送的第一故障指令,其中,所述第一故障指令用于表示第一主机系统出现故障,所述第一主机系统用于控制第一处理器对第一数据进行处理,所述第一处理器是所述CXL交换芯片分配给所述第一主机系统的加速器,所述CXL交换芯片是支持开放式互连标准CXL协议的芯片;
基于所述第一故障指令获取第一目标数据,其中,所述第一目标数据包括所述第一处理器处理所述第一数据的处理逻辑数据和所述第一处理器对所述第一数据进行处理的第一结果数据;
将所述第一目标数据传输至第二主机系统,以指示所述第二主机系统控制第二处理器按照所述第一目标数据对所述第一数据继续进行处理,其中,所述第二主机系统是所述CXL交换芯片上连接的多个主机系统中处于正常运行状态的主机系统,所述第二处理器是所述CXL交换芯片分配给所述第二主机系统的处理器。
2.根据权利要求1所述的方法,其特征在于,接收控制器发送的第一故障指令,包括:
接收所述控制器中的目标处理器发送的所述第一故障指令;
其中,所述目标处理器与基板管理控制器连接,所述基板管理控制器与多个所述主机系统连接,用于监测多个所述主机系统的工作状态,并在多个所述主机系统中包括故障的主机系统时,将出现故障的主机系统的故障工作状态发送至所述目标处理器,所述目标处理器用于基于所述故障工作状态生成故障指令,所述故障指令中包括对应的出现故障的主机系统的系统信息。
3.根据权利要求1所述的方法,其特征在于,基于所述第一故障指令获取第一目标数据,包括:
响应所述第一故障指令,从所述第一主机系统对应的第一内存中获取所述处理逻辑数据,并从所述第一处理器对应的第一缓存中获取所述第一结果数据,其中,所述第一内存是所述CXL交换芯片分配给所述第一主机系统的扩展内存中处于空闲状态的内存,所述扩展内存通过CXL链路与所述CXL交换芯片连接。
4.根据权利要求1所述的方法,其特征在于,将所述第一目标数据传输至第二主机系统,以指示所述第二主机系统控制第二处理器按照所述第一目标数据对所述第一数据继续进行处理,包括:
将所述处理逻辑数据存储至所述第二主机系统对应的第二内存中,并将所述第一结果数据存储至所述第二处理器对应的第二缓存中,以指示所述第二主机系统控制所述第二处理器按照所述处理逻辑数据对第一剩余数据继续进行处理,其中,所述第一剩余数据是所述第一处理器对所述第一数据进行处理之后剩余的数据,所述第二内存是所述CXL交换芯片分配给所述第二主机系统的扩展内存中处于空闲状态的内存,所述扩展内存通过CXL链路与所述CXL交换芯片连接。
5.根据权利要求4所述的方法,其特征在于,将所述第一目标数据存储至所述第二主机系统对应的第二内存中,以指示所述第二主机系统控制所述第二处理器按照所述处理逻辑数据和所述第一结果数据对第一剩余数据继续进行处理之后,所述方法还包括:
将所述第二处理器对所述第一剩余数据进行处理的当前处理结果和所述第一结果数据均缓存至所述第二缓存中。
6.根据权利要求1所述的方法,其特征在于,基于所述第一故障指令获取第一目标数据之后,所述方法还包括:
将所述第一主机系统对应的第一内存分配给其他主机系统,其中,所述其他主机系统是所述CXL交换芯片上连接的多个主机系统中除所述第一主机系统之外的处于正常运行状态的主机系统,所述其他主机系统包括所述第二主机系统;
将所述第一处理器分配给所述其他主机系统。
7.根据权利要求1所述的方法,其特征在于,基于所述第一故障指令获取第一目标数据之后,所述方法还包括:
接收所述控制器中的可编程逻辑器件发送的故障恢复指令,其中,所述故障恢复指令用于表示所述第一主机系统的故障已修复,当前处于正常工作状态;
响应所述故障恢复指令,将其他处理器分配给所述第一主机系统,其中,所述其他处理器是所述CXL交换芯片上连接的多个处理器中处于空闲状态的处理器,所述其他处理器对应其他缓存;
将其他内存分配给所述第一主机系统,其中,所述其他内存是所述CXL交换芯片上连接的扩展内存中处于空闲状态的内存。
8.根据权利要求7所述的方法,其特征在于,将其他内存分配给所述第一主机系统之后,所述方法还包括:
在所述第二主机系统当前处于处理所述第一数据的状态的情况下,从所述第二主机系统中获取第二目标数据,其中,所述第二目标数据中包括所述处理逻辑数据、所述第二处理器对所述第一数据继续进行处理的第二结果数据,以及所述第一结果数据;
将所述第二目标数据传输至所述第一主机系统,以指示所述第一主机系统控制所述其他处理器按照所述第二目标数据对所述第一数据继续进行处理。
9.根据权利要求8所述的方法,其特征在于,将所述第二目标数据传输至所述第一主机系统,以指示所述第一主机系统控制所述其他处理器按照所述第二目标数据对所述第一数据继续进行处理,包括:
将所述逻辑数据存储至所述其他内存中,并将所述第二结果数据和所述第一结果数据存储至所述其他缓存中,以指示所述第一主机系统控制所述其他处理器按照所述处理逻辑数据对第二剩余数据继续进行处理,其中,所述第二剩余数据是所述第二处理器对所述第一数据继续进行处理之后剩余的数据。
10.一种交换板,其特征在于,包括:CXL交换芯片和多个设备接口,其中,
多个所述设备接口,用于在所述CXL交换芯片的控制下允许控制器、多个主机系统、扩展内存、多个处理器接入所述CXL交换芯片;
所述CXL交换芯片,用于执行所述权利要求1-9任一项所述的数据处理方法。
11.一种数据处理系统,其特征在于,包括:交换板,控制器,多个主机系统,扩展内存,多个处理器,其中,
所述交换板上部署了CXL交换芯片和多个设备接口,多个所述设备接口,用于在所述CXL交换芯片的控制下允许所述控制器、多个所述主机系统、所述扩展内存、多个所述处理器接入所述CXL交换芯片,所述CXL交换芯片,用于执行所述权利要求1-9任一项所述的数据处理方法;
所述控制器,用于向所述交换芯片发送第一故障指令,其中,所述第一故障指令用于表示多个所述主机系统中的第一主机系统出现故障,所述第一主机系统用于控制第一处理器对第一数据进行处理,所述第一处理器是所述CXL交换芯片从多个所述处理器中分配给所述第一主机系统的加速器。
12.根据权利要求11所述的系统,其特征在于,所述控制器包括目标处理器和基板管理控制器,其中,
所述基板管理控制器,与多个所述主机系统连接,用于监测多个所述主机系统的工作状态,并在多个所述主机系统中包括故障的主机系统时,将出现故障的主机系统的故障工作状态发送至所述目标处理器;
所述目标处理器,用于基于所述故障工作状态生成故障指令,所述故障指令中包括对应的出现故障的主机系统的系统信息。
13.根据权利要求12所述的系统,其特征在于,
所述基板管理控制器,还用于通过多路信号监控所述第一主机系统,并在多个所述信号均指示所述第一主机系统出现故障的情况下,将所述第一主机系统的故障工作状态发送至所述目标处理器;
所述目标处理器,用于基于所述第一主机系统的故障工作状态生成所述第一故障指令。
14.根据权利要求13所述的系统,其特征在于,
所述基板管理控制器,还用于重启所述第一主机系统,并在所述第一主机系统重启的情况下,将故障恢复指令发送至所述目标处理器,其中,所述故障恢复指令用于表示所述第一主机系统的故障已修复,当前处于正常工作状态。
15.根据权利要求14所述的系统,其特征在于,所述控制器还包括可编程逻辑器件,其中,
所述可编程逻辑器件,与所述目标处理器连接,用于接收所述目标处理器发送的所述故障恢复指令,并将所述故障恢复指令发送至所述CXL交换芯片,以指示所述CXL交换芯片将第二主机系统切换至所述第一主机系统继续对所述第一数据进行处理。
16.根据权利要求11所述的系统,其特征在于,
所述CXL交换芯片,还用于给多个所述主机系统分配内存和处理器,其中,分配的内存是所述扩展内存中处于空闲状态的内存,分配的处理器是多个所述处理器中处于空闲状态的处理器。
17.根据权利要求11所述的系统,其特征在于,所述扩展内存、多个所述处理器以及多个所述主机系统均允许在所述CXL交换芯片的控制下通过CXL链路与多个所述设备接口连接。
18.一种数据处理装置,其特征在于,包括:
第一接收模块,用于接收控制器发送的第一故障指令,其中,所述第一故障指令用于表示第一主机系统出现故障,所述第一主机系统用于控制第一处理器对第一数据进行处理,所述第一处理器是CXL交换芯片分配给所述第一主机系统的加速器,所述CXL交换芯片是支持开放式互连标准CXL协议的芯片;
第一获取模块,用于基于所述第一故障指令获取第一目标数据,其中,所述第一目标数据包括所述第一处理器处理所述第一数据的处理逻辑数据和所述第一处理器对所述第一数据进行处理的第一结果数据;
第一传输模块,用于将所述第一目标数据传输至第二主机系统,以指示所述第二主机系统控制第二处理器按照所述第一目标数据对所述第一数据继续进行处理,其中,所述第二主机系统是所述CXL交换芯片上连接的多个主机系统中处于正常运行状态的主机系统,所述第二处理器是所述CXL交换芯片分配给所述第二主机系统的处理器。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至9任一项中所述的方法的步骤。
20.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至9任一项中所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311144706.0A CN116881053B (zh) | 2023-09-06 | 2023-09-06 | 数据处理方法及交换板、数据处理系统、数据处理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311144706.0A CN116881053B (zh) | 2023-09-06 | 2023-09-06 | 数据处理方法及交换板、数据处理系统、数据处理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116881053A CN116881053A (zh) | 2023-10-13 |
CN116881053B true CN116881053B (zh) | 2023-11-17 |
Family
ID=88255392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311144706.0A Active CN116881053B (zh) | 2023-09-06 | 2023-09-06 | 数据处理方法及交换板、数据处理系统、数据处理装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116881053B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117785758B (zh) * | 2024-02-27 | 2024-05-28 | 北京超弦存储器研究院 | Cxl模组、控制器、任务处理方法、介质和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050061A (zh) * | 2014-07-01 | 2014-09-17 | 中国航天科工集团第二研究院七〇六所 | 一种基于PCIe总线多主控板冗余备份系统 |
CN111078474A (zh) * | 2019-12-20 | 2020-04-28 | 陕西南梁矿业有限公司 | 一种数据安全备份系统及方法 |
CN112685236A (zh) * | 2020-12-31 | 2021-04-20 | 科华恒盛股份有限公司 | 数据管理系统的双机互备方法及系统 |
CN114625578A (zh) * | 2021-08-05 | 2022-06-14 | 湖南亚信软件有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
CN116643904A (zh) * | 2023-05-18 | 2023-08-25 | 苏州浪潮智能科技有限公司 | 一种PCIe链路故障自动修复的系统、方法和一种服务器 |
-
2023
- 2023-09-06 CN CN202311144706.0A patent/CN116881053B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050061A (zh) * | 2014-07-01 | 2014-09-17 | 中国航天科工集团第二研究院七〇六所 | 一种基于PCIe总线多主控板冗余备份系统 |
CN111078474A (zh) * | 2019-12-20 | 2020-04-28 | 陕西南梁矿业有限公司 | 一种数据安全备份系统及方法 |
CN112685236A (zh) * | 2020-12-31 | 2021-04-20 | 科华恒盛股份有限公司 | 数据管理系统的双机互备方法及系统 |
CN114625578A (zh) * | 2021-08-05 | 2022-06-14 | 湖南亚信软件有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
CN116643904A (zh) * | 2023-05-18 | 2023-08-25 | 苏州浪潮智能科技有限公司 | 一种PCIe链路故障自动修复的系统、方法和一种服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN116881053A (zh) | 2023-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN202798798U (zh) | 基于云计算技术的高可用系统 | |
CN105159798A (zh) | 一种虚拟机的双机热备方法、双机热备管理服务器和系统 | |
US8032786B2 (en) | Information-processing equipment and system therefor with switching control for switchover operation | |
CN116881053B (zh) | 数据处理方法及交换板、数据处理系统、数据处理装置 | |
CN104679610B (zh) | 计算机系统的管理方法和装置 | |
US11409471B2 (en) | Method and apparatus for performing data access management of all flash array server | |
CN110413225B (zh) | 高可靠集群存储双活配置方法、系统、终端及存储介质 | |
JP7358613B2 (ja) | 記憶システムの信頼性を向上させる方法及び関連機器 | |
CN114003350B (zh) | 超融合系统的数据分配方法和系统 | |
CN109684257B (zh) | 一种远程内存扩展管理系统 | |
US9785375B2 (en) | Migrating data between memory units in server | |
CN111045602A (zh) | 集群系统控制方法及集群系统 | |
CN110674539B (zh) | 一种硬盘保护设备、方法及系统 | |
CN101145955A (zh) | 网管软件热备份的方法、网管及网管系统 | |
JP2006114064A (ja) | 記憶サブシステム | |
CN116204448A (zh) | 一种多端口固态硬盘及其控制方法、装置、介质、服务器 | |
CN115202803A (zh) | 一种故障处理方法及装置 | |
US11809293B2 (en) | Storage node failure detection based on register values for an all flash array server | |
US11366618B2 (en) | All flash array server and control method thereof | |
CN117112296A (zh) | 冗余系统的故障处理方法、装置、电子设备及存储介质 | |
US20240037026A1 (en) | Memory pooling, provisioning, and sharing | |
JP6822706B1 (ja) | クラスタシステム、サーバ装置、引継ぎ方法、及びプログラム | |
CN116467116A (zh) | 计算机设备、数据处理器、处理系统及切换方法 | |
CN117520060A (zh) | 基于zfs的双机集群高可用的实现方法、装置及计算机设备 | |
CN111885168A (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 |