CN109992422A - 一种面向gpu资源的任务调度方法、装置和系统 - Google Patents

一种面向gpu资源的任务调度方法、装置和系统 Download PDF

Info

Publication number
CN109992422A
CN109992422A CN201910289968.3A CN201910289968A CN109992422A CN 109992422 A CN109992422 A CN 109992422A CN 201910289968 A CN201910289968 A CN 201910289968A CN 109992422 A CN109992422 A CN 109992422A
Authority
CN
China
Prior art keywords
task
gpu
video memory
resource
memory resource
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.)
Pending
Application number
CN201910289968.3A
Other languages
English (en)
Inventor
许欢庆
牟永奇
李洁
汤劲武
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Longjing Science And Technology Co Ltd
Original Assignee
Beijing Longjing Science And Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Longjing Science And Technology Co Ltd filed Critical Beijing Longjing Science And Technology Co Ltd
Priority to CN201910289968.3A priority Critical patent/CN109992422A/zh
Publication of CN109992422A publication Critical patent/CN109992422A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请实施例公开了一种面向GPU资源的任务调度方法,当需要利用服务器集群中的显存资源执行任务(例如第一目标任务)时,根据第一任务请求中包括的第一目标任务的属性信息和任务资源使用配置表计算第一目标任务所需的显存资源大小,然后,根据服务器集群的可用资源状态表,确定满足第一目标任务所需的显存资源大小的GPU,以便任务执行模块利用目标GPU执行第一目标任务。本方案接收到任务请求时,会进行任务的显存资源估算,以显存资源为最小单位选取可用的GPU来完成任务,细化资源管理和任务调度的粒度。若一个GPU中显存资源符合任务要求,便可能实现一个GPU并行执行多个任务的目的,提高了GPU中显存资源的利用率。

Description

