本发明属于GPU集群架构及其负载均衡方法技术领域,特别是涉及一种高并发的GPU集群架构及其负载均衡方法。
背景技术:
GPU因其高性能的并行计算能力而被广泛用于分布式集群中的并行计算。在高并发的集群中多采用CPU+GPU混合计算节点;在CPU+GPU混合计算节点中的CPU与GPU有多种组合方式:单CPU与多GPU组合、单CPU与单GPU组合、多CPU与多GPU组合。
GPU集群的计算和运行效率取决于GPU集群的架构以及对GPU集群中运算节点的利用。为实现GPU集群计算和运行的高效率,本发明致力于发明一种高并发的GPU集群架构,以解决GPU集群架构不合理以及负载均衡方法差导致的GPU集群运行和计算的效率低的问题。
技术实现要素:
本发明的目的在于提供一种高并发的GPU集群架构及其负载均衡方法,通过GPU集群架构的任务分布节点对计算节点的负载均衡,实现了GPU集群的优化和对计算节点的负载均衡,解决了现有的GPU集群架构不合理以及负载均衡方法差导致GPU集群运行和计算效率低的问题。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明为一种高并发的GPU集群架构及其负载均衡方法,包括任务分布节点、若干计算节点;所述计算节点间采用分布式计算方式;所述计算节点包含若干CPU和若干GPU;所述计算节点内采用异构架构;所述节点包含若干设备;所述设备包含节点内全部所述CPU或任一所述GPU;所述计算节点内CPU共享存储器;所述计算节点内GPU独享其内DRAM;所述计算节点内GPU与CPU共享存储器。
优选地,所述任务分布节点与计算节点、计算节点间均采用MPI消息通信;所述任务分布节点内存储作业列表;所述作业列表包含当前作业类型、计算量需求、存储量需求、网络需求。
优选地,所述异构架构采用CPU线程或CPU进程调度GPU的运行方式。
优选地,若所述计算节点内只包含单核CPU与若干GPU连接,则所述CPU进行逻辑和事务串行计算;所述GPU进行并行计算;若所述计算节点内包含多核CPU与若干GPU连接;则所述CPU进行逻辑和事务串行计算、并行计算;所述GPU进行并行计算。
优选地,所述CPU采用MPI进程、pThread线程控制CPU核并行计算;所述GPU采用CUDA或OpenCL编程控制GPU众核并行计算。
一种高并发的GPU集群架构的负载均衡方法,步骤如下:
S00:GPU集群中任务分布节点获取作业列表中的当前作业;
S01:任务分布节点分析计算量需求、存储量需求、网络需求;
S02:任务分布节点根据节点信息列表匹配当前作业至计算节点;
S03:任务分布节点根据计算节点定时反馈更新节点信息列表。
优选地,所述节点信息列表包括节点IP、CPU利用率、进程数量、GPU利用率、剩余存储空间。
优选地,所述任务分布节点根据节点信息列表匹配当前作业至计算节点的步骤如下:
所述任务分布节点根据节点信息列表判断是否存在空闲节点,若存在,则任务分布节点有限匹配当前作业至计算节点,若不存在,则任务分布节点从满足计算需求、存储需求、网络需求的计算节点中选择GPU利用率最低的计算节点。
本发明具有以下有益效果:
本发明通过GPU集群架构的任务分布节点对计算节点的负载均衡,实现了GPU集群的优化和对计算节点的负载均衡,解决了现有的GPU集群架构不合理以及负载均衡方法差导致GPU集群运行和计算效率低的问题,优化了GPU集群架构,提高了GPU集群的负载均衡方法和GPU计算节点的计算效率。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种高并发的GPU集群架构结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1所示,本发明为一种高并发的GPU集群架构及其负载均衡方法,包括任务分布节点、计算节点;计算节点间采用分布式计算方式;计算节点包含若干CPU和若干GPU;计算节点内采用异构架构;节点包含若干设备;设备包含节点内全部CPU或任一GPU;计算节点内CPU共享存储器;计算节点内GPU独享其内DRAM;计算节点内GPU与CPU共享存储器。
其中,任务分布节点与计算节点、计算节点间均采用MPI消息通信;任务分布节点内存储作业列表;作业列表包含当前作业类型、计算量需求、存储量需求、网络需求。
其中,异构架构采用CPU线程或CPU进程调度GPU的运行方式。
其中,若计算节点内只包含单核CPU与若干GPU连接,则CPU进行逻辑和事务串行计算;GPU进行并行计算;若计算节点内包含多核CPU与若干GPU连接;则CPU进行逻辑和事务串行计算、并行计算;GPU进行并行计算。
其中,CPU采用MPI进程、pThread线程控制CPU核并行计算;GPU采用CUDA或OpenCL编程控制GPU众核并行计算。
一种高并发的GPU集群架构的负载均衡方法,步骤如下:
S00:GPU集群中任务分布节点获取作业列表中的当前作业;
S01:任务分布节点分析计算量需求、存储量需求、网络需求;
S02:任务分布节点根据节点信息列表匹配当前作业至计算节点;
S03:任务分布节点根据计算节点定时反馈更新节点信息列表。
其中,节点信息列表包括节点IP、CPU利用率、进程数量、GPU利用率、剩余存储空间。
其中,任务分布节点根据节点信息列表匹配当前作业至计算节点的步骤如下:
任务分布节点根据节点信息列表判断是否存在空闲节点,若存在,则任务分布节点有限匹配当前作业至计算节点,若不存在,则任务分布节点从满足计算需求、存储需求、网络需求的计算节点中选择GPU利用率最低的计算节点。
值得注意的是,上述系统实施例中,所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
另外,本领域普通技术人员可以理解实现上述各实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,相应的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘或光盘等。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。