CN114416381A - 处理资源超分方法、装置、设备及存储介质 - Google Patents

处理资源超分方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114416381A
CN114416381A CN202210309454.1A CN202210309454A CN114416381A CN 114416381 A CN114416381 A CN 114416381A CN 202210309454 A CN202210309454 A CN 202210309454A CN 114416381 A CN114416381 A CN 114416381A
Authority
CN
China
Prior art keywords
task
processing resource
super
processing
low
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
CN202210309454.1A
Other languages
English (en)
Other versions
CN114416381B (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.)
Vita Technology Beijing Co ltd
Original Assignee
Vita Technology Beijing 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 Vita Technology Beijing Co ltd filed Critical Vita Technology Beijing Co ltd
Priority to CN202210309454.1A priority Critical patent/CN114416381B/zh
Publication of CN114416381A publication Critical patent/CN114416381A/zh
Application granted granted Critical
Publication of CN114416381B publication Critical patent/CN114416381B/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/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/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/5038Allocation 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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种处理资源超分方法、装置、设备及存储介质,涉及计算机技术领域。其中,方法包括:获取第一任务、第二任务以及超分配置项;在超分配置项包括第一超分配置参数的情况下,根据超分配置项,分别确定第一任务和第二任务的处理资源分配信息;按照处理资源分配信息,加载第一任务和第二任务;其中,处理资源分配信息包括第一处理资源的分配量以及第二处理资源的分配量。该方法结合第二处理资源,通过对第一处理资源的超分,实现同时加载第一任务和第二任务,这避免了第一处理资源在一个时刻只能加载一个任务而导致的第一处理资源浪费的情况。

Description

