CN113377520A - 资源调度方法、装置、设备以及存储介质 - Google Patents

资源调度方法、装置、设备以及存储介质 Download PDF

Info

Publication number
CN113377520A
CN113377520A CN202110768951.3A CN202110768951A CN113377520A CN 113377520 A CN113377520 A CN 113377520A CN 202110768951 A CN202110768951 A CN 202110768951A CN 113377520 A CN113377520 A CN 113377520A
Authority
CN
China
Prior art keywords
gpu
task
target
computing node
connection
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
Application number
CN202110768951.3A
Other languages
English (en)
Other versions
CN113377520B (zh
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 Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom 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 Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202110768951.3A priority Critical patent/CN113377520B/zh
Publication of CN113377520A publication Critical patent/CN113377520A/zh
Priority to EP22173337.1A priority patent/EP4083802A1/en
Priority to US17/744,396 priority patent/US20220276899A1/en
Application granted granted Critical
Publication of CN113377520B publication Critical patent/CN113377520B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/5033Allocation 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 data affinity
    • 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/5044Allocation 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 hardware capabilities
    • 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
    • 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/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/098Distributed learning, e.g. federated learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本公开提供了一种资源调度方法、装置、设备以及存储介质,涉及计算机技术领域,尤其涉及深度学习技术领域。具体实现方案为:根据集群中各个计算节点的图形处理器GPU连接信息,获取集群的GPU拓扑关系;在接收到针对目标任务的用于申请GPU资源的任务请求的情况下,根据任务请求和GPU拓扑关系,确定目标任务的目标计算节点和目标计算节点中的目标GPU,以完成目标任务的GPU资源调度。本公开可以优化资源调度。

Description

资源调度方法、装置、设备以及存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及深度学习技术领域,进一步涉及一种资源调度方法、装置、设备以及存储介质。
背景技术
随着人工智能技术的发展,需要构建多种场景的深度学习应用。同时,随着深度学习模型越复杂,参数越来越多,用户的数据量越来越大,分布式训练成为深度学习训练的首要选择。为了用海量数据训练出性能更好的深度学习模型,需要高效调用、管理大规模的图形处理器(Graphics Processing Unit,GPU)。从平台化角度,如何使用较少的GPU资源完成更多用户的训练任务成为一个挑战与发展方向。
目前的资源调度算法在选择目标计算节点时虽然考虑了不同的调度策略,但是无法保证选择的目标计算节点是性能最优的计算节点,进而无法保证GPU资源的合理调度,导致分布式训练的速度变慢。
发明内容
本公开提供了一种优化的资源调度方法、装置、设备以及存储介质。
根据本公开的一方面,提供了一种资源调度方法,包括:根据集群中各个计算节点的图形处理器GPU连接信息,获取集群的GPU拓扑关系;在接收到针对目标任务的用于申请GPU资源的任务请求的情况下,根据任务请求和GPU拓扑关系,确定目标任务的目标计算节点和目标计算节点中的目标GPU,以完成目标任务的GPU资源调度。
根据本公开的另一方面,提供了一种资源调度装置,包括:获取模块,用于根据集群中各个计算节点的图形处理器GPU连接信息,获取集群的GPU拓扑关系;确定模块,用于在接收到针对目标任务的用于申请GPU资源的任务请求的情况下,根据任务请求和GPU拓扑关系,确定目标任务的目标计算节点和目标计算节点中的目标GPU,以完成目标任务的GPU资源调度
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述资源调度方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行上述资源调度方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现上述资源调度方法。
本公开实施例中的资源调度方法、装置、设备以及存储介质,能够实现目标计算节点的优化调度以及目标GPU的优化调度。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是相关技术中的一种资源调度过程的示意图;
图2是相关技术中的一种资源调度过程的示意图;
图3是根据本公开一示例性实施例的资源调度流程图;
图4是根据本公开一示例性实施例的获取集群的GPU拓扑关系的流程图;
图5是根据本公开一示例性实施例的确定目标计算节点的流程图;
图6是根据本公开一示例性实施例的确定目标GPU的流程图;
图7是可以实现本公开实施例的Kubernetes集群中的资源调度应用场景示意图;
图8是根据本公开一示例性实施例的目标计算节点的调度过程示意图;
图9是根据本公开一示例性实施例的资源调度装置的框图;
图10是用来实现本公开实施例的资源调度方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
目前公有云上的资源调方法通常包括以下两种实现方案。
方案一,调度器感知训练任务的GPU资源需求,通过多个调度策略,例如碎片化(binpack)策略,优先级策略等选择目标计算节点,在目标计算节点上通过默认的设备-插件(device-pluigin)随机选择GPU,以完成对需要申请GPU资源的任务的资源调度过程,具体可参阅参阅图1所示。
上述方案一中虽然在资源调度的过程中考虑了不同的调度策略,但是在实际资源调度的过程中选择的目标计算节点,可能是需要通过CPU进行交互的不同计算节点,导致训练速度变慢。
方案二,调度器感知训练任务的GPU资源需求,通过多个调度策略,例如binpack策略,优先级策略等选择目标计算节点,在每个包括GPU资源的目标计算节点上,感知该目标计算节点的GPU拓扑关系,并通过感知的拓扑关系选择最优的GPU,以完成对需要申请GPU资源的任务的资源调度过程,具体可参阅参阅图2所示。
上述方案二与方案一相比,虽然在每个目标计算节点上对GPU拓扑关系做了感知,但是选择的目标计算节点,同样可能是需要通过CPU进行交互的计算节点,即使在目标计算节点上进行了GPU拓扑关系感知,选择了目标计算节点中最优的GPU,对于整体集群来说也不是最优的资源调度方案。
鉴于上述方案中存在的缺陷,本公开提出一种资源调度方法及装置,在目标计算节点选择过程中,通过感知GPU的拓扑关系,选择性能最优的计算节点,并在目标计算节点的GPU资源调度中选择最优的GPU,从而实现资源的优化调度。
本公开实施例中资源调度方法的执行主体为资源调度设备,资源调度设备可以是调度器包括但不限于独立的服务器、分布式服务器、服务器集群、云服务器、智能手机、平板电脑、计算机、个人数字助理(Personal Digital Assistant,PDA)、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)等。
请参阅图3,图3是本公开一示例性实施例示出的资源调度方法的流程图,图3所示的资源调度方法具体包括以下步骤:
S301:根据集群中各个计算节点的GPU连接信息,获取集群的GPU拓扑关系。
S302:在接收到针对目标任务的用于申请GPU资源的任务请求的情况下,根据任务请求和GPU拓扑关系,确定目标任务的目标计算节点和目标计算节点中的目标GPU,以完成目标任务的GPU资源调度。
本公开实施例中,在接收到针对目标任务的用于申请GPU资源的任务请求时,根据获取的集群的GPU拓扑关系,在集群中包括的计算节点中选择目标计算节点,能够保证选择的目标计算节点是性能最优的计算节点,进而在性能最优的目标计算节点上选择GPU,能够实现GPU资源的合理调度,提高目标任务的训练速度。
需要说明的是,GPU连接信息包括GPU连接关系和GPU连接方式。其中,GPU连接关系用于描述GPU之间的连接顺序关系,具体的可以是GPU之间的连接网络关系,例如GPU连接关系是GPU1-GPU2-GPU3,此时GPU2可同时与GPU1和GPU2连接,GPU连接方式用于描述GPU之间的通信方式,具体的GPU连接方式包括多种传输性能不同的数据通信方式,例如包括高速数据通信方式、低速数据通信方式和介于高低速之间的通信方式。
如图4所示,在一种实施方式中,步骤S301可以包括以下子步骤:
S401:获取集群中各个计算节点的GPU连接方式、GPU连接关系以及节点连接关系。
S402:根据各个计算节点的GPU连接方式,确定各个计算节点的GPU连接等级。
S403:根据各个计算节点的GPU连接等级、GPU连接关系以及节点连接关系,得到GPU拓扑关系。
其中,GPU连接等级用于表征GPU之间的传输性能,节点连接关系用于描述各个计算节点的连接顺序关系。
在一种实施方式中,步骤S402可以通过以下过程实现:根据GPU之间的连接关系对不同的连接方式进行评分得到GPU连接等级,对于有连接关系的GPU,用不同的得分表示传输性能,得分越高,传输性能越强。
通过上述过程,可以集群中各个计算节点的GPU连接信息,得到集群的GPU拓扑关系,从而在目标计算节点和目标GPU的调度策略中考虑GPU拓扑关系。
如图5所示,在一种实施方式中,在确定目标计算节点的情况下,步骤S302可以包括以下子步骤:
S501:确定任务请求的任务信息。
S502:根据任务请求的任务信息和GPU拓扑关系,确定目标任务的目标计算节点。
其中,任务信息包括目标任务的任务类型和/或申请的GPU数量,任务类型包括单任务和多任务。
上述过程中,根据目标计算节点的任务信息和GPU拓扑关系确定目标计算节点,在考虑GPU拓扑关系的前提下综合考虑任务信息,能够根据不同的任务信息得到不同的目标计算节点的调度策略,从而优化资源调度。
上述步骤S502在具体实现过程中,根据任务请求的任务信息和GPU拓扑关系,确定目标任务的目标计算节点时,根据任务信息的不同,包括以下三种情况:
情况一,在任务信息包括目标任务的任务类型为单任务且申请的GPU数量为1的情况下,根据GPU拓扑关系,遍历各个计算节点,选择具有最低传输性能的计算节点作为目标计算节点。
对于目标任务为单任务且只需要申请一个GPU的训练任务时,选择目标计算节点时,需要选择传输性能较差的计算节点,这样设计的原因是因为申请一个GPU的训练任务没有与其他任务通信的诉求,也就没有GPU之间的数据交互过程。这种情况下,可以将目标计算节点的调度策略设计为遍历各个计算节点,挑选出具有最低传输性能的节点作为目标计算节点,此外,在目标计算节点选择过程中还可以结合其他调度策略完成目标计算节点的选择。
通过上述分析可知,对于目标任务为单任务且只需要申请一个GPU的训练任务,此时完成该目标任务需要的GPU资源较少,因此选择的目标计算节点是具有最低传输性能的节点,实现了GPU资源的优化调度,节省GPU资源。
情况二,在任务信息包括目标任务的任务类型为单任务且申请的GPU数量大于1的情况下,根据GPU拓扑关系,遍历各个计算节点,选择具有最高传输性能的计算节点作为目标计算节点。
对于目标任务为单任务且需要申请多个GPU的训练任务时,选择目标计算节点的策略则与申请一个GPU的策略相反,需要选择传输性能最高的计算节点。因此在目标计算节点的调度策略中,通过获取的GPU拓扑关系中的GPU连接关系以及GPU连接等级,对各个计算节点按照能支持的最优传输性能进行排序,选择能够满足GPU数量的前提下传输性能最高的计算节点作为目标计算节点,此外,在目标计算节点选择过程中还可以结合其他调度策略完成目标计算节点的选择。
通过上述分析可知,对于目标任务为单任务且只需要申请多个GPU的训练任务,此时完成该目标任务需要的GPU资源较多,因此选择的目标计算节点是具有最高传输性能的节点,在保证目标任务的GPU资源前提下,选择最优的目标GPU以完成目标任务,实现了GPU资源的优化调度,提高目标任务的分布式训练的速度。
情况三,在任务信息包括目标任务的任务类型为多任务且申请的GPU数量大于1的情况下,根据GPU拓扑关系,遍历各个计算节点,确定集群中是否存在GPU资源能够满足目标任务的候选计算节点,根据是否存在候选计算节点,确定目标计算节点,进一步可以包括以下两种实现方式:
实现方式a,确定集群中存在候选计算节点能够满足该目标任务的所有GPU资源,将目标任务转化为单任务且申请的GPU数量大于1,进一步可以参考上述情况二,即从候选计算节点中选择具有最高传输性能的计算节点作为目标计算节点。
这样,在能够满足目标任务的GPU资源的前提下,选择具有最高传输性能的计算节点作为目标计算节点,实现了GPU资源的优化调度,提高目标任务的分布式训练的速度。
例如,目标任务包括2个实例,每个实例需要申请3个GPU,在该目标任务可以转化为单任务多GPU的情况下,将该目标任务转化为单任务且需要6个GPU,参照上述情况二进行目标计算节点的选择。
实现方式b,确定集群中不存在候选计算节点能够满足该目标任务的所有GPU资源,按照各个计算节点的传输性能由高到低的次序,针对该目标任务包括的每个任务,从各个计算节点中选择GPU数量能够满足该任务的计算节点作为目标计算节点。
这样,能够在不存在候选计算节点能够满足目标任务的所有GPU资源时,针对目标任务中的每个任务依次选择目标计算节点,从而能够选择多个不同的目标计算节点来共同完成目标任务,实现GPU资源的优化调度。
例如,目标任务包括2个实例分别为实例1和实例2,每个实例需要申请3个GPU,在该目标任务不可以转化为单任务多GPU的情况下,针对实例1,根据各个计算节点的传输性能由高到低的次序,从各个计算节点中选择能够满足3个GPU数量的计算节点1来执行实例1,针对实例2,根据各个计算节点的传输性能由高到低的次序,从各个计算节点中选择能够满足3个GPU数量的计算节点2来执行实例2,此时,选择的目标计算节点为计算节点1和计算节点2,在此过程中,需要保证计算节点1和计算节点2的传输性能相同。
对于目标任务为多任务且需要申请多个GPU的训练任务时,将选择目标计算节点的策略设计为遍历所有的计算节点,根据遍历结果确定是否存在GPU资源能满足该目标任务的候选计算节点;若存在,将该目标任务转为单任务且需要申请多个GPU的任务,后续过程即可参考上述情况二;若不存在,则根据目标任务包括的任务数,将各个计算节点按照传输性能从高到低进行排序,从各个计算节点中挑选能够满足对应任务的GPU数量的前提下,传输性能同等最高的多个目标计算节点,同时结合其他调度策略完成目标计算节点的选择,这种情况下选择的目标计算节点的个数与目标任务包含的实例个数相同。
本公开中计算节点的传输性能根据该计算节点的GPU传输性能来确定,能够表征该计算节点的数据传输速度。
如图6所示,在一种实施方式中,在确定目标GPU的情况下,步骤S302可以包括以下子步骤:
S601:获取目标任务的GPU连接等级。
S602:根据GPU拓扑关系,获取目标计算节点的GPU连接等级和GPU连接关系。
S603:根据目标任务的GPU连接等级、目标计算节点的GPU连接等级和GPU连接关系从目标计算节点包括的GPU中选择目标GPU。
需要说明的是,目标任务的GPU连接等级指的是完成该目标任务需要的GPU连接等级,目标计算节点的GPU连接等级指的是目标计算节点包括的多个GPU中GPU之间的GPU连接等级。
通过上述过程,能够根据目标计算节点的GPU连接关系选择性能较优的目标GPU,为完成目标任务和对应的目标GPU的绑定提供前提支持。
需要说明的是,在完成目标计算节点的选择后,针对目标任务挑选出来的GPU连接等级以注解(annotation)的方式关联到目标任务对应的各个实例中。
步骤S603中的选择GPU的过程可以对应为GPU资源调度过程,该过程是运行在每个目标计算节点上的进程,负责将分配到目标计算节点上的目标任务完成GPU的绑定。
经过上述步骤S603,对于每个目标任务都会选择对应的目标计算节点,同时将GPU连接等级写入目标任务的注解中。在执行GPU资源调度时则读取GPU连接等级,并按照目标计算节点上的GPU拓扑关系选择对应的GPU作为目标GPU,并完成目标任务与目标GPU的绑定流程。
示例性的,图7是本公开一示例性实施例示出的Kubernetes集群中的资源调度应用场景示意图。
示例性地,为了便于理解,对本公开实施例中涉及到的一些名词进行解释。
Kubernetes:简称K8s,是一种用于在资源分配设备上运行和协同容器化应用程序的系统,提供应用部署、规划、更新维护的机制。
Pod:是Kubernetes系统的基础单元,是由用户创建或部署的最小组件,是一个或多个容器的组合,也是Kubernetes系统上运行容器化应用的资源对象,也可称之为实例。
Api server:属于Kubernetes中的一个组件,其余组件可通过该组件共享状态交互。
GPU拓扑感知:是运行在Kubernetes集群中每一个计算节点上的常驻进程,该进程在运行过程中感知所在计算节点上GPU的连接信息,具体包括GPU个数以及GPU之间的连接关系并构造出GPU的连接矩阵,同时根据GPU之间的连接关系对不同的连接方式进行评分,以某种GPU为例,GPU之间的连接方式有英伟达(NVLINK)高速数据通信方式、通过高速串行计算机扩展总线标准(peripheral component interconnect express,PCIe)交换机方式(PIX)进行数据通信、贯穿多个PCIe交换机方式(PXB)完成数据交换等方式,NVLINK的通信速度优于PIX,PIX通信速度优于PXB。在构造完连接矩阵后,对于有连接关系的GPU,用不同的得分表示GPU连接等级,得分越高,传输性能越强。在采集完GPU连接关系和GPU连接等级,GPU拓扑感知进程将包括GPU连接关系和GPU连接等级的GPU连接信息上报至api server,就可以在控制面层面看到GPU拓扑关系。
Scheduler_plugin:属于调度器(scheduler)中的一个插件,主要功能为感知到需要申请GPU资源的任务请求时,根据任务请求和GPU拓扑关系生成用于选择目标计算节点的调度策略。
Scheduler是Kubernetes中的原生调度器或拓展调度器,例如可以是针对离线批作业的volcano调度器,主要功能为加载Scheduler_plugin中的调度策略,执行目标计算节点的选择过程。
示例性地,预先将Kubernetes在资源调度设备中部署以及运行。可通过apiserver接收需要申请GPU资源的任务请求,当接收到该任务请求时,对应创建pod对象。其中,一个pod对象与一个任务请求相对应,可理解为每接收到一个任务请求,便对应创建一个pod对象。
本公开中涉及到的单任务是指一个深度学习分布式训练一个pod对象,多任务是指一个深度学习分布式训练多个pod,例如AllReduce模块下的多个工作(worker)节点。
本公开中涉及的资源调度方法可以通过scheduler_plugin运行在kubernetes原生调度器或拓展调度器中,scheduler_plugin感知到目标任务需要申请GPU资源时,会根据任务请求中申请的GPU数量和任务数量做相应判断得到目标计算节点的调度策略,scheduler根据调度策略完成目标计算节点的选择,目标计算节点根据分配的目标任务完成GPU的绑定,实现GPU资源的优化调度。
示例性地,图8是本公开一示例性实施例中示出的目标计算节点的调度过程示意图,具体包括以下步骤:
在步骤S801中,接收到目标任务的训练请求时,判断目标任务是否是单任务单GPU;若是,则执行步骤S802;否则,执行步骤S503。
单任务单GPU指的是目标任务为单pod且只需要申请一个GPU。
在步骤S802中,选择传输性能最低的计算节点作为目标计算节点,并执行步骤S807。
在步骤S803中,判断目标任务是否是单任务多GPU;若是,则执行步骤S804;否则,执行步骤S805。
单任务多GPU指的是目标任务为单pod且只需要申请多个GPU。
在步骤S804中,选择满足目标任务的GPU数量同时传输性能最优的计算节点作为目标计算节点,并执行步骤S807。
在步骤S805中,判断目标任务是否可以转为单任务多GPU;若是,则执行步骤S804;否则,执行步骤S806。
在步骤S806中,针对多个pod,选择满足GPU数量同时传输性能同等最高的多个计算节点作为目标计算节点,并执行步骤S807。
在步骤S807中,针对选择的目标计算节点,将针对目标任务选择的GPU连接等级写入目标任务的注解中。
综上所述,本公开实施例中的资源调度方法,通过感知GPU拓扑关系实现资源优化调度,具体的,基于容器化环境,在目标计算节点的调度策略中以感知GPU拓扑关系为前提,保证确定目标计算节点是GPU连接性能最优的计算节点,同时在目标计算节点上增加GPU调度算法从而能够选择最优的目标GPU以完成目标任务。
请参阅图9,图9是本公开一示例性实施例示出的资源调度装置900的框图,该资源调度装置900,包括:
获取模块901,用于根据集群中各个计算节点的图形处理器GPU连接信息,获取集群的GPU拓扑关系;
确定模块902,用于在接收到针对目标任务的用于申请GPU资源的任务请求的情况下,根据任务请求和GPU拓扑关系,确定目标任务的目标计算节点和目标计算节点中的目标GPU,以完成目标任务的GPU资源调度。
在一种实施方式中,GPU连接信息包括GPU连接关系和GPU连接方式,获取模块901,包括:
GPU拓扑关系获取子模块,用于获取集群中各个计算节点的GPU连接方式、GPU连接关系以及节点连接关系;
GPU连接等级确定子模块,用于根据各个计算节点的GPU连接方式,确定各个计算节点的GPU连接等级;
GPU拓扑关系生成子模块,用于根据各个计算节点的GPU连接等级、GPU连接关系以及节点连接关系,得到GPU拓扑关系;
GPU连接等级用于表征GPU之间的传输性能。
在一种实施方式中,确定模块902,包括:
任务信息确定子模块,用于确定任务请求的任务信息;
目标计算节点确定子模块,用于根据任务请求的任务信息和GPU拓扑关系,确定目标任务的目标计算节点;
其中,任务信息包括目标任务的任务类型和/或申请的GPU数量。
在一种实施方式中,目标计算节点确定子模块,包括:
第一选择单元,用于在任务信息包括目标任务的任务类型为单任务且申请的GPU数量为1的情况下,根据GPU拓扑关系,遍历各个计算节点,选择具有最低传输性能的计算节点作为目标计算节点。
在一种实施方式中,目标计算节点确定子模块,包括:
第二选择单元,用于在任务信息包括目标任务的任务类型为单任务且申请的GPU数量大于1的情况下,根据GPU拓扑关系,遍历各个计算节点,选择具有最高传输性能的计算节点作为目标计算节点。
在一种实施方式中,目标计算节点确定子模块,包括:
第三选择单元,用于在任务信息包括目标任务的任务类型为多任务且申请的GPU数量大于1的情况下,根据GPU拓扑关系,遍历各个计算节点,在遍历结果显示存在GPU资源能够满足目标任务的候选计算节点的情况下,从候选计算节点中选择具有最高传输性能的计算节点作为目标计算节点。
在一种实施方式中,目标计算节点确定子模块,包括:
第四选择单元,用于在任务信息包括目标任务的任务类型为多任务且申请的GPU数量大于1的情况下,根据GPU拓扑关系,遍历各个计算节点,在遍历结果显示不存在GPU资源能够满足目标任务的候选计算节点的情况下,按照各个计算节点的传输性能由高到低的次序,针对所述目标任务中的每个任务,从所述各个计算节点中选择GPU数量能够满足该任务的计算节点作为所述目标计算节点。
在一种实施方式中,确定模块902,包括:
目标任务的获取子模块,用于获取目标任务的GPU连接等级;
目标计算节点的获取子模块,用于根据GPU拓扑关系,获取目标计算节点的GPU连接等级和GPU连接关系;
目标GPU选择子模块,用于根据目标任务的GPU连接等级、目标计算节点的GPU连接等级和GPU连接关系从目标计算节点包括的GPU中选择目标GPU。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图10示出了可以用来实施本公开的实施例的示例电子设备1000的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图10所示,设备1000包括计算单元1001,其可以根据存储在只读存储器(ROM)1002中的计算机程序或者从存储单元10010加载到随机访问存储器(RAM)1003中的计算机程序,来执行各种适当的动作和处理。在RAM 1003中,还可存储设备1000操作所需的各种程序和数据。计算单元1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
设备1000中的多个部件连接至I/O接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元10010,例如各种类型的显示器、扬声器等;存储单元10010,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理,例如方法XXX。例如,在一些实施例中,方法XXX可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元10010。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序加载到RAM 1003并由计算单元1001执行时,可以执行上文描述的方法XXX的一个或多个步骤。备选地,在其他实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述图3~图5所示的资源调度方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (19)

