CN115269209A - 一种gpu集群调度方法及服务器 - Google Patents
一种gpu集群调度方法及服务器 Download PDFInfo
- Publication number
- CN115269209A CN115269209A CN202211209713.XA CN202211209713A CN115269209A CN 115269209 A CN115269209 A CN 115269209A CN 202211209713 A CN202211209713 A CN 202211209713A CN 115269209 A CN115269209 A CN 115269209A
- Authority
- CN
- China
- Prior art keywords
- gpu
- gpus
- statistical message
- cpu
- boundary
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- 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/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
- G06F9/505—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 considering the load
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种GPU集群调度方法及服务器。该方法包括:标卡中与CPU连接的入口GPU发起统计消息,将统计消息在闭合环网中进行传递;若统计消息传递到入口GPU,则根据统计消息确定闭合环网中的GPU信息;通过GPU信息,确定闭合环网中的GPU数量,以使CPU根据GPU数量向标卡分配待处理数据。通过上述技术方案,利用GPU之间的快速传输通道传递统计消息,能够快速精准地确定闭合环网中处于工作状态的GPU数量,提高了GPU数量统计效率,进而使CPU根据GPU数量分配待处理数据,实现负载均衡。
Description
技术领域
本申请实施例涉及集群调度技术领域,尤其涉及一种GPU集群调度方法及服务器。
背景技术
目前,在城市管理应用中,用于监控的前端设备被广泛应用,例如安装于道路、出入口等场所的卡口相机、电子警察和监控摄像头等。监控设备对目标进行图像采集从而产生大量的图像。为了能够从大量的图像中提取更加有价值的信息,需要部署智能分析服务器对前端设备采集的图像进行处理和分析。
由于前端设备采集的图像数量大,智能分析服务器在对图像进行处理时,往往难以实现负载均衡。另外,智能分析服务器在负载不均衡、处理压力大的情况下,难以实现稳定可靠的运行。
发明内容
本申请提供了一种GPU集群调度方法及服务器,以使GPU集群调度服务器在稳定可靠的情况下实现负载均衡。
在一个实施例中,本申请实施例提供了一种GPU集群调度方法,应用于GPU集群调度服务器,所述GPU集群调度服务器包括中央处理器CPU以及与所述CPU分别连接的至少一个标卡,所述标卡包括至少两个图形处理器GPU通过高速互联通道串行连接形成的闭合环网,所述方法包括:
所述标卡中与所述CPU连接的入口GPU发起统计消息,将所述统计消息在所述闭合环网中进行传递;
若所述统计消息传递到所述入口GPU,则根据所述统计消息确定所述闭合环网中的GPU信息;
通过所述GPU信息,确定所述闭合环网中的GPU数量,以使所述CPU根据所述GPU数量向所述标卡分配待处理数据。
在一个实施例中,本申请实施例提供了一种GPU集群调度服务器,包括:
中央处理器CPU以及与所述CPU分别连接的至少一个标卡,所述标卡包括至少两个图形处理器GPU通过高速互联通道串行连接形成的闭合环网;
入口GPU用于发起统计消息,将所述统计消息在所述闭合环网中进行传递;其中,所述入口GPU为所述标卡中与所述CPU连接的GPU;
入口GPU还用于若所述统计消息传递到所述入口GPU,则根据所述统计消息确定所述闭合环网中的GPU信息;
入口GPU还用于通过所述GPU信息,确定所述闭合环网中的GPU数量,以使所述CPU根据所述GPU数量向所述标卡分配待处理数据。
本申请实施例提供了一种GPU集群调度方法及服务器,实现方案为,标卡中与CPU连接的入口GPU发起统计消息,将统计消息在闭合环网中进行传递;若统计消息传递到入口GPU,则根据统计消息确定闭合环网中的GPU信息;通过GPU信息,确定闭合环网中的GPU数量,以使CPU根据GPU数量向标卡分配待处理数据。通过上述技术方案,利用GPU之间的快速传输通道传递统计消息,能够快速精准地确定闭合环网中处于工作状态的GPU数量,提高了GPU数量统计效率,进而使CPU根据GPU数量分配待处理数据,实现负载均衡。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为本申请实施例提供的一种GPU集群调度方法的流程图;
图2为本申请实施例提供的GPU集群调度服务器的第一示意图;
图3为本申请实施例提供的另一GPU集群调度方法的流程图;
图4为本申请实施例提供的GPU集群调度服务器的第二示意图;
图5为本申请实施例提供的GPU集群调度服务器的第三示意图;
图6为本申请实施例提供的GPU集群调度服务器的第四示意图;
图7为本申请实施例提供的GPU集群调度服务器的第五示意图;
图8为本申请实施例提供的GPU集群调度服务器的第六示意图;
图9为本申请实施例提供的GPU集群调度服务器的第七示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。此外,在不冲突的情况下, 本申请中的实施例及实施例中的特征可以相互组合。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。为了更好地理解本申请实施例,下面对相关技术进行介绍。
图1为本申请实施例提供的一种GPU集群调度方法的流程图,本申请实施例可适用于对GPU集群进行调度的情况。具体的,该GPU集群调度方法可以应用于GPU集群调度服务器。所述GPU集群调度服务器包括中央处理器CPU以及与所述CPU分别连接的至少一个标卡,所述标卡包括至少两个图形处理器GPU通过高速互联通道串行连接形成的闭合环网。图2为本申请实施例提供的GPU集群调度服务器的第一示意图,如图2所示,GPU集群调度服务器包括CPU以及至少一个标卡,至少一个标卡分别与CPU连接。标卡包括至少两个图形处理器GPU通过高速互联通道串行连接形成的闭合环网。其中,高速互联通道可以为GPU硬件和/或通信协议所支持的内部通信通道。示例性的,在一些情况下,板卡在开发时可以在GPU之间建立高速互联通道,提高在GPU之间的数据传输效率。但是由于GPU和CPU的开发过程可能不同,存在不兼容的问题,导致GPU和CPU之间可能无法形成高速互联通道,CPU和GPU连接时只能通过普通通道连接,数据传输效率低,传输速度慢。在本申请实施例中,标卡内部包括至少两个GPU通过高速互联通道串行连接形成闭合环网,数据通过高速互联通道传输,从而提高了数据传输速率,进而提高了数据处理的效率和实时性。另外,闭合环网中的GPU数量可以根据实际情况进行确定,便于进行GPU集群调度服务器的扩展,稳定性强。
如图1所示,该方法具体包括如下步骤:
S110、所述标卡中与所述CPU连接的入口GPU发起统计消息,将所述统计消息在所述闭合环网中进行传递。
其中,入口GPU为标卡中与CPU连接的GPU,入口GPU可以为标卡中任意一个GPU,如图2所示,在标卡a中,入口GPU为与CPU连接的GPU1,在标卡b中,入口GPU为与CPU连接的GPU1’。
示例性的,入口GPU发起统计消息,通过端口发送至闭合环网中与入口GPU连接的GPU,该GPU接收到统计消息后,响应于统计消息,并将统计消息向该GPU连接的另一个GPU进行传递,从而将统计消息在闭合环网中进行传递。传递的方向可以为沿图2中闭合环网的顺时针方向,也可以为逆时针方向。统计消息在闭合环网中传递后最终传递回入口GPU。
在本申请实施例中,由于标卡中的GPU之间通过高速互联通道连接形成闭合环网,因此统计消息在闭合环网传递时是通过高速互联通道传递的,统计消息能够实现高速传输,进而提高了后续的处理效率。
S120、若所述统计消息传递到所述入口GPU,则根据所述统计消息确定所述闭合环网中的GPU信息。
示例性的,统计消息在闭合环网中传递后,最终传递回入口GPU。如果统计消息传递到入口GPU,即入口GPU接收到传递回的统计消息,则根据统计消息确定闭合环网中的GPU信息。入口GPU也可以将接收到的统计消息发送至CPU,以由CPU根据统计消息确定闭合环网中的GPU信息。
S130、通过所述GPU信息,确定所述闭合环网中的GPU数量,以使所述CPU根据所述GPU数量向所述标卡分配待处理数据。
在本申请实施例中,可以由入口GPU根据统计消息确定闭合环网中的GPU信息,并根据GPU信息确定闭合环网中的GPU数量,也可以由入口GPU将统计消息发送至CPU,CPU根据统计消息确定闭合环网中的GPU信息,并根据GPU信息确定闭合环网中的GPU数量。
具体的,统计消息在闭合环网的各个GPU之间均进行传递,因此GPU信息包括闭合环网中传递统计消息的全部GPU的信息,因此可以根据GPU信息确定闭合环网中的GPU数量。各标卡可以将该标卡中闭合环网中的GPU数量上报给CPU,CPU根据各标卡中的GPU数量向各标卡分别待处理数据,从而实现负载均衡,以使分配的待处理数据的数据量与标卡中的GPU数量相对应,有足够数量的GPU对分配的待处理数据进行处理。
本申请实施例提供了一种GPU集群调度方法及服务器,实现方案为,标卡中与CPU连接的入口GPU发起统计消息,将统计消息在闭合环网中进行传递;若统计消息传递到入口GPU,则根据统计消息确定闭合环网中的GPU信息;通过GPU信息,确定闭合环网中的GPU数量,以使CPU根据GPU数量向标卡分配待处理数据。通过上述技术方案,利用GPU之间的快速传输通道传递统计消息,能够快速精准地确定闭合环网中处于工作状态的GPU数量,提高了GPU数量统计效率,进而使CPU根据GPU数量进行待处理数据分配,实现负载均衡。
图3为本申请实施例提供的另一GPU集群调度方法的流程图。本实施例是在上述实施例的基础上进行优化。需要说明的是,未在本实施例中详尽描述的技术细节可参见上述任意实施例。
具体的,如图3所示,该方法具体包括如下步骤:
S210、所述入口GPU将所述统计消息中的计数值置一,并将统计消息发送至与所述入口GPU连接的任一GPU。
示例性的,如图4所示,以标卡a为例进行说明,对于其他标卡同理。标卡a中的入口GPU,即GPU1,生成统计消息,将统计消息中的计数值置为一,将携带有置一计数值的统计消息向GPU2发送。另一可实现方案中,入口GPU也可以将携带有置一计数值的统计消息向GPU6发送。
S220、若GPU接收到与所述GPU的第一端口连接的第一GPU发送的统计消息,则查询所述GPU的工作状态是否正常。
S230、若正常,则将所述统计消息中的计数值加一,并将统计消息发送至与所述GPU的第二端口连接的第二GPU。
其中,第一端口和第二端口表示GPU的两个不同的端口,第一GPU和第二GPU表示与所述GPU连接的两个不同的GPU。可以将向所述GPU发送统计消息的GPU作为第一GPU,将接收所述GPU发送的统计消息的GPU作为第二GPU。如图4所示,在标卡a中,如果统计消息的传递方向为标卡a中闭合环网的顺时针方向,则针对于GPU6,第一GPU为GPU1,第二GPU为GPU5,针对于GPU2,第一GPU为GPU3,第二GPU为GPU1。如果统计消息的传递方向为标卡a中闭合环网的逆时针方向,则针对于GPU6,第一GPU为GPU5,第二GPU为GPU1,针对于GPU2,第一GPU为GPU1,第二GPU为GPU3。示例性的,GPU2接收到统计消息后,查询GPU2的工作状态是否正常,如果正常,则将统计消息中的计数值加一,将统计消息向GPU3发送。同理,GPU3接收到统计消息后,执行与GPU2同样的步骤。各GPU也可以将GPU标识添加至统计消息中进行传递,例如,GPU2接收到统计消息后,查询GPU2的工作状态是否正常,如果正常,则将统计消息中的计数值加一,并将GPU2的GPU标识添加至统计消息中,将统计消息向GPU3发送。上述说明中,统计消息按照图4中所示的闭合环网中沿逆时针方向传递,在各GPU均处于正常工作状态能够正常接收统计消息的情况下,传递顺序为GPU1、GPU2、GPU3、GPU4、GPU5、 GPU6、GPU1。也可以沿顺时针方向传递,传递顺序为GPU1、GPU6、GPU5、GPU4、GPU3 、GPU2、GPU1,具体不做限定。在除入口GPU之外的各GPU中,均为通过一个端口接收到统计消息后,通过另一个端口向其连接的GPU进行发送。对于其他标卡同理。
S240、若所述统计消息传递到所述入口GPU,则解析所述统计消息中的计数值,得到GPU信息。
如图4所示,对于标卡a,统计消息在闭合环网中沿顺时针方向传递一周后传递回入口GPU,可以根据统计消息得到闭合环网中的GPU信息如表1所示。(其中的GPUID一列也可以省略)
表1
S250、将所述GPU信息中的计数值的最大值,作为所述闭合环网中的GPU数量。
示例性的,如上述方案,统计消息中包括计数值,每经过一个GPU对统计消息进行传递,则对计数值加一,统计消息经过闭合环网中的全部GPU进行传递,计数值能够表征进行统计消息在闭合环网中传递是经过的GPU的数量。对统计消息中的计数值进行解析,得到GPU信息如表1所示,GPU信息中的计数值的最大值,即为闭合环网中的GPU数量。
S260、所述CPU根据各标卡的闭合环网中的GPU数量,向各标卡的入口GPU发送待处理数据;其中,所述待处理数据的数据量与标卡的闭合环网中的GPU数量呈正相关。
示例性的,标卡的入口GPU确定闭合环网中的GPU数量,向CPU发送该标卡的闭合环网中的GPU数量,或者,入口GPU将统计消息发送至CPU,CPU根据统计消息确定该标卡的闭合环网中的GPU信息,根据GPU信息确定该标卡闭合环网中的GPU数量。CPU根据GPU数量向标卡的入口GPU发送待处理数据。示例性的,假设标卡a的闭合环网中的GPU数量为N1个,标卡b的闭合环网中的GPU数量为N2个,标卡c的闭合环网中的GPU数量为N3个,则CPU可以向标卡a发送N1份待处理数据,向标卡b发送N2份待处理数据,向标卡c发送N3份待处理数据。其中,每份待处理数据的数据量可以根据每个GPU的算力以及CPU向标卡发送待处理数据的周期确定。假设GPU的算力为m张/秒,CPU向标卡发送待处理数据的周期为t秒,则CPU发送的每份待处理数据的数据量可以为(m*t)张。
其中,CPU向各标卡发送待处理数据的过程,可以为无延时连续发送,以提高发送效率,实现无延时分发。CPU向标卡发送的待处理数据为封装后的报文,报文头部可以进行标记,以表征该报文的内容为待处理的数据,以使GPU进行识别,与信令消息进行区分。
在本申请实施例中,入口GPU接收到待处理数据后,沿闭合环网向各个GPU进行传递分发,各GPU接收待处理数据后保留一份待处理数据进行处理,并将其他待处理数据继续沿闭合环网进行传输。示例性的,如图4所示,待处理数据的传输顺序可以为GPU1、GPU2、GPU3、GPU4、GPU5 、GPU6,也可以为GPU1、GPU6、GPU5、GPU4、GPU3 GPU2。由于在闭合环网中各GPU通过高速互联通道进行连接,因此将CPU发送的待处理数据通过高速互联通道在闭合环网中的各GPU之间进行传递,提高了数据传输效率,进而提高了数据处理的实时性和高效性。
本申请实施例提供的一种GPU集群调度方法,所述入口GPU将所述统计消息中的计数值置一,并将统计消息发送至所述入口GPU连接的任一GPU;若GPU接收到与所述GPU连接的第一GPU发送的统计消息,则查询所述GPU的工作状态是否正常;若正常,则将所述统计消息中的计数值加一,并将统计消息发送至与所述GPU连接的第二GPU。若所述统计消息传递到所述入口GPU,则解析所述统计消息中的计数值,得到GPU信息,将所述GPU信息中的计数值的最大值,作为所述闭合环网中的GPU数量。CPU根据各标卡的闭合环网中的GPU数量,向各标卡的入口GPU发送待处理数据。通过上述方案能够快速精确地确定标卡的闭合环网中的GPU数量,CPU根据GPU数量进行待处理数据的分配,实现了负载均衡。
在本申请实施例中,所述GPU通过第一端口与第一GPU连接,所述GPU通过第二端口与第二GPU连接,所述第一端口与所述第二端口之间连接有开关模块;相应地,将所述统计消息在所述闭合环网中进行传递包括:若所述GPU的工作状态异常,则通过所述开关模块将所述第一端口和所述第二端口连通,将所述统计消息由第一GPU传递至第二GPU。
其中,开关模块为可以通过使能信号控制将第一端口和第二端口连通或断开的模块,例如可以是继电器。第一GPU和第二GPU并不是GPU的名称,而是代指与GPU连接的两个GPU。示例性的,如图5所示,针对GPU,与第一GPU连接的端口为第一端口,与第二GPU连接的端口为第二端口,第一端口和第二端口之间连接有开关模块。开关模块和GPU连接同一个电源,如果GPU出现异常断电,则开关模块也断电,此时开关模块的开关闭合,第一端口和第二端口连通,第一GPU和第二GPU直接连通,此时统计消息直接从第一GPU传递至第二GPU,统计消息没有经过GPU,计数值没有经过GPU的加一处理,最终确定的GPU数量会少一个,从而对闭合环网中真实存在的工作状态正常的GPU的数量进行统计。
在本申请实施例中,所述标卡为至少两个,其中任一标卡的边界GPU与另一标卡的边界GPU连接,所述边界GPU为从所述闭合环网中除所述入口GPU以外的GPU中确定的。
示例性的,如图6所示,标卡a中选择GPU4作为边界GPU,标卡b中选择GPU5’作为边界GPU,GPU4和GPU5’连接,实现标卡a和标卡b之间的连接通信。同理,标卡b也可以选择GPU4’为边界GPU,与标卡c的边界GPU连接,以与标卡c进行通信,以此类推。
在本申请实施例中,所述统计消息包括边界GPU标识,所述边界GPU标识用于表示所述GPU是否为边界GPU;相应地,所述方法还包括:针对任一标卡,若存在待传递数据,则所述入口GPU根据所述边界GPU标识确定边界GPU;将所述待传递数据通过所述边界GPU发送至另一标卡的边界GPU,以将所述待传递数据传递至另一标卡。
示例性的,统计消息中还可以包括边界GPU标识,以表示GPU是否为为边界GPU,如表2所示,如果GPU4为边界GPU,统计消息传递到GPU4时,GPU4将边界GPU标识添加至统计消息中,并将计数值加一,并沿闭合环网传递携带有计数值与边界GPU标识的统计消息。边界GPU标识可以由边界GPU的ID和特殊标识组成,例如GPU4IDbound。入口GPU接收到统计消息后可以根据边界GPU标识确定哪一个GPU为边界GPU。
表2
其中,待传递数据为需要传递给其他GPU进行处理的数据。例如,标卡a能够对图像数据进行目标检测,标卡b能够对图像数据进行目标分割,因此需要将图像数据先发送至标卡a进行目标检测,再将标卡a处理的结果发送至标卡b进行目标分割,此时需要将图像数据从标卡a传递给标卡b。在另一种场景中,在实际的数据处理过程中,标卡a实际处理速度与理论速度可能不一致,实际处理速度较慢,标卡b的实际处理速递比较快,标卡b将待处理数据已经处理完毕的情况下,标卡a的待处理数据仍未处理完毕,此时需要将标卡a中的待处理数据传递给标卡b进行处理,以提高处理效率。在本申请实施例中,通过设置边界GPU,可以实现标卡之间的数据传递,以提高数据处理效率。
在本申请实施例中,所述标卡中相连的至少两个GPU与所述另一标卡中相连的至少两个GPU一一对应连接,连接的链路聚合形成第一逻辑链路;相应地,所述方法还包括:所述标卡中相连的至少两个GPU相互发送保活信息,从处于正常工作状态的GPU中选择一个GPU作为边界GPU;所述另一标卡中相连的至少两个GPU相互发送保活信息,从处于正常工作状态的GPU中选择一个GPU作为边界GPU;所述边界GPU之间通过所述第一逻辑链路进行通信。
示例性的,如图7所示,标卡a中的GPU4和标卡b中的GPU5’连接,标卡a中的GPU3和标卡b中的GPU6’连接,两条链路聚合形成第一逻辑链路,避免形成环路导致广播风暴。GPU3和GPU4之间相互发送保活信息,若均处于正常工作状态,则可以随机选择或者按照GPU标识选择一个GPU作为标卡a的边界GPU。例如,如果GPU3和GPU4均处于正常工作状态,则可以选择GPU3作为标卡a的边界GPU。如果GPU3出现异常处于非正常工作状态,则将GPU4作为标卡a的边界GPU。通过设置GPU的主副机制实现边界GPU备份,避免边界GPU出现异常时影响数据的正常传输。
在本申请实施例中,所述标卡中相连的至少两个GPU分别与所述CPU进行连接,分别连接的链路聚合形成第二逻辑链路;相应地,所述方法还包括:所述标卡中与所述CPU分别连接的至少两个GPU相互发送保活信息,从处于正常工作状态的GPU中选择一个GPU作为入口GPU;所述入口GPU与所述CPU通过所述第二逻辑链路进行通信。
示例性的,如图8所示,标卡a中的GPU1和GPU2分别与CPU连接,分别连接的两条链路聚合成第二逻辑链路,其他标卡同理。GPU1和GPU2之间相互发送保活信息,若均处于正常工作状态,则选择一个GPU作为标卡a的入口GPU。例如,如果GPU1和GPU2均处于正常工作状态,则可以选择GPU1作为标卡a的入口GPU。如果GPU1出现异常处于非正常工作状态,则将GPU2作为标卡a的入口GPU。通过设置GPU的主副机制实现入口GPU备份,避免入口GPU出现异常时影响数据的正常传输和分发。
本申请实施例还提供了GPU集群调度服务器,未在本申请实施例中详尽描述的细节详见上述实施例,如图2所示,所述GPU集群调度服务器包括:
中央处理器CPU以及与所述CPU分别连接的至少一个标卡,所述标卡包括至少两个图形处理器GPU通过高速互联通道串行连接形成的闭合环网;
入口GPU用于发起统计消息,将所述统计消息在所述闭合环网中进行传递;其中,所述入口GPU为所述标卡中与所述CPU连接的GPU;
入口GPU还用于若所述统计消息传递到所述入口GPU,则根据所述统计消息确定所述闭合环网中的GPU信息;
入口GPU还用于通过所述GPU信息,确定所述闭合环网中的GPU数量,以使所述CPU根据所述GPU数量向所述标卡分配待处理数据。
在本申请实施例中,如图5所示,所述GPU通过第一端口与第一GPU连接,所述GPU通过第二端口与第二GPU连接,所述第一端口与所述第二端口之间连接有开关模块。
在本申请实施例中,如图6所示,所述标卡为至少两个,其中任一标卡的边界GPU与另一标卡的边界GPU连接,所述边界GPU为从所述闭合环网中除所述入口GPU以外的GPU中确定的。
在本申请实施例中,如图7所示,所述标卡中相连的至少两个GPU与所述另一标卡中相连的至少两个GPU一一对应连接,连接的链路聚合形成第一逻辑链路。
在本申请实施例中,如图8所示,所述标卡中相连的至少两个GPU分别与所述CPU进行连接,分别连接的链路聚合形成第二逻辑链路。
在本申请实施例中,由上述特征集成得到的GPU集群调度服务器可以如图9所示。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (14)
1.一种GPU集群调度方法,其特征在于,应用于GPU集群调度服务器,所述GPU集群调度服务器包括中央处理器CPU以及与所述CPU分别连接的至少一个标卡,所述标卡包括至少两个图形处理器GPU通过高速互联通道串行连接形成的闭合环网,所述方法包括:
所述标卡中与所述CPU连接的入口GPU发起统计消息,将所述统计消息在所述闭合环网中进行传递;
若所述统计消息传递到所述入口GPU,则根据所述统计消息确定所述闭合环网中的GPU信息;
通过所述GPU信息,确定所述闭合环网中的GPU数量,以使所述CPU根据所述GPU数量向所述标卡分配待处理数据。
2.根据权利要求1所述的方法,其特征在于,所述标卡中与所述CPU连接的入口GPU发起统计消息,将所述统计消息在所述闭合环网中进行传递,包括:
所述入口GPU将所述统计消息中的计数值置一,并将所述统计消息发送至与所述入口GPU连接的任一GPU;
若GPU接收到与所述GPU的第一端口连接的第一GPU发送的统计消息,则查询所述GPU的工作状态是否正常;
若正常,则将所述统计消息中的计数值加一,并将所述统计消息发送至与所述GPU的第二端口连接的第二GPU。
3.根据权利要求2所述的方法,其特征在于,根据所述统计消息确定所述闭合环网中的GPU信息,包括:
解析所述统计消息中的计数值,得到GPU信息;
通过所述GPU信息,确定所述闭合环网中的GPU数量,包括:
将所述GPU信息中的计数值的最大值,作为所述闭合环网中的GPU数量。
4.根据权利要求1所述的方法,其特征在于,确定所述闭合环网中的GPU数量之后,所述方法还包括:
所述CPU根据各标卡的闭合环网中的GPU数量,向各标卡的入口GPU发送待处理数据;其中,所述待处理数据的数据量与标卡的闭合环网中的GPU数量呈正相关。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述GPU通过第一端口与第一GPU连接,所述GPU通过第二端口与第二GPU连接,所述第一端口与所述第二端口之间连接有开关模块;
相应地,将所述统计消息在所述闭合环网中进行传递,包括:
若所述GPU的工作状态异常,则通过所述开关模块将所述第一端口和所述第二端口连通,将所述统计消息由第一GPU传递至第二GPU。
6.根据权利要求1所述的方法,其特征在于,所述标卡为至少两个,其中任一标卡的边界GPU与另一标卡的边界GPU连接,所述边界GPU为从所述闭合环网中除所述入口GPU以外的GPU中确定的。
7.根据权利要求6所述的方法,其特征在于,所述统计消息包括边界GPU标识,所述边界GPU标识用于表示所述GPU是否为边界GPU;
相应地,所述方法还包括:
针对任一标卡,若存在待传递数据,则所述入口GPU根据所述边界GPU标识确定边界GPU;
将所述待传递数据通过所述边界GPU发送至另一标卡的边界GPU,以将所述待传递数据传递至另一标卡。
8.根据权利要求7所述的方法,其特征在于,所述标卡中相连的至少两个GPU与所述另一标卡中相连的至少两个GPU一一对应连接,连接的链路聚合形成第一逻辑链路;
相应地,所述方法还包括:
所述标卡中相连的至少两个GPU相互发送保活信息,从处于正常工作状态的GPU中选择一个GPU作为边界GPU;
所述另一标卡中相连的至少两个GPU相互发送保活信息,从处于正常工作状态的GPU中选择一个GPU作为边界GPU;
所述边界GPU之间通过所述第一逻辑链路进行通信。
9.根据权利要求1所述的方法,其特征在于,所述标卡中相连的至少两个GPU分别与所述CPU进行连接,分别连接的链路聚合形成第二逻辑链路;
相应地,所述方法还包括:
所述标卡中与所述CPU分别连接的至少两个GPU相互发送保活信息,从处于正常工作状态的GPU中选择一个GPU作为入口GPU;
所述入口GPU与所述CPU通过所述第二逻辑链路进行通信。
10.一种GPU集群调度服务器,其特征在于,所述GPU集群调度服务器包括:
中央处理器CPU以及与所述CPU分别连接的至少一个标卡,所述标卡包括至少两个图形处理器GPU通过高速互联通道串行连接形成的闭合环网;
入口GPU用于发起统计消息,将所述统计消息在所述闭合环网中进行传递;其中,所述入口GPU为所述标卡中与所述CPU连接的GPU;
入口GPU还用于若所述统计消息传递到所述入口GPU,则根据所述统计消息确定所述闭合环网中的GPU信息;
入口GPU还用于通过所述GPU信息,确定所述闭合环网中的GPU数量,以使所述CPU根据所述GPU数量向所述标卡分配待处理数据。
11.根据权利要求10所述的GPU集群调度服务器,其特征在于,所述GPU通过第一端口与第一GPU连接,所述GPU通过第二端口与第二GPU连接,所述第一端口与所述第二端口之间连接有开关模块。
12.根据权利要求10所述的GPU集群调度服务器,其特征在于,所述标卡为至少两个,其中任一标卡的边界GPU与另一标卡的边界GPU连接,所述边界GPU为从所述闭合环网中除所述入口GPU以外的GPU中确定的。
13.根据权利要求10所述的GPU集群调度服务器,其特征在于,所述标卡中相连的至少两个GPU与所述另一标卡中相连的至少两个GPU一一对应连接,连接的链路聚合形成第一逻辑链路。
14.根据权利要求10-13中任一项所述的GPU集群调度服务器,其特征在于,所述标卡中相连的至少两个GPU分别与所述CPU进行连接,分别连接的链路聚合形成第二逻辑链路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211209713.XA CN115269209B (zh) | 2022-09-30 | 2022-09-30 | 一种gpu集群调度方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211209713.XA CN115269209B (zh) | 2022-09-30 | 2022-09-30 | 一种gpu集群调度方法及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115269209A true CN115269209A (zh) | 2022-11-01 |
CN115269209B CN115269209B (zh) | 2023-01-10 |
Family
ID=83758056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211209713.XA Active CN115269209B (zh) | 2022-09-30 | 2022-09-30 | 一种gpu集群调度方法及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115269209B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118227384A (zh) * | 2024-05-24 | 2024-06-21 | 北京蓝耘科技股份有限公司 | 一种局域gpu数据共享方法、系统及存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120317274A1 (en) * | 2011-06-13 | 2012-12-13 | Richter Owen E | Distributed metering and monitoring system |
US20130247068A1 (en) * | 2012-03-15 | 2013-09-19 | Samsung Electronics Co., Ltd. | Load balancing method and multi-core system |
CN105430030A (zh) * | 2014-09-16 | 2016-03-23 | 钛马信息网络技术有限公司 | 基于osgi技术的可平行扩展的应用服务器 |
US20180089881A1 (en) * | 2016-09-29 | 2018-03-29 | Stephen P. Johnson | Method and apparatus for efficient use of graphics processing resources in a virtualized execution environment |
CN109766189A (zh) * | 2019-01-15 | 2019-05-17 | 北京地平线机器人技术研发有限公司 | 集群调度方法和装置 |
CN109933433A (zh) * | 2019-03-19 | 2019-06-25 | 合肥中科类脑智能技术有限公司 | 一种gpu资源调度系统及其调度方法 |
CN110659278A (zh) * | 2018-06-12 | 2020-01-07 | 上海郑明现代物流有限公司 | 基于cpu-gpu异构架构的图数据分布式处理系统 |
CN111163130A (zh) * | 2019-12-06 | 2020-05-15 | 深圳智链物联科技有限公司 | 一种网络服务系统及其数据传输方法 |
CN111679911A (zh) * | 2020-06-04 | 2020-09-18 | 中国建设银行股份有限公司 | 云环境中gpu卡的管理方法、装置、设备及介质 |
CN112269628A (zh) * | 2020-09-21 | 2021-01-26 | 西安万像电子科技有限公司 | 资源调度系统及方法 |
CN112346845A (zh) * | 2021-01-08 | 2021-02-09 | 腾讯科技(深圳)有限公司 | 编码任务的调度方法、装置、设备及存储介质 |
CN113127404A (zh) * | 2021-04-21 | 2021-07-16 | 中国科学院计算技术研究所 | 一种对cpu互连系统的网络拓扑结构进行重构的方法及装置 |
CN113141511A (zh) * | 2021-04-20 | 2021-07-20 | 上海卓易科技股份有限公司 | 一种图形渲染方法及设备 |
WO2022028061A1 (zh) * | 2020-08-03 | 2022-02-10 | 苏州浪潮智能科技有限公司 | 一种基于侦测调节模块的gpu管理装置、方法及gpu服务器 |
-
2022
- 2022-09-30 CN CN202211209713.XA patent/CN115269209B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120317274A1 (en) * | 2011-06-13 | 2012-12-13 | Richter Owen E | Distributed metering and monitoring system |
US20130247068A1 (en) * | 2012-03-15 | 2013-09-19 | Samsung Electronics Co., Ltd. | Load balancing method and multi-core system |
CN105430030A (zh) * | 2014-09-16 | 2016-03-23 | 钛马信息网络技术有限公司 | 基于osgi技术的可平行扩展的应用服务器 |
US20180089881A1 (en) * | 2016-09-29 | 2018-03-29 | Stephen P. Johnson | Method and apparatus for efficient use of graphics processing resources in a virtualized execution environment |
CN110659278A (zh) * | 2018-06-12 | 2020-01-07 | 上海郑明现代物流有限公司 | 基于cpu-gpu异构架构的图数据分布式处理系统 |
CN109766189A (zh) * | 2019-01-15 | 2019-05-17 | 北京地平线机器人技术研发有限公司 | 集群调度方法和装置 |
CN109933433A (zh) * | 2019-03-19 | 2019-06-25 | 合肥中科类脑智能技术有限公司 | 一种gpu资源调度系统及其调度方法 |
CN111163130A (zh) * | 2019-12-06 | 2020-05-15 | 深圳智链物联科技有限公司 | 一种网络服务系统及其数据传输方法 |
CN111679911A (zh) * | 2020-06-04 | 2020-09-18 | 中国建设银行股份有限公司 | 云环境中gpu卡的管理方法、装置、设备及介质 |
WO2022028061A1 (zh) * | 2020-08-03 | 2022-02-10 | 苏州浪潮智能科技有限公司 | 一种基于侦测调节模块的gpu管理装置、方法及gpu服务器 |
CN112269628A (zh) * | 2020-09-21 | 2021-01-26 | 西安万像电子科技有限公司 | 资源调度系统及方法 |
CN112346845A (zh) * | 2021-01-08 | 2021-02-09 | 腾讯科技(深圳)有限公司 | 编码任务的调度方法、装置、设备及存储介质 |
CN113141511A (zh) * | 2021-04-20 | 2021-07-20 | 上海卓易科技股份有限公司 | 一种图形渲染方法及设备 |
CN113127404A (zh) * | 2021-04-21 | 2021-07-16 | 中国科学院计算技术研究所 | 一种对cpu互连系统的网络拓扑结构进行重构的方法及装置 |
Non-Patent Citations (2)
Title |
---|
WENFENG SHEN等: "Load-Prediction Scheduling for Computer Simulation of Electrocardiogram on a CPU-GPU PC", 《 2013 IEEE 16TH INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE AND ENGINEERING》 * |
高原等: "异构集群中CPU与GPU协同调度算法的设计与实现", 《计算机工程与设计》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118227384A (zh) * | 2024-05-24 | 2024-06-21 | 北京蓝耘科技股份有限公司 | 一种局域gpu数据共享方法、系统及存储介质 |
CN118227384B (zh) * | 2024-05-24 | 2024-08-09 | 北京蓝耘科技股份有限公司 | 一种局域gpu数据共享方法、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115269209B (zh) | 2023-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115269209B (zh) | 一种gpu集群调度方法及服务器 | |
CN107371264A (zh) | 一种上行数据传输的方法及设备 | |
CN101198943A (zh) | 点到点链路协商方法和装置 | |
CN101552725B (zh) | 聚合子链路恢复处理方法、系统及设备 | |
CN114726788B (zh) | 应用于dpu的报文传输方法及相关装置 | |
CN108718258B (zh) | 一种板间链路的质量检测方法及设备 | |
EP3896964A1 (en) | Data processing method, apparatus and device, and storage medium | |
CN114172915B (zh) | 一种消息同步方法、自动驾驶系统、存储介质及电子设备 | |
CN111092925B (zh) | 一种区块链扩容处理方法、装置及设备 | |
US8347018B2 (en) | Techniques for broadcasting messages on a point-to-point interconnect | |
CN101159534B (zh) | 一种实现接口状态同步的方法和装置 | |
CN111343040B (zh) | 扩展网桥的端口扩展器堆叠分裂检测方法和装置 | |
CN117640592A (zh) | 智能设备的自动组网方法及通信方法 | |
CN105245413B (zh) | 一种eoc设备局端获取终端控制消息响应的方法 | |
CN107179970B (zh) | 一种分布式设备中大规模oam检测系统及方法 | |
CN112584261A (zh) | 一种光传送网设备及业务数据的确定方法 | |
CN105682131A (zh) | 无线接入设备通信质量监测方法、系统、及监测设备 | |
CN108712242B (zh) | 分组设备内提升信令处理能力的系统及方法 | |
CN112291118A (zh) | 一种基于fpga的多核数据处理装置及方法 | |
CN104936271A (zh) | 通信装置、无线通信系统和通信方法 | |
US20170177533A1 (en) | Communication system with train bus architecture | |
CN109347678B (zh) | 一种路由环路的确定方法及装置 | |
CN115297070B (zh) | 一种多元数据激励的arinc664交换机缓存溢出测试方法 | |
US20210406093A1 (en) | Computing machine, method and non-transitory computer-readable medium | |
CN110311830B (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 |