处理资源超分方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,更具体地,涉及一种处理资源超分方法、一种处理资源超分装置、一种电子设备以及一种计算机可读存储介质。
背景技术
在通常情况下,GPU显存占用率和GPU利用率不会同时达到一个饱和的状态。在该情况下,GPU显存占用率和GPU利用率中的一个势必存在浪费的情况。
例如,当GPU显存占用率低而利用率高时,GPU在同时加载多个任务时,其中某些任务的性能将受到影响。为了避免该影响,此时GPU在一个时刻仅加载一个任务。而这时GPU显存资源就会存在一定程度的浪费。
因此,如何避免GPU浪费,成为亟待解决的技术问题。
发明内容
本申请的一个目的是提供一种处理资源超分的新技术方案。
根据本申请的第一方面,提供了一种处理资源超分方法,所述方法包括:
获取第一任务、第二任务以及超分配置项;
在所述超分配置项包括第一超分配置参数的情况下,根据所述超分配置项,分别确定所述第一任务和所述第二任务的处理资源分配信息;
按照所述处理资源分配信息,加载所述第一任务和所述第二任务;
其中,所述处理资源分配信息包括第一处理资源的分配量以及第二处理资源的分配量。
可选的,所述方法还包括:
在所述超分配置参数包括第二超分配置参数的情况下,根据所述超分配置项,确定所述第一任务和所述第二任务中的高优先级的任务及低优先级的任务;
将第一处理资源中所述低优先级任务的关联信息交换至第二处理资源中;
暂停所述第一处理资源加载所述低优先级任务的操作,以及控制所述第一处理资源加载所述高优先级处理任务;
在所述高优先级任务加载结束的情况下,恢复所述第一处理资源加载所述低优先级任务的操作;
将所述关联信息退换至所述第一处理资源中以由所述第一处理资源加载继续所述低优先级任务。
可选的,所述方法在所述将第一处理资源中所述低优先级任务的关联信息交换至第二处理资源中之前,包括:
在第一任务的第一处理资源需求量与所述第二任务的第一处理资源需求量的和,大于所述第一处理资源余量的情况下,触发所述将第一处理资源中所述低优先级任务的关联信息交换至第二处理资源中。
可选的,所述方法在所述按照所述处理资源需求信息,加载所述第一任务和所述第二任务之前,包括:
在所述第一处理资源分配量大于第一处理资源余量的情况下,将所述第一处理资源分配量更新为所述第一处理资源余量,将更新前所述第一处理资源分配量与第一处理资源余量的差值,与第二处理资源分配量的和更新为所述第二处理资源分配量。
可选的,所述第一超分配置参数包括:敏感度标识、低敏感度任务可用第一处理资源的上限值以及所述低敏感度任务的处理资源总需求量;
或者,所述第一超分配置参数包括:所述敏感度标识、所述低敏感度任务可用第一处理资源的上限值以及超分因子。
可选的,所述方法在所述获取第一任务、第二任务以及超分配置项之后,还包括:
检测是否接收到任务处理指令;
在接收到所述任务处理指令的情况下,触发所述根据所述超分配置项,分别确定所述第一任务和所述第二任务的处理资源分配信息,或触发所述根据所述超分配置项,确定所述第一任务和所述第二任务中的高优先级的任务及低优先级的任务。
可选的,所述第一处理资源为GPU,所述第二处理资源为CPU。
根据本申请的第二方面,提供了一种处理资源超分装置,所述装置包括:
获取模块,用于获取第一任务、第二任务以及超分配置项;
第一确定模块,用于在所述超分配置项包括第一超分配置参数的情况下,根据所述超分配置项,分别确定所述第一任务和所述第二任务的处理资源分配信息;
第一加载模块,用于按照所述处理资源分配信息,加载所述第一任务和所述第二任务;
其中,所述处理资源分配信息包括第一处理资源的分配量以及第二处理资源的分配量。
根据本申请的第三方面,提供了一种电子设备,所述电子设备包括如第二方面所述的处理资源超分装置;或者,
所述电子设备包括存储器和处理器,所述存储器用于存储计算机指令,所述处理器用于从所述存储器中调用所述计算机指令,以执行如第一方面中任一项所述的处理资源超分方法。
根据本申请的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现根据第一方面中任一项所述的处理资源超分方法。
在本申请实施例中,通过获取第一任务、第二任务以及超分配置项;在超分配置项包括第一超分配置参数的情况下,根据超分配置项,分别确定第一任务和第二任务的处理资源分配信息;按照处理资源分配信息,加载第一任务和第二任务;其中,处理资源分配信息包括第一处理资源的分配量以及第二处理资源的分配量。在本实施例中,结合第二处理资源,通过对第一处理资源的超分,实现同时加载第一任务和第二任务,这避免了第一处理资源在一个时刻只能加载一个任务而导致的第一处理资源浪费的情况。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1是本申请实施例提供的一种处理资源超分方法的流程示意图;
图2是本申请实施例提供的另一种处理资源超分方法的流程示意图;
图3是本申请实施例提供的一种处理资源超分装置的结构示意图;
图4是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
现在将参照附图来详细描述本申请的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本申请及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
<方法实施例>
本申请实施例提供一种处理资源超分方法,如图1所示,该方法包括如下S1100-S1300:
S1100、获取第一任务、第二任务以及超分配置项。
在本实施例中,第一任务和第二任务为待处理资源处理的两个任务。在一个示例中,在深度学习模型生成过程中,第一任务可以为一个训练任务,第二任务可以为一个推理任务。
在本实施例中,超分配置项可以包括两种类型的超分配置参数。具体的,超分配置项包括第一超分配置参数,或者包括第二超分配置参数。
在超分配置项包括第一超分配置参数的情况下,超分配置项为用于指定第一任务和第二任务分别对于第一处理资源和第二处理资源的被分配信息,以及用于标识第一任务和第二任务之间的相对比敏感度的信息。其中,第一处理资源为首选处理资源。以及在一个实施例中,第一处理资源为GPU资源,第二处理资源为CPU资源。
在上述内容基础上,第一超分配置参数可至少包括如下两种形式:
第一种,第一超分配置参数包括:敏感度标识、低敏感度任务可用第一处理资源的上限值以及低敏感度任务的处理资源总需求量。
其中,敏感度标识为用于指示第一任务和第二任务中的高敏感度任务和低敏感度任务。
低敏感度任务可用第一处理资源的上限值指的是,低敏感度任务在不影响高敏感度任务的加载性能的情况下,可以占据第一处理资源的最大值。
可以理解的是,通过设置低敏感度任务可用第一处理资源的上限值,可保证高敏感度任务想加载性能不被影响。
第二种,第一超分配置参数包括:敏感度标识、低敏感度任务可用第一处理资源的上限值以及超分因子。
其中,超分因子指的是,低敏感度任务可用第一处理资源的上限值在低敏感度任务的处理资源总需求量中占比的倒数。
在一个例子中,若训练任务和推理任务各需求24G的处理资源。由于训练任务对性能要求不高,因此,可优选保证推理任务的性能。在此基础上,用户可通过敏感度标识将训练任务指定为低敏感度任务,将推理任务指定为高敏感度任务。同时,根据经验设置训练任务可用第一处理资源的上限值为8G。在此基础上,可设置超分因子为3。
S1200、在超分配置项包括第一超分配置参数的情况下,根据超分配置项,分别确定第一任务和第二任务的处理资源分配信息。
其中,处理资源分配信息包括第一处理资源的分配量以及第二处理资源的分配量。
在本实施例中,上述S1200具体为:在超分配置项包括第一超分配置参数的情况下,根据超分配置项,确定第一任务的第一处理资源的分配量以及第二处理资源的分配量,以及确定第二任务的第一处理资源的分配量以及第二处理资源的分配量。
在一个实施例中,在第一超分配置参数包括:敏感度标识、低敏感度任务可用第一处理资源的上限值以及低敏感度任务的处理资源总需求量的情况下,上述S1200的具体实现可以为:
根据敏感度标识,确定出第一任务和第二任务中的低敏感度任务以及高敏感度任务。
将低敏感度任务的第一处理资源的分配量确定为小于或等于低敏感度任务可用第一处理资源的上限值,以及将低敏感度任务的第二资源处理分配量设置为低敏感度任务的处理资源总需求量与低敏感度任务的第一处理资源的分配量的差值。
将高敏感度任务的第一处理资源的分配量确定为第一处理资源的余量,将高敏感度任务的第二资源处理分配量确定为0。
在另一个实施例中,在第一超分配置参数包括:敏感度标识、低敏感度任务可用第一处理资源的上限值以及超分因子的情况下,上述S1200的具体实现为:
根据敏感度标识,确定出第一任务和第二任务中的低敏感度任务以及高敏感度任务。
根据低敏感度任务可用第一处理资源的上限值以及超分因子,得到低敏感度任务的处理资源总需求量;
将低敏感度任务的第一处理资源的分配量确定为小于或等于低敏感度任务可用第一处理资源的上限值,以及将低敏感度任务的第二资源处理分配量设置为低敏感度任务的处理资源总需求量与低敏感度任务的第一处理资源的分配量的差值。
将高敏感度任务的第一处理资源的分配量确定为第一处理资源的余量,将高敏感度任务的第二资源处理分配量确定为0。
结合上述训练任务和推理任务的例子,根据超分配置项,确定训练任务为低敏感度任务,推理任务为高敏感度任务,以及训练任务可用第一处理资源的上限值为8G,且超分因子为3。在此基础上,可确定训练任务的第一处理资源为8G,以及训练任务的第二处理资源为16G。
同时,若第一处理资源的总量与第二处理资源的总量均为32G。此时,确定推理任务的第一处理资源的需求量为24G,且推理任务的第二处理资源需求量为0G。可以理解的是,这样也可向高敏感度任务预留更多的第一处理资源。
S1300、按照处理资源分配信息,加载第一任务和第二任务。
在本实施例中,上述S1300的具体过程为:按照处理资源分配信息,加载第一任务,以及按照处理资源分配信息,加载第二任务。
其中,按照处理资源分配信息加载第一任务具体实现为:按照第一任务的第一处理资源的分配量和第二处理资源的分配量,将第一任务划分为第一子任务集和第二子任务集。将第一子任务集输入至的第一处理资源,以使得第一处理资源可成功完成第一子任务的加载。以及将第二子任务集输入至的第二处理资源,以使得第二处理资源可成功完成第二子任务的加载。
同理,按照处理资源分配信息加载第二任务具体实现,与按照处理资源分配信息加载第一任务具体实现相同,这里不再赘述。
需要说明的是,第一任务由多个子任务组成,第一处理资源加载第一任务时,实质上为第一处理资源依次加载第一任务中的子任务。其中,加载子任务的具体方式可通过API调用的方式实现。
以及,通过统一内存的方式,可实现对于同一任务既可以由第一处理资源加载,还可以由第二处理资源加载。
在一个实施例中,本申请实施例提供的处理资源超分方法在上述S1300之前还包括如下S1310:
S1310、在第一处理资源分配量大于第一处理资源余量的情况下,将第一处理资源分配量更新为第一处理资源余量,将更新前第一处理资源分配量与第一处理资源余量的差值,与第二处理资源分配量的和更新为第二处理资源分配量。
在本实施例中,在第一处理资源分配量大于第一处理资源余量的情况下,说明第一处理资源余量不足。此时,可将第一处理资源分配量更新为第一处理资源余量。这样,可最大程度的利用第一处理资源。以及,将更新前第一处理资源分配量与第一处理资源余量的差值,与第二处理资源分配量的和更新为第二处理资源分配量,这样可使得第一任务和第二任务可被加载完成。
在本申请实施例中,通过获取第一任务、第二任务以及超分配置项;在超分配置项包括第一超分配置参数的情况下,根据超分配置项,分别确定第一任务和第二任务的处理资源分配信息;按照处理资源分配信息,加载第一任务和第二任务;其中,处理资源分配信息包括第一处理资源的分配量以及第二处理资源的分配量。在本实施例中,结合第二处理资源,通过对第一处理资源的超分,实现同时加载第一任务和第二任务,这避免了第一处理资源在一个时刻只能加载一个任务而导致的第一处理资源浪费的情况。
可以理解的是,在第一处理资源为GPU时,可避免GPU资源浪费。
在另一个实施例中,在超分配置项包括第二超分配置参数的情况下,超分配置项为用于指示第一任务和第二任务的优先级的信息。在此基础上,本申请实施例提供的处理资源超分方法在上述S1100之后,如图2所示,还包括如下S1400-S1800:
S1400、在超分配置参数包括第二超分配置参数的情况下,根据超分配置项,确定第一任务和第二任务中的高优先级的任务及低优先级的任务。
在本实施例中,由于超分配置项为用于指示第一任务和第二任务的优先级的信息,因此,根据超分配置项可确定出第一任务和第二任务中的高优先级任务和低优先级任务。
S1500、将第一处理资源中低优先级任务的关联信息交换至第二处理资源中。
在本实施例中,低优先级任务的关联信息包括:输入至第一处理资源中而未被第一处理资源加载的低优先级任务的子任务,第一处理资源中正在加载的低优先级任务的子任务,以及第一处理资源加载完成的低优先级任务的子任务对应的加载结果。
S1600、暂停第一处理资源加载低优先级任务的操作,以及控制第一处理资源加载高优先级处理任务。
在本实施例中,暂停第一处理资源加载低优先级任务的操作可以为停止向第一处理资源输入低优先级任务的子任务。
S1700、在高优先级任务加载结束的情况下,恢复第一处理资源加载低优先级任务的操作。
在本实施例中,恢复第一处理资源加载低优先级任务的操作,可以为恢复向第一处理资源输入低优先级任务的子任务。
S1800、将关联信息退换至第一处理资源中以由第一处理资源加载继续低优先级任务。
需要说明的是,在本实施例中,通过统一内存的方式,可实现对于一个任务在第一处理资源和第二处理资源之间的交换。
在本实施例中,通过上述S1400-S1800可避免,在第一任务和第二任务为需被第一处理资源加载的任务,而第一处理资源因处理资源有限而无法同时加载第一任务和第二任务的情况下,通过由第一处理资源缓存的方式,实现第一处理资源的超分,从而避免第一处理资源的浪费。可以理解的是,在第一处理资源为GPU时,可避免GPU资源浪费。
以及,保证高优先级任务的优先加载,可保证高优先级任务的性能。另外,通过上述S1400-S1800还可实现在高优先级任务加载结束后,自动执行低优先级任务,而无需人为干涉,且无需从头再加载低优先级任务。
在一个实施例中,本申请实施例提供的处理资源超分方法在上述S1500之前还包括如下S1510:
S1510、在第一任务的第一资源处理需求量与第二任务的第一资源处理需求量的和,大于第一处理资源余量的情况下,触发第一处理资源中低优先级任务的关联信息交换至第二处理资源中。
在本实施例中,在第一任务的第一资源处理需求量与第二任务的第一资源处理需求量的和,大于第一处理资源余量的情况下,说明第一处理资源余量不足以运行第一任务和第二任务,此时触发上述S1510,以实现对第一任务和第二任务的加载。
对应的,在第一任务的第一资源处理需求量与第二任务的第一资源处理需求量的和,小于第一处理资源余量的情况下,说明第一处理资源余量足以运行第一任务和第二任务。此时,可直接由第一处理资源加载第一任务和第二任务。
在一个实施例中,本申请实施例提供的处理资源超分方法在上述S1100之后还包括如下S1110和S1111:
S1110、检测是否接收到任务处理指令。
在本实施例中,上述的任务处理指令由用户输入。
S1111、在接收到任务处理指令的情况下,触发根据超分配置项,分别确定第一任务和第二任务的处理资源分配信息,或触发根据超分配置项,确定第一任务和第二任务中的高优先级的任务及低优先级的任务。
在本实施例中,在接收到任务处理指令的情况下,且在超分配置项包括第一超分配置参数的情况下,触发上述S1200。或者在超分配置参数包括第二超分配置参数的情况下,触发上述S1400。
在本实施例中,只有接收到任务处理指令的情况下,即用户指示的情况下,触发上述S1200或S1400,这样,可提高用户的体验度。
需要说明的是,在具体实现本申请实施例提供的处理资源超分方法时,可采用C/S结构。具体的,可通过客户端实现上述S1100,以及通过上述服务端实现上述S1200-S1600。其中,C/S架构可通过两台独立的电子设备实现。
同时,C/S架构还可以通过一台电子设备实现。具体的,可在该一台电子设备中配置虚拟机。利用客户端插件在虚拟机中充当客户端,而利用服务端插件在宿主机中充当服务端。在此基础上,客户端在执行上述S1100之后,通过将第一任务中子任务和第二任务中的子任务依次劫持并转发至服务端。以及在首次劫持并转发时向服务端发送超分配置项。需要说明的是,第一任务中的子任务的劫持并转发通常是通过第一任务中的子任务对应API的劫持并转发实现的。第二任务中的子任务的劫持并转发同理。
另外,可以理解的是,可同时设置多个客户端,一个服务端,每个客户端分别执行上述S1100,且一个服务端针对每一个客户端执行上述S1200-S1600。这样可实现对多组任务的处理资源的超分。其中,每一组任务包括一个第一任务和一个第二任务。
<装置实施例>
如图3所示,本申请实施例提供了一种处理资源超分装置3000,包括:获取模块3100、第一确定模块3200以及第一加载模块3300,其中:
获取模块3100用于获取第一任务、第二任务以及超分配置项;
第一确定模块3200用于在所述超分配置项包括第一超分配置参数的情况下,根据所述超分配置项,分别确定所述第一任务和所述第二任务的处理资源分配信息;
第一加载模块3300按照所述处理资源分配信息,加载所述第一任务和所述第二任务;
其中,所述处理资源分配信息包括第一处理资源的分配量以及第二处理资源的分配量。
需要说明的是,在本实施例中,可将上述获取模块3100、第一确定模块3200以及第一加载模块3300部署在同一台设备中。
以及,还可将获取模块3100、第一确定模块3200以及第一加载模块3300部署在两台设备中。具体的,将获取模块3100部署在客户端设备中,将第一确定模块3200和第一加载模块3300部署在服务端设备中。这样,可实现一个服务端设备,对应多个客户端设备。即,一个服务端设备可同时处理多个客户端设备发送的任务。
在一个实施例中,所述处理资源超分装置3000还包括第二确定模块和控制模块,其中:
第二确定模块用于在所述超分配置参数包括第二超分配置参数的情况下,根据所述超分配置项,确定所述第一任务和所述第二任务中的高优先级的任务及低优先级的任务。
控制模块用于将第一处理资源中所述低优先级任务的关联信息交换至第二处理资源中;
暂停所述第一处理资源加载所述低优先级任务的操作,以及控制所述第一处理资源加载所述高优先级处理任务;
在所述高优先级任务加载结束的情况下,恢复所述第一处理资源加载所述低优先级任务的操作;
将所述关联信息退换至所述第一处理资源中以由所述第一处理资源加载继续所述低优先级任务。
需要说明的是,在本实施例中,可将上述获取模块3100、第二确定模块和控制模块部署在同一台设备中。
以及,还可将获取模块3100、第二确定模块和控制模块部署在两台设备中。具体的,将获取模块3100部署在客户端设备中,将第二确定模块和控制模块部署在服务端设备中。这样,可实现一个服务端设备,对应多个客户端设备。即,一个服务端设备可同时处理多个客户端设备发送的任务。
在一个实施例中,所述处理资源超分装置3000还包括第一触发模块,其中:
第一触发模块用于在第一任务的第一处理资源需求量与所述第二任务的第一处理资源需求量的和,大于第一处理资源余量的情况下,触发所述将第一处理资源中所述低优先级任务的关联信息交换至第二处理资源中。
在一个实施例中,所述处理资源超分装置3000还包括更新模块,其中:
更新模块用于在所述第一处理资源分配量大于第一处理资源余量的情况下,将所述第一处理资源分配量更新为所述第一处理资源余量,将更新前所述第一处理资源分配量与第一处理资源余量的差值,与第二处理资源分配量的和更新为所述第二处理资源分配量。
在一个实施例中,所述第一超分配置参数包括:敏感度标识、低敏感度任务可用第一处理资源的上限值以及所述低敏感度任务的处理资源总需求量;
或者,所述第一超分配置参数包括:所述敏感度标识、所述低敏感度任务可用第一处理资源的上限值以及超分因子。
在一个实施例中,所述处理资源超分装置3000还包括检测模块和第二触发模块,其中:
检测模块用于检测是否接收到任务处理指令。
第二触发模块用于在接收到所述任务指令的情况下,触发所述根据所述超分配置项,分别确定所述第一任务和所述第二任务的处理资源分配信息,或触发所述根据所述超分配置项,确定所述第一任务和所述第二任务中的高优先级的任务及低优先级的任务。
在一个实施例中,所述第一处理资源为GPU,所述第二处理资源为CPU。
<设备实施例>
本申请实施例提供了一种电子设备4000,该电子设备4000包括如上述装置实施例中提供的处理资源超分装置3000。
或者,如图4所示,电子设备4000包括存储器4100和处理器4200,所述存储器4100用于存储计算机指令,所述处理器4200用于从所述存储器4100中调用所述计算机指令,以执行如上述方法实施例中任一实施例所述的处理资源超分方法。
<存储介质实施例>
本申请实施例一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现根据述方法实施例中任一实施例所述的处理资源超分方法。
本申请可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本申请的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本申请操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。
这里参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本申请的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本申请的范围由所附权利要求来限定。