1.一种资源调度方法,包括:
根据集群中各个计算节点的图形处理器GPU连接信息,获取所述集群的GPU拓扑关系;
在接收到针对目标任务的用于申请GPU资源的任务请求的情况下,根据所述任务请求和所述GPU拓扑关系,确定所述目标任务的目标计算节点和所述目标计算节点中的目标GPU,以完成所述目标任务的GPU资源调度。
2.根据权利要求1所述的方法,其中,所述GPU连接信息包括GPU连接关系和GPU连接方式,所述根据集群中各个计算节点的GPU连接信息,获取所述集群的GPU拓扑关系,包括:
获取所述集群中各个计算节点的GPU连接方式、GPU连接关系以及节点连接关系;
根据所述各个计算节点的GPU连接方式,确定所述各个计算节点的GPU连接等级;
根据所述各个计算节点的GPU连接等级、GPU连接关系以及节点连接关系,得到所述GPU拓扑关系;
所述GPU连接等级用于表征GPU之间的传输性能。
3.根据权利要求1所述的方法,其中,所述根据所述任务请求和所述GPU拓扑关系,确定所述目标任务的目标计算节点,包括:
确定所述任务请求的任务信息;
根据所述任务请求的任务信息和所述GPU拓扑关系,确定所述目标任务的目标计算节点;
其中,所述任务信息包括所述目标任务的任务类型和/或申请的GPU数量。
4.根据权利要求3所述的方法,其中,所述根据所述任务请求的任务信息和所述GPU拓扑关系,确定所述目标任务的目标计算节点,包括:
在所述任务信息包括的所述目标任务的任务类型为单任务且申请的GPU数量为1的情况下,根据所述GPU拓扑关系,遍历各个计算节点,选择具有最低传输性能的计算节点作为所述目标计算节点。
5.根据权利要求3所述的方法,其中,所述根据所述任务请求的任务信息和所述GPU拓扑关系,确定所述目标任务的目标计算节点,包括:
在所述任务信息包括的所述目标任务的任务类型为单任务且申请的GPU数量大于1的情况下,根据所述GPU拓扑关系,遍历各个计算节点,选择具有最高传输性能的计算节点作为所述目标计算节点。
6.根据权利要求3所述的方法,其中,所述根据所述任务请求的任务信息和所述GPU拓扑关系,确定所述目标任务的目标计算节点,包括:
在所述任务信息包括的所述目标任务的任务类型为多任务且申请的GPU数量大于1的情况下,根据所述GPU拓扑关系,遍历各个计算节点;
在遍历结果显示存在GPU资源能够满足所述目标任务的候选计算节点的情况下,从所述候选计算节点中选择具有最高传输性能的计算节点作为所述目标计算节点。
7.根据权利要求3所述的方法,其中,所述根据所述任务请求的任务信息和所述GPU拓扑关系,确定所述目标任务的目标计算节点,包括:
在所述任务信息包括的所述目标任务的任务类型为多任务且申请的GPU数量大于1的情况下,根据所述GPU拓扑关系,遍历各个计算节点;
在遍历结果显示不存在GPU资源能够满足所述目标任务的候选计算节点的情况下,按照各个计算节点的传输性能由高到低的次序,针对所述目标任务中的每个任务,从所述各个计算节点中选择GPU数量能够满足该任务的计算节点作为所述目标计算节点。
8.根据权利要求1所述的方法,其中,所述根据所述任务请求和所述GPU拓扑关系,确定所述目标计算节点中的目标GPU,包括:
获取所述目标任务的GPU连接等级;
根据所述GPU拓扑关系,获取所述目标计算节点的GPU连接等级和GPU连接关系;
根据所述目标任务的GPU连接等级、所述目标计算节点的GPU连接等级和所述GPU连接关系从所述目标计算节点包括的GPU中选择目标GPU。
9.一种资源调度装置,包括:
获取模块,用于根据集群中各个计算节点的图形处理器GPU连接信息,获取所述集群的GPU拓扑关系;
确定模块,用于在接收到针对目标任务的用于申请GPU资源的任务请求的情况下,根据所述任务请求和所述GPU拓扑关系,确定所述目标任务的目标计算节点和所述目标计算节点中的目标GPU,以完成所述目标任务的GPU资源调度。
10.根据权利要求9所述的装置,其中,所述GPU连接信息包括GPU连接关系和GPU连接方式,所述获取模块,包括:
GPU拓扑关系获取子模块,用于获取所述集群中各个计算节点的GPU连接方式、GPU连接关系以及节点连接关系;
GPU连接等级确定子模块,用于根据所述各个计算节点的GPU连接方式,确定所述各个计算节点的GPU连接等级;
GPU拓扑关系生成子模块,用于根据所述各个计算节点的GPU连接等级、GPU连接关系以及节点连接关系,得到所述GPU拓扑关系;
所述GPU连接等级用于表征GPU之间的传输性能。
11.根据权利要求9所述的装置,其中,所述确定模块,包括:
任务信息确定子模块,用于确定所述任务请求的任务信息;
目标计算节点确定子模块,用于根据所述任务请求的任务信息和所述GPU拓扑关系,确定所述目标任务的目标计算节点;
其中,所述任务信息包括所述目标任务的任务类型和/或申请的GPU数量。
12.根据权利要求11所述的装置,其中,所述目标计算节点确定子模块,包括:
第一选择单元,用于在所述任务信息包括的所述目标任务的任务类型为单任务且申请的GPU数量为1的情况下,根据所述GPU拓扑关系,遍历各个计算节点,选择具有最低传输性能的计算节点作为所述目标计算节点。
13.根据权利要求9所述的装置,其中,所述目标计算节点确定子模块,包括:
第二选择单元,用于在所述任务信息包括的所述目标任务的任务类型为单任务且申请的GPU数量大于1的情况下,根据所述GPU拓扑关系,遍历各个计算节点,选择具有最高传输性能的计算节点作为所述目标计算节点。
14.根据权利要求11所述的装置,其中,所述目标计算节点确定子模块,包括:
第三选择单元,用于在所述任务信息包括的所述目标任务的任务类型为多任务且申请的GPU数量大于1的情况下,根据所述GPU拓扑关系,遍历各个计算节点,在遍历结果显示存在GPU资源能够满足所述目标任务的候选计算节点的情况下,从所述候选计算节点中选择具有最高传输性能的计算节点作为所述目标计算节点。
15.根据权利要求11所述的装置,其中,所述目标计算节点确定子模块,包括:
第四选择单元,用于在所述任务信息包括的所述目标任务的任务类型为多任务且申请的GPU数量大于1的情况下,根据所述GPU拓扑关系,遍历各个计算节点,在遍历结果显示不存在GPU资源能够满足所述目标任务的候选计算节点的情况下,按照各个计算节点的传输性能由高到低的次序,针对所述目标任务中的每个任务,从所述各个计算节点中选择GPU数量能够满足该任务的计算节点作为所述目标计算节点由高到低的次序。
16.根据权利要求9所述的装置,其中,所述确定模块,包括:
目标任务的获取子模块,用于获取所述目标任务的GPU连接等级;
目标计算节点的获取子模块,用于根据所述GPU拓扑关系,获取所述目标计算节点的GPU连接等级和GPU连接关系;
目标GPU选择子模块,用于根据所述目标任务的GPU连接等级、所述目标计算节点的GPU连接等级和所述GPU连接关系从所述目标计算节点包括的GPU中选择目标GPU。
17.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的方法。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-8中任一项所述的方法。
19.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-8中任一项所述的方法。
CN202110768951.3A 2021-07-07 2021-07-07 资源调度方法、装置、设备以及存储介质 Active CN113377520B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110768951.3A CN113377520B (zh) 2021-07-07 2021-07-07 资源调度方法、装置、设备以及存储介质
EP22173337.1A EP4083802A1 (en) 2021-07-07 2022-05-13 Resource scheduling method and apparatus, device, storage medium, and program product
US17/744,396 US20220276899A1 (en) 2021-07-07 2022-05-13 Resource scheduling method, device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110768951.3A CN113377520B (zh) 2021-07-07 2021-07-07 资源调度方法、装置、设备以及存储介质

