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

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

Info

Publication number
CN116467053A
CN116467053A CN202210027685.3A CN202210027685A CN116467053A CN 116467053 A CN116467053 A CN 116467053A CN 202210027685 A CN202210027685 A CN 202210027685A CN 116467053 A CN116467053 A CN 116467053A
Authority
CN
China
Prior art keywords
service node
candidate service
computing task
computing
candidate
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
CN202210027685.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.)
China Mobile Communications Group Co Ltd
China Mobile Communications Ltd Research Institute
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Communications Ltd Research Institute
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 China Mobile Communications Group Co Ltd, China Mobile Communications Ltd Research Institute filed Critical China Mobile Communications Group Co Ltd
Priority to CN202210027685.3A priority Critical patent/CN116467053A/zh
Publication of CN116467053A publication Critical patent/CN116467053A/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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

本申请提供了一种资源调度方法及装置、设备、存储介质;其中,所述方法包括:响应于接收的资源调度请求,获取多个候选服务节点的性能信息、各个所述候选服务节点当前运行的第一计算任务的属性信息和待运行的第二计算任务的属性信息;其中,资源调度请求中至少包括运行第二计算任务所需的业务参数,性能信息至少包括候选服务节点的至少一个处理器的核数和处理器的空闲率;根据各个所述候选服务节点的性能信息和所述属性信息,从各个所述候选服务节点中选出目标服务节点;向所述目标服务节点下发所述业务参数,以使所述目标服务节点根据所述业务参数运行所述第二计算任务;如此,能够有效提高第二计算任务的运行效率。

Description