Claims (10)

1.一种处理资源超分方法,其特征在于,所述方法包括:
获取第一任务、第二任务以及超分配置项;
在所述超分配置项包括第一超分配置参数的情况下,根据所述超分配置项,分别确定所述第一任务和所述第二任务的处理资源分配信息;
按照所述处理资源分配信息,加载所述第一任务和所述第二任务;
其中,所述处理资源分配信息包括第一处理资源的分配量以及第二处理资源的分配量。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述超分配置参数包括第二超分配置参数的情况下,根据所述超分配置项,确定所述第一任务和所述第二任务中的高优先级的任务及低优先级的任务;
将第一处理资源中所述低优先级任务的关联信息交换至第二处理资源中;
暂停所述第一处理资源加载所述低优先级任务的操作,以及控制所述第一处理资源加载所述高优先级处理任务;
在所述高优先级任务加载结束的情况下,恢复所述第一处理资源加载所述低优先级任务的操作;
将所述关联信息退换至所述第一处理资源中以由所述第一处理资源加载继续所述低优先级任务。
3.根据权利要求2所述的方法,其特征在于,所述方法在所述将第一处理资源中所述低优先级任务的关联信息交换至第二处理资源中之前,包括:
在第一任务的第一处理资源需求量与所述第二任务的第一处理资源需求量的和,大于所述第一处理资源余量的情况下,触发所述将第一处理资源中所述低优先级任务的关联信息交换至第二处理资源中。
4.根据权利要求1所述的方法,其特征在于,所述方法在所述按照所述处理资源需求信息,加载所述第一任务和所述第二任务之前,包括:
在所述第一处理资源分配量大于第一处理资源余量的情况下,将所述第一处理资源分配量更新为所述第一处理资源余量,将更新前所述第一处理资源分配量与第一处理资源余量的差值,与第二处理资源分配量的和更新为所述第二处理资源分配量。
5.根据权利要求1所述的方法,其特征在于,所述第一超分配置参数包括:敏感度标识、低敏感度任务可用第一处理资源的上限值以及所述低敏感度任务的处理资源总需求量;
或者,所述第一超分配置参数包括:所述敏感度标识、所述低敏感度任务可用第一处理资源的上限值以及超分因子。
6.根据权利要求2所述的方法,其特征在于,所述方法在所述获取第一任务、第二任务以及超分配置项之后,还包括:
检测是否接收到任务处理指令;
在接收到所述任务处理指令的情况下,触发所述根据所述超分配置项,分别确定所述第一任务和所述第二任务的处理资源分配信息,或触发所述根据所述超分配置项,确定所述第一任务和所述第二任务中的高优先级的任务及低优先级的任务。
7.根据权利要求1所述的方法,其特征在于,所述第一处理资源为GPU,所述第二处理资源为CPU。
8.一种处理资源超分装置,其特征在于,所述装置包括:
获取模块,用于获取第一任务、第二任务以及超分配置项;
第一确定模块,用于在所述超分配置项包括第一超分配置参数的情况下,根据所述超分配置项,分别确定所述第一任务和所述第二任务的处理资源分配信息;
第一加载模块,用于按照所述处理资源分配信息,加载所述第一任务和所述第二任务;
其中,所述处理资源分配信息包括第一处理资源的分配量以及第二处理资源的分配量。
9.一种电子设备,其特征在于,所述电子设备包括如权利要求8所述的处理资源超分装置;或者,
所述电子设备包括存储器和处理器,所述存储器用于存储计算机指令,所述处理器用于从所述存储器中调用所述计算机指令,以执行如权利要求1-7中任一项所述的处理资源超分方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-7中任一项所述的处理资源超分方法。
CN202210309454.1A 2022-03-28 2022-03-28 处理资源超分方法、装置、设备及存储介质 Active CN114416381B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210309454.1A CN114416381B (zh) 2022-03-28 2022-03-28 处理资源超分方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210309454.1A CN114416381B (zh) 2022-03-28 2022-03-28 处理资源超分方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114416381A true CN114416381A (zh) 2022-04-29
CN114416381B CN114416381B (zh) 2022-08-12

