GPU资源调度方法及装置制造方法及图纸

技术编号:16969353 阅读:177 留言:0更新日期:2018-01-07 06:25
本公开涉及GPU资源调度方法及装置,所述方法包括:主节点接收来自第一从节点的请求GPU计算资源的请求命令,所述请求命令为所述第一从节点接收到客户端提交的计算任务时发出的;主节点确定各从节点的GPU空闲率;主节点选择第二从节点,所述第二从节点为所有从节点中GPU空闲率最高的从节点;主节点将第二从节点的信息发送给所述第一从节点,以使所述第一从节点将所述计算任务发送给所述第二从节点。根据本公开各方面的GPU资源调度方法/装置能够实现GPU集群的计算资源得到均衡调度,提高GPU集群的计算性能,且不需要用户手动管理GPU资源,调度方式简单。

【技术实现步骤摘要】
GPU资源调度方法及装置
本公开涉及计算机
,尤其涉及一种GPU资源调度方法及装置。
技术介绍
图形处理器(GraphicsProcessingUnit,GPU),又称显示核心、视觉处理器、显示芯片,专为计算密集型、高度并行化的计算而设计。GPU在许多领域得到应用,且性能远超传统CPU(CentralProcessingUnit)性能。在规模越来越大的密集型应用系统中,单机GPU完全满足不了应用需要,为提升GPU计算性能可以从纵向扩展机器。但纵向扩展GPU容易受到硬件的性能限制,且性价比非常低。为提高GPU的计算性能,还可以横向扩展GPU集群,由多个节点上的多个GPU芯片组成GPU集群,以完成复杂的计算任务。然而,各节点上的GPU彼此独立无法进行通信,用户需要手动管理GPU集群资源,复杂度高、可移植性差;同时,也无法保证GPU集群的计算资源得到均衡调度。
技术实现思路
有鉴于此,本公开提出了一种GPU资源调度方法及装置,能够实现GPU集群的计算资源得到均衡调度,且无需用户手动管理GPU集群资源。根据本公开的一方面,提供了一种GPU资源调度方法,所述方法应用于GPU集群,所述GPU集群包括主节点和从节点,所述从节点对应于一个或多个GPU,所述方法包括:主节点接收来自第一从节点的请求GPU计算资源的请求命令,所述请求命令为所述第一从节点接收到客户端提交的计算任务时发出的;主节点确定各从节点的GPU空闲率;主节点选择第二从节点,所述第二从节点为所有从节点中GPU空闲率最高的从节点;主节点将第二从节点的信息发送给所述第一从节点,以使所述第一从节点将所述计算任务发送给所述第二从节点。根据本公开的另一方面,提供了一种GPU资源调度装置,所述装置应用于GPU集群中的主节点,所述GPU集群包括主节点和从节点,所述从节点对应于一个或多个GPU,所述装置包括:接收模块,用于接收来自第一从节点的请求GPU计算资源的请求命令,所述请求命令为所述第一从节点接收到客户端提交的计算任务时发出的;确定模块,用于确定各从节点的GPU空闲率;选择模块,用于选择第二从节点,所述第二从节点为所有从节点中GPU空闲率最高的从节点;发送模块,用于将第二从节点的信息发送给第一从节点,以使所述第一从节点将所述计算任务发送给所述第二从节点。通过构建包含主节点和从节点的分布式GPU集群框架,主节点响应于第一从节点发送的请求命令,确定GPU空闲率最高的从节点(第二从节点),将第二从节点信息发送给第一的从节点,以使所述第一从节点将所述计算任务发送给所述第二从节点。根据本公开各方面的GPU资源调度方法/装置能够使GPU集群的计算资源得到均衡调度,提高GPU集群的计算性能,且不需要用户手动管理GPU资源,调度方式简单。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。附图说明包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。图1示出根据本公开一实施例的GPU资源调度方法的流程图。图2a示出根据本公开一实施例的GPU资源调度方法应用场景的示意图。图2b示出根据本公开一实施例的GPU资源调度方法应用场景的示意图。图3示出根据本公开一实施例的步骤S12的方法的流程图。图4示出根据本公开一实施例的步骤S123的方法的流程图。图5示出根据本公开一实施例的GPU资源调度装置的框图。图6示出根据本公开一实施例的GPU资源调度装置的框图。图7示出根据本公开一实施例的GPU资源调度装置的框图。具体实施方式以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。图1示出根据本公开一实施例的GPU资源调度方法的流程图,所述方法应用于GPU集群中,所述GPU集群包括主节点和从节点,所述从节点对应于一个或多个GPU。如图1所示,该方法包括:步骤S11,主节点接收来自第一从节点的请求GPU计算资源的请求命令,所述请求命令为所述第一从节点接收到客户端提交的计算任务时发出的;步骤S12,主节点确定各从节点的GPU空闲率;步骤S13,主节点选择第二从节点,所述第二从节点为所有从节点中GPU空闲率最高的从节点;步骤S14,主节点将第二从节点的信息发送给所述第一从节点,以使所述第一从节点将所述计算任务发送给所述第二从节点。图2a、图2b示出根据本公开一实施例的GPU资源调度方法应用场景的示意图。所述方法应用于GPU集群资源调度,如图2a所示,所述GPU集群可以包括主节点和从节点,一个主节点可以对应一个或多个从节点,如图2a中的GPU集群中的一个主节点M对应从节点C1和从节点C2;一个从节点可以对应一个或者多个GPU,一个从节点还可以接收一个或多个客户端发送的计算任务请求。主节点M负责协调GPU集群中的从节点,并实时更新GPU集群的资源状态;从节点负责监听该从节点自身(即当前从节点)对应的GPU的资源状态信息,并实时向主节点发送(例如,以心跳的形式发送)GPU的资源状态信息,同时接收客户端的计算任务请求;每一个GPU为一个计算核心,每个从节点都可包括一个或多个GPU,GPU是底层的计算资源;客户端为向GPU集群(例如,从节点)提交计算任务的用户,客户端可以是一个进程或线程。以图2a所示的应用场景作为示例,对本公开的GPU资源调度方法进行说明。如图2a所示,在客户端需要进行数据计算(例如,图像渲染、去噪等处理)的情况下,客户端可以向从节点C1(第一从节点)提交计算任务,如图2a中的步骤1,也可以向其他从节点提交计算任务,本公开对此不做限定。其中,计算任务可以包括需要计算的数据或者数据的地址信息、对应的算法等。第一从节点C1接收客户端提交的计算任务时向主节点M发送请求命令,如图2a中的步骤2,所述请求命令用于请求GPU计算资源。主节点M收来自第一从节点C1的请求GPU计算资源的请求命令,并确定各从节点的GPU空闲率。例如,可以计算各个从节点(例如从节点C1、C2等)的GPU空闲率。主节点M选择第二从节点,第二从节点为所有从节点中GPU空闲率最高的从节点。主节点M可以将第二从节点的信息反馈给第一从节点C1,例如,主节点M可以将确定的GPU空闲率最高的第二从节点C2的信息(例如从节点C2的端口信息)反馈给第一从节点C1,第一从节点C1接收第二从节点C2的信息,如图2a中的步骤3。第一从节点C1根据接收到的第二从节点的信息,将所述计算任务发送给第二从节点C2,如图2a所示的步骤4。第二从节点C2对数据进行计算。需要说明的是,以上从节点C1和C2仅仅作为一个示例,第二从节点也可能就是第一从节点,此时,第一从节点在确定GPU空闲率本文档来自技高网...
GPU资源调度方法及装置

