CN117312215B - 一种服务器系统、作业执行方法、装置及设备和介质 - Google Patents
一种服务器系统、作业执行方法、装置及设备和介质 Download PDFInfo
- Publication number
- CN117312215B CN117312215B CN202311599060.5A CN202311599060A CN117312215B CN 117312215 B CN117312215 B CN 117312215B CN 202311599060 A CN202311599060 A CN 202311599060A CN 117312215 B CN117312215 B CN 117312215B
- Authority
- CN
- China
- Prior art keywords
- computing
- expansion
- task
- server
- local
- 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
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000004891 communication Methods 0.000 claims abstract description 109
- 238000004364 calculation method Methods 0.000 claims description 149
- 230000035945 sensitivity Effects 0.000 claims description 22
- 238000011144 upstream manufacturing Methods 0.000 claims description 14
- 239000011159 matrix material Substances 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000010168 coupling process Methods 0.000 description 15
- 238000005859 coupling reaction Methods 0.000 description 15
- 230000008878 coupling Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 230000001360 synchronised effect Effects 0.000 description 9
- 238000001514 detection method Methods 0.000 description 8
- 230000003993 interaction Effects 0.000 description 6
- 230000005291 magnetic effect Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- 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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种服务器系统、作业执行方法、装置及设备和介质,涉及计算机技术领域,该服务器系统包括服务器、扩展计算域;服务器包括处理器控制域和本地计算域,本地计算域包括多个本地计算单元,处理器控制域通过高速串行计算机扩展总线标准协议接口连接本地计算单元,本地计算单元用于执行本地计算任务;扩展计算域包括扩展控制器和与扩展控制器连接的多个扩展计算单元,服务器通过符合高速串行计算机扩展总线标准协议的延长扩展线和/或外部通信接口连接扩展控制器,扩展控制器用于与服务器进行通信以获取扩展计算任务,扩展计算单元用于执行扩展计算任务。本申请实现了计算单元低成本、弱耦合的增量扩展,提高了扩展性能和扩展数量。
Description
技术领域
本申请涉及计算机技术领域,更具体地说,涉及一种服务器系统、作业执行方法、装置及设备和介质。
背景技术
人工智能服务器需要通过不断扩展计算单元,以满足时代算力需求的逐渐增大。在现有的服务器体系结构里,通过扩展CPU(Central Processing Unit,中央处理器)路数实现计算单元的扩展。但是,受到处理器通道规模及服务器空间等限制,现有技术中计算单元的扩展性能较低而且扩展数量有限。
因此,如何提高计算单元的扩展性能和扩展数量是本领域技术人员需要解决的技术问题。
发明内容
本申请的目的在于提供一种服务器系统、作业执行方法、装置及设备和介质,实现了计算单元低成本、弱耦合的增量扩展,提高了计算单元的扩展性能和扩展数量。
为实现上述目的,本申请提供了一种服务器系统,包括服务器、扩展计算域;所述服务器包括处理器控制域和本地计算域,所述本地计算域包括多个本地计算单元,所述处理器控制域通过高速串行计算机扩展总线标准协议接口连接所述本地计算单元,所述本地计算单元用于执行本地计算任务;
所述扩展计算域包括扩展控制器和与所述扩展控制器连接的多个扩展计算单元,所述服务器通过符合高速串行计算机扩展总线标准协议的延长扩展线和/或外部通信接口连接所述扩展控制器,所述扩展控制器用于与所述服务器进行通信以获取扩展计算任务,所述扩展计算单元用于执行所述扩展计算任务。
其中,所述扩展控制器基于外部通信协议与所述服务器进行通信,所述外部通信协议包括远程直接数据存取通信协议和/或以太网协议。
其中,所述扩展控制器包括控制单元和交换单元,所述控制单元用于与所述服务器进行控制流通信,所述交换单元用于与所述服务器进行数据流通信。
其中,所述交换单元包括依次连接的上游端口、交换矩阵和下游端口,所述交换单元通过所述上游端口与所述处理器控制域进行数据流通信,所述交换单元通过所述下游端口与所述扩展计算单元进行数据流通信,每个所述下游端口连接一个所述扩展计算单元,每两个所述下游端口之间在所述交换矩阵中存在通信连接。
其中,所述扩展计算单元包括图形处理器、现场可编程门阵列、交叉点装置中任一项或任几项的组合。
其中,所述扩展计算单元之间基于内部通信协议进行通信,所述内部通信协议包括高速串行计算机扩展总线标准协议和/或高速串行计算机扩展总线标准协议的点对点传输协议。
其中,在所述扩展控制器与所述服务器进行通信的过程中,发送端的控制器进入内核态创建所述发送端与接收端的通信链路,将所述发送端的内存中需要发送的数据复制到硬件缓存中,按照所述发送端与所述接收端之间的通信协议将所述硬件缓存中需要发送的数据封装数据包通过所述通信链路发送至所述接收端;其中,若所述发送端为所述服务器、所述接收端为所述扩展计算单元,则所述发送端的控制器为所述处理器控制域;若所述发送端为所述扩展计算单元、所述接收端为所述服务器,则所述发送端的控制器为所述扩展控制器。
其中,在所述扩展控制器基于远程直接数据存取通信协议与所述处理器控制域进行通信的过程中,发送端的控制器绕过内核态将需要发送的数据复制到硬件缓存中,基于远程直接数据存取通信协议将所述硬件缓存中需要发送的数据封装数据包发送至接收端;其中,若所述发送端为所述服务器、所述接收端为所述扩展计算单元,则所述发送端的控制器为所述处理器控制域;若所述发送端为所述扩展计算单元、所述接收端为所述服务器,则所述发送端的控制器为所述扩展控制器。
其中,所述本地计算单元的内存与所述扩展计算单元的内存之间采用直接内存访问的方式进行通信。
其中,所述本地计算单元用于执行延时敏感性大于或等于第一预设值的计算任务,所述扩展计算单元用于执行延时敏感性小于所述第一预设值的计算任务,所述扩展计算域内执行的计算任务之间的通信稀疏性小于或等于第二预设值,所述扩展计算域内执行的计算任务与所述本地计算域内执行的计算任务之间的通信稀疏性大于所述第二预设值。
其中,所述处理器控制域用于合并所述本地计算单元的计算任务执行结果和所述扩展计算单元的计算任务执行结果。
为实现上述目的,本申请提供了一种作业执行方法,应用于如上述服务器系统中的服务器,所述方法包括:
获取目标作业,并将所述目标作业拆分为多个计算任务;
将所述计算任务发送至所述服务器中的本地计算单元和所述服务器系统中的扩展计算域中的扩展计算单元执行;
获取所述本地计算单元的本地计算任务执行结果、所述扩展计算单元的扩展计算任务执行结果;
对所述本地计算任务执行结果和所述计算任务执行结果进行合并,得到所述目标作业的执行结果。
其中,将所述计算任务发送至所述服务器中的本地计算单元和所述服务器系统中的扩展计算域中的扩展计算单元执行之前,还包括:
根据所述计算任务的延时敏感性和不同所述计算任务之间的通信稀疏性将所述计算任务划分为本地计算任务和扩展计算任务。
其中,所述本地计算任务为延时敏感性大于或等于第一预设值的计算任务,所述扩展计算任务为执行延时敏感性小于所述第一预设值的计算任务,所述扩展计算任务之间的通信稀疏性小于或等于第二预设值,所述扩展计算任务与所述本地计算任务之间的通信稀疏性大于所述第二预设值。
其中,将所述计算任务发送至所述服务器中的本地计算单元和所述服务器系统中的扩展计算域中的扩展计算单元执行,包括:
将所述本地计算任务发送至所述服务器中的本地计算单元执行,将所述扩展计算任务发送至所述服务器系统中的扩展计算域中的扩展计算单元执行。
其中,所述目标作业为模型训练作业,将所述目标作业拆分为多个计算任务,包括:
将所述模型训练作业拆分为多个子模型训练作业;
相应的,将所述计算任务发送至所述服务器中的本地计算单元和所述服务器系统中的扩展计算域中的扩展计算单元执行,包括:
将所述子模型训练作业发送至所述服务器中的本地计算单元和所述服务器系统中的扩展计算域中的扩展计算单元执行,得到训练完成的子模型;
相应的,所述获取所述本地计算单元的本地计算任务执行结果、所述扩展计算单元的扩展计算任务执行结果,包括:
获取所述本地计算单元训练完成的子模型、所述扩展计算单元训练完成的子模型;
相应的,对所述本地计算任务执行结果和所述计算任务执行结果进行合并,得到所述目标作业的执行结果,包括:
对所述本地计算单元训练完成的子模型、所述扩展计算单元训练完成的子模型进行合并,得到训练完成的模型。
其中,所述目标作业为联邦学习作业,将所述目标作业拆分为多个计算任务,包括:
将所述联邦学习作业拆分为模型训练任务和参数更新任务;
相应的,将所述计算任务发送至所述服务器中的本地计算单元和所述服务器系统中的扩展计算域中的扩展计算单元执行,包括:
将所述参数更新任务发送至所述服务器中的本地计算单元,以便所述本地计算单元根据所述参数更新任务中的合并梯度更新模型的模型参数;其中,所述合并梯度为多个所述扩展计算单元训练得到的梯度的合并结果;
将所述模型训练任务发送至所述服务器系统中的扩展计算域中的扩展计算单元,以便所述扩展计算单元利用本地数据训练所述模型训练任务对应的模型得到梯度;其中,所述模型训练任务对应的模型为所述本地计算单元更新的最新模型;
相应的,所述获取所述本地计算单元的本地计算任务执行结果、所述扩展计算单元的扩展计算任务执行结果,包括:
获取所述扩展计算单元训练得到的梯度;
获取所述本地计算单元更新的最新模型;
相应的,对所述本地计算任务执行结果和所述计算任务执行结果进行合并,包括:
对多个所述扩展计算单元训练得到的梯度进行合并得到所述合并梯度。
为实现上述目的,本申请提供了一种作业执行装置,应用于如上述服务器系统中的服务器,所述装置包括:
拆分模块,用于获取目标作业,并将所述目标作业拆分为多个计算任务;
发送模块,用于将所述计算任务发送至所述服务器中的本地计算单元和所述服务器系统中的扩展计算域中的扩展计算单元执行;
获取模块,用于获取所述本地计算单元的本地计算任务执行结果、所述扩展计算单元的扩展计算任务执行结果;
合并模块,用于对所述本地计算任务执行结果和所述计算任务执行结果进行合并,得到所述目标作业的执行结果。
为实现上述目的,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述作业执行方法的步骤。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述作业执行方法的步骤。
通过以上方案可知,本申请提供的一种服务器系统,包括服务器、扩展计算域;所述服务器包括处理器控制域和本地计算域,所述本地计算域包括多个本地计算单元,所述处理器控制域通过高速串行计算机扩展总线标准协议接口连接所述本地计算单元,所述本地计算单元用于执行本地计算任务;所述扩展计算域包括扩展控制器和与所述扩展控制器连接的多个扩展计算单元,所述服务器通过符合高速串行计算机扩展总线标准协议的延长扩展线和/或外部通信接口连接所述扩展控制器,所述扩展控制器用于与所述服务器进行通信以获取扩展计算任务,所述扩展计算单元用于执行所述扩展计算任务。
本申请提供的服务器系统,在通过本地计算域实现计算单元的扩展的基础上,增加扩展计算域,实现计算单元的增量扩展。服务器通过PCIe(peripheral componentinterconnect express,一种高速串行计算机扩展总线标准)延长线或外部通信接口连接扩展计算域,实现服务器与扩展计算域之间的弱耦合连接,实现计算单元的弱耦合扩展。进一步的,扩展计算域作为独立的服务器的运行单元,包含扩展控制器,用于对扩展计算域内的扩展计算单元进行控制,实现了与上游服务器进行交换、向下游扩展计算单元下发扩展计算任务,也即扩展计算域的逻辑由扩展控制器进行控制,无需服务器中的处理控制域进行控制,只有在扩展控制器与服务器通信时才占用处理通道,在其他时候不会占用处理通道,计算单元的扩展不会受到服务器处理通道以及空间的限制,无需增加服务器处理通道,实现了计算单元的低成本扩展。由此可见,本申请提供的服务器系统,实现了计算单元低成本、弱耦合的增量扩展,提高了计算单元的扩展性能和扩展数量。本申请还公开了一种作业执行方法、装置及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1为相关技术中的一种服务器系统的结构图;
图2为相关技术中的一种PCIe Switch扩展模式的示意图;
图3为根据一示例性实施例示出的一种服务器系统的结构图;
图4为根据一示例性实施例示出的一种扩展控制器的结构图;
图5为根据一示例性实施例示出的一种交换单元的结构图;
图6为根据一示例性实施例示出的一种交换矩阵与计算单元的连接方式的示意图;
图7为根据一示例性实施例示出的一种作业执行方法的流程图;
图8为根据一示例性实施例示出的一种分布式训练中模型的垂直拆分的示意图;
图9为根据一示例性实施例示出的一种联邦学习的示意图;
图10为根据一示例性实施例示出的一种作业执行装置的结构图;
图11为根据一示例性实施例示出的一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。另外,在本申请实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在现有的服务器体系结构里,通过扩展CPU路数实现计算单元的扩展,如图1所示,处理器控制器连接内存(memory),处理器控制域通过PCIe接口连接计算单元,实现计算单元的扩展。受到CPU通道数量限制,除了个别可以直连的计算单元,还可以通过PCIe Switch(PCIe交换机)的方式树形级联扩展,PCIe Switch扩展模式如图2所示。受到处理器通道规模及服务器空间等限制,现有技术中计算单元的扩展性能较低而且扩展数量有限。
因此,本申请在通过本地计算域实现计算单元的扩展的基础上,增加扩展计算域,实现计算单元的增量扩展。服务器通过PCIe延长线或外部通信接口连接扩展计算域,实现服务器与扩展计算域之间的弱耦合连接,实现计算单元的弱耦合扩展。进一步的,扩展计算域作为独立的服务器的运行单元,包含扩展控制器,用于对扩展计算域内的扩展计算单元进行控制,实现了与上游服务器进行交换、向下游扩展计算单元下发扩展计算任务,也即扩展计算域的逻辑由扩展控制器进行控制,无需服务器中的处理控制域进行控制,只有在扩展控制器与服务器通信时才占用处理通道,在其他时候不会占用处理通道,计算单元的扩展不会受到服务器处理通道以及空间的限制,无需增加服务器处理通道,实现了计算单元的低成本扩展。由此可见,本申请实现了计算单元低成本、弱耦合的增量扩展,提高了计算单元的扩展性能和扩展数量。
本申请实施例公开了一种服务器系统,包括服务器、扩展计算域;所述服务器包括处理器控制域和本地计算域,所述本地计算域包括多个本地计算单元,所述处理器控制域通过高速串行计算机扩展总线标准协议接口连接所述本地计算单元,所述本地计算单元用于执行本地计算任务;
所述扩展计算域包括扩展控制器和与所述扩展控制器连接的多个扩展计算单元,所述服务器通过符合高速串行计算机扩展总线标准协议的延长扩展线和/或外部通信接口连接所述扩展控制器,所述扩展控制器用于与所述服务器进行通信以获取扩展计算任务,所述扩展计算单元用于执行所述扩展计算任务。
在本实施例中,如图3所示,通过本地计算域实现计算单元的扩展,也即处理器控制域通过PCIe接口连接计算单元,同时还可以通过PCIe交换机连接多个计算单元,实现计算单元的树形级联扩展。CPU和本地计算域作为主控制域,可以在本地计算域上运行一些对延时要求敏感而且不可分割的任务。
在此基础上,通过扩展计算域实现计算单元的进一步扩展。扩展计算域作为辅助控制域或者副控制域,一些对延时要求相对不敏感,而且与其他任务交互相对不频繁的任务可以运行在扩展计算域,防止因为通信频繁带来的系统整体性能下降。
扩展计算域包括扩展控制器和与扩展控制器连接的多个扩展计算单元,扩展计算单元可以包括图形处理器(GPU,Graphics Processing Unit)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、交叉点装置(xPU,Extended Processing Unit)。扩展计算域中的扩展控制器作为可以独立于主机系统的自主运行单元,可以采用FPGA或者芯片的实现方式,在扩展控制器上实现了与上游服务器进行交换、向下游扩展计算单元下发扩展计算任务。
作为一种可行的实施方式,所述扩展控制器包括控制单元和交换单元,所述控制单元用于与所述服务器进行控制流通信,所述交换单元用于与所述服务器进行数据流通信。
在具体实施中,如图4所示,扩展控制器包括控制单元和交换单元,控制单元与交换单元协同工作,控制单元负责控制流的工作,交换单元负责数据流的工作。控制单元包括控制模块、配置模块和协议支持模块,控制模块和配置模块的主要功能实现包含:设备的枚举探测、配置空间信息设置、创建通信所需的各种资源、设备的通信方式、上下游命令解析、接口连接管理和链路训练等。通信所需的资源例如RDMA(Remote Direct Memory Access,远程直接内存访问)控制通路发送端和接收端创建QP(Queue Pair,队列对)、CQ(Completion Queue,完成队列)、MR(Memory Region,内存区域)等,设备的通信方式例如P2P(Peer-to-Peer,点对点)、DMA(Direct Memory Access,直接内存访问)、GPUDirect(GPU直接访问)等,接口连接管理包括交换机中的接口模块互连方式等。协议支持模块支持高速串行计算机扩展总线标准协议、高速串行计算机扩展总线标准协议的点对点传输协议、神经网络处理器互联协议等在内的内部通信协议,远程直接数据存取通信协议、以太网协议等在内的外部通信协议。
扩展控制器基于外部通信协议与所述服务器进行通信,所述外部通信协议包括远程直接数据存取通信协议(RDMA)、以太网协议等。根据扩展计算单元的不同,协议支持模块通过协议切换的方式支持不同类型计算单元的扩展,并且通过与服务器通信方式的支持不同模式的协议解析。扩展计算单元之间基于内部通信协议进行通信,内部通信协议包括高速串行计算机扩展总线标准协议(PCIe)、高速串行计算机扩展总线标准协议的点对点传输协议(PCIe Peer-to-Peer)、NVLink(英伟达高速互联协议)等,以此形成扩展计算域内高内聚、扩展计算域外弱耦合的连接方式。
作为一种可行的实施方式,所述交换单元包括依次连接的上游端口、交换矩阵和下游端口,所述交换单元通过所述上游端口与所述处理器控制域进行数据流通信,所述交换单元通过所述下游端口与所述扩展计算单元进行数据流通信,每个所述下游端口连接一个所述扩展计算单元,每两个所述下游端口之间在所述交换矩阵中存在通信连接。
在具体实施中,如图5所示,交换单元包括上游端口和下游端口、交换矩阵,上游接口用于连接服务器,下游接口用于连接扩展计算单元,但是不同于PCIe switch的拓扑连接方式,交换矩阵除了用于转发上游接口与对应的下游接口之间的通信报文,也负责扩展计算单元间的拓扑连接方式。交换矩阵与计算单元的连接方式如图6所示,每个下游端口连接一个扩展计算单元,每两个下游端口之间在交换矩阵中均存在通信连接,相比于树形的计算单元扩展,实现了矩阵型的计算单元扩展,提高了计算单元的扩展性能和扩展数量。
服务器与扩展域的连接方式可以通过PCIe延长扩展线的方式和外部通信接口两种方式。PCIe延长扩展线为总线级别的扩展,不同于传统模式依赖CPU路数的高成本扩展来扩展通信通道数量,或者在有限的空间有限依赖于PCIe switch固定通道有限的扩展数量。借助于独立控制单元扩展控制器,依据于总线扩展模式可以突破空间数量限制。比如可以实现借助于图6架构下,自研轻量级协议的高速全互连结构。外部通信接口可以有多种模式,比如内核开销低的RDMA通信协议的方式,或者以太网协议,也可以采用占用CPU资源较高的主板RJ45(Registered Jack 45,注册插孔45)网口等通信方式。
作为一种可行的实施方式,在所述扩展控制器与所述服务器进行通信的过程中,发送端的控制器进入内核态创建所述发送端与接收端的通信链路,将所述发送端的内存中需要发送的数据复制到硬件缓存中,按照所述发送端与所述接收端之间的通信协议将所述硬件缓存中需要发送的数据封装数据包通过所述通信链路发送至所述接收端;其中,若所述发送端为所述服务器、所述接收端为所述扩展计算单元,则所述发送端的控制器为所述处理器控制域;若所述发送端为所述扩展计算单元、所述接收端为所述服务器,则所述发送端的控制器为所述扩展控制器。
在服务器向扩展计算单元发送数据时,处理器控制域进入内核态创建服务器与扩展控制器之间的通信链路,创建通信所需各种资源,扩展控制器作为接收端解析通信协议,配置存放数据所在缓存地址等信息,并通知网卡等硬件做数据接受准备。处理器控制域配置发送数据所在缓存地址和数据长度等信息,并通知网卡等硬件发送数据。处理器控制域将内存的缓存中需要发送的数据复制到网卡等硬件的缓存中,之后按照协议封装数据包发送给扩展控制器,扩展控制器接收到数据包之后将其写入扩展计算单元的内存。在扩展计算单元向服务器发送数据时,扩展控制器进入内核态创建服务器与扩展控制器之间的通信链路,创建通信所需各种资源,处理器控制域作为接收端解析通信协议,配置存放数据所在缓存地址等信息,并通知网卡等硬件做数据接受准备。扩展控制器配置发送数据所在缓存地址和数据长度等信息,并通知网卡等硬件发送数据。扩展控制器将扩展计算单元的内存中需要发送的数据复制到网卡等硬件的缓存中,之后按照协议封装数据包发送给处理器控制域,处理器控制域接收到数据包之后将其写入内存。
作为另一种可行的实施方式,在所述扩展控制器基于远程直接数据存取通信协议与所述处理器控制域进行通信的过程中,发送端的控制器绕过内核态将需要发送的数据复制到硬件缓存中,基于远程直接数据存取通信协议将所述硬件缓存中需要发送的数据封装数据包发送至接收端;其中,若所述发送端为所述服务器、所述接收端为所述扩展计算单元,则所述发送端的控制器为所述处理器控制域;若所述发送端为所述扩展计算单元、所述接收端为所述服务器,则所述发送端的控制器为所述扩展控制器。
在具体实施中,处理器控制域与扩展控制器之间可以通过RDMA的方式进行交互,此实施方式与上述实施方式不同的是,发送端的控制器绕过内核态将需要发送的数据复制到硬件缓存中,不需要发送段内存参与。
作为又一种可行的实施方式,所述本地计算单元的内存与所述扩展计算单元的内存之间采用直接内存访问的方式进行通信。在具体实施中,如果扩展计算单元为GPU,也可以GPUdirect RDMA的方式直接将本地计算单元内存按照协议封装数据包发送给扩展计算单元内存,或将扩展计算单元内存按照协议封装数据包发送给本地计算单元内存。
作为一种优选实施方式,所述本地计算单元用于执行延时敏感性大于或等于第一预设值的计算任务,所述扩展计算单元用于执行延时敏感性小于所述第一预设值的计算任务,所述扩展计算域内执行的计算任务之间的通信稀疏性小于或等于第二预设值,所述扩展计算域内执行的计算任务与所述本地计算域内执行的计算任务之间的通信稀疏性大于所述第二预设值。
在具体实施中,对于在一些需要计算拆分的作业,例如分布式机器学习,计算任务可以划分为本地计算任务和扩展计算任务,本地计算任务为延时敏感性高或者不可拆分计算任务,扩展计算任务为延时敏感性低的计算任务,同时,扩展计算域内执行的计算任务之间的通信稀疏性低也即通信密集,而扩展计算域内执行的计算任务与本地计算域内执行的计算任务之间的通信稀疏性高也即通信稀疏,最终达到高内聚低耦合形成扩展计算域内高性能计算、计算域间系统计算性能增量提升的效果。
设定本地计算域的本地计算任务占总计算任务的百分比为X,扩展计算域的扩展计算任务占总计算任务的百分比为Y,X+Y=1,扩展计算域提升性能为N倍,但是带来的通信开销为Z,则总的性能加速比为1/(X+Y/N+Z),由以上公式可以看出,在不考虑通信开销的时候扩展域性能提升比例越高,系统加速性能提升越高,但通信开销过大反而会降低系统性能。
作为一种可行的实施方式,所述处理器控制域用于合并所述本地计算单元的计算任务执行结果和所述扩展计算单元的计算任务执行结果。在具体实施中,不同计算域计算结束后由处理器控制域合并最后的计算结果,计算处理后完成计算任务。
本申请实施例提供的服务器系统,在通过本地计算域实现计算单元的扩展的基础上,增加扩展计算域,实现计算单元的增量扩展。服务器通过PCIe延长线或外部通信接口连接扩展计算域,实现服务器与扩展计算域之间的弱耦合连接,实现计算单元的弱耦合扩展。进一步的,扩展计算域作为独立的服务器的运行单元,包含扩展控制器,用于对扩展计算域内的扩展计算单元进行控制,实现了与上游服务器进行交换、向下游扩展计算单元下发扩展计算任务,也即扩展计算域的逻辑由扩展控制器进行控制,无需服务器中的处理控制域进行控制,只有在扩展控制器与服务器通信时才占用处理通道,在其他时候不会占用处理通道,计算单元的扩展不会受到服务器处理通道以及空间的限制,无需增加服务器处理通道,实现了计算单元的低成本扩展。由此可见,本申请实施例提供的服务器系统,实现了计算单元低成本、弱耦合的增量扩展,提高了计算单元的扩展性能和扩展数量。
本申请实施例公开了一种作业执行方法,参见图7,根据一示例性实施例示出的一种作业执行方法的流程图,如图7所示,包括:
S101:获取目标作业,并将所述目标作业拆分为多个计算任务;
S102:将所述计算任务发送至所述服务器中的本地计算单元和所述服务器系统中的扩展计算域中的扩展计算单元执行;
本实施例应用于上述实施例提供的服务器系统。在具体实施中,将目标作业拆分为多个计算任务,发送至本地计算域中的本地计算单元和扩展计算域中的扩展计算单元执行。
作为一种优选实施方式,将所述计算任务发送至所述服务器中的本地计算单元和所述服务器系统中的扩展计算域中的扩展计算单元执行之前,还包括:根据所述计算任务的延时敏感性和不同所述计算任务之间的通信稀疏性将所述计算任务划分为本地计算任务和扩展计算任务;其中,所述本地计算任务为延时敏感性大于或等于第一预设值的计算任务,所述扩展计算任务为执行延时敏感性小于所述第一预设值的计算任务,所述扩展计算任务之间的通信稀疏性小于或等于第二预设值,所述扩展计算任务与所述本地计算任务之间的通信稀疏性大于所述第二预设值。
在具体实施中,计算任务可以划分为本地计算任务和扩展计算任务,本地计算任务为延时敏感性高或者不可拆分计算任务,扩展计算任务为延时敏感性低的计算任务,同时,扩展计算域内执行的计算任务之间的通信稀疏性低也即通信密集,而扩展计算域内执行的计算任务与本地计算域内执行的计算任务之间的通信稀疏性高也即通信稀疏,最终达到高内聚低耦合形成扩展计算域内高性能计算、计算域间系统计算性能增量提升的效果。
进一步的,将本地计算任务发送至服务器中的本地计算单元执行,将扩展计算任务发送至服务器系统中的扩展计算域中的扩展计算单元执行。在具体实施中,根据任务划分结果,将本地计算任务和扩展计算任务分别映射到本地计算域和扩展计算域。为了尽可能提供高性能且灵活的计算底座,本地计算域和扩展计算域都采用计算区域高速互连通信的方式,任务所在域可以根据硬件资源状态、连接拓扑信息和任务类型等,以最高并行计算和高速通信方式高性能计算。有所不同的是本地计算域的控制是由CPU完成,扩展计算域是由扩展域上的扩展控制器完成。
S103:获取所述本地计算单元的本地计算任务执行结果、所述扩展计算单元的扩展计算任务执行结果;
S104:对所述本地计算任务执行结果和所述计算任务执行结果进行合并,得到所述目标作业的执行结果。
在具体实施中,理想的计算方式是本地计算域与扩展计算域解耦状态,则不同计算域计算结束后由处理器控制域合并最后的计算结果,计算处理后完成计算任务。非理想状态,存在本地计算域与扩展计算域存在任务耦合的状态,但是在上述任务划分时已经最大可能减少耦合,也就是减少了不同计算域之间的交互。交互过程按照扩展方式的不同采用和处理器控制域不同的交互通信方式,或者为了尽可能提高性能,可以采用所有可用的扩展通信方式与处理器控制域交互,最后完成任务协作由处理器控制域合并完成作业。
本申请提供的作业执行方法,利用上述实施例提供的服务器系统执行目标作业,提高了作业执行效率。
上述实施例可以应用于错误检测,包括双核锁步检测和异构并行多核检测,双核锁步检测技术的核心思想是在计算机系统中使用两个相同的处理器核心,并让它们同时执行相同的指令序列。在执行过程中,两个处理器核心会互相比较执行结果,如果发现两个核心执行结果不一致,系统就会立即进入安全模式,停止运行并进行故障诊断和修复。异构并行多核是指在计算机体系结构中,使用多个处理器核心进行相同指令检测,这些处理器核心可能具有不同的架构、功能或性能特征。无论是以上何种错误检测方式,其都可以根据错误检测需求,并行运行在本地计算域和扩展计算域。
上述实施例可以应用于模型训练,包括以下步骤:
步骤1:将模型训练作业拆分为多个子模型训练作业;
步骤2:将所述子模型训练作业发送至所述服务器中的本地计算单元和所述服务器系统中的扩展计算域中的扩展计算单元执行,得到训练完成的子模型;
步骤3:获取所述本地计算单元训练完成的子模型、所述扩展计算单元训练完成的子模型;
步骤4:对所述本地计算单元训练完成的子模型、所述扩展计算单元训练完成的子模型进行合并,得到训练完成的模型。
在具体实施中,将整个模型划分为多个子模型,各计算单元使用相同的数据训练不同的子模型,处理器控制域对各计算单元训练完成的子模型进行合并,得到训练完成的模型。以分布式训练中模型的垂直拆分为例,如图8所示,本地计算域和扩展计算域训练不同的子模型,服务器与扩展计算域计算通信内容是各个模型并行模式计算单元产生的结果。
上述实施例可以应用于联邦学习,包括以下步骤:
步骤1:将联邦学习作业拆分为模型训练任务和参数更新任务;
步骤2:将所述模型训练任务发送至所述服务器系统中的扩展计算域中的扩展计算单元,以便所述扩展计算单元利用本地数据训练所述模型训练任务对应的模型得到梯度;其中,所述模型训练任务对应的模型为所述本地计算单元更新的最新模型;
步骤3:获取所述扩展计算单元训练得到的梯度,对多个所述扩展计算单元训练得到的梯度进行合并得到合并梯度;
步骤4:将所述参数更新任务发送至所述服务器中的本地计算单元,以便所述本地计算单元根据所述参数更新任务中的合并梯度更新模型的模型参数;其中,所述合并梯度为多个所述扩展计算单元训练得到的梯度的合并结果;
步骤5:获取所述本地计算单元更新的最新模型,并将所述最新模型发送至所述扩展计算单元,以便所述扩展计算单元更新自身的模型。
在具体实施中,如图9所示,扩展计算域中的各扩展计算单元从服务器下载最新模型,利用本地数据训练模型得到梯度,加密上传至服务器,服务器合并各扩展计算单元的梯度得到合并梯度,本地计算单元根据该合并梯度更新模型参数,并将更新后的模型返回至扩展计算域中的各扩展计算单元,扩展计算域中的各扩展计算单元更新各自模型,以上过程直至运算结束。
下面对本申请实施例提供的一种作业执行装置进行介绍,下文描述的一种作业执行装置与上文描述的一种作业执行方法可以相互参照。
参见图10,根据一示例性实施例示出的一种作业执行装置的结构图,如图10所示,包括:
拆分模块100,用于获取目标作业,并将所述目标作业拆分为多个计算任务;
发送模块200,用于将所述计算任务发送至所述服务器中的本地计算单元和所述服务器系统中的扩展计算域中的扩展计算单元执行;
获取模块300,用于获取所述本地计算单元的本地计算任务执行结果、所述扩展计算单元的扩展计算任务执行结果;
合并模块400,用于对所述本地计算任务执行结果和所述计算任务执行结果进行合并,得到所述目标作业的执行结果。
本申请提供的作业执行装置,利用上述实施例提供的服务器系统执行目标作业,提高了作业执行效率。
在上述实施例的基础上,作为一种优选实施方式,还包括:
划分模块,用于根据所述计算任务的延时敏感性和不同所述计算任务之间的通信稀疏性将所述计算任务划分为本地计算任务和扩展计算任务。
在上述实施例的基础上,作为一种优选实施方式,所述本地计算任务为延时敏感性大于或等于第一预设值的计算任务,所述扩展计算任务为执行延时敏感性小于所述第一预设值的计算任务,所述扩展计算任务之间的通信稀疏性小于或等于第二预设值,所述扩展计算任务与所述本地计算任务之间的通信稀疏性大于所述第二预设值。
在上述实施例的基础上,作为一种优选实施方式,所述发送模块200具体用于:将所述本地计算任务发送至所述服务器中的本地计算单元执行,将所述扩展计算任务发送至所述服务器系统中的扩展计算域中的扩展计算单元执行。
在上述实施例的基础上,作为一种优选实施方式,所述目标作业为模型训练作业,所述拆分模块100具体用于:将所述模型训练作业拆分为多个子模型训练作业;相应的,所述发送模块200具体用于:将所述子模型训练作业发送至所述服务器中的本地计算单元和所述服务器系统中的扩展计算域中的扩展计算单元执行,得到训练完成的子模型;相应的,所述获取模块300具体用于:获取所述本地计算单元训练完成的子模型、所述扩展计算单元训练完成的子模型;相应的,所述合并模块400具体用于:对所述本地计算单元训练完成的子模型、所述扩展计算单元训练完成的子模型进行合并,得到训练完成的模型。
在上述实施例的基础上,作为一种优选实施方式,所述目标作业为联邦学习作业,所述拆分模块100具体用于:将所述联邦学习作业拆分为模型训练任务和参数更新任务;相应的,所述发送模块200具体用于:将所述参数更新任务发送至所述服务器中的本地计算单元,以便所述本地计算单元根据所述参数更新任务中的合并梯度更新模型的模型参数;其中,所述合并梯度为多个所述扩展计算单元训练得到的梯度的合并结果;将所述模型训练任务发送至所述服务器系统中的扩展计算域中的扩展计算单元,以便所述扩展计算单元利用本地数据训练所述模型训练任务对应的模型得到梯度;其中,所述模型训练任务对应的模型为所述本地计算单元更新的最新模型;相应的,所述获取模块300具体用于:获取所述扩展计算单元训练得到的梯度;获取所述本地计算单元更新的最新模型;相应的,所述合并模块400具体用于:对多个所述扩展计算单元训练得到的梯度进行合并得到所述合并梯度。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种电子设备,图11为根据一示例性实施例示出的一种电子设备的结构图,如图11所示,电子设备包括:
通信接口1,能够与其它设备比如网络设备等进行信息交互;
处理器2,与通信接口1连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的作业执行方法。而所述计算机程序存储在存储器3上。
当然,实际应用时,电子设备中的各个组件通过总线系统4耦合在一起。可理解,总线系统4用于实现这些组件之间的连接通信。总线系统4除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图11中将各种总线都标为总线系统4。
本申请实施例中的存储器3用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
可以理解,存储器3可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器3旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器2中,或者由处理器2实现。处理器2可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器2可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器3,处理器2读取存储器3中的程序,结合其硬件完成前述方法的步骤。
处理器2执行所述程序时实现本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器3,上述计算机程序可由处理器2执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、CD-ROM等存储器。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (19)
1.一种服务器系统,其特征在于,包括服务器、扩展计算域;所述服务器包括处理器控制域和本地计算域,所述本地计算域包括多个本地计算单元,所述处理器控制域通过高速串行计算机扩展总线标准协议接口连接所述本地计算单元,所述本地计算单元用于执行本地计算任务;
所述扩展计算域包括扩展控制器和与所述扩展控制器连接的多个扩展计算单元,所述服务器通过符合高速串行计算机扩展总线标准协议的延长扩展线和/或外部通信接口连接所述扩展控制器,所述扩展控制器用于与所述服务器进行通信以获取扩展计算任务,所述扩展计算单元用于执行所述扩展计算任务;
其中,所述扩展控制器包括交换单元,所述交换单元包括依次连接的上游端口、交换矩阵和下游端口,所述交换单元通过所述上游端口与所述处理器控制域进行数据流通信,所述交换单元通过所述下游端口与所述扩展计算单元进行数据流通信,每个所述下游端口连接一个所述扩展计算单元,每两个所述下游端口之间在所述交换矩阵中存在通信连接。
2.根据权利要求1所述服务器系统,其特征在于,所述扩展控制器基于外部通信协议与所述服务器进行通信,所述外部通信协议包括远程直接数据存取通信协议和/或以太网协议。
3.根据权利要求1所述服务器系统,其特征在于,所述扩展控制器包括控制单元和交换单元,所述控制单元用于与所述服务器进行控制流通信,所述交换单元用于与所述服务器进行数据流通信。
4.根据权利要求1所述服务器系统,其特征在于,所述扩展计算单元包括图形处理器、现场可编程门阵列、交叉点装置中任一项或任几项的组合。
5.根据权利要求1所述服务器系统,其特征在于,所述扩展计算单元之间基于内部通信协议进行通信,所述内部通信协议包括高速串行计算机扩展总线标准协议和/或高速串行计算机扩展总线标准协议的点对点传输协议。
6.根据权利要求1所述服务器系统,其特征在于,在所述扩展控制器与所述服务器进行通信的过程中,发送端的控制器进入内核态创建所述发送端与接收端的通信链路,将所述发送端的内存中需要发送的数据复制到硬件缓存中,按照所述发送端与所述接收端之间的通信协议将所述硬件缓存中需要发送的数据封装数据包通过所述通信链路发送至所述接收端;其中,若所述发送端为所述服务器、所述接收端为所述扩展计算单元,则所述发送端的控制器为所述处理器控制域;若所述发送端为所述扩展计算单元、所述接收端为所述服务器,则所述发送端的控制器为所述扩展控制器。
7.根据权利要求1所述服务器系统,其特征在于,在所述扩展控制器基于远程直接数据存取通信协议与所述处理器控制域进行通信的过程中,发送端的控制器绕过内核态将需要发送的数据复制到硬件缓存中,基于远程直接数据存取通信协议将所述硬件缓存中需要发送的数据封装数据包发送至接收端;其中,若所述发送端为所述服务器、所述接收端为所述扩展计算单元,则所述发送端的控制器为所述处理器控制域;若所述发送端为所述扩展计算单元、所述接收端为所述服务器,则所述发送端的控制器为所述扩展控制器。
8.根据权利要求1所述服务器系统,其特征在于,所述本地计算单元的内存与所述扩展计算单元的内存之间采用直接内存访问的方式进行通信。
9.根据权利要求1所述服务器系统,其特征在于,所述本地计算单元用于执行延时敏感性大于或等于第一预设值的计算任务,所述扩展计算单元用于执行延时敏感性小于所述第一预设值的计算任务,所述扩展计算域内执行的计算任务之间的通信稀疏性小于或等于第二预设值,所述扩展计算域内执行的计算任务与所述本地计算域内执行的计算任务之间的通信稀疏性大于所述第二预设值。
10.根据权利要求1所述服务器系统,其特征在于,所述处理器控制域用于合并所述本地计算单元的计算任务执行结果和所述扩展计算单元的计算任务执行结果。
11.一种作业执行方法,其特征在于,应用于如权利要求1至10中任一项所述服务器系统中的服务器,所述方法包括:
获取目标作业,并将所述目标作业拆分为多个计算任务;
将所述计算任务发送至所述服务器中的本地计算单元和所述服务器系统中的扩展计算域中的扩展计算单元执行;
获取所述本地计算单元的本地计算任务执行结果、所述扩展计算单元的扩展计算任务执行结果;
对所述本地计算任务执行结果和所述计算任务执行结果进行合并,得到所述目标作业的执行结果。
12.根据权利要求11所述作业执行方法,其特征在于,将所述计算任务发送至所述服务器中的本地计算单元和所述服务器系统中的扩展计算域中的扩展计算单元执行之前,还包括:
根据所述计算任务的延时敏感性和不同所述计算任务之间的通信稀疏性将所述计算任务划分为本地计算任务和扩展计算任务。
13.根据权利要求12所述作业执行方法,其特征在于,所述本地计算任务为延时敏感性大于或等于第一预设值的计算任务,所述扩展计算任务为执行延时敏感性小于所述第一预设值的计算任务,所述扩展计算任务之间的通信稀疏性小于或等于第二预设值,所述扩展计算任务与所述本地计算任务之间的通信稀疏性大于所述第二预设值。
14.根据权利要求12所述作业执行方法,其特征在于,将所述计算任务发送至所述服务器中的本地计算单元和所述服务器系统中的扩展计算域中的扩展计算单元执行,包括:
将所述本地计算任务发送至所述服务器中的本地计算单元执行,将所述扩展计算任务发送至所述服务器系统中的扩展计算域中的扩展计算单元执行。
15.根据权利要求11所述作业执行方法,其特征在于,所述目标作业为模型训练作业,将所述目标作业拆分为多个计算任务,包括:
将所述模型训练作业拆分为多个子模型训练作业;
相应的,将所述计算任务发送至所述服务器中的本地计算单元和所述服务器系统中的扩展计算域中的扩展计算单元执行,包括:
将所述子模型训练作业发送至所述服务器中的本地计算单元和所述服务器系统中的扩展计算域中的扩展计算单元执行,得到训练完成的子模型;
相应的,所述获取所述本地计算单元的本地计算任务执行结果、所述扩展计算单元的扩展计算任务执行结果,包括:
获取所述本地计算单元训练完成的子模型、所述扩展计算单元训练完成的子模型;
相应的,对所述本地计算任务执行结果和所述计算任务执行结果进行合并,得到所述目标作业的执行结果,包括:
对所述本地计算单元训练完成的子模型、所述扩展计算单元训练完成的子模型进行合并,得到训练完成的模型。
16.根据权利要求11所述作业执行方法,其特征在于,所述目标作业为联邦学习作业,将所述目标作业拆分为多个计算任务,包括:
将所述联邦学习作业拆分为模型训练任务和参数更新任务;
相应的,将所述计算任务发送至所述服务器中的本地计算单元和所述服务器系统中的扩展计算域中的扩展计算单元执行,包括:
将所述参数更新任务发送至所述服务器中的本地计算单元,以便所述本地计算单元根据所述参数更新任务中的合并梯度更新模型的模型参数;其中,所述合并梯度为多个所述扩展计算单元训练得到的梯度的合并结果;
将所述模型训练任务发送至所述服务器系统中的扩展计算域中的扩展计算单元,以便所述扩展计算单元利用本地数据训练所述模型训练任务对应的模型得到梯度;其中,所述模型训练任务对应的模型为所述本地计算单元更新的最新模型;
相应的,所述获取所述本地计算单元的本地计算任务执行结果、所述扩展计算单元的扩展计算任务执行结果,包括:
获取所述扩展计算单元训练得到的梯度;
获取所述本地计算单元更新的最新模型;
相应的,对所述本地计算任务执行结果和所述计算任务执行结果进行合并,包括:
对多个所述扩展计算单元训练得到的梯度进行合并得到所述合并梯度。
17.一种作业执行装置,其特征在于,应用于如权利要求1至10中任一项所述服务器系统中的服务器,所述装置包括:
拆分模块,用于获取目标作业,并将所述目标作业拆分为多个计算任务;
发送模块,用于将所述计算任务发送至所述服务器中的本地计算单元和所述服务器系统中的扩展计算域中的扩展计算单元执行;
获取模块,用于获取所述本地计算单元的本地计算任务执行结果、所述扩展计算单元的扩展计算任务执行结果;
合并模块,用于对所述本地计算任务执行结果和所述计算任务执行结果进行合并,得到所述目标作业的执行结果。
18.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求11至16任一项所述作业执行方法的步骤。
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求11至16任一项所述作业执行方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311599060.5A CN117312215B (zh) | 2023-11-28 | 2023-11-28 | 一种服务器系统、作业执行方法、装置及设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311599060.5A CN117312215B (zh) | 2023-11-28 | 2023-11-28 | 一种服务器系统、作业执行方法、装置及设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117312215A CN117312215A (zh) | 2023-12-29 |
CN117312215B true CN117312215B (zh) | 2024-03-22 |
Family
ID=89255595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311599060.5A Active CN117312215B (zh) | 2023-11-28 | 2023-11-28 | 一种服务器系统、作业执行方法、装置及设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117312215B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117785489B (zh) * | 2024-02-27 | 2024-05-10 | 苏州元脑智能科技有限公司 | 一种服务器及一种任务执行方法、装置和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1719415A (zh) * | 2004-07-09 | 2006-01-11 | 国际商业机器公司 | 用于管理可扩展计算机系统的方法和系统 |
CN104598404A (zh) * | 2015-02-03 | 2015-05-06 | 杭州士兰控股有限公司 | 计算设备扩展方法和装置、以及可扩展的计算系统 |
CN114840339A (zh) * | 2022-04-30 | 2022-08-02 | 苏州浪潮智能科技有限公司 | Gpu服务器、数据计算方法及电子设备 |
CN116204448A (zh) * | 2023-02-28 | 2023-06-02 | 浪潮电子信息产业股份有限公司 | 一种多端口固态硬盘及其控制方法、装置、介质、服务器 |
-
2023
- 2023-11-28 CN CN202311599060.5A patent/CN117312215B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1719415A (zh) * | 2004-07-09 | 2006-01-11 | 国际商业机器公司 | 用于管理可扩展计算机系统的方法和系统 |
CN104598404A (zh) * | 2015-02-03 | 2015-05-06 | 杭州士兰控股有限公司 | 计算设备扩展方法和装置、以及可扩展的计算系统 |
CN114840339A (zh) * | 2022-04-30 | 2022-08-02 | 苏州浪潮智能科技有限公司 | Gpu服务器、数据计算方法及电子设备 |
CN116204448A (zh) * | 2023-02-28 | 2023-06-02 | 浪潮电子信息产业股份有限公司 | 一种多端口固态硬盘及其控制方法、装置、介质、服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN117312215A (zh) | 2023-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112020006859T5 (de) | Beibehaltung von speicher-namensraum-identifizierern für die migration von virtualisierten ausführungsumgebungen im laufenden betrieb | |
CN112543925B (zh) | 用于使用专用低延迟链路的多个硬件加速器的统一地址空间 | |
CN105718244B (zh) | 一种流水化数据洗牌传输的Spark任务调度与执行方法 | |
CN117312215B (zh) | 一种服务器系统、作业执行方法、装置及设备和介质 | |
US11258699B2 (en) | Sync network | |
US8990451B2 (en) | Controller for direct access to a memory for the direct transfer of data between memories of several peripheral devices, method and computer program enabling the implementation of such a controller | |
CN102981984B (zh) | 使用完成者对存储器区域排序要求的知识来修改事务属性 | |
US9015440B2 (en) | Autonomous memory subsystem architecture | |
US8725919B1 (en) | Device configuration for multiprocessor systems | |
CN109564562B (zh) | 大数据运算加速系统和芯片 | |
US20210200601A1 (en) | Sync Group Selection | |
WO2020046643A1 (en) | Method and system for performing parallel computation | |
CN115098412A (zh) | 外设访问控制器、数据访问装置及对应方法、介质和芯片 | |
CN117631974A (zh) | 跨越基于存储器的通信队列的多信道接口的存取请求重新排序 | |
CN116225992A (zh) | 一种支持虚拟化仿真设备的NVMe验证平台及方法 | |
CN112867998B (zh) | 运算加速器、交换器、任务调度方法及处理系统 | |
JP2022510803A (ja) | バス上のメモリ要求チェーン | |
US9053092B2 (en) | System authorizing direct data transfers between memories of several components of that system | |
DE102019101114A1 (de) | System, Vorrichtung und Verfahren zum Bereitstellen einer Fabric für einen Beschleuniger | |
US9087036B1 (en) | Methods and apparatuses for time annotated transaction level modeling | |
CN117992125A (zh) | 减少用于基于存储器的通信队列的索引更新消息 | |
US11301410B1 (en) | Tags for request packets on a network communication link | |
US20140156251A1 (en) | Simulation device and simulation method therefor | |
CN107423249A (zh) | 一种基于AHB‑lite总线协议的从端总线控制器设计方法 | |
CN114866534B (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 |