资源调度方法及装置、设备、存储介质
技术领域
本申请涉及通信技术,涉及但不限于一种资源调度方法及装置、设备、存储介质。
背景技术
在人工智能机器学习领域,为了加快模型训练的速度,通常会使用分布式的大规模中央处理器(central processing unit,CPU)/图形处理器(Graphics ProcessingUnit,GPU)计算集群来训练模型。其中,如何管理和调度节点资源来运行相关计算任务,以降低运维成本,提高任务运行效率是一个主要问题。
发明内容
有鉴于此,本申请提供一种资源调度方法及装置、设备、存储介质。
根据本申请实施例的一个方面,提供一种资源调度方法,包括:响应于接收的资源调度请求,获取多个候选服务节点的性能信息、各个所述候选服务节点当前运行的第一计算任务的属性信息和待运行的第二计算任务的属性信息;其中,所述资源调度请求中至少包括运行第二计算任务所需的业务参数,所述性能信息至少包括所述候选服务节点的至少一个处理器的核数和所述处理器的空闲率;根据各个所述候选服务节点的性能信息和所述属性信息,从各个所述候选服务节点中选出目标服务节点;向所述目标服务节点下发所述业务参数,以使所述目标服务节点根据所述业务参数运行所述第二计算任务。
可以理解地,第二计算任务的运行速度与服务节点自身的性能(至少通过候选服务节点的处理器的核数和处理器的空闲率来体现)息息相关,服务节点的性能越高,则服务节点运行第二计算任务时的运行速度越快,效率越高;当然,第二计算任务的运行速度还与服务节点上当前正在运行的第一计算任务的属性信息有关。在本申请实施例中,综合考虑到服务节点的处理器的核数和处理器的空闲率,以及服务节点当前正在运行的第一计算任务的属性信息和待运行的第二计算任务的属性信息,共同为客户端待运行的第二计算任务分配目标服务节点,从而能够有效提高第二计算任务的运行效率。
本申请实施例提供的资源调度装置,包括:响应单元,用于响应于接收的资源调度请求,从所述注册中心获取多个候选服务节点的性能信息、各个所述候选服务节点当前运行的第一计算任务的属性信息和待运行的第二计算任务的属性信息;其中,所述资源调度请求中至少包括运行第二计算任务所需的业务参数,所述性能信息至少包括所述候选服务节点的至少一个处理器的核数和所述处理器的空闲率;选择单元,用于根据各个所述候选服务节点的性能信息和所述属性信息,从各个所述候选服务节点中选出目标服务节点;下发单元,用于向所述目标服务节点下发所述业务参数,以使所述目标服务节点根据所述业务参数运行所述第二计算任务。
本申请实施例提供的电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请实施例所述的方法。
本申请实施例提供的计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例提供的所述的方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1为本申请实施例提供的一种资源调度方法的实现流程示意图;
图2为本申请实施例提供的一种资源调度方法的实现流程示意图;
图3为本申请实施例提供的一种资源调度方法的实现流程示意图;
图4为一种计算集群资源调度方法的实现流程示意图;
图5为一种计算集群资源调度系统结构图;
图6为本申请实施例资源调度装置的结构示意图;
图7为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
本申请实施例提供一种资源调度方法,该方法应用于电子设备,该电子设备在实施的过程中可以为各种类型的具有信息处理能力的设备,例如所述电子设备可以是手机、平板电脑或者台式机等移动设备,也可以是其他物联网设备、工作站或者服务器、服务器集群等。该方法所实现的功能可以通过电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该电子设备至少包括处理器和存储介质。
图1为本申请实施例提供的资源调度方法的实现流程示意图,如图1所示,该方法可以包括以下步骤101至步骤103:
步骤101,资源调度器响应于接收的资源调度请求,获取多个候选服务节点的性能信息、各个候选服务节点当前运行的第一计算任务的属性信息和待运行的第二计算任务的属性信息;其中,资源调度请求中至少包括运行第二计算任务所需的业务参数,性能信息至少包括候选服务节点的至少一个处理器的核数和处理器的空闲率。
需要说明的是,当前在候选服务节点上运行的每一个计算任务称为第一计算任务,即,第一计算任务的数量至少有一个。
这里,第二计算任务是不同于第一计算任务的。在一些实施例中,第二计算任务为客户端侧待运行的计算任务,需要资源调度器为所述待运行的第二计算任务分配计算资源。
在一些实施例中,候选服务节点的处理器至少包括CPU和/或GPU。
在一些实施例中,如图2所示,通过执行如下步骤1011至步骤1013来实现步骤101:
步骤1011,多个候选服务节点在注册中心进行注册。
在一些实施例中,候选服务节点向注册中心发送注册请求,并将自身的性能信息发送给注册中心。
其中,对于注册中心的类型不做限定,例如,注册中心为Nacos服务注册中心,或者,注册中心为Eureka服务注册中心等。
在一些实施例中,候选服务节点注册成功后,会与注册中心通过长链接或定时发送心跳的方式来维持通信,以向注册中心报告自身的存活状态,从而保证候选服务节点的可用性。
步骤1012,客户端向资源调度器发送资源调度请求。
在一些实施例中,客户端使用超文本传输协议(Hyper Text Transfer Protocol,HTTP)向资源调度器发送资源调度请求。其中,资源调度请求中包括运行第二计算任务所需的业务参数和第二计算任务的名称。
步骤1013,资源调度器响应资源调度请求,从注册中心获取多个候选服务节点的性能信息、各个候选服务节点当前运行的第一计算任务的属性信息和待运行的第二计算任务的属性信息。
在一些实施例中,候选服务节点的性能信息包括候选服务节点的至少一个处理器的核数、处理器的空闲率、候选服务节点所支持的计算任务名称、候选服务节点的唯一标识等基础信息。
在一些实施例中,第一计算任务的属性信息至少包括第一计算任务的类型,第二计算任务的属性信息至少包括第二计算任务的类型。
步骤102,资源调度器根据各个候选服务节点的性能信息和属性信息,从各个候选服务节点中选出目标服务节点。
可以理解地,第二计算任务的运行速度与服务节点自身的性能(至少通过候选服务节点的处理器的核数和处理器的空闲率来体现)息息相关,服务节点的性能越高,则服务节点运行第二计算任务时的运行速度越快,效率越高;当然,第二计算任务的运行速度还与服务节点上当前正在运行的第一计算任务的属性信息有关。在本申请实施例中,综合考虑到服务节点的处理器的核数和处理器的空闲率,以及服务节点当前正在运行的第一计算任务的属性信息和待运行的第二计算任务的属性信息,共同为客户端待运行的第二计算任务分配目标服务节点,从而能够有效提高第二计算任务的运行效率。
在一些实施例中,可以通过执行以下实施例中的步骤302至步骤313来实现步骤102。
步骤103,资源调度器至少向目标服务节点下发业务参数,以使目标服务节点根据业务参数运行第二计算任务。
图3为本申请实施例提供的资源调度方法的实现流程示意图,如图3所示,该方法可以包括以下步骤301至步骤314:
步骤301,资源调度器响应于接收的资源调度请求,获取多个候选服务节点的性能信息和各个候选服务节点当前运行的第一计算任务的类型和第二计算任务的类型;
其中,资源调度请求中至少包括运行第二计算任务所需的业务参数,性能信息至少包括候选服务节点的至少一个处理器的核数和处理器的空闲率。
步骤302,资源调度器将候选服务节点的同一处理器的核数和空闲率进行融合,得到对应得分。
可以理解地,不同的候选服务节点的处理器的核数和处理器的空闲率一般是不同的,候选服务节点的处理器的核数和处理器的空闲率在一定程度上能够反映出该候选服务节点的性能。
这里,对于同一处理器的核数和空闲率的融合方式不做限定。例如,在一些实施例中,可以通过将同一处理器的核数和空闲率相乘的方式,得到该处理器的对应得分。
以候选服务节点的处理器为CPU和GPU为例进行说明,设有一组候选服务节点S={S0,S1,...Sn},候选服务节点Si上的CPU的核数用C(Si)来表示,CPU的空闲率用FC(Si)来表示,候选服务节点Si上的GPU的核数用G(Si)来表示,GPU的空闲率用FG(Si)来表示,则CPU处理器的对应得分为C(Si)*FC(Si);GPU处理器的对应得分为G(Si)*FG(Si)。
步骤303,资源调度器将候选服务节点的各个处理器的得分进行加权,得到候选服务节点的性能得分。
这里,候选服务节点的各个处理器的得分的权值可以根据候选服务节点的处理器使用倾向来配置。
相应地,候选服务节点Si的性能得分W(Si)可表示为公式1所示:
W(Si)=m1*C(Si)*FC(Si)+m2*G(Si)*FG(Si) (公式1);
其中,m1为CPU空闲率FC(Si)相对于W(Si)的加权系数,m2为GPU空闲率FG(Si)相对于W(Si)的加权系数,且满足m1+m2=1,FC(Si)∈[0,1],FG(Si)∈[0,1],加权系数m1和m2的值可以根据候选服务节点的CPU、GPU使用倾向来配置。例如,在一些实施例中,可以配置为m1=0.5,m2=0.5。
步骤304,资源调度器获取候选服务节点当前运行的第一计算任务的第一类型权值和第二计算任务的第二类型权值。
可以理解地,对于某一个候选服务节点Si而言,当前在其上运行的第一计算任务可以是多种多样的。对于不同类型的第一计算任务,其对于的类型权值也是不同的,当然,在某一个候选服务节点Si上,可能同时运行多个同一类型的第一计算任务。
步骤305,资源调度器根据候选服务节点的各个类型的第一计算任务的数量和候选服务节点的各个第一计算任务的第一类型权值,确定第一计算任务在候选服务节点的第一资源占比。
这里,对于根据第一计算任务的数量和第一计算任务的类型权值来确定第一计算任务在候选服务节点的第一资源占比的方式不做限定。例如,在一些实施例中,可以通过将第一计算任务的数量和第一计算任务的类型权值相乘的方式来确定某一类第一计算任务的第一资源占比,然后,再将每一类第一计算任务对应的第一资源占比相加,从而得到总的第一计算任务在候选服务节点的第一资源占比。
举例来说,设有一组不同类型的第一计算任务T={T0,T1,...Tn},每种第一计算任务的类型权值定义为R={R0,R1,...Rn},Cij为候选服务节点Si上运行的第j种第一计算任务的数量,j∈[0,n],则候选服务节点Si上所有正在运行的第一计算任务的第一资源占比如公式2所示:
步骤306,资源调度器根据第二计算任务的数量和第二计算任务的第二类型权值,确定第二计算任务在候选服务节点的第二资源占比。
这里,对于根据第二计算任务的数量和第二计算任务的类型权值来确定第二计算任务在候选服务节点的第二资源占比的方式也不做限定。例如,在一些实施例中,可以通过将第二计算任务的数量和第二计算任务的类型权值相乘的方式来确定第二计算任务的第二资源占比。
步骤307,资源调度器对第一资源占比和第二资源占比进行融合,得到第一计算任务和第二计算任务在候选服务节点上的资源总占比。
这里,对于第一资源占比和第二资源占比的融合方式不做限定。例如,在一些实施例中,可以通过将第一资源占比和第二资源占比相加的方式来确定第一计算任务和第二计算任务在候选服务节点上的资源总占比。
步骤308,资源调度器根据性能得分和资源总占比,确定候选服务节点的第一负载值。
这里,对于根据性能得分和资源总占比确定候选服务节点的第一负载值的方式并不做限定。例如,在一些实施例中,可以通过对资源总占比和性能得分求除的方式来得到候选服务节点的第一负载值。
举例来说,候选服务节点Si上所有正在运行的第一计算任务的第一资源占比为M(Si),第二计算任务在候选服务节点Si上的第二资源占比为N(Si),候选服务节点Si的性能得分为W(Si),则候选服务节点Si上所有正在运行的任务的资源总占比与候选服务节点Si自身性能得分的比值如公式3所示:
P(Si)=(M(Si)+N(Si))/W(Si) (公式3);
步骤309,资源调度器确定各个候选服务节点的第一负载值是否满足第一条件,如果是,执行步骤310;否则,执行步骤311。
需要说明的是,在选择目标服务节点时,资源调度器是以各个候选服务节点上运行第二计算任务为前提,计算每一个候选服务节点的第一负载值的。这样,如果计算出候选服务节点的第一负载值有满足第一条件的,则执行步骤310,将该候选服务节点作为目标服务节点;如果所有的候选服务节点的第一负载值均不满足第一条件,说明没有候选服务节点有足够的资源空间去运行第二计算任务,则继续执行步骤311。
步骤310,资源调度器从各个候选服务节点中选出第一负载值满足第一条件的候选服务节点作为目标服务节点。
这里,对于选择目标服务节点的方式并不做限定。例如,在一些实施例中,目标服务节点满足第一条件为:目标服务节点的第一负载值最小,且目标服务节点的第一负载值小于1。即,在目标服务节点的第一负载值不超出其最大承载能力时再运行第二计算任务。
步骤311,资源调度器存储第二计算任务的业务参数;
步骤312,资源调度器重新根据各个候选服务节点的性能信息、当前运行的第一计算任务的属性信息和待运行的第二计算任务的属性信息,确定各个候选服务节点的第二负载值。
在一些实施例中,资源调度器在挑选不出目标服务节点运行第二计算任务时,可以先将第二计算任务加入先进先出队列中,等待各个候选服务节点中至少一个第一计算任务运行结束释放节点资源后,重新根据候选服务节点当前正在运行的第一计算任务(数量少于先前运行的第一计算任务)的属性信息和待运行第二计算任务的属性信息,重新计算各个候选服务节点的第二负载值。
步骤313,资源调度器从各个候选服务节点中选出第二负载值满足第一条件的候选服务节点作为新的目标服务节点。
当确定各个候选服务节点中最小的第二负载值小于1时,说明该候选服务节点有足够的计算资源去运行第二计算任务,则将该候选服务节点作为目标服务节点,以尝试在目标服务节点上运行第二计算任务。
步骤314,资源调度器向目标服务节点下发业务参数,以使目标服务节点根据业务参数运行第二计算任务。
可以理解地,资源调度器下发第二计算任务是一个异步的调用过程,因此资源调度器只能感知到第二计算任务的下发是否成功,而无法获知第二计算任务何时运行完毕。
为了在第二计算任务运行完毕之后,及时的更新目标服务节点当前的负载值。在一些实施例中,资源调度器接收目标服务节点发送的资源释放请求;其中,资源释放请求是目标服务节点在完成第二计算任务的情况下发送的;随后,资源调度器响应于资源释放请求,根据目标服务节点上当前正在运行的计算任务的属性信息,更新目标服务节点的负载值,从而方便资源调度器重新根据其他候选服务节点的负载值和当前的目标服务节点的新的负载值,选择新的目标服务节点,以运行新的计算任务。
在一些实施例中,资源调度器在接收目标服务节点发送的资源释放请求后,如果资源调度器的先进先出任务队列中有正在排队的计算任务,还可以取出队列头部的计算任务尝试运行。
在一些实施例中,资源调度器在将第二计算任务的业务参数下发给目标服务节点时,还可以将第二计算任务的业务参数存储在延时队列中。这样,如果目标服务节点在运行第二计算任务时,未在规定时间内向资源调度器发送资源释放请求,且延时队列中存储的第二计算任务已经达到其设置的超时时间,则自动更新目标服务节点的负载值。
在人工智能机器学习领域,为了加快模型训练的速度,通常会使用分布式的大规模CPU/GPU计算集群来训练模型。为了管理和调度计算集群的节点资源,在一些实施例中,实施以下两种技术方案来实现:
(1)使用海杜普(Hadoop)平台上的YARN资源管理和调度器,YARN采用了分层的集群框架,将资源管理和作业调度功能分开,实现了对CPU、内存资源的分配和调度,可支持多种计算框架运行在YARN上面,比如Storm、Spark等。
(2)使用Kubernetes平台上的资源管理和调度器,根据特定的调度算法和策略,将Pod调度到最优的计算节点上面去,从而更加合理、更加充分的利用集群资源,除了使用默认的调度策略,可支持自定义调度策略。
然而,在上述两种技术方案中,存在以下几点不足:
(1)不支持GPU计算集群资源的管理和调度,需要通过修改YARN和Kubernetes调度器源码的方式,扩展其调度功能,来实现GPU资源的调度。虽然可以充分利用YARN和Kubernetes调度器已有的一些功能,但是由于YARN和Kubernete调度器的源码比较复杂,其自身也存在一些限制,对其进行功能扩展或二次开发,技术难度很大,调试困难,开发周期长,人力成本较高。
(2)运行YARN和Kubernetes调度器的平台(Hadoop和Kubernetes),其自身的功能模块非常多,依赖的第三方中间件也很多,平台很重,平台要运行起来,其自身就要占用很多硬件资源,资源占用多,运维成本很高。
基于此,下面将说明本申请实施例在一个实际的应用场景中的示例性应用。
在本申请实施例中,提出了一种计算集群资源调度方法及调度系统,通过融合Nacos注册中心,为不同的计算任务和计算节点服务器赋予不同的权值,根据节点负载情况动态分配计算作业任务,基于此资源调度方法自研独立的资源调度系统,实现了高效的CPU/GPU节点资源调度。该方案不依赖运行YARN和Kubernetes调度器的重量级平台(Hadoop和Kubernetes),更不需要修改YARN和Kubernetes调度器的源码,仅仅依赖了服务注册中心这一轻量级中间件,解决了直接使用Hadoop和Kubernetes等开源平台,需要对其源码进行扩展或二次开发,技术难度大,调试困难,开发周期长,人力成本高,平台自身较重,资源占用多,运维成本高等问题。
如图4所示,本申请实施例所述计算集群资源调度方法,实现方案的具体步骤如下步骤(1)至步骤(5)所示:
步骤(1),计算节点注册:将运行具体计算任务的计算集群节点注册到Nacos服务注册中心(注册中心的一种示例)(图4中的流程①),向Nacos服务注册中心发送注册请求时,同步将计算节点所在服务器的CPU核心数、GPU核心数、节点所支持的计算任务名称、节点唯一标识这些基础信息(即候选服务节点的性能信息)放到Nacos的元数据中发送给Nacos服务注册中心。计算节点注册成功之后,计算节点和Nacos服务注册中心通过长链接或定时发送心跳的方式来维持通信,向Nacos服务注册中心报告节点的存活状态,确保计算节点在集群中的可用性。如果无特别说明,下文称这些计算节点为资源提供方。
步骤(2),发起调度请求:使用计算资源的客户端,向计算集群资源管理和调度中心发起计算资源调度请求(图4中的流程②),调度中心将进行计算节点资源的分配。资源调度请求使用HTTP协议发送,请求体包含计算任务的名称、运行计算任务所需的业务参数。如果无特别说明,下文称这些使用计算资源的客户端为资源消费方,称计算集群资源管理和调度中心为资源调度器。
步骤(3),选取最优节点:资源调度器在收到资源消费方的调度请求之后,从Nacos服务注册中心获取所有计算节点的注册信息(图4中的流程③),包含了节点唯一标识、节点IP地址、节点端口、节点所支持的计算任务名称、CPU核心数、GPU核心数等信息。然后从这些计算节点中选取一个最优的节点(即目标服务节点)来运行计算任务(图4中的流程④),本申请实施例中所述的最优节点选取方法,包括下列步骤A至步骤B:
步骤A,对计算节点所在的每一台服务器,计算出服务器节点上所有正在运行、待运行的计算任务权值之和(即资源总占比)与服务器节点自身性能权值(即性能得分)的比值(即负载值)。
步骤B,当有新的计算任务向调度器请求分配节点资源时,将新的计算任务分配到按步骤(1)中所述方法,计算出的服务器节点上所有正在运行、待运行的计算任务权值之和与服务器节点自身性能权值的比值最小的服务器节点上,此节点就是运行这个新计算任务的最优节点。
其中,在步骤A中所述的服务器节点自身性能权值的计算方法,可以通过执行上述实施例中的步骤302至步骤303中的方法来实现。
在步骤B中所述的服务器节点上所有正在运行、待运行的计算任务权值之和的计算方法,可以通过执行上述实施例中的步骤302至步骤307中的方法来实现。
步骤(4),向计算节点下发计算任务:从步骤(3)得到最优的服务器节点之后,根据服务器节点的IP地址和端口,资源调度器将向资源提供方所在的服务器节点下发计算任务(图4中的流程⑤),需要将资源消费方提供的运行计算任务所需的业务参数透传给资源提供方,同时,会产生一个全局唯一的任务ID,并将任务ID也下发给计算资源提供方。计算任务下发成功后,还需要将此次下发的计算任务信息加入到超时队列中(图4中的流程⑥),用于处理计算任务运行超时的异常情况。
步骤(5),释放和回收计算节点资源:调度器下发计算任务是一个异步的调用过程,因此调度器只能感知到计算任务的下发是否成功,无法获知计算任务何时运行完毕。为了在计算任务运行完毕之后,及时的释放和回收计算节点的资源,计算任务运行完毕后,资源提供方需要使用步骤(4)下发的任务ID,向调度器发送释放计算节点资源的请求(图4中的流程⑦),调度器将回收其占用的计算节点资源。同时,如果调度器的任务队列中有正在排队的计算任务,还会取出队列头部的计算任务尝试运行。如果资源提供方在运行计算任务时,未在规定时间内向调度器发送释放计算节点资源的请求,直到步骤(4)中延时队列中的元素达到其设置的超时时间,就需要将队列中的元素取出,根据其保存的计算任务信息,执行步骤(5),释放和回收其占用的计算节点资源(图4中的流程⑧)。
在人工智能机器学习领域,为了加快模型训练的速度,通常会使用分布式的大规模CPU/GPU计算集群来训练模型。根据本申请实施例中提出的方法,能够实现一种计算集群资源调度系统,通过该调度系统进行CPU/GPU计算集群节点资源的管理和调度。图5给出一种计算集群资源调度系统结构图。
资源提供方集群:即上文所述步骤(1)中运行具体计算任务的计算节点组成的集群,不同的计算任务根据其时间复杂度赋予不同的任务权值,表征该计算任务运行时对计算节点资源的占用率。
资源消费方集群:即上文所述步骤(2)中使用计算资源的客户端组成的集群,客户端集群通过Rest API接口与调度器集群通信,客户端可以使用任意编程语言实现。
Nacos服务注册中心:即上文所述步骤(1)中为计算节点提供服务注册的中间件,调度器集群和资源消费方集群也需要注册到Nacos服务注册中心。
资源调度器集群:即上文所述步骤(2)中资源管理和调度中心组成的集群,本发明实现的调度系统中,调度器集群节点是无状态的,可以进行故障转移和负载均衡,保证调度器的高可用和高性能。
任务队列:即上文所述步骤(3)中计算集群中没有足够的资源来运行计算任务时,用来缓存计算任务的一个先进先出队列。本发明实现的调度系统用Redis中的List数据结构来实现先进先出队列。
超时队列:即上文所述步骤(4)和步骤(5)中用来处理计算任务运行超时异常情况的一个延时队列。本发明实现的调度系统用RocketMQ消息队列中的延迟消息来实现超时任务的处理。
在本申请实施例中,提出了一种计算集群资源调度方法及调度系统,通过融合Nacos注册中心,为不同的计算任务和计算节点服务器赋予不同的权值,根据节点负载情况动态分配计算作业任务,基于此资源调度方法自研独立的资源调度系统,实现了高效的CPU/GPU节点资源调度。该方案不依赖运行YARN和Kubernetes调度器的重量级平台(Hadoop和Kubernetes),更不需要修改YARN和Kubernetes调度器的源码,仅仅依赖了服务注册中心这一轻量级中间件,解决了直接使用Hadoop和Kubernetes等开源平台,需要对其源码进行扩展或二次开发,技术难度大,调试困难,开发周期长,人力成本高,平台自身较重,资源占用多,运维成本高等问题。
本申请实施例中提出的方法具有以下优点:(1)不需要修改YARN和Kubernetes调度器的源码,就可以实现GPU资源的调度,技术实现上简单灵活,调试简单,总体成本较低。
(2)不依赖运行YARN和Kubernetes调度器的重量级平台,资源占用少,运维成本低。
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等;或者,将不同实施例中步骤组合为新的技术方案。
基于前述的实施例,本申请实施例提供一种资源调度装置,该装置包括所包括的各模块、以及各模块所包括的各单元,可以通过处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。
图6为本申请实施例资源调度装置的结构示意图,如图6所示,所述装置600包括响应单元601、选择单元602和下发单元603,其中:
响应单元601,用于响应于接收的资源调度请求,从所述注册中心获取多个候选服务节点的性能信息、各个所述候选服务节点当前运行的第一计算任务的属性信息和待运行的第二计算任务的属性信息;其中,所述资源调度请求中至少包括运行第二计算任务所需的业务参数,所述性能信息至少包括所述候选服务节点的至少一个处理器的核数和所述处理器的空闲率;选择单元602,用于根据各个所述候选服务节点的性能信息和所述属性信息,从各个所述候选服务节点中选出目标服务节点;下发单元603,用于向所述目标服务节点下发所述业务参数,以使所述目标服务节点根据所述业务参数运行所述第二计算任务。
在一些实施例中,所述装置还包括确定单元,所述确定单元,用于根据所述候选服务节点的至少一个处理器的核数、所述处理器的空闲率和所述属性信息,确定所述候选服务节点的第一负载值;选择单元602,用于根据各个所述候选服务节点的第一负载值,从各个所述候选服务节点中选出目标服务节点。
在一些实施例中,所述属性信息包括所述第一计算任务的类型;所述装置还包括融合单元、加权单元和获取单元,所述融合单元,用于将所述候选服务节点的同一处理器的核数和空闲率进行融合,得到对应得分;所述加权单元,用于将所述候选服务节点的各个处理器的得分进行加权,得到所述候选服务节点的性能得分;所述获取单元,用于获取所述候选服务节点当前运行的第一计算任务的第一类型权值和所述第二计算任务的第二类型权值;所述确定单元,用于根据所述候选服务节点的各个类型的第一计算任务的数量、所述候选服务节点的各个第一计算任务的第一类型权值、所述第二计算任务的数量和所述第二计算任务的第二类型权值,确定所述第一计算任务和所述第二计算任务在所述候选服务节点上的资源总占比;所述确定单元,还用于根据所述性能得分和所述资源总占比,确定所述候选服务节点的第一负载值。
在一些实施例中,所述确定单元,用于根据所述候选服务节点的各个类型的第一计算任务的数量和所述候选服务节点的各个第一计算任务的第一类型权值,确定所述第一计算任务在所述候选服务节点的第一资源占比;以及,根据所述第二计算任务的数量和所述第二计算任务的第二类型权值,确定所述第二计算任务在所述候选服务节点的第二资源占比;所述融合单元,用于对所述第一资源占比和所述第二资源占比进行融合,得到所述第一计算任务和所述第二计算任务在所述候选服务节点上的资源总占比。
在一些实施例中,选择单元602,用于从各个所述候选服务节点中选出第一负载值满足第一条件的候选服务节点作为所述目标服务节点。
在一些实施例中,所述装置还包括存储单元,所述存储单元,用于在各个所述候选服务节点的第一负载值不满足所述第一条件的情况下,存储所述第二计算任务的业务参数;所述确定单元,用于重新根据各个所述候选服务节点的性能信息、当前运行的第一计算任务的属性信息和待运行的第二计算任务的属性信息,确定各个候选服务节点的第二负载值;选择单元602,用于从各个所述候选服务节点中选出第二负载值满足所述第一条件的候选服务节点作为新的目标服务节点;下发单元603,用于向所述新的目标服务节点下发所述业务参数,以便所述新的目标服务节点根据所述业务参数运行所述第二计算任务。
在一些实施例中,所述接收单元,用于接收所述目标服务节点发送的资源释放请求;其中,所述资源释放请求是所述目标服务节点在完成所述第二计算任务的情况下发送的;响应单元601,用于响应于所述资源释放请求,更新所述目标服务节点的负载值。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请实施例中图6所示的资源调度装置对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。也可以采用软件和硬件结合的形式实现。
需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。
本申请实施例提供一种资源调度系统,所述资源调度系统至少包括资源调度器和注册中心;其中,所述资源调度器,用于响应于接收的资源调度请求,从所述注册中心获取多个候选服务节点的性能信息和各个所述候选服务节点当前运行的第一计算任务的属性信息;其中,所述资源调度请求中至少包括运行第二计算任务所需的业务参数,所述性能信息至少包括所述候选服务节点的至少一个处理器的核数和所述处理器的空闲率;以及,根据各个所述候选服务节点的性能信息和所述属性信息,从各个所述候选服务节点中选出目标服务节点;向所述目标服务节点下发所述业务参数,以使所述目标服务节点根据所述业务参数运行所述第二计算任务。
本申请实施例提供一种电子设备,图7为本申请实施例的电子设备的硬件实体示意图,如图7所示,所述电子设备700包括存储器701和处理器702,所述存储器701存储有可在处理器702上运行的计算机程序,所述处理器702执行所述程序时实现上述实施例中提供的方法中的步骤。
需要说明的是,存储器701配置为存储由处理器702可执行的指令和应用,还可以缓存在处理器702以及电子设备700中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(RandomAccess Memory,RAM)实现。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的方法中的步骤。
本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法实施例提供的方法中的步骤。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质、存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如对象A和/或对象B,可以表示:单独存在对象A,同时存在对象A和对象B,单独存在对象B这三种情况。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理模块;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能模块可以全部集成在一个处理单元中,也可以是各模块分别单独作为一个单元,也可以两个或两个以上模块集成在一个单元中;上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种资源调度方法,其特征在于,所述方法包括:
响应于接收的资源调度请求,获取多个候选服务节点的性能信息、各个所述候选服务节点当前运行的第一计算任务的属性信息和待运行的第二计算任务的属性信息;其中,所述资源调度请求中至少包括运行第二计算任务所需的业务参数,所述性能信息至少包括所述候选服务节点的至少一个处理器的核数和所述处理器的空闲率;
根据各个所述候选服务节点的性能信息和所述属性信息,从各个所述候选服务节点中选出目标服务节点;
向所述目标服务节点下发所述业务参数,以使所述目标服务节点根据所述业务参数运行所述第二计算任务。
2.根据权利要求1所述的方法,其特征在于,所述根据各个所述候选服务节点的性能信息和所述属性信息,从各个所述候选服务节点中选出目标服务节点,包括:
根据所述候选服务节点的至少一个处理器的核数、所述处理器的空闲率和所述属性信息,确定所述候选服务节点的第一负载值;
根据各个所述候选服务节点的第一负载值,从各个所述候选服务节点中选出目标服务节点。
3.根据权利要求2所述的方法,其特征在于,所述属性信息包括计算任务的类型;所述根据所述候选服务节点的至少一个处理器的核数、所述处理器的空闲率和所述属性信息,确定所述候选服务节点的第一负载值,包括:
将所述候选服务节点的同一处理器的核数和空闲率进行融合,得到对应得分;
将所述候选服务节点的各个处理器的得分进行加权,得到所述候选服务节点的性能得分;
获取所述候选服务节点当前运行的第一计算任务的第一类型权值和所述第二计算任务的第二类型权值;
根据所述候选服务节点的各个类型的第一计算任务的数量、所述候选服务节点的各个第一计算任务的第一类型权值、所述第二计算任务的数量和所述第二计算任务的第二类型权值,确定所述第一计算任务和所述第二计算任务在所述候选服务节点上的资源总占比;
根据所述性能得分和所述资源总占比,确定所述候选服务节点的第一负载值。
4.根据权利要求3所述的方法,其特征在于,所述根据所述候选服务节点的各个类型的第一计算任务的数量、所述候选服务节点的各个第一计算任务的第一类型权值、所述第二计算任务的数量和所述第二计算任务的第二类型权值,确定所述第一计算任务和所述第二计算任务在所述候选服务节点上的资源总占比,包括:
根据所述候选服务节点的各个类型的第一计算任务的数量和所述候选服务节点的各个第一计算任务的第一类型权值,确定所述第一计算任务在所述候选服务节点的第一资源占比;
根据所述第二计算任务的数量和所述第二计算任务的第二类型权值,确定所述第二计算任务在所述候选服务节点的第二资源占比;
对所述第一资源占比和所述第二资源占比进行融合,得到所述第一计算任务和所述第二计算任务在所述候选服务节点上的资源总占比。
5.根据权利要求2所述的方法,其特征在于,所述根据各个所述候选服务节点的第一负载值,从各个所述候选服务节点中选出目标服务节点,包括:
从各个所述候选服务节点中选出第一负载值满足第一条件的候选服务节点作为所述目标服务节点。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在各个所述候选服务节点的第一负载值不满足所述第一条件的情况下,存储所述第二计算任务的业务参数;
重新根据各个所述候选服务节点的性能信息、当前运行的第一计算任务的属性信息和待运行的第二计算任务的属性信息,确定各个候选服务节点的第二负载值;
从各个所述候选服务节点中选出第二负载值满足所述第一条件的候选服务节点作为新的目标服务节点;
向所述新的目标服务节点下发所述业务参数,以便所述新的目标服务节点根据所述业务参数运行所述第二计算任务。
7.根据权利要求5或6任一项所述的方法,其特征在于,所述方法还包括:
接收所述目标服务节点发送的资源释放请求;其中,所述资源释放请求是所述目标服务节点在完成所述第二计算任务的情况下发送的;
响应于所述资源释放请求,更新所述目标服务节点的负载值。
8.一种资源调度装置,其特征在于,包括:
响应单元,用于响应于接收的资源调度请求,从所述注册中心获取多个候选服务节点的性能信息、各个所述候选服务节点当前运行的第一计算任务的属性信息和待运行的第二计算任务的属性信息;其中,所述资源调度请求中至少包括运行第二计算任务所需的业务参数,所述性能信息至少包括所述候选服务节点的至少一个处理器的核数和所述处理器的空闲率;
选择单元,用于根据各个所述候选服务节点的性能信息和所述属性信息,从各个所述候选服务节点中选出目标服务节点;
下发单元,用于向所述目标服务节点下发所述业务参数,以使所述目标服务节点根据所述业务参数运行所述第二计算任务。
9.一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。
CN202210027685.3A 2022-01-11 2022-01-11 资源调度方法及装置、设备、存储介质 Pending CN116467053A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210027685.3A CN116467053A (zh) 2022-01-11 2022-01-11 资源调度方法及装置、设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210027685.3A CN116467053A (zh) 2022-01-11 2022-01-11 资源调度方法及装置、设备、存储介质