【技术保护点】
一种GPU资源调度方法,其特征在于,所述方法应用于GPU集群,所述GPU集群包括主节点和从节点,所述从节点对应于一个或多个GPU,所述方法包括:主节点接收来自第一从节点的请求GPU计算资源的请求命令,所述请求命令为所述第一从节点接收到客户端提交的计算任务时发出的;主节点确定各从节点的GPU空闲率;主节点选择第二从节点,所述第二从节点为所有从节点中GPU空闲率最高的从节点;主节点将第二从节点的信息发送给所述第一从节点,以使所述第一从节点将所述计算任务发送给所述第二从节点。

【技术特征摘要】
1.一种GPU资源调度方法,其特征在于,所述方法应用于GPU集群,所述GPU集群包括主节点和从节点,所述从节点对应于一个或多个GPU,所述方法包括:主节点接收来自第一从节点的请求GPU计算资源的请求命令,所述请求命令为所述第一从节点接收到客户端提交的计算任务时发出的;主节点确定各从节点的GPU空闲率;主节点选择第二从节点,所述第二从节点为所有从节点中GPU空闲率最高的从节点;主节点将第二从节点的信息发送给所述第一从节点,以使所述第一从节点将所述计算任务发送给所述第二从节点。2.根据权利要求1所述的GPU资源调度方法,其特征在于,所述确定各从节点的GPU空闲率,包括:获取各从节点的GPU资源状态信息;针对任一从节点,根据该从节点的GPU资源状态信息,确定该从节点对应的每个GPU的空闲率;根据该从节点对应的每个GPU的空闲率,确定该从节点的GPU空闲率。3.根据权利要求2所述的GPU资源调度方法,其特征在于,所述根据该从节点的GPU资源状态信息,确定该从节点对应的每个GPU的空闲率,包括:针对任一GPU,根据以下公式计算该GPU的空闲率F:其中,freq为GPU的核心频率,SM为GPU的流处理器数量,Core为根据CUDA(ComputeUnifiedDeviceArchitecture)的计算能力获得的核心数,GPUPerc为GPU的核心空闲率,memFreq为GPU对应的显存的核心频率,busWidth为GPU对应的显存总线的位宽,memPerc为GPU对应的显存的空闲率,warpSize为线程束的数量。4.根据权利要求2所述的GPU资源调度方法,其特征在于,所述根据该从节点对应的每个GPU的空闲率,确定该从节点的GPU空闲率,包括:主节点选择该从节点对应的GPU的最大空闲率作为该从节点的GPU空闲率;或者,主节点将该从节点对应的各个GPU的空闲率的均值作为该从节点的GPU空闲率。5.一种...

【专利技术属性】
技术研发人员:胡良文丁远普
申请(专利权)人:新华三大数据技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1