Publications (2)

Publication Number Publication Date
CN113377520A true CN113377520A (zh) 2021-09-10
CN113377520B CN113377520B (zh) 2023-03-24

Family

ID=77581320

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110768951.3A Active CN113377520B (zh) 2021-07-07 2021-07-07 资源调度方法、装置、设备以及存储介质

Country Status (3)

Country Link
US (1) US20220276899A1 (zh)
EP (1) EP4083802A1 (zh)
CN (1) CN113377520B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113590301A (zh) * 2021-09-30 2021-11-02 苏州浪潮智能科技有限公司 一种深度学习业务的任务调度方法及相关装置
CN114359015A (zh) * 2021-12-08 2022-04-15 北京百度网讯科技有限公司 数据传输方法、装置和图形处理服务器
CN114500413A (zh) * 2021-12-17 2022-05-13 阿里巴巴(中国)有限公司 设备连接方法及装置、设备连接芯片
CN115037747A (zh) * 2022-05-31 2022-09-09 北京百度网讯科技有限公司 数据通信方法及装置、分布式系统、设备和介质
CN116866440A (zh) * 2023-09-05 2023-10-10 苏州浪潮智能科技有限公司 一种集群节点选择调度方法、装置、电子设备和存储介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116643880A (zh) * 2023-05-06 2023-08-25 上海楷领科技有限公司 集群节点处理方法、系统、电子设备及存储介质
CN116820897B (zh) * 2023-08-31 2023-11-21 山东省地质测绘院 一种集群计算机运行调度控制方法
CN117170812B (zh) * 2023-09-07 2024-05-03 中国人民解放军国防科技大学 一种基于研发运维一体化架构的数值预报计算云系统
CN117407155A (zh) * 2023-09-22 2024-01-16 国网冀北电力有限公司信息通信分公司 资源方案确定方法、装置、存储介质及电子设备
CN117217165B (zh) * 2023-11-08 2024-01-30 芯砺智能科技(江苏)有限公司 一种芯片设计前端质量行为的执行方法、装置及设备

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180276044A1 (en) * 2017-03-27 2018-09-27 International Business Machines Corporation Coordinated, topology-aware cpu-gpu-memory scheduling for containerized workloads
US10325343B1 (en) * 2017-08-04 2019-06-18 EMC IP Holding Company LLC Topology aware grouping and provisioning of GPU resources in GPU-as-a-Service platform
CN110058937A (zh) * 2018-01-18 2019-07-26 伊姆西Ip控股有限责任公司 用于调度专用处理资源的方法、设备和计算机程序产品
CN110389843A (zh) * 2019-07-29 2019-10-29 广东浪潮大数据研究有限公司 一种业务调度方法、装置、设备及可读存储介质
CN110399222A (zh) * 2019-07-25 2019-11-01 北京邮电大学 Gpu集群深度学习任务并行化方法、装置及电子设备
CN110618870A (zh) * 2019-09-20 2019-12-27 广东浪潮大数据研究有限公司 一种深度学习训练任务的工作方法及装置
CN110647999A (zh) * 2019-08-23 2020-01-03 苏州浪潮智能科技有限公司 一种基于拓扑结构提高深度学习训练速度的方法及装置
CN111865630A (zh) * 2019-04-26 2020-10-30 北京达佳互联信息技术有限公司 拓扑信息获取方法、装置、终端及存储介质
CN111880911A (zh) * 2020-06-19 2020-11-03 浪潮电子信息产业股份有限公司 一种任务负载调度方法、装置、设备及可读存储介质
CN112433844A (zh) * 2020-10-22 2021-03-02 苏州浪潮智能科技有限公司 一种资源分配方法、系统、设备及计算机可读存储介质
CN112988383A (zh) * 2021-03-12 2021-06-18 中国平安人寿保险股份有限公司 一种资源分配方法、装置、设备以及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9753780B2 (en) * 2015-07-07 2017-09-05 Sybase, Inc. Topology-aware processor scheduling

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180276044A1 (en) * 2017-03-27 2018-09-27 International Business Machines Corporation Coordinated, topology-aware cpu-gpu-memory scheduling for containerized workloads
US10325343B1 (en) * 2017-08-04 2019-06-18 EMC IP Holding Company LLC Topology aware grouping and provisioning of GPU resources in GPU-as-a-Service platform
CN110058937A (zh) * 2018-01-18 2019-07-26 伊姆西Ip控股有限责任公司 用于调度专用处理资源的方法、设备和计算机程序产品
CN111865630A (zh) * 2019-04-26 2020-10-30 北京达佳互联信息技术有限公司 拓扑信息获取方法、装置、终端及存储介质
CN110399222A (zh) * 2019-07-25 2019-11-01 北京邮电大学 Gpu集群深度学习任务并行化方法、装置及电子设备
CN110389843A (zh) * 2019-07-29 2019-10-29 广东浪潮大数据研究有限公司 一种业务调度方法、装置、设备及可读存储介质
CN110647999A (zh) * 2019-08-23 2020-01-03 苏州浪潮智能科技有限公司 一种基于拓扑结构提高深度学习训练速度的方法及装置
CN110618870A (zh) * 2019-09-20 2019-12-27 广东浪潮大数据研究有限公司 一种深度学习训练任务的工作方法及装置
WO2021051713A1 (zh) * 2019-09-20 2021-03-25 广东浪潮大数据研究有限公司 一种深度学习训练任务的工作方法及装置
CN111880911A (zh) * 2020-06-19 2020-11-03 浪潮电子信息产业股份有限公司 一种任务负载调度方法、装置、设备及可读存储介质
CN112433844A (zh) * 2020-10-22 2021-03-02 苏州浪潮智能科技有限公司 一种资源分配方法、系统、设备及计算机可读存储介质
CN112988383A (zh) * 2021-03-12 2021-06-18 中国平安人寿保险股份有限公司 一种资源分配方法、装置、设备以及存储介质

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113590301A (zh) * 2021-09-30 2021-11-02 苏州浪潮智能科技有限公司 一种深度学习业务的任务调度方法及相关装置
WO2023050712A1 (zh) * 2021-09-30 2023-04-06 苏州浪潮智能科技有限公司 一种深度学习业务的任务调度方法及相关装置
CN114359015A (zh) * 2021-12-08 2022-04-15 北京百度网讯科技有限公司 数据传输方法、装置和图形处理服务器
CN114359015B (zh) * 2021-12-08 2023-08-04 北京百度网讯科技有限公司 数据传输方法、装置和图形处理服务器
CN114500413A (zh) * 2021-12-17 2022-05-13 阿里巴巴(中国)有限公司 设备连接方法及装置、设备连接芯片
CN114500413B (zh) * 2021-12-17 2024-04-16 阿里巴巴(中国)有限公司 设备连接方法及装置、设备连接芯片
CN115037747A (zh) * 2022-05-31 2022-09-09 北京百度网讯科技有限公司 数据通信方法及装置、分布式系统、设备和介质
CN116866440A (zh) * 2023-09-05 2023-10-10 苏州浪潮智能科技有限公司 一种集群节点选择调度方法、装置、电子设备和存储介质
CN116866440B (zh) * 2023-09-05 2024-01-19 苏州浪潮智能科技有限公司 一种集群节点选择调度方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
EP4083802A1 (en) 2022-11-02
US20220276899A1 (en) 2022-09-01
CN113377520B (zh) 2023-03-24