Publications (1)

Publication Number Publication Date
CN116467053A true CN116467053A (zh) 2023-07-21

Family

ID=87172231

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210027685.3A Pending CN116467053A (zh) 2022-01-11 2022-01-11 资源调度方法及装置、设备、存储介质

Country Status (1)

Country Link
CN (1) CN116467053A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117009327A (zh) * 2023-09-27 2023-11-07 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机设备、介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117009327A (zh) * 2023-09-27 2023-11-07 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机设备、介质
CN117009327B (zh) * 2023-09-27 2024-01-05 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机设备、介质

Similar Documents

Publication Publication Date Title
CN109788046B (zh) 一种基于改进蜂群算法的多策略边缘计算资源调度方法
CN109697122B (zh) 任务处理方法、设备及计算机存储介质
CN112380020A (zh) 一种算力资源分配方法、装置、设备及存储介质
WO2013107012A1 (zh) 分布式计算任务处理系统和任务处理方法
CN110990154B (zh) 一种大数据应用优化方法、装置及存储介质
CN111343288B (zh) 作业调度方法、系统及计算设备
CN112148454A (zh) 一种支持串行和并行的边缘计算方法及电子设备
CN111506434A (zh) 一种任务处理方法、装置及计算机可读存储介质
CN115686805A (zh) Gpu资源共享的方法和装置、调度gpu资源共享的方法和装置
CN109002364A (zh) 进程间通信的优化方法、电子装置以及可读存储介质
CN116467053A (zh) 资源调度方法及装置、设备、存储介质
CN111796933A (zh) 资源调度方法、装置、存储介质和电子设备
WO2022002247A1 (zh) 资源调度方法、电子设备及存储介质
CN111858040A (zh) 一种资源调度方法和装置
Sharma et al. A Dynamic optimization algorithm for task scheduling in cloud computing with resource utilization
CN109783236A (zh) 用于输出信息的方法和装置
CN110727511B (zh) 应用程序的控制方法、网络侧设备和计算机可读存储介质
Wu et al. Abp scheduler: Speeding up service spread in docker swarm
CN113127179A (zh) 资源调度方法、装置、电子设备及计算机可读介质
CN107948330A (zh) 一种云环境下基于动态优先级的负载均衡策略
CN114327846A (zh) 集群的扩容方法、装置、电子设备及计算机可读存储介质
CN110347502A (zh) 云主机服务器的负载均衡调度方法、装置及电子设备
CN108829516B (zh) 一种图形处理器资源虚拟化调度方法
CN116010051A (zh) 一种联邦学习多任务调度方法及装置
CN114741200A (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