Family

ID=81263794

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210309454.1A Active CN114416381B (zh) 2022-03-28 2022-03-28 处理资源超分方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114416381B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567072A (zh) * 2010-12-20 2012-07-11 中国移动通信集团公司 一种资源分配方法、装置及系统
US20150019737A1 (en) * 2013-07-09 2015-01-15 Korea Institute Of Science & Technology Information (Kisti) Method and apparatus for allocating resource reflecting adaptive evaluation in cloud computing for high-throughput computing
CN105591809A (zh) * 2015-10-12 2016-05-18 杭州华三通信技术有限公司 一种资源分配方法和装置
CN107066332A (zh) * 2017-01-25 2017-08-18 广东神马搜索科技有限公司 分布式系统及其调度方法和调度装置
CN110087318A (zh) * 2019-04-24 2019-08-02 重庆邮电大学 基于5g移动边缘计算的任务卸载和资源分配联合优化方法
CN112988363A (zh) * 2021-05-17 2021-06-18 阿里云计算有限公司 资源调度方法、装置、服务器和存储介质
CN112988390A (zh) * 2021-03-22 2021-06-18 上海超级计算中心 一种算力资源分配方法及装置
CN113791906A (zh) * 2021-08-09 2021-12-14 戴西(上海)软件有限公司 基于gpu资源在人工智能与工程领域调度系统及优化算法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567072A (zh) * 2010-12-20 2012-07-11 中国移动通信集团公司 一种资源分配方法、装置及系统
US20150019737A1 (en) * 2013-07-09 2015-01-15 Korea Institute Of Science & Technology Information (Kisti) Method and apparatus for allocating resource reflecting adaptive evaluation in cloud computing for high-throughput computing
CN105591809A (zh) * 2015-10-12 2016-05-18 杭州华三通信技术有限公司 一种资源分配方法和装置
CN107066332A (zh) * 2017-01-25 2017-08-18 广东神马搜索科技有限公司 分布式系统及其调度方法和调度装置
CN110087318A (zh) * 2019-04-24 2019-08-02 重庆邮电大学 基于5g移动边缘计算的任务卸载和资源分配联合优化方法
CN112988390A (zh) * 2021-03-22 2021-06-18 上海超级计算中心 一种算力资源分配方法及装置
CN112988363A (zh) * 2021-05-17 2021-06-18 阿里云计算有限公司 资源调度方法、装置、服务器和存储介质
CN113791906A (zh) * 2021-08-09 2021-12-14 戴西(上海)软件有限公司 基于gpu资源在人工智能与工程领域调度系统及优化算法

