CN117312224A - 数据处理系统、方法、装置和控制器 - Google Patents
数据处理系统、方法、装置和控制器 Download PDFInfo
- Publication number
- CN117312224A CN117312224A CN202211260921.2A CN202211260921A CN117312224A CN 117312224 A CN117312224 A CN 117312224A CN 202211260921 A CN202211260921 A CN 202211260921A CN 117312224 A CN117312224 A CN 117312224A
- Authority
- CN
- China
- Prior art keywords
- node
- data processing
- data
- nodes
- identifier
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 169
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000015654 memory Effects 0.000 claims description 153
- 230000001133 acceleration Effects 0.000 claims description 25
- 230000032683 aging Effects 0.000 claims description 22
- 238000004891 communication Methods 0.000 claims description 22
- 238000003672 processing method Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 abstract description 14
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 8
- 238000007667 floating Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 239000007787 solid Substances 0.000 description 5
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 239000010949 copper Substances 0.000 description 3
- 229910052802 copper Inorganic materials 0.000 description 3
- 230000006837 decompression Effects 0.000 description 3
- 238000005265 energy consumption Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000001427 coherent effect Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 229960000074 biopharmaceutical Drugs 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
公开了数据处理系统、方法、装置和控制器,涉及数据处理领域。数据处理系统包括通过互联设备连接的控制器和多个节点,多个节点包括第一节点和第二节点。当第二节点请求接入数据处理系统时,控制器为第二节点分配第二节点标识,互联设备基于第二节点标识转发第一节点访问第二节点的消息,第二节点标识用于唯一指示第二节点。第二节点根据第一节点指示的源地址获取待处理数据,根据第一节点指示的目的地址存储处理待处理数据的处理后数据。如此,按需弹性扩展数据处理系统的规模,将节点的数据处理请求扩充到系统内不同节点间,使系统内的加速器资源可以为多个节点共享,适应不同的应用场景下的计算需求。
Description
本申请要求于2022年06月27日提交国家知识产权局、申请号为202210733448.9申请名称为“一种内存数据访问的方法和计算系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及数据处理领域,尤其涉及一种数据处理系统、方法、装置和控制器。
背景技术
目前,通过高带宽、低时延的片间互连总线和交换机将多个节点互连成一个高性能集群,俗称超节点(Super Node)。相对异构计算服务器架构(如:中央处理器(centralprocessing unit,CPU)+领域特定结构(Domain Specific Architecture,DSA)),超节点能够提供更高的计算能力;相对以太网络互连带宽,超节点能够提供更大的带宽。但是,超节点通常以静态模式进行配置,无法灵活扩展,无法适应不同的应用场景下的计算需求。
发明内容
本申请提供了数据处理系统、方法、装置和控制器,由此实现灵活扩展超节点的规模,适应不同的应用场景下的计算需求。
第一方面,提供了一种数据处理系统。数据处理系统包括多个节点和控制器,多个节点包括第一节点和第二节点,多个节点和控制器通过高速互连链路连接。控制器,用于当第二节点请求接入数据处理系统时,为第二节点分配第二节点标识,其中,第二节点在数据处理系统中的全局物理地址为第二节点的节点标识和第二节点的物理地址;控制器,还用于将第二节点的全局物理地址发送给第一节点。
相对于在数据处理系统的启动阶段以静态模式进行配置,本申请通过控制器控制接入新节点,可以按需弹性扩展数据处理系统的规模,例如,支持接入加速器、增大内存的存储空间等,从而满足不同的应用场景下的计算需求。
结合第一方面,在一种可能的实现方式中,数据处理系统还包括互联设备,互联设备基于高速互连链路连接多个节点;控制器,还用于向互联设备发送第二节点标识与端口的对应关系,第二节点标识对应的端口用于向第二节点转发消息。
其中,互联设备也可以称为互联芯片或交换芯片。互联设备用于基于第二节点标识与端口的对应关系转发第一节点访问第二节点的消息。例如,互联设备存储有第一节点标识与第一端口的对应关系,互联设备基于第一节点标识与第一端口的对应关系转发第二节点访问第一节点的消息。互联设备存储有第二节点标识与第二端口的对应关系,互联设备基于第二节点标识与第二端口的对应关系转发第一节点访问第二节点的消息。
从而,使互联设备基于节点标识转发节点间进行通信的数据,使系统内的加速器资源可以为多个节点共享,适应不同的应用场景下的计算需求。
需要说明的是,全局物理地址是指由数据处理系统包含的多个节点中任意一个节点可以访问的地址。数据处理系统包含的多个节点中任意一个节点存储有其他节点的全局物理地址,以便于任意一个节点根据其他节点的全局物理地址访问其他节点的存储空间。全局物理地址用于唯一指示数据处理系统中的一个节点的存储空间。可理解地,全局物理地址包含节点标识和节点的物理地址。由于节点标识用于唯一指示数据处理系统中的一个节点,则全局物理地址中的物理地址用于唯一指示数据处理系统中的一个节点的存储空间。节点的物理地址是指节点内存储空间的地址。虽然不同的节点内存储空间的物理地址可以是相同的,但是数据处理系统中的任一节点根据全局物理地址区分不同节点内的存储空间。
例如,第一节点的全局物理地址包括第一节点标识和第一节点的物理地址。由于第一节点标识用于唯一指示第一节点,第一节点的物理地址用于唯一指示第一节点的存储空间,则第一节点的全局物理地址可以用于指示第一节点的存储空间。
第二节点的全局物理地址包括第二节点标识和第二节点的物理地址。由于第二节点标识用于唯一指示第二节点,第二节点的物理地址用于唯一指示第二节点的存储空间,则第二节点的全局物理地址可以用于指示第二节点的存储空间。
由此,第一节点可以根据第二节点的全局物理地址访问第二节点的存储空间。第二节点可以根据第一节点的全局物理地址访问第一节点的存储空间。
结合第一方面,在另一种可能的实现方式中,第二节点用于根据第一节点指示的源地址获取待处理数据,源地址用于指示存储待处理数据的节点的节点标识和物理地址;第二节点还用于处理待处理数据,以及根据第一节点指示的目的地址存储处理后数据,目的地址用于指示存储处理后数据的节点的节点标识和物理地址。
如此,将节点的数据处理请求扩充到系统内不同节点间,根据全局物理地址中节点标识唯一指示的节点的物理地址,获取待处理数据或存储处理后数据,从而使系统内的加速器资源可以为多个节点共享,适应不同的应用场景下的计算需求。
示例地,源地址用于指示第一节点的全局物理地址。目的地址用于指示第二节点的全局物理地址。
结合第一方面,在另一种可能的实现方式中,第二节点具体用于根据第一节点指示的操作标识对待处理数据执行加速操作得到处理后数据。其中,第二节点包括处理器、加速器和内存控制器中任一个。例如将通用处理器(如:CPU)的作业卸载到加速器,由加速器处理计算需求较高的作业(如:HPC、大数据作业、数据库作业等),解决由于通用处理器浮点算力不足,无法满足HPC、AI等场景的重浮点计算需求的问题,从而,缩短数据处理时长以及降低系统能耗,提升系统性能。节点的计算能力也可以称为节点的计算算力。节点内部也可以集成加速器。独立部署的加速器和集成加速器的节点支持灵活插拔,可以按需弹性扩展数据处理系统的规模,从而满足不同的应用场景下的计算需求。
结合第一方面,在另一种可能的实现方式中,多个节点的存储介质经过统一编址构成全局内存池。例如,全局内存池包括源地址指示的存储空间或/和目的地址指示的存储空间。从而,节点执行数据处理的过程中从全局内存池读取数据或对全局内存池写入数据,以提升数据处理的速度。
结合第一方面,在另一种可能的实现方式中,第一节点还用于根据第一节点的物理地址访问第一节点的存储空间。第二节点还用于根据第二节点的物理地址访问第一节点的存储空间。
结合第一方面,在另一种可能的实现方式中,控制器还用于当第二节点退出数据处理系统时,控制第一节点老化第二节点的全局物理地址,以及控制互联设备老化第二节点标识与端口的对应关系。
如此,在数据处理系统中设置控制器和互联设备,基于节点接入机制和退出机制,可弹性增加及减少节点,实现了可弹性扩展的超节点架构,既解决了传统超节点架构无法动态扩展的问题,又避免了传统IO总线架构规模受限和带宽低问题,并支持在节点或者互联设备故障情况下的动态容错机制。
第二方面,提供了一种数据处理方法,数据处理系统包括多个节点,多个节点包括第一节点和第二节点,多个节点和控制器通过高速互连链路连接。方法包括:当第二节点请求接入数据处理系统时,控制器为第二节点分配第二节点标识,其中,第二节点在数据处理系统中的全局物理地址为第二节点的节点标识和第二节点的物理地址;控制器将第二节点的全局物理地址发送给第一节点。
结合第二方面,在一种可能的实现方式中,数据处理系统还包括互联设备,互联设备基于高速互连链路连接多个节点。方法还包括:控制器向互联设备发送第二节点标识与端口的对应关系,第二节点标识对应的端口用于向第二节点转发消息。
其中,互联设备基于第二节点标识与端口的对应关系转发第一节点访问第二节点的消息,第二节点标识用于唯一指示第二节点。
结合第二方面,在另一种可能的实现方式中,方法还包括:当第二节点退出数据处理系统时,控制器控制第一节点老化第二节点的全局物理地址,以及控制互联设备老化第二节点标识与端口的对应关系。
结合第二方面,在另一种可能的实现方式中,方法还包括:第二节点根据第一节点指示的源地址获取待处理数据,进而,处理待处理数据,以及根据第一节点指示的目的地址存储处理后数据。其中,目的地址用于指示存储处理后数据的节点的节点标识和物理地址。源地址用于指示存储待处理数据的节点的节点标识和物理地址。
第三方面,提供了一种控制装置,所述装置包括用于执行第二方面或第二方面任一种可能设计中的控制器执行的方法的各个模块。
第四方面,提供了一种数据传输装置,所述装置包括用于执行第二方面或第二方面任一种可能设计中的互联设备执行的方法的各个模块。
第五方面,提供了一种数据处理节点,所述节点包括用于执行第二方面或第二方面任一种可能设计中的节点执行的方法的各个模块。
第六方面,提供一种控制器,该控制器包括至少一个处理器和存储器,存储器用于存储一组计算机指令;当处理器作为第二方面或第二方面任一种可能实现方式中的控制器执行所述一组计算机指令时,执行第二方面或第二方面任一种可能实现方式中的数据处理方法的操作步骤。
第七方面,提供一种芯片,包括:处理器和供电电路;其中,所述供电电路用于为所述处理器供电;所述处理器用于执行第二方面或第二方面任一种可能实现方式中的数据处理方法的操作步骤。
第八方面,提供一种计算机可读存储介质,包括:计算机软件指令;当计算机软件指令在计算设备中运行时,使得计算设备执行如第二方面或第二方面任意一种可能的实现方式中所述方法的操作步骤。
第九方面,提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算设备执行如第二方面或第二方面任意一种可能的实现方式中所述方法的操作步骤。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1为本申请提供的一种数据处理系统的架构示意图;
图2为本申请提供的一种全局内存池的部署场景示意图;
图3为本申请提供的一种节点接入数据处理系统方法的流程示意图;
图4为本申请提供的一种数据处理方法的流程示意图;
图5为本申请提供的一种描述符的结构示意图;
图6为本申请提供的一种节点退出数据处理系统方法的流程示意图;
图7为本申请提供的一种控制装置的结构示意图;
图8为本申请提供的一种数据处理节点的结构示意图;
图9为本申请提供的一种计算设备的结构示意图。
具体实施方式
为了便于描述,首先对本申请涉及的术语进行简单介绍。
超节点(Super Node),指通过高带宽、低时延的片间互连总线和交换机将多个节点互连成一个高性能集群。超节点的规模大于缓存一致非统一内存寻址(Cache-CoherentNon Uniform Memory Access,CC-NUMA)架构下的节点规模,超节点内节点的互连带宽大于以太网络互连带宽。
高性能计算(High Performance Computing,HPC)集群,指一个计算机集群系统。HPC集群包含利用各种互联技术连接在一起的多个计算机。互联技术例如可以是无限带宽技术(infiniband,IB)、基于聚合以太网的远程直接内存访问(Remote Direct MemoryAccess over Converged Ethernet,RoCE)或传输控制协议(Transmission ControlProtocol,TCP)。HPC提供了超高浮点计算能力,可用于解决计算密集型和海量数据处理等业务的计算需求。连接在一起的多个计算机的综合计算能力可以来处理大型计算问题。例如,科学研究、气象预报、金融、仿真实验、生物制药、基因测序和图像处理等行业涉及的利用HPC集群来解决的大型计算问题和计算需求。利用HPC集群处理大型计算问题可以有效地缩短处理数据的计算时间,以及提高计算精度。
内存操作指令,可以称为内存语义或内存操作函数。内存操作指令包括内存分配(malloc)、内存设置(memset)、内存复制(memcpy)、内存移动(memmove)、内存释放(memoryrelease)和内存比较(memcmp)中至少一种。
内存分配用于支持应用程序运行分配一段内存。
内存设置用于设置全局内存池的数据模式,例如初始化。
内存复制用于将源地址(source)指示的存储空间存储的数据复制到目的地址(destination)指示的存储空间。
内存移动用于将源地址(source)指示的存储空间存储的数据复制到目的地址(destination)指示的存储空间,并删除源地址(source)指示的存储空间存储的数据。
内存比较用于比较两个存储空间存储的数据是否相等。
内存释放用于释放内存中存储的数据,以提高系统内存资源的利用率,进而提升系统性能。
广播(broadcast)通信,指在计算机网络中传输数据包时,目的地址指示计算机网络中广播域的设备的一种传输方式。以广播通信方式发送的数据包可以称为广播消息。
为了解决超节点的规模无法灵活扩展,无法适应不同的应用场景下的计算需求的问题,本申请提供一种数据处理系统包括通过互联设备连接的控制器和多个节点,多个节点包括第一节点和第二节点。当第二节点请求接入数据处理系统时,控制器为第二节点分配第二节点标识,互联设备基于第二节点标识转发第一节点访问第二节点的消息,第二节点标识用于唯一指示第二节点。第二节点根据第一节点指示的源地址获取待处理数据,根据第一节点指示的目的地址存储处理待处理数据的处理后数据。如此,按需弹性扩展数据处理系统的规模,将节点的数据处理请求扩充到系统内不同节点间,使系统内的加速器资源可以为多个节点共享,适应不同的应用场景下的计算需求。
图1为本申请提供的一种数据处理系统的架构示意图。如图1所示,数据处理系统100是一种提供高性能计算的实体。数据处理系统100包括多个节点110。
节点110可以是处理器、服务器、台式计算机、存储阵列的控制器和存储器等。处理器可以是中央处理器(central processing unit,CPU)、图形处理器(graphicsprocessing unit,GPU)、数据处理单元(data processing unit,DPU)、神经处理单元(neural processing unit,NPU)和嵌入式神经网络处理器(neural-network processingunit,NPU)等用于数据处理的XPU。例如,节点110可以包括计算节点和存储节点。
当节点110是计算能力(Computing Power)较高的GPU、DPU、NPU等数据处理的XPU时,节点110可以作为加速器,将通用处理器(如:CPU)的作业卸载到加速器,由加速器处理计算需求较高的作业(如:HPC、大数据作业、数据库作业等),解决由于通用处理器浮点算力不足,无法满足HPC、AI等场景的重浮点计算需求的问题,从而,缩短数据处理时长以及降低系统能耗,提升系统性能。节点的计算能力也可以称为节点的计算算力。节点110内部也可以集成加速器。独立部署的加速器和集成加速器的节点支持灵活插拔,可以按需弹性扩展数据处理系统的规模,从而满足不同的应用场景下的计算需求。
多个节点110基于具有高带宽、低时延的高速互连链路连接。示例地,如图1所示,互联设备120(如:交换机)基于高速互连链路连接多个节点110。例如,互联设备120通过光纤、铜缆或铜线连接多个节点110。互联设备可称为交换芯片或互联芯片。
互联设备120基于高速互连链路连接的多个节点110组成的数据处理系统100也可以称为超节点。多个超节点通过数据中心网络进行连接。数据中心网络包括多个核心交换机和多个汇聚交换机。数据中心网络可以组成一个规模域。多个超节点可以组成一个性能域。两个以上超节点可以组成宏机柜。宏机柜之间也可以基于数据中心网络连接。
如图1所示,数据处理系统100还包括连接互联设备120的控制器130。控制器130基于控制平面链路与互联设备120进行通信,基于数据平面链路与多个节点110进行通信。控制器130用于控制节点接入或退出数据处理系统100。
例如,控制器130为请求接入的节点分配节点标识,向数据处理系统100中已接入的活跃节点(如:多个节点110)配置接入节点的节点标识和接入节点的物理地址,向互联设备配置节点标识与端口的对应关系。请求接入的节点可以简称为接入节点。可理解地,互联设备基于接入节点的节点标识与端口的对应关系向接入节点转发数据。每个活跃节点存储接入节点的全局物理地址,全局物理地址包括接入节点的节点标识和接入节点的物理地址。由于接入节点的节点标识用于唯一指示接入节点,则全局物理地址中的物理地址用于唯一指示接入节点的存储空间,即接入节点的物理地址是指接入节点内存储空间的地址,使活跃节点基于接入节点的全局物理地址访问接入节点。
需要说明的是,全局物理地址是指由数据处理系统100包含的多个活跃节点中任意一个活跃节点可以访问的地址。数据处理系统100包含的多个活跃节点中任意一个活跃节点存储有其他活跃节点的全局物理地址,以便于任意一个活跃节点根据其他活跃节点的全局物理地址访问其他活跃节点的存储空间。
又如,当活跃节点退出数据处理系统100时,控制器130老化请求退出的节点的全局物理地址。请求退出的节点可以简称为退出节点。控制器130向互联设备120发送第一老化消息,以及广播第二老化消息。第一老化消息用于指示互联设备老化退出节点的节点标识与端口的对应关系。第二老化消息用于指示活跃节点老化退出节点的全局物理地址,即数据处理系统100中每个活跃节点接收到第二老化消息,老化请求退出节点的节点标识和节点的物理地址。
示例地,当第一节点请求接入数据处理系统100时,控制器130为第一节点分配用于唯一指示第一节点的第一节点标识,并对互联设备配置第一节点标识对应的第一端口的对应关系,以及对多个节点110配置第一节点的全局物理地址,第一节点的全局物理地址包括第一节点标识和第一节点的物理地址,使互联设备基于第一节点标识与第一端口的对应关系向第一节点转发数据,每个节点110存储有第一节点的全局物理地址,使每个节点110根据第一节点的全局物理地址访问第一节点的存储空间,即根据第一节点标识确定访问第一节点,根据第一节点的物理地址访问第一节点的存储空间。当第一节点退出数据处理系统100时,控制互联设备老化第一节点标识与第一端口的对应关系;控制多个节点110老化第一节点标识和第一节点的物理地址。
在一种可能的示例中,节点根据None-Posted Write指令进行内存访问。当第一节点访问第一节点的内存时,None-Posted Write指令用于指示第一节点的内存的物理地址,使第一节点访问第一节点的内存。当第一节点访问系统中的远端节点的内存时,None-Posted Write指令用于指示远端节点的节点标识和远端节点的物理地址,使第一节点访问远端节点的内存。
其中,数据处理系统100支持运行大数据、数据库、高性能计算、人工智能、分布式存储和云原生等应用。本申请实施例中数据包括大数据、数据库、高性能计算、人工智能(Artificial Intelligence,AI)、分布式存储和云原生等应用的业务数据。在一些实施例中,控制器130可以接收用户操作客户端发送的处理请求,对处理请求指示的作业进行控制。客户端可以是指计算机,也可称为工作站(workstation)。
控制器和节点可以是独立的物理设备。控制器也可称为控制节点、控制设备或命名节点。节点可以称为计算设备或数据节点或存储节点。
在一些实施例中,数据处理系统100中节点110的存储介质经过统一编址构成全局内存池,实现跨超节点内节点(简称:跨节点)的内存语义访问。全局内存池为由节点的存储介质经过统一编址构成的节点共享的资源。
本申请提供的全局内存池可以包括超节点中计算节点的存储介质和存储节点的存储介质。计算节点的存储介质包括计算节点内的本地存储介质和计算节点连接的扩展存储介质中至少一种。存储节点的存储介质包括存储节点内的本地存储介质和存储节点连接的扩展存储介质中至少一种。
例如,全局内存池包括计算节点内的本地存储介质和存储节点内的本地存储介质。
又如,全局内存池包括计算节点内的本地存储介质、计算节点连接的扩展存储介质,以及存储节点内的本地存储介质和存储节点连接的扩展存储介质中任意一种。
又如,全局内存池包括计算节点内的本地存储介质、计算节点连接的扩展存储介质、存储节点内的本地存储介质和存储节点连接的扩展存储介质。
示例地,如图2所示,为本申请提供的一种全局内存池的部署场景示意图。全局内存池200包括N个计算节点中每个计算节点内的存储介质210、N个计算节点中每个计算节点连接的扩展存储介质220、M个存储节点中每个存储节点内的存储介质230和M个存储节点中每个存储节点连接的扩展存储介质240。
应理解,全局内存池的存储容量可以包括计算节点的存储介质中的部分存储容量和存储节点的存储介质中的部分存储容量。全局内存池是经过统一编址的超节点内计算节点和存储节点均可以访问的存储介质。全局内存池的存储容量可以通过大内存、分布式数据结构、数据缓存、元数据等内存接口供计算节点或存储节点使用。计算节点运行应用程序可以使用这些内存接口对全局内存池进行内存操作。如此,基于计算节点的存储介质的存储容量和存储节点的存储介质构建的全局内存池北向提供了统一的内存接口供计算节点使用,使计算节点使用统一的内存接口将数据写入全局内存池的计算节点提供的存储空间或存储节点提供的存储空间,实现基于内存操作指令的数据的计算和存储,以及降低数据处理的时延,提升数据处理的速度。
上述是以计算节点内的存储介质和存储节点内的存储介质构建全局内存池为例进行说明。全局内存池的部署方式可以灵活多变,本申请实施例不予限定。例如,全局内存池由存储节点的存储介质构建。又如,全局内存池由计算节点的存储介质构建。使用单独的存储节点的存储介质或计算节点的存储介质构建全局内存池可以减少存储侧的存储资源的占用,以及提供更灵活的扩展方案。
依据存储介质的类型划分,本申请实施例提供的全局内存池的存储介质包括动态随机存取存储器(Dynamic Random Access Memory,DRAM)、固态驱动器(Solid State Disk或Solid State Drive,SSD)和存储级内存(storage-class-memory,SCM)。
在一些实施例中,可以根据存储介质的类型设置全局内存池,即利用一种类型的存储介质构建一种内存池,不同类型的存储介质构建不同类型的全局内存池,使全局内存池应用于不同的场景,计算节点根据应用的访问特征选择存储介质,增强了用户对系统控制权限,提升了用户的系统体验又扩展了系统适用的应用场景。例如,将计算节点中的DRAM和存储节点中的DRAM进行统一编址构成DRAM内存池。DRAM内存池用于对访问性能要求高,数据容量适中,无数据持久化诉求的应用场景。又如,将计算节点中的SCM和存储节点中的SCM进行统一编址构成SCM内存池。SCM内存池则用于对访问性能不敏感,数据容量大,对数据持久化有诉求的应用场景。
接下来,结合图3至图6对本申请提供的数据处理方法的实施方式进行详细描述。
图3为本申请提供的一种节点接入数据处理系统方法的流程示意图。在这里以扩展数据处理系统100的规模,加速器140请求接入数据处理系统100为例进行说明。如图3所示,该方法包括以下步骤。
步骤310、加速器140发送广播消息,广播消息用于指示对加速器140进行认证。
加速器140与数据处理系统100中的互联设备120建立物理连接并上电后,加速器140请求接入数据处理系统100。例如加速器140发送广播消息,即向数据处理系统100中的多个节点110和互联设备120发送广播消息,请求接入数据处理系统100。广播消息包括加速器140的设备标识(Device_ID)和加速器140的存储空间的物理地址。加速器140存储有设备标识,设备标识可以是加速器140出厂时预先配置的。其中,节点110接收到广播消息丢弃,控制器130接收到广播消息,根据广播消息的指示对加速器140进行认证,即执行步骤320至步骤340。
步骤320、控制器130为加速器140分配节点标识。
控制器130存储有设备标识表,设备标识表包括数据处理系统100中已认证的活跃节点的设备标识。控制器130接收到广播消息,根据加速器140的设备标识查询设备标识表。如果控制器130确定设备标识表包括加速器140的设备标识,表示加速器140已接入数据处理系统100,加速器140为活跃节点。如果控制器130确定设备标识表未包括与加速器140的设备标识相同的标识,表示加速器140为请求认证的节点,则控制器130更新设备标识表,即将加速器140的设备标识写入设备标识表。进而,控制器130可以为加速器140分配节点标识,加速器140的节点标识用于唯一指示加速器140,互联设备120基于加速器140的节点标识向加速器140发送数据,使节点110与加速器140进行通信。
步骤330、控制器130向互联设备120发送加速器140的节点标识与端口的对应关系。
控制器130通过连接互联设备120的光纤、铜缆或铜线等物理介质,向互联设备120发送加速器140的节点标识与端口的对应关系。
步骤340、互联设备120根据节点标识与端口的对应关系更新转发表。
转发表用于指示互联设备120根据节点标识与端口的对应关系将通信流量转发到节点标识指示的节点。转发表包括节点标识与端口的对应关系。
例如,加速器140的节点标识对应的端口可以用于指示互联设备120向加速器140转发数据。互联设备120接收到加速器140的节点标识与端口的对应关系后,更新转发表,即将加速器140的节点标识与端口的对应关系写入转发表。
在一种示例中,节点标识与端口的对应关系可以以表格的形式呈现,如表1所示。
表1
节点标识 | 端口 |
节点标识1 | 端口1 |
节点标识2 | 端口2 |
如表1所示,假设加速器140的节点标识为节点标识1,互联设备120采用端口1连接加速器140。互联设备120接收到节点标识1,根据节点标识1查询表1,确定节点标识1对应端口1,通过端口1向加速器140发送数据。
需要说明的是,表1只是以表格的形式示意对应关系在存储设备中的存储形式,并不是对该对应关系在存储设备中的存储形式的限定,当然,该对应关系在存储设备中的存储形式还可以以其他的形式存储,本实施例对此不做限定。
步骤350、控制器130向多个节点110发送加速器140的信息。
控制器130向多个节点110发送加速器140的节点标识、加速器140的设备标识和加速器140的存储空间的物理地址。多个节点110是指数据处理系统100中的已认证的活跃节点(Active Nodes)。
加速器140的节点标识和加速器140的物理地址可以作为加速器140在数据处理系统100中的全局物理地址。加速器140的节点标识用于唯一指示加速器140。加速器140的物理地址是指加速器140内存储空间的地址。加速器140的全局物理地址用于唯一指示数据处理系统100中加速器140的存储空间。每个活跃节点存储加速器140的节点标识和加速器140的存储空间的物理地址,以便于活跃节点根据加速器140的节点标识和加速器140的物理地址对加速器140的存储空间进行读操作或写操作,即向加速器140的物理地址指示的存储空间写入数据,或者,从加速器140的物理地址指示的存储空间读取数据。
每个活跃节点根据加速器140的设备标识查询设备列表,确定加速器140的设备标识对应的软件驱动,运行加速器140的设备标识对应的软件驱动,以便于多个节点110与加速器140进行通信,实现访问加速器140的功能。
如此,相对于在数据处理系统的启动阶段以静态模式进行配置,可以按需弹性扩展数据处理系统的规模,支持接入加速器、增大内存的存储空间等,从而满足不同的应用场景下的计算需求。
在加速器140接入数据处理系统100后,数据处理系统100中活跃节点可以基于加速器140的节点标识和加速器140的物理地址与加速器140进行通信。假设第一节点为节点110,第二节点为加速器140,节点110请求加速器140执行加速操作。图4为本申请提供的一种数据处理方法的流程示意图。如图4所示,该方法包括以下步骤。
步骤410、节点110发送访问请求,访问请求用于指示请求加速器140执行加速操作。
访问请求可以包括加速器140的节点标识,以便于互联设备120基于加速器140的节点标识转发访问请求。
访问请求还可以包括源地址、目的地址和操作标识,以便于加速器140根据源地址获取待处理数据,处理待处理数据,以及根据目的地址存储处理后数据。其中,源地址用于指示存储待处理数据的节点的节点标识和物理地址。目的地址用于指示存储处理后数据的节点的节点标识和物理地址。
需要说明的是,本申请实施例所述的包括节点标识和物理地址的源地址和包括节点标识和物理地址的目的地址可以是一种全局物理地址,将节点的数据处理请求扩充到系统内不同节点间,根据节点标识唯一指示的节点的物理地址,获取待处理数据或存储处理后数据,从而使系统内的加速器资源可以为多个节点共享,适应不同的应用场景下的计算需求。
另外,本申请实施例对存储待处理数据的节点和存储处理后数据的节点不予限定。例如,源地址包含请求执行加速操作的节点的节点标识和物理地址。目的地址包含执行加速操作的节点的节点标识和物理地址。节点110请求加速器140执行加速操作,源地址包括节点110的节点标识和节点110的物理地址,目的地址包括加速器140的节点标识和加速器140的物理地址。又如,源地址包含的物理地址可以指示任意一个节点110或加速器140。目的地址包含的物理地址可以指示任意一个节点110或加速器140。
在一些实施例中,节点110可以复用领域特定结构(Domain SpecificArchitecture,DSA)架构中的描述符(Descriptor)指示加速操作。示例地,如图5所示,为本申请提供的一种描述符的结构示意图。其中,描述符包括操作标识、源地址和目的地址。
源地址用于指示加速操作所使用的待处理数据的存储位置。目的地址用于指示加速操作的结果的存储位置,即处理后数据的存储位置。
例如,描述符可以是一个64字节的描述符。源地址的长度为64比特。目的地址的长度为64比特。节点标识的长度可以是12比特。物理地址的长度可以是52比特。根据节点中不同的内存配置,自适应配置描述符中节点标识的长度和物理地址的长度。内存配置包括内存的存储容量大小和内存类型。内存类型包括DRAM、SSD和SCM。
描述符还可以包括操作自定义域,操作自定义域用于指示按照不同的操作标识可自定义的操作。
节点110通过加速器驱动生成64字节描述符,并运行None-Posted Write指令,通过节点110与互联设备120的互联总线将描述符写入加速器140的请求队列。节点110以内存映射输入输出(Memory Mapped IO,MMIO)方式将读写节点110的请求队列的寄存器地址映射给加速器140,而加速器140通过None-Posted Write指令基于互联总线访问该寄存器。
另外,操作标识也可以称为操作算子。操作标识用于指示所执行的加速操作。加速操作包括以下任一项。
内存交互(SWAP):指示节点的内存之间的数据块交换。
归约(Reduce):指针对多份本地数据执行算术或逻辑计算。
广播(Broadcast):指将本地数据块广播给系统中的节点。
查询(Search):指数据库的查询操作,返回匹配结果。
加密/解密(Encryption/Decryption):指数据块加解密操作。
压缩/解压缩(Compress/Decompress):指数据块压缩/解压缩操作。
步骤420、互联设备120基于加速器140的节点标识对应的端口转发访问请求。
互联设备120存储有节点标识与端口的对应关系。互联设备120接收到访问请求后,获取到加速器140的节点标识,查询转发表,根据转发表所确定的加速器140的节点标识对应的端口向加速器140转发访问请求。
步骤430、加速器140根据操作标识执行加速操作。
加速器140从请求队列中读取描述符,并解析描述符的各字段,执行操作标识指示的加速操作。
例如,加速器140根据描述符需求在加速器140的本地内存中分配一段存储空间。该段存储空间可以用于存储加速器140执行加速操作的中间数据。
又如,如果操作标识用于指示对远端节点的数据处理,加速器140驱动本地的SDMA引擎,将远端节点(如:发出访问请求的节点110)的内存的数据写入到加速器140的本地内存。
又如,如果描述符指示对加速器140的本地数据的请求,驱动数据读引擎,将网络或者本地内存中的数据读取到加速器140的本地缓存中。
可理解地,加速器140根据源地址指示的节点标识和物理地址读取待处理数据。源地址指示的物理地址包括发出访问请求的节点110中存储空间的物理地址、系统中其他的节点110中存储空间的物理地址和加速器140中存储空间的物理地址中任意一个。即,加速器140读取待处理数据的位置包括发出访问请求的节点110的存储空间、系统中其他的节点110的存储空间和加速器140的存储空间中任意一个。
加速器140根据目的地址指示的节点标识和物理地址存储加速操作的处理后数据,以便于发出访问请求的节点110根据目的地址指示的物理地址读取加速操作的处理后数据。目的地址指示的物理地址包括发出访问请求的节点110中存储空间的物理地址、系统中其他的节点110中存储空间的物理地址和加速器140中存储空间的物理地址中任意一个。即,加速器140将处理后数据存储到以下任意一个位置,包括发出访问请求的节点110的存储空间、系统中其他的节点110的存储空间、加速器140的存储空间。
可选地,源地址指示的物理地址和目的地址指示的物理地址可以指示全局内存池中存储介质的存储空间。即加速器140可以从全局内存池中读取待处理数据或/和将处理后数据存储到全局内存池,以提升数据处理的速度。
加速器140按照描述符中描述的操作标识对本地缓存的待处理数据执行加速操作。例如,操作标识指示压缩操作,加速器140对本地缓存的待处理数据执行压缩操作。又如,操作标识指示加密操作,加速器140对本地缓存的待处理数据执行加密操作。
加速器140执行完加速操作后,释放本地缓存。加速器140还可以通过请求完成中断(Request Completion Interrupt)消息触发请求描述符节点的中断,由发出访问请求的节点110取回加速操作的结果。
从而,将通用处理器(如:CPU)的作业卸载到加速器,由加速器处理计算需求较高的作业(如:HPC、大数据作业、数据库作业等),解决由于通用处理器浮点算力不足,无法满足HPC、AI等场景的重浮点计算需求的问题,缩短数据处理时长以及降低系统能耗,提升系统性能。独立部署的加速器和集成加速器的节点支持灵活插拔,可以按需弹性扩展数据处理系统的规模,从而满足不同的应用场景下的计算需求。
在另一些实施例中,数据处理系统中的任一个活跃节点可以退出系统。图6为本申请提供的一种节点退出数据处理系统方法的流程示意图。在这里以加速器140请求退出数据处理系统100为例进行说明。如图6所示,该方法包括以下步骤。
在一些实施例中,加速器140可以主动退出数据处理系统,即加速器140执行步骤610。
步骤610、加速器140广播老化消息,老化消息用于指示加速器140退出数据处理系统。执行步骤630和步骤640。
在另一些实施例中,控制器130接收到互联设备120发送的链路故障信息,或者加速器140与其他节点110的心跳消息超时,执行步骤620。
步骤620、控制器130广播老化消息,老化消息用于指示加速器140退出数据处理系统。执行步骤630和步骤640。
老化消息可以包括加速器140的节点标识、加速器140的物理地址和加速器140的设备标识。
步骤630、互联设备120老化加速器140的节点标识与端口的对应关系。
例如,互联设备120接收到第一老化消息,删除转发表中加速器140的节点标识与端口对应的转发表项。
步骤640、节点110老化加速器140的节点标识和加速器140的物理地址。
例如,节点110接收到第二老化消息后,删除存储的加速器140的节点标识和物理地址和设备列表中加速器140的设备标识对应的软件驱动。
如此,在数据处理系统中设置控制器和互联设备,基于节点接入机制和退出机制,可弹性增加及减少节点,实现了可弹性扩展的超节点架构,既解决了传统超节点架构无法动态扩展的问题,又避免了传统IO总线架构规模受限和带宽低问题,并支持在节点或者互联设备故障情况下的动态容错机制。
可以理解的是,为了实现上述实施例中的功能,控制器包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的单元及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
上文中结合图1至图6,详细描述了根据本实施例所提供的数据处理方法,下面将结合图7,描述根据本实施例所提供的控制装置和数据处理节点。
图7为本实施例提供的可能的控制装置的结构示意图。这些控制装置可以用于实现上述方法实施例中控制器的功能,因此也能实现上述方法实施例所具备的有益效果。在本实施例中,该控制装置可以是如图3、图4、图6所示的控制器130,还可以是应用于服务器的模块(如芯片)。
如图7所示,控制装置700包括通信模块710、控制模块720和存储模块730。控制装置700用于实现上述图3、图4、图6中所示的方法实施例中控制器130的功能。
通信模块710用于接收第二节点发送的接入请求,接入请求用于指示对第二节点进行认证。
控制模块720,用于当第二节点请求接入数据处理系统时,为第二节点分配第二节点标识,第二节点标识用于唯一指示第二节点。例如,控制模块720用于执行图3中步骤320。
通信模块710,还用于向互联设备发送第二节点标识与第二端口的对应关系,第二节点标识对应的第二端口用于向第二节点转发消息。例如,控制模块720用于执行图3中步骤330。
通信模块710,还用于将第二节点的全局物理地址发送给数据处理系统中的其他节点,例如,向数据处理系统中的其他节点广播第二节点的节点标识和物理地址。例如,控制模块720用于执行图3中步骤350。
通信模块710,还用于向互联设备发送第一老化消息,第一老化消息用于指示互联设备老化第二节点标识与第二端口的对应关系。例如,控制模块720用于执行图6中步骤620。
通信模块710,还用于广播第二老化消息,第二老化消息用于指示老化第二节点标识和第二节点的物理地址。
存储模块730用于存储节点的节点标识,以便于控制模块720控制节点接入数据处理系统和退出数据处理系统。
图8为本实施例提供的可能的数据处理节点的结构示意图。这些数据处理节点可以用于实现上述方法实施例中数据处理系统中节点的功能,因此也能实现上述方法实施例所具备的有益效果。在本实施例中,该数据处理节点可以是如图3、图4、图6所示的节点110或加速器140,还可以是应用于服务器的模块(如芯片)。
如图8所示,数据处理节点800包括通信模块810、数据处理模块820和存储模块830。数据处理节点800用于实现上述图3、图4、图6中所示的方法实施例中节点110或加速器140的功能。
通信模块810用于接收所述第一节点发送的访问请求,所述访问请求包括源地址、目的地址和操作标识,所述源地址用于指示存储待处理数据的节点的节点标识和物理地址,所述目的地址用于指示存储处理后数据的节点的节点标识和物理地址。
数据处理模块820,用于根据所述操作标识对所述待处理数据执行加速操作得到处理后数据,以及根据所述第一节点指示的目的地址存储所述处理后数据。例如,数据处理模块820用于执行图4中步骤430。
存储模块830用于存储内存操作指令、待处理数据或处理后数据,以便于数据处理模块820执行加速操作。
应理解的是,本申请实施例的控制装置700和数据处理节点800可以通过专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complexprogrammable logical device,CPLD),现场可编程门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现图3、图4、图6所示的数据处理方法时,及其各个模块也可以为软件模块,控制装置700和数据处理节点800及其各个模块也可以为软件模块。
根据本申请实施例的控制装置700和数据处理节点800可对应于执行本申请实施例中描述的方法,并且控制装置700和数据处理节点800中的各个单元的上述和其它操作和/或功能分别为了实现图3、图4、图6中的各个方法的相应流程,为了简洁,在此不再赘述。
图9为本实施例提供的一种计算设备900的结构示意图。如图所示,计算设备900包括处理器910、总线920、存储器930、通信接口940和内存单元950(也可以称为主存(mainmemory)单元)。处理器910、存储器930、内存单元950和通信接口940通过总线920相连。
应理解,在本实施例中,处理器910可以是CPU,该处理器910还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
处理器还可以是图形处理器(graphics processing unit,GPU)、神经网络处理器(neural network processing unit,NPU)、微处理器、ASIC、或一个或多个用于控制本申请方案程序执行的集成电路。
通信接口940用于实现计算设备900与外部设备或器件的通信。在本实施例中,计算设备900用于实现图3所示的控制器130的功能时,通信接口940用于获取广播消息,处理器910为节点110分配节点标识,广播节点标识和节点的物理地址。计算设备900用于实现图6所示的控制器130的功能时,通信接口940用于广播老化消息。
总线920可以包括一通路,用于在上述组件(如处理器910、内存单元950和存储器930)之间传送信息。总线920除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线920。总线920可以是快捷外围部件互连标准(Peripheral Component Interconnect Express,PCIe)总线,或扩展工业标准结构(extended industry standard architecture,EISA)总线、统一总线(unified bus,Ubus或UB)、计算机快速链接(compute express link,CXL)、缓存一致互联协议(cache coherent interconnect for accelerators,CCIX)等。总线920可以分为地址总线、数据总线、控制总线等。
作为一个示例,计算设备900可以包括多个处理器。处理器可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的计算单元。在本实施例中,计算设备900用于实现图4所示的加速器140的功能时,处理器910还用于根据第一节点指示的源地址获取待处理数据,根据第一节点指示的操作标识对待处理数据执行加速操作得到处理后数据,以及根据第一节点指示的目的地址存储处理后数据,源地址用于指示存储待处理数据的节点的节点标识和物理地址;第二节点所述目的地址用于指示存储处理后数据的节点的节点标识和物理地址。
计算设备900用于实现图4所示的控制器130的功能时,处理器910还用于在节点请求接入数据处理系统时,为所述节点分配节点标识,将所述节点的全局物理地址发送给数据处理系统中的节点,向互联设备发送所述节点标识与端口的对应关系,所述节点标识对应的端口用于向所述节点转发消息,以及在所述节点退出所述数据处理系统时,老化所述节点的全局物理地址和节点标识与端口的对应关系。
计算设备900用于实现图4所示的互联设备120的功能时,处理器910还用于基于节点标识与端口的对应关系转发节点间进行通信的数据。
值得说明的是,图9中仅以计算设备900包括1个处理器910和1个存储器930为例,此处,处理器910和存储器930分别用于指示一类器件或设备,具体实施例中,可以根据业务需求确定每种类型的器件或设备的数量。
内存单元950可以对应上述方法实施例中用于存储待处理数据和处理后数据等信息的全局内存池。内存单元950可以是易失性存储器池或非易失性存储器池,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasablePROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DRRAM)。
存储器930可以对应上述方法实施例中用于存储计算机指令、内存操作指令、节点标识等信息的存储介质,例如,磁盘,如机械硬盘或固态硬盘。
上述计算设备900可以是一个通用设备或者是一个专用设备。例如,计算设备900可以是边缘设备(例如,携带具有处理能力芯片的盒子)等。可选地,计算设备900也可以是服务器或其他具有计算能力的设备。
应理解,根据本实施例的计算设备900可对应于本实施例中的控制装置700和数据处理节点800,并可以对应于执行根据图3、图4、图6中任一方法中的相应主体,并且控制装置700和数据处理节点800中的各个模块的上述和其它操作和/或功能分别为了实现图3、图4、图6中的各个方法的相应流程,为了简洁,在此不再赘述。
本实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于计算设备中。当然,处理器和存储介质也可以作为分立组件存在于计算设备中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (25)
1.一种数据处理系统,其特征在于,所述数据处理系统包括多个节点和控制器,所述多个节点包括第一节点和第二节点,所述多个节点和所述控制器通过高速互连链路连接;
所述控制器,用于当所述第二节点请求接入所述数据处理系统时,为所述第二节点分配第二节点标识,其中,所述第二节点在所述数据处理系统中的全局物理地址为所述第二节点的节点标识和所述第二节点的物理地址;
所述控制器,还用于将所述第二节点的全局物理地址发送给所述第一节点。
2.根据权利要求1所述的系统,其特征在于,所述数据处理系统还包括互联设备,所述互联设备基于高速互连链路连接所述多个节点;
所述控制器,还用于向所述互联设备发送所述第二节点标识与端口的对应关系,所述第二节点标识对应的端口用于向所述第二节点转发消息。
3.根据权利要求2所述的系统,其特征在于,
所述互联设备用于基于所述第二节点标识与端口的对应关系转发所述第一节点访问所述第二节点的消息,所述第二节点标识用于唯一指示所述第二节点。
4.根据权利要求1-3中任一项所述的系统,其特征在于,所述多个节点的存储介质经过统一编址构成全局内存池。
5.根据权利要求1-4中任一项所述的系统,其特征在于,
所述第二节点用于根据所述第一节点指示的源地址获取待处理数据,所述源地址用于指示存储所述待处理数据的节点的节点标识和物理地址;
所述第二节点还用于处理所述待处理数据,以及根据所述第一节点指示的目的地址存储处理后数据,所述目的地址用于指示存储所述处理后数据的节点的节点标识和物理地址。
6.根据权利要求5所述的系统,其特征在于,所述多个节点的存储介质构成的全局内存池包括所述源地址指示的存储空间或/和所述目的地址指示的存储空间。
7.根据权利要求5或6所述的系统,其特征在于,所述第二节点具体用于根据所述第一节点指示的操作标识对所述待处理数据执行加速操作得到所述处理后数据。
8.根据权利要求5-7中任一项所述的系统,其特征在于,
所述第一节点还用于根据所述第一节点的物理地址访问所述第一节点的存储空间。
9.根据权利要求1-8中任一项所述的系统,其特征在于,所述第二节点包括处理器、加速器和内存控制器中任一个。
10.根据权利要求1-9所述的系统,其特征在于,
所述控制器还用于当所述第二节点退出所述数据处理系统时,控制所述第一节点老化所述第二节点的全局物理地址,以及控制互联设备老化所述第二节点标识与端口的对应关系。
11.一种数据处理方法,其特征在于,数据处理系统包括多个节点,所述多个节点包括第一节点和第二节点,所述多个节点和所述控制器通过高速互连链路连接;所述方法包括:
当所述第二节点请求接入所述数据处理系统时,所述控制器为所述第二节点分配第二节点标识,其中,所述第二节点在所述数据处理系统中的全局物理地址为所述第二节点的节点标识和所述第二节点的物理地址;
所述控制器将所述第二节点的全局物理地址发送给所述第一节点。
12.根据权利要求11所述的方法,其特征在于,所述数据处理系统还包括互联设备,所述互联设备基于高速互连链路连接所述多个节点;所述方法还包括:
所述控制器向所述互联设备发送所述第二节点标识与端口的对应关系,所述第二节点标识对应的端口用于向所述第二节点转发消息。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
所述互联设备基于所述第二节点标识与端口的对应关系转发所述第一节点访问所述第二节点的消息,所述第二节点标识用于唯一指示所述第二节点。
14.根据权利要求11-13中任一项所述的方法,其特征在于,所述多个节点的存储介质经过统一编址构成全局内存池。
15.根据权利要求11-14中任一项所述的方法,其特征在于,所述方法还包括:
所述第二节点根据所述第一节点指示的源地址获取待处理数据,所述源地址用于指示存储所述待处理数据的节点的节点标识和物理地址;
所述第二节点处理所述待处理数据,以及根据所述第一节点指示的目的地址存储处理后数据,所述目的地址用于指示存储所述处理后数据的节点的节点标识和物理地址。
16.根据权利要求15所述的方法,其特征在于,所述多个节点的存储介质构成的全局内存池包括所述源地址指示的存储空间或/和所述目的地址指示的存储空间。
17.根据权利要求15或16所述的方法,其特征在于,所述第二节点处理所述待处理数据包括:
所述第二节点根据所述第一节点指示的操作标识对所述待处理数据执行加速操作得到所述处理后数据。
18.根据权利要求15-17中任一项所述的方法,其特征在于,所述方法还包括:
所述第一节点根据所述第一节点的物理地址访问所述第一节点的存储空间。
19.根据权利要求11-18中任一项所述的方法,其特征在于,所述第二节点包括处理器、加速器和内存控制器中任一个。
20.根据权利要求11-19所述的方法,其特征在于,所述方法还包括:
当所述第二节点退出所述数据处理系统时,所述控制器控制所述第一节点老化所述第二节点的全局物理地址,以及控制互联设备老化所述第二节点标识与端口的对应关系。
21.一种控制装置,其特征在于,所述控制装置应用于数据处理系统,所述数据处理系统包括基于高速互连技术连接的多个节点,所述多个节点包括第一节点和第二节点,所述装置包括:
控制模块,用于当所述第二节点请求接入所述数据处理系统时,为所述第二节点分配第二节点标识,其中,所述第二节点标识用于唯一指示所述第二节点,所述第二节点在所述数据处理系统中的全局物理地址为所述第二节点的节点标识和所述第二节点的物理地址;
所述控制模块,还用于将所述第二节点的全局物理地址发送给所述第一节点。
22.根据权利要求21所述的装置,其特征在于,所述数据处理系统还包括互联设备,所述互联设备基于高速互连链路连接所述多个节点;所述装置还包括通信模块;
所述通信模块,还用于向所述互联设备发送所述第二节点标识与端口的对应关系,所述第二节点标识对应的端口用于向所述第二节点转发消息。
23.根据权利要求22所述的装置,其特征在于,
所述通信模块,还用于当所述第二节点退出所述数据处理系统时,向所述互联设备发送第一老化消息,所述第一老化消息用于指示所述互联设备老化所述第二节点标识与端口的对应关系;
所述通信模块,还用于向所述第一节点发送第二老化消息,所述第二老化消息用于指示所述第二节点的全局物理地址。
24.一种数据处理节点,其特征在于,所述数据处理节点为数据处理系统中基于高速互连链路连接的多个节点中的其中一个节点,所述装置包括:
通信模块,用于接收所述多个节点中的其他节点发送的访问请求,所述访问请求包括源地址、目的地址和操作标识,所述源地址用于指示存储待处理数据的节点的节点标识和物理地址,所述目的地址用于指示存储处理后数据的节点的节点标识和物理地址;
数据处理模块,用于根据所述操作标识对所述待处理数据执行加速操作得到处理后数据,以及根据所述目的地址存储所述处理后数据。
25.一种控制器,其特征在于,所述控制器包括存储器和至少一个处理器,所述存储器用于存储一组计算机指令;当所述处理器执行所述一组计算机指令时,控制器执行如权利要求11、12和20中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2023/101171 WO2024001850A1 (zh) | 2022-06-27 | 2023-06-19 | 数据处理系统、方法、装置和控制器 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210733448 | 2022-06-27 | ||
CN2022107334489 | 2022-06-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117312224A true CN117312224A (zh) | 2023-12-29 |
Family
ID=89285447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211260921.2A Pending CN117312224A (zh) | 2022-06-27 | 2022-10-14 | 数据处理系统、方法、装置和控制器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117312224A (zh) |
WO (1) | WO2024001850A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107707628B (zh) * | 2017-09-06 | 2020-06-02 | 华为技术有限公司 | 用于传输数据处理请求的方法和装置 |
US11734192B2 (en) * | 2018-12-10 | 2023-08-22 | International Business Machines Corporation | Identifying location of data granules in global virtual address space |
CN114860163B (zh) * | 2020-04-28 | 2023-08-22 | 华为技术有限公司 | 一种存储系统、内存管理方法和管理节点 |
CN112165505B (zh) * | 2020-08-21 | 2022-07-19 | 杭州安恒信息技术股份有限公司 | 去中心化的数据处理方法、电子装置和存储介质 |
CN113157611B (zh) * | 2021-02-26 | 2023-04-18 | 山东英信计算机技术有限公司 | 一种数据传输控制方法、装置、设备及可读存储介质 |
-
2022
- 2022-10-14 CN CN202211260921.2A patent/CN117312224A/zh active Pending
-
2023
- 2023-06-19 WO PCT/CN2023/101171 patent/WO2024001850A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024001850A1 (zh) | 2024-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11929927B2 (en) | Network interface for data transport in heterogeneous computing environments | |
US11630702B2 (en) | Cloud-based scale-up system composition | |
US10365830B2 (en) | Method, device, and system for implementing hardware acceleration processing | |
KR101923661B1 (ko) | 플래시 기반 가속기 및 이를 포함하는 컴퓨팅 디바이스 | |
US9977618B2 (en) | Pooling of memory resources across multiple nodes | |
CN115543204A (zh) | 用于针对加速器板提供共享存储器的技术 | |
US8478926B1 (en) | Co-processing acceleration method, apparatus, and system | |
US8850081B2 (en) | Method, system and apparatus for handling events for partitions in a socket with sub-socket partitioning | |
US9535873B2 (en) | System, computer-implemented method and computer program product for direct communication between hardward accelerators in a computer cluster | |
JP2004192620A (ja) | マルチプロセッサ・システムでのプロセッサ相互接続を使用するマイクロプロセッサ通信の方法およびデータ処理システム | |
US10404800B2 (en) | Caching network fabric for high performance computing | |
CN104219279A (zh) | 用于超大规模分布式处理应用的模块化架构的系统和方法 | |
CN110119304A (zh) | 一种中断处理方法、装置及服务器 | |
US20210224189A1 (en) | Data prefetching method and apparatus | |
US11029847B2 (en) | Method and system for shared direct access storage | |
CN115686836A (zh) | 一种安装有加速器的卸载卡 | |
WO2024037239A1 (zh) | 一种加速器调度方法及相关装置 | |
WO2024051292A1 (zh) | 数据处理系统、内存镜像方法、装置和计算设备 | |
JP2004192621A (ja) | クラスタベースのマルチプロセッサ・システムでのマイクロプロセッサ通信の方法およびデータ処理システム | |
CN114253733B (zh) | 一种内存管理方法、装置、计算机设备和存储介质 | |
CN117312224A (zh) | 数据处理系统、方法、装置和控制器 | |
CN116483553A (zh) | 计算设备、数据处理方法、系统及相关设备 | |
CN115202859A (zh) | 一种内存扩展方法以及相关设备 | |
CN116483536B (zh) | 数据调度方法、计算芯片及电子设备 | |
US20240241829A1 (en) | APPARATUS AND METHOD FOR CCIX INTERFACE BASED ON USE OF QoS FIELD |
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 |