一种面向GPU资源的任务调度方法、装置和系统
技术领域
本申请涉及计算机领域,特别是涉及一种面向GPU资源的任务调度方法、装置和系统。
背景技术
近年来,人工智能技术得以快速发展和成熟,许多行业领域纷纷引入相关技术提升生产效率,提高竞争力。例如,智能零售行业引入图像智能识别技术实现无人销售、销售数据智能统计预测等。图像处理、语音识别、机器翻译等相关深度学习任务通常以服务器集群上的图形处理器(Graphic Processing Unit,简称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资源的任务调度装置的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
传统的以单个GPU为最小单元进行管理、调度的方法中,由于服务器中包括的显存资源比较大,一般情况下,单个GPU具有16G大小的显存资源。然而,各个任务对显存资源的需求会远小于16G。如果将每个任务分配一个对应的GPU,只是利用GPU中一小部分显存资源执行任务,其余显存资源被闲置,从而造成GPU中显存资源的浪费,GPU中显存资源的利用率低。
为了解决上述技术问题,本申请实施例提供一种面向GPU资源的任务调度方法,该方法以显存资源为最小单位选取可用的GPU来完成任务。具体的,当需要利用服务器集群中的显存资源执行任务(例如第一目标任务)时,任务调度系统接收第一任务请求,第一任务请求中包括第一目标任务的属性信息。任务调度系统根据第一目标任务的属性信息和任务资源使用配置表计算第一目标任务所需的显存资源大小,然后,根据服务器集群的可用资源状态表,确定满足第一目标任务所需的显存资源大小的目标图形处理器GPU,以便任务执行模块利用目标GPU执行第一目标任务。与传统方式相比,本方案每次接收到任务请求时,可以进行任务的显存资源估算,以显存资源为最小单位选取可用的GPU来完成任务。这样,若一个GPU在执行一个任务时,该GPU中还有足够的显存资源执行其他任务,便可能实现一个GPU并行执行多个任务的目的,提高了GPU中显存资源的利用率。
接下来,将结合附图对本申请实施例提供的面向GPU资源的任务调度方法进行详细介绍。
参见图1,图1示出了一种面向GPU资源的任务调度方法的流程图,该方法可以应用于面向GPU资源的任务调度系统,所述系统包括任务管理子系统和资源管理子系统,所述方法包括:
S101、接收第一任务请求。
其中,所述第一任务请求中包括第一目标任务的属性信息。
S102、根据所述第一目标任务的属性信息和任务资源使用配置表计算所述第一目标任务所需的显存资源大小。
根据第一目标任务的属性信息,查询任务资源使用配置表,从而计算出第一目标任务所需的显存资源大小。
任务资源使用配置表中通常记录了各个任务的属性信息、完成任务所需要的GPU显存资源上限、计算任务所需显存资源大小的计算逻辑公式。
其中,S101-S102是由任务管理子系统执行的。在执行S101之前,启动任务管理子系统,并等待接收任务请求,当存在用户请求执行第一目标任务时,任务管理子系统接收第一任务请求。
S103、根据服务器集群的可用资源状态表,确定满足所述第一目标任务所需的显存资源大小的目标图形处理器GPU,以便任务执行模块利用所述目标GPU执行所述第一目标任务。
S103是由资源管理子系统执行的,任务管理子系统计算得到第一目标任务所需的显存资源大小后,可以向资源管理子系统发送资源请求,资源请求中包括第一目标任务所需的显存资源大小,显存资源大小通常以G为单位。这样,任务管理子系统可以提供资源分配接口,接收资源请求,从而根据服务器集群的可用资源状态表,确定满足所述第一目标任务所需的显存资源大小的目标GPU。
在确定出目标GPU后,资源管理子系统可以将目标GPU的信息向任务管理子系统发送,在一些情况下,为了明确目标GPU所在的工作服务器,资源管理子系统还可以确定目标GPU所在的目标工作服务器,这样,资源管理子系统可以将目标工作服务器的网络之间互连的协议(Internet Protocol,简称IP)向任务管理子系统发送。
任务管理子系统与IP对应的目标工作服务器上的任务执行模块建立通讯连接,将第一任务请求和分配的GPU信息提交给任务执行模块。目标工作服务器的任务执行模块接收到任务管理子系统发来的第一任务请求和GPU信息后,动态加载任务的业务逻辑模块,从而执行第一目标任务。
在一种可能的实现方式中,S103的实现方式可以是根据服务器集群的可用资源状态表,按照预设原则选择满足所述第一目标任务所需的显存资源大小的目标GPU,所述目标GPU位于目标工作服务器上。
其中,所述预设原则包括服务器集群中各个工作服务器的任务负载平衡、工作服务器中各个GPU的显存占用率平衡和服务器集群剩余显存资源对任务的满足程度。可以理解的是,预设原则还可以其他原则,本实施例对此不做限定。
需要说明的是,可用资源状态表中包括的是各个工作服务器的状态信息和其上的资源信息,资源信息至少包括:工作服务器的网络之间互连的协议(Internet Protocol,简称IP)、GPU数量,每个GPU的显存数量(通常,单位为G)。服务器集群内的工作服务器采用心跳包的方式周期性向资源管理子系统注册本地的资源信息和状态信息。
而在服务器集群中,可能并不是所有工作服务器都正常工作,可能存在一些工作服务器没有正常工作,这些没有正常工作的工作服务器无法用于执行任务,因此,即使这些工作服务器中的显存资源满足第一目标任务所需的显存资源大小,也无法用于执行第一目标任务。因此,在一种可能的实现方式中,可以对所述服务器集群中各个工作服务器的第一心跳包进行心跳监听,根据所述第一心跳包维护所述可用资源状态表。
假设可用资源状态表中标识第一工作服务器为可用状态,若在预设心跳周期内未监听到来自所述第一工作服务器的第一心跳包,说明第一工作服务器处于不可用状态,例如,第一工作服务器宕机。则可以更改所述可用资源状态表,更改后的可用资源状态表标识所述第一工作服务器为不可用状态。此步骤可以是由资源管理子系统执行的。
相应的,S103的一种可能的实现方式为:根据所述更改后的可用资源状态表,确定满足所述第一目标任务所需的显存资源大小的目标GPU。
通过对服务器集群中各个工作服务器的第一心跳包的监听,可以实时更改可用资源状态表,从而保证服务器集群的资源分配准确性和有效性。
需要说明的是,若在所述任务执行模块利用所述目标GPU执行所述第一目标任务时,所述方法还包括:
接收第二任务请求,所述第二任务请求中包括第二目标任务的属性信息;
根据所述第二目标任务的属性信息和任务资源使用配置表计算所述第二目标任务所需的显存资源大小;
若根据所述可用资源状态表,确定所述目标GPU的剩余显存资源满足所述第二目标任务所需的显存资源大小,将所述目标GPU作为用于执行所述第二目标任务的GPU,以便所述任务执行模块利用所述目标GPU执行所述第二目标任务。
由于本实施例所提供的方法以显存资源为最小单位选取可用的GPU来完成第一目标任务,细化了资源管理和任务调度的粒度。这样,若目标GPU在执行一个第一目标任务时,该目标GPU中还有足够的显存资源执行其他任务,例如第二目标任务,便可以利用一个GPU并行执行多个任务(第一目标任务和第二目标任务),提高了GPU中显存资源的利用率,提高服务器集群的任务吞吐率和服务并发性。
在所述任务执行模块利用所述目标GPU执行所述第一目标任务时,任务执行模块还可以启动心跳机制,按照预定义好的周期向任务管理子系统发送第二心跳包,任务管理子系统还可以对所述任务执行模块的第二心跳包进行监听,根据所述第二心跳包更新所述第一目标任务的执行状态。
若在预设时间段内未接收到所述第二心跳包,可以说明第一目标任务已经执行完毕或者第一目标任务执行异常。在这种情况下,为了再次利用执行第一目标任务所使用的显存资源,可以远程清理任务现场,回收所述任务执行模块执行所述第一目标任务所使用的显存资源。该步骤可以是由任务管理子系统执行的。
由上述技术方案可以看出,当需要利用服务器集群中的显存资源执行任务(例如第一目标任务)时,任务调度系统接收第一任务请求,第一任务请求中包括第一目标任务的属性信息。任务调度系统根据第一目标任务的属性信息和任务资源使用配置表计算第一目标任务所需的显存资源大小,然后,根据服务器集群的可用资源状态表,确定满足第一目标任务所需的显存资源大小的目标图形处理器GPU,以便任务执行模块利用目标GPU执行第一目标任务。与传统方式相比,本方案每次接收到任务请求时,可以进行任务的显存资源估算,以显存资源为最小单位选取可用的GPU来完成任务,细化了资源管理和任务调度的粒度。这样,若一个GPU在执行一个任务时,该GPU中还有足够的显存资源执行其他任务,便可能实现一个GPU并行执行多个任务的目的,提高了GPU中显存资源的利用率。
另外,根据任务的显存资源的需求实现任务在服务器集群中灵活分配和调度,增强了服务器集群的弹性扩展能力。
需要说明的是,本申请实施例提供的方法可以应用于任务调度系统中,参见图2所示,所述系统包括:
任务管理子系统201,用于接收第一任务请求,所述第一任务请求中包括第一目标任务的属性信息;根据所述第一目标任务的属性信息和任务资源使用配置表计算所述第一目标任务所需的显存资源大小;
资源管理子系统202,用于接收所述任务管理子系统发送的资源请求,所述资源请求包括所述第一目标任务所需的显存资源大小;根据服务器集群的可用资源状态表,确定满足所述第一目标任务所需的显存资源大小的目标图形处理器GPU,以便任务执行模块利用所述目标GPU执行所述第一目标任务。
在一种可能的实现方式中,资源管理子系统202可以对所述服务器集群中各个工作服务器的第一心跳包进行心跳监听,根据所述第一心跳包维护所述可用资源状态表。假设可用资源状态表中标识第一工作服务器为可用状态,若资源管理子系统202在预设心跳周期内未监听到来自所述第一工作服务器的第一心跳包,说明第一工作服务器处于不可用状态,例如,第一工作服务器宕机。则资源管理子系统202可以更改所述可用资源状态表,更改后的可用资源状态表标识所述第一工作服务器为不可用状态。
在一种可能的实现方式中,任务管理子系统201可以对所述任务执行模块的第二心跳包进行监听,根据所述第二心跳包更新所述第一目标任务的执行状态。若任务管理子系统201在预设时间段内未接收到所述第二心跳包,可以说明第一目标任务已经执行完毕或者第一目标任务执行异常。在这种情况下,为了再次利用执行第一目标任务所使用的显存资源,任务管理子系统201可以远程清理任务现场,回收所述任务执行模块执行所述第一目标任务所使用的显存资源。
本申请实施例还提供一种面向GPU资源的任务调度装置,参见图3,所述装置包括:
第一接收单元301,用于接收第一任务请求,所述第一任务请求中包括第一目标任务的属性信息;
第一计算单元302,用于根据所述第一目标任务的属性信息和任务资源使用配置表计算所述第一目标任务所需的显存资源大小;
第一确定单元303,用于根据服务器集群的可用资源状态表,确定满足所述第一目标任务所需的显存资源大小的目标图形处理器GPU,以便任务执行模块利用所述目标GPU执行所述第一目标任务。
可选的,所述装置还包括:
第二接收单元,用于接收第二任务请求,所述第二任务请求中包括第二目标任务的属性信息;
第二计算单元,用于根据所述第二目标任务的属性信息和任务资源使用配置表计算所述第二目标任务所需的显存资源大小;
第二确定单元,用于若根据所述可用资源状态表,确定所述目标GPU的剩余显存资源满足所述第二目标任务所需的显存资源大小,将所述目标GPU作为用于执行所述第二目标任务的GPU,以便所述任务执行模块利用所述目标GPU执行所述第二目标任务。
可选的,所述第一确定单元,用于:
根据服务器集群的可用资源状态表,按照预设原则选择满足所述第一目标任务所需的显存资源大小的目标GPU,所述目标GPU位于目标工作服务器上。
可选的,所述预设原则包括:服务器集群中各个工作服务器的任务负载平衡、工作服务器中各个GPU的显存占用率平衡和服务器集群剩余显存资源对任务的满足程度。
可选的,所述装置还包括:
第一监听单元,用于对所述服务器集群中各个工作服务器的第一心跳包进行心跳监听,根据所述第一心跳包维护所述可用资源状态表。
可选的,所述第一监听单元,用于:
所述可用资源状态表中标识第一工作服务器为可用状态,若在预设心跳周期内未监听到来自所述第一工作服务器的第一心跳包,更改所述可用资源状态表,更改后的可用资源状态表标识所述第一工作服务器为不可用状态;
所述第一确定单元,用于:
根据所述更改后的可用资源状态表,确定满足所述第一目标任务所需的显存资源大小的目标GPU。
可选的,所述装置还包括:
第二监听单元,用于对所述任务执行模块的第二心跳包进行监听,根据所述第二心跳包更新所述第一目标任务的执行状态。
可选的,所述装置还包括:
回收单元,用于若在预设时间段内未接收到所述第二心跳包,回收所述任务执行模块执行所述第一目标任务所使用的显存资源。
由上述技术方案可以看出,当需要利用服务器集群中的显存资源执行任务(例如第一目标任务)时,任务调度系统接收第一任务请求,第一任务请求中包括第一目标任务的属性信息。任务调度系统根据第一目标任务的属性信息和任务资源使用配置表计算第一目标任务所需的显存资源大小,然后,根据服务器集群的可用资源状态表,确定满足第一目标任务所需的显存资源大小的目标图形处理器GPU,以便任务执行模块利用目标GPU执行第一目标任务。与传统方式相比,本方案每次接收到任务请求时,可以进行任务的显存资源估算,以显存资源为最小单位选取可用的GPU来完成任务,细化了资源管理和任务调度的粒度。这样,若一个GPU在执行一个任务时,该GPU中还有足够的显存资源执行其他任务,便可能实现一个GPU并行执行多个任务的目的,提高了GPU中显存资源的利用率。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-onlymemory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种面向GPU资源的任务调度方法,其特征在于,应用于面向GPU资源的任务调度系统,所述方法包括:
接收第一任务请求,所述第一任务请求中包括第一目标任务的属性信息;
根据所述第一目标任务的属性信息和任务资源使用配置表计算所述第一目标任务所需的显存资源大小;
根据服务器集群的可用资源状态表,确定满足所述第一目标任务所需的显存资源大小的目标图形处理器GPU,以便任务执行模块利用所述目标GPU执行所述第一目标任务。
2.根据权利要求1所述的方法,其特征在于,在所述任务执行模块利用所述目标GPU执行所述第一目标任务时,所述方法还包括:
接收第二任务请求,所述第二任务请求中包括第二目标任务的属性信息;
根据所述第二目标任务的属性信息和任务资源使用配置表计算所述第二目标任务所需的显存资源大小;
若根据所述可用资源状态表,确定所述目标GPU的剩余显存资源满足所述第二目标任务所需的显存资源大小,将所述目标GPU作为用于执行所述第二目标任务的GPU,以便所述任务执行模块利用所述目标GPU执行所述第二目标任务。
3.根据权利要求1所述的方法,其特征在于,所述根据服务器集群的可用资源状态表,确定满足所述第一目标任务所需的显存资源大小的目标图形处理器GPU,包括:
根据服务器集群的可用资源状态表,按照预设原则选择满足所述第一目标任务所需的显存资源大小的目标GPU,所述目标GPU位于目标工作服务器上。
4.根据权利要求3所述的方法,其特征在于,所述预设原则包括:服务器集群中各个工作服务器的任务负载平衡、工作服务器中各个GPU的显存占用率平衡和服务器集群剩余显存资源对任务的满足程度。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述服务器集群中各个工作服务器的第一心跳包进行心跳监听,根据所述第一心跳包维护所述可用资源状态表。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第一心跳包维护所述可用资源状态表,包括:
所述可用资源状态表中标识第一工作服务器为可用状态,若在预设心跳周期内未监听到来自所述第一工作服务器的第一心跳包,更改所述可用资源状态表,更改后的可用资源状态表标识所述第一工作服务器为不可用状态;
所述根据服务器集群的可用资源状态表,确定满足所述第一目标任务所需的显存资源大小的目标图形处理器GPU,包括:
根据所述更改后的可用资源状态表,确定满足所述第一目标任务所需的显存资源大小的目标GPU。
7.根据权利要求1所述的方法,其特征在于,所述任务执行模块利用所述目标GPU执行所述第一目标任务时,所述方法还包括:
对所述任务执行模块的第二心跳包进行监听,根据所述第二心跳包更新所述第一目标任务的执行状态。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
若在预设时间段内未接收到所述第二心跳包,回收所述任务执行模块执行所述第一目标任务所使用的显存资源。
9.一种面向GPU资源的任务调度装置,其特征在于,所述装置包括:
第一接收单元,用于接收第一任务请求,所述第一任务请求中包括第一目标任务的属性信息;
第一计算单元,用于根据所述第一目标任务的属性信息和任务资源使用配置表计算所述第一目标任务所需的显存资源大小;
第一确定单元,用于根据服务器集群的可用资源状态表,确定满足所述第一目标任务所需的显存资源大小的目标图形处理器GPU,以便任务执行模块利用所述目标GPU执行所述第一目标任务。
10.一种面向GPU资源的任务调度系统,其特征在于,所述系统包括:
任务管理子系统,用于接收第一任务请求,所述第一任务请求中包括第一目标任务的属性信息;根据所述第一目标任务的属性信息和任务资源使用配置表计算所述第一目标任务所需的显存资源大小;
资源管理子系统,用于接收所述任务管理子系统发送的资源请求,所述资源请求包括所述第一目标任务所需的显存资源大小;根据服务器集群的可用资源状态表,确定满足所述第一目标任务所需的显存资源大小的目标图形处理器GPU,以便任务执行模块利用所述目标GPU执行所述第一目标任务。
CN201910289968.3A 2019-04-11 2019-04-11 一种面向gpu资源的任务调度方法、装置和系统 Pending CN109992422A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910289968.3A CN109992422A (zh) 2019-04-11 2019-04-11 一种面向gpu资源的任务调度方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910289968.3A CN109992422A (zh) 2019-04-11 2019-04-11 一种面向gpu资源的任务调度方法、装置和系统

Publications (1)

Publication Number Publication Date
CN109992422A true CN109992422A (zh) 2019-07-09

Family

ID=67133299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910289968.3A Pending CN109992422A (zh) 2019-04-11 2019-04-11 一种面向gpu资源的任务调度方法、装置和系统

Country Status (1)

Country Link
CN (1) CN109992422A (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110688223A (zh) * 2019-09-11 2020-01-14 深圳云天励飞技术有限公司 数据处理方法及相关产品
CN110688218A (zh) * 2019-09-05 2020-01-14 广东浪潮大数据研究有限公司 资源调度方法及装置
CN110930291A (zh) * 2019-11-15 2020-03-27 山东英信计算机技术有限公司 一种gpu显存管理控制方法及相关装置
CN110941481A (zh) * 2019-10-22 2020-03-31 华为技术有限公司 资源调度方法、装置及系统
CN111694648A (zh) * 2020-06-09 2020-09-22 北京百度网讯科技有限公司 一种任务调度方法、装置以及电子设备
CN112529761A (zh) * 2019-09-18 2021-03-19 珠海格力电器股份有限公司 基于视频图像识别的并发请求的处理方法及存储介质
CN112860423A (zh) * 2019-11-28 2021-05-28 深圳云天励飞技术有限公司 显存管理方法及相关产品
CN113220443A (zh) * 2020-01-21 2021-08-06 上海商汤智能科技有限公司 资源分配方法及装置
CN113485842A (zh) * 2021-07-30 2021-10-08 浙江大华技术股份有限公司 一种基于设备集群进行数据分析的方法及设备
US20220179691A1 (en) * 2020-12-09 2022-06-09 Industrial Technology Research Institute Machine learning system and resource allocation method thereof
CN114661465A (zh) * 2022-03-17 2022-06-24 维塔科技(北京)有限公司 资源管理的方法、装置、存储介质及电子设备
CN115981871A (zh) * 2023-03-17 2023-04-18 苏州万店掌网络科技有限公司 一种gpu资源调度方法、装置、设备及存储介质
CN117032937A (zh) * 2023-09-28 2023-11-10 之江实验室 基于gpu的任务调度方法、电子装置和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130155080A1 (en) * 2011-12-15 2013-06-20 Qualcomm Incorporated Graphics processing unit with command processor
CN107766148A (zh) * 2017-08-31 2018-03-06 北京百度网讯科技有限公司 一种异构集群及任务处理方法和装置
CN108052384A (zh) * 2017-12-27 2018-05-18 联想(北京)有限公司 一种任务处理方法、服务平台及电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130155080A1 (en) * 2011-12-15 2013-06-20 Qualcomm Incorporated Graphics processing unit with command processor
CN107766148A (zh) * 2017-08-31 2018-03-06 北京百度网讯科技有限公司 一种异构集群及任务处理方法和装置
CN108052384A (zh) * 2017-12-27 2018-05-18 联想(北京)有限公司 一种任务处理方法、服务平台及电子设备

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110688218A (zh) * 2019-09-05 2020-01-14 广东浪潮大数据研究有限公司 资源调度方法及装置
CN110688218B (zh) * 2019-09-05 2022-11-04 广东浪潮大数据研究有限公司 资源调度方法及装置
CN110688223A (zh) * 2019-09-11 2020-01-14 深圳云天励飞技术有限公司 数据处理方法及相关产品
CN112529761A (zh) * 2019-09-18 2021-03-19 珠海格力电器股份有限公司 基于视频图像识别的并发请求的处理方法及存储介质
CN110941481A (zh) * 2019-10-22 2020-03-31 华为技术有限公司 资源调度方法、装置及系统
CN110930291B (zh) * 2019-11-15 2022-06-17 山东英信计算机技术有限公司 一种gpu显存管理控制方法及相关装置
CN110930291A (zh) * 2019-11-15 2020-03-27 山东英信计算机技术有限公司 一种gpu显存管理控制方法及相关装置
CN112860423A (zh) * 2019-11-28 2021-05-28 深圳云天励飞技术有限公司 显存管理方法及相关产品
CN113220443A (zh) * 2020-01-21 2021-08-06 上海商汤智能科技有限公司 资源分配方法及装置
CN111694648B (zh) * 2020-06-09 2023-08-15 阿波罗智能技术(北京)有限公司 一种任务调度方法、装置以及电子设备
CN111694648A (zh) * 2020-06-09 2020-09-22 北京百度网讯科技有限公司 一种任务调度方法、装置以及电子设备
US20220179691A1 (en) * 2020-12-09 2022-06-09 Industrial Technology Research Institute Machine learning system and resource allocation method thereof
US11954527B2 (en) * 2020-12-09 2024-04-09 Industrial Technology Research Institute Machine learning system and resource allocation method thereof
CN113485842A (zh) * 2021-07-30 2021-10-08 浙江大华技术股份有限公司 一种基于设备集群进行数据分析的方法及设备
CN113485842B (zh) * 2021-07-30 2024-02-23 浙江大华技术股份有限公司 一种基于设备集群进行数据分析的方法及设备
CN114661465A (zh) * 2022-03-17 2022-06-24 维塔科技(北京)有限公司 资源管理的方法、装置、存储介质及电子设备
CN115981871A (zh) * 2023-03-17 2023-04-18 苏州万店掌网络科技有限公司 一种gpu资源调度方法、装置、设备及存储介质
CN115981871B (zh) * 2023-03-17 2024-01-26 苏州万店掌网络科技有限公司 一种gpu资源调度方法、装置、设备及存储介质
CN117032937A (zh) * 2023-09-28 2023-11-10 之江实验室 基于gpu的任务调度方法、电子装置和存储介质
CN117032937B (zh) * 2023-09-28 2024-01-09 之江实验室 基于gpu的任务调度方法、电子装置和存储介质

Similar Documents

Publication Publication Date Title
CN109992422A (zh) 一种面向gpu资源的任务调度方法、装置和系统
Madni et al. Recent advancements in resource allocation techniques for cloud computing environment: a systematic review
CN104657220B (zh) 混合云中基于截止时间和费用约束的调度模型及方法
US10474504B2 (en) Distributed node intra-group task scheduling method and system
CN111966500B (zh) 资源调度方法、装置、电子设备及存储介质
CN109034396B (zh) 用于处理分布式集群中的深度学习作业的方法和装置
TWI307470B (en) Dynamic processor redistribution between partitions in a computing system
CN112416585B (zh) 面向深度学习的gpu资源管理与智能化调度方法
TWI725744B (zh) 透過多層次相關性建立系統資源預測及資源管理模型的方法
CN113946431B (zh) 一种资源调度方法、系统、介质及计算设备
CN108845874A (zh) 资源的动态分配方法及服务器
CN115134371A (zh) 包含边缘网络算力资源的调度方法、系统、设备及介质
CN111767145A (zh) 容器调度系统、方法、装置和设备
CN110162397A (zh) 资源分配方法、装置及系统
CN109976873B (zh) 容器化分布式计算框架的调度方案获取方法及调度方法
CN117707763A (zh) 分层算力调度方法、系统、设备及存储介质
CN109062683A (zh) 主机资源分配的方法、装置及计算机可读存储介质
CN117311973A (zh) 计算设备调度方法、装置、非易失性存储介质及电子设备
CN106325997B (zh) 一种虚拟资源分配方法及装置
CN110958192B (zh) 一种基于虚拟交换机的虚拟数据中心资源分配系统及方法
CN117596247A (zh) 基于异构边缘计算系统的资源监控和性能评估的方法
CN116756282A (zh) 任务处理方法、服务器、语言预测系统和人机交互系统
CN106506594B (zh) 一种并行计算资源分配方法及装置
Wei et al. Scheduling parallel cloud computing services: An evolutional game
CN116010051A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190709