Also Published As

Publication number Publication date
CN114416381B (zh) 2022-08-12

Similar Documents

Publication Publication Date Title
CN108351772B (zh) 跨应用实例的标识符
US20190114202A1 (en) Task scheduling method and apparatus of artificial intelligence heterogeneous hardware, device and readable medium
US9575803B2 (en) Determining an ordering to use to open and close programs that call other programs
CN109213611B (zh) 跨进程通讯方法、装置、终端及存储介质
US9141422B2 (en) Plug-in task scheduler
EP3848805A1 (en) Warm start technique for cloud-hosted functions
US10996997B2 (en) API-based service command invocation
US20210303344A1 (en) Task processing method, electronic device, and computer program product
US6961945B2 (en) Method and apparatus for adapting and hosting legacy user interface controls
US9928105B2 (en) Stack overflow prevention in parallel execution runtime
CN111274019A (zh) 一种数据处理方法、装置及计算机可读存储介质
US11645098B2 (en) Systems and methods to pre-provision sockets for serverless functions
JP2021518955A (ja) プロセッサコアのスケジューリング方法、装置、端末及び記憶媒体
CN114461393A (zh) 多任务调度方法、装置、电子设备、系统及自动驾驶车辆
US9628433B2 (en) Transmission of short message service (SMS) message and notifications in virtualized wireless mobile computing device based on the status of intended recipient
CN107682389B (zh) 一种执行网络请求的方法、终端及计算机可读存储介质
EP3887934B1 (en) Configuration of workflows for coordinated device environments
CN114327894A (zh) 资源分配方法、装置、电子设备及存储介质
US9229716B2 (en) Time-based task priority boost management using boost register values
CN114416381B (zh) 处理资源超分方法、装置、设备及存储介质
CN112988422A (zh) 一种异步消息处理方法、装置、电子设备及存储介质
CN111399928B (zh) 应用程序的启动方法、装置、电子设备及可读存储介质
CN115454576B (zh) 一种虚拟机进程管理方法、系统及电子设备
EP3188071B1 (en) Application accessing control method and device
US10705887B2 (en) Copying objects between programming languages

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