Similar Documents

Publication Publication Date Title
CN113377520B (zh) 资源调度方法、装置、设备以及存储介质
US20200396311A1 (en) Provisioning using pre-fetched data in serverless computing environments
KR20220017348A (ko) Gpu 공유 방법, 장치, 전자 기기 및 판독 가능한 저장 매체
US20220391260A1 (en) Method and Apparatus for Creating Container, Device, Medium, and Program Product
CN110806923A (zh) 一种区块链任务的并行处理方法、装置、电子设备和介质
US20090282413A1 (en) Scalable Scheduling of Tasks in Heterogeneous Systems
CN113849312B (zh) 数据处理任务的分配方法、装置、电子设备及存储介质
CN113568860B (zh) 基于深度学习的多机集群拓扑映射方法、装置及程序产品
CN111552550A (zh) 一种基于图形处理器gpu资源的任务调度方法、设备及介质
CN114356547B (zh) 基于处理器虚拟化环境的低优阻塞方法及装置
CN114841315A (zh) 混合专家模型实现方法、系统、电子设备及存储介质
CN112540914A (zh) 单元测试的执行方法、执行装置、服务器和存储介质
CN114924745A (zh) 深度学习编译器的运行方法、装置及电子设备
CN111598571A (zh) 区块链的事务处理方法、装置、设备和存储介质
CN111767059A (zh) 深度学习模型的部署方法、装置、电子设备和存储介质
CN113726881B (zh) 通信连接建立方法、相关装置及计算机可读存储介质
CN114416357A (zh) 容器组的创建方法、装置、电子设备和介质
CN115841197A (zh) 一种路径规划方法、装置、设备及存储介质
CN115658311A (zh) 一种资源的调度方法、装置、设备和介质
CN113742075A (zh) 基于云端分布式系统的任务处理方法、装置及系统
CN114819095A (zh) 业务数据处理模型的生成方法、装置及电子设备
CN111416860B (zh) 基于区块链的事务处理方法、装置、电子设备和介质
CN114090234A (zh) 请求的调度方法、装置、电子设备和存储介质
CN114327819A (zh) 一种任务管理方法、装置、设备及存储介质
CN113760968A (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