多GPU调度装置和分布式计算系统以及多GPU调度方法制造方法及图纸

技术编号:15762749 阅读:379 留言:0更新日期:2017-07-05 22:45
本发明专利技术公开了一种多图形处理器GPU调度装置和分布式计算系统以及多GPU调度方法,涉及云计算领域。其中的多GPU调度装置包括:请求接收模块,用于接收用户发送的GPU使用请求;请求消息队列模块,用于将GPU使用请求加入请求消息队列;请求分配模块,用于为请求消息队列中的GPU使用请求分配分布式GPU节点中的GPU资源,以便GPU处理GPU使用请求。通过统一接收GPU使用请求并加入到一个队列,然后将队列中的GPU使用请求分配到分布式GPU节点中的GPU资源进行处理,实现了对跨机多GPU的通用调度,使GPU应用开发者无需关注GPU协同调度的问题。

Multi GPU scheduling device, distributed computing system, and multiple GPU scheduling method

The invention discloses a multi graphics processor, a GPU scheduling device, a distributed computing system and a multiple GPU scheduling method, relating to the field of cloud computing. Multi GPU scheduling device which comprises a request receiving module for receiving the user sends a GPU request; the request message queue module for the GPU request join request message queue; request distribution module for request messages in the queue using the GPU request distribution distributed GPU node in the GPU resources, so that the GPU process GPU request. Through the unified receiving GPU request and added to a queue, then the queue GPU requests to distributed GPU node in the GPU resources, realize the general scheduling of cross machine GPU, GPU application developers do not need to pay attention to the GPU collaborative scheduling problem.

【技术实现步骤摘要】
多GPU调度装置和分布式计算系统以及多GPU调度方法
本专利技术涉及云计算领域,尤其是一种用于多GPU(GraphicsProcessingUnit,图形处理器)调度的装置和分布式计算系统以及多GPU调度方法。
技术介绍
在大数据时代,海量数据的处理对计算机的计算能力要求较高,海量数据的处理无法在单台计算机上完成。目前,现已有许多基于CPU(CentralProcessingUnit,中央处理器)计算的分布式计算平台用来处理海量数据。然而,由于GPU具有良好的并行计算能力,对于浮点运算、通用计算、图像处理等计算应用场景,GPU可以提供数十倍乃至于上百倍于CPU的性能。但对于跨机多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使用请求分配分布式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调度的分布式计算系统的一个实施例的结构示意图。图2示出本专利技术用于多GPU调度的分布式计算系统的另一个实施例的结构示意图。图3示出本专利技术多GPU调度装置的一个实施例的结构示意图。图4示出本专利技术多GPU调度方法的一个实施例的流程示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本专利技术及其应用或使用的任何限制。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。下面参考图1描述本专利技术一个实施例的用于多GPU调度的分布式计算系统。图1为本专利技术用于多GPU调度的分布式计算系统的一个实施例的结构图。如图1所示,该实施例的系统包括:分布式GPU节点142、144、146,每个节点中具有两个GPU1400。多GPU调度装置12用于统一接收用户发送的GPU使用请求并将其加入到请求消息队列,再将队列中的GPU使用请求分配到各个分布式GPU节点中的GPU资源进行处理。通过采用这种结构,实现了对跨机多GPU的通用调度,使GPU应用开发者无需关注GPU协同调度的问题。本专利技术提供的用于多GPU调度的分布式计算系统可以为现有的分布式计算平台。下面参考图2描述本专利技术另一个实施例的用于多GPU调度的分布式计算系统。图2为本专利技术用于多GPU调度的分布式计算系统的另一个实施例的结构图。如图2所示,该实施例的用于多GPU调度的分布式计算系统为通用分布式计算平台20,该平台具有从GPU节点242、244、246和主GPU节点222,每个从节点中具有两个GPU2400。多GPU调度装置2200位于主GPU节点222。使用时,多GPU调度装置2200将用户发送的GPU使用请求加入请求消息队列,并为请求消息队列中的GPU使用请求分配GPU资源。各个从GPU节点在获取到GPU使用请求以后,可以将GPU使用请求加入到位于从GPU节点的消息队列中,并依次处理。上述各个分布式GPU节点中可以包括一个或多个GPU。其中,通用分布式计算平台20可以为Hadoop分布式文件系统、Spark通用并行框架或Storm分布式实时计算系统等现有的分布式计算系统。通过借助已有的通用分布式计算平台实现跨机多GPU集群调度,可以复用现有的分布式计算平台的集群调度的功能。用户在使用GPU集群完成任务时无需再考虑多机通信调度、单机并发控制等方面的问题,让现有分布式计算平台管理GPU通用调度服务。本领域技术人员应当清楚,在上述实施例中,图1和图2所示的系统中的GPU节点数以及各个节点中的GPU数量仅为示例性的展示,根据需要,可以使用其他数量的GPU节点以及GPU。下面参考图3描述本专利技术一个实施例的多GPU调度装置。图3为本专利技术多GPU调度装置的一个实施例的结构图。如图3所示,该实施例的多GPU调度装置12包括:请求接收模块322,用于接收用户发送的GPU使用请求;请求消息队列模块324,用于将GPU使用请求加入请求消息队列;请求分配模块326,用于为请求消息队列中的GPU使用请求分配分布式GPU节点中的GPU资源,以便GPU处理GPU使用请求。通过统一接收GPU使用请求并加入到一个队列,然后将队列中的GPU使用请求分配到分布式GPU节点中的GPU资源进行处理,实现了对跨机多GPU的通用调度本文档来自技高网...
多GPU调度装置和分布式计算系统以及多GPU调度方法

【技术保护点】
一种多图形处理器GPU调度装置,其特征在于,包括:请求接收模块,用于接收用户发送的GPU使用请求;请求消息队列模块,用于将所述GPU使用请求加入请求消息队列;请求分配模块,用于为所述请求消息队列中的GPU使用请求分配分布式GPU节点中的GPU资源,以便GPU处理GPU使用请求。

【技术特征摘要】
1.一种多图形处理器GPU调度装置,其特征在于,包括:请求接收模块,用于接收用户发送的GPU使用请求;请求消息队列模块,用于将所述GPU使用请求加入请求消息队列;请求分配模块,用于为所述请求消息队列中的GPU使用请求分配分布式GPU节点中的GPU资源,以便GPU处理GPU使用请求。2.根据权利要求1所述的装置,其特征在于,所述请求分配模块用于根据各个GPU的当前状态对所述请求消息队列中的GPU使用请求进行分配,以便GPU处理GPU使用请求。3.根据权利要求1所述的装置,其特征在于,所述请求接收模块为GPU通用调度接口。4.根据权利要求1所述的装置,其特征在于,所述请求分配模块包括线程建立单元和请求获取单元;所述线程建立单元用于为每个GPU分别启动一个线程;所述请求获取单元用于控制各个线程从所述请求消息队列中获取GPU使用请求,并交给本线程对应的GPU进行处理。5.根据权利要求1所述的装置,其特征在于,还包括资源调度管理器,用于为所述多GPU通用调度装置提供可供分配的GPU资源。6.一种用于多图形处理器GPU调度的分布式计算系统,其特征在于,包括:若干分布式GPU节点,所述GPU节点中的GPU用于处理所...

【专利技术属性】
技术研发人员:丁圣勇黄志兰樊勇兵陈楠金华敏赖培源区洪辉
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:北京,11

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

1