CN114168294A - 编译资源分配方法、装置、电子设备及存储介质 - Google Patents

编译资源分配方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114168294A
CN114168294A CN202111509715.6A CN202111509715A CN114168294A CN 114168294 A CN114168294 A CN 114168294A CN 202111509715 A CN202111509715 A CN 202111509715A CN 114168294 A CN114168294 A CN 114168294A
Authority
CN
China
Prior art keywords
application program
application
resource occupation
compiling
time
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
CN202111509715.6A
Other languages
English (en)
Other versions
CN114168294B (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 ByteDance Network Technology Co Ltd
Original Assignee
Beijing Jingling Information System 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 Jingling Information System Technology Co Ltd filed Critical Beijing Jingling Information System Technology Co Ltd
Priority to CN202111509715.6A priority Critical patent/CN114168294B/zh
Publication of CN114168294A publication Critical patent/CN114168294A/zh
Application granted granted Critical
Publication of CN114168294B publication Critical patent/CN114168294B/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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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

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

编译资源分配方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种编译资源分配方法、装置、电子设备及存储介质。
背景技术
Docker是一个开源的应用容器引擎,开发者利用容器可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。
Docker容器与虚拟机类似,但二者在原理上有所不同。容器是将操作系统层虚拟化,虚拟机则是将硬件虚拟化,因此容器更具有便携性,可以更高效地利用服务器。Docker容器在Linux系统中运行,并与其他容器共享运行该Linux系统的主机的内核。Docker容器运行一个离散进程,不占用任何其他可执行文件的内存,能够将进程隔离起来。因此,业界采用Docker容器来编译软件包,可以避免软件包的编译过程与Linux系统中的其他进程之间的互相干扰。
但是,在采用容器大批量地进行并行编译时,容易出资源分配不均衡的现象。
发明内容
本申请实施例提供一种编译资源分配方法、装置、电子设备及存储介质,以解决相关技术存在的问题,技术方案如下:
第一方面,本申请实施例提供一种编译资源分配方法,包括:
响应于第一应用程序的编译请求,获取所述第一应用程序在历史编译过程中的历史资源占用情况;
基于所述第一应用程序的历史资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际资源占用情况和在未来时刻的预计资源占用情况,预测所述第一应用程序与所述每个应用程序之间的资源占用冲突的相关信息;
基于所述资源占用冲突的相关信息,确定所述第一应用程序以及所述当前编译队列中的至少部分应用程序的编译启动时间。
第二方面,本申请实施例提供一种编译资源分配装置,包括:
历史情况获取模块,用于响应于第一应用程序的编译请求,获取所述第一应用程序在历史编译过程中的历史资源占用情况;
冲突预测模块,用于基于所述第一应用程序的历史资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际资源占用情况和在未来时刻的预计资源占用情况,预测所述第一应用程序与所述每个应用程序之间的资源占用冲突的相关信息;
时间确定模块,用于基于所述资源占用冲突的相关信息,确定所述第一应用程序以及所述当前编译队列中的至少部分应用程序的编译启动时间。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请任一种实施方式中的编译资源分配方法。
第四方面,本申请实施例一种非瞬时计算机可读存储介质,所述计算机可读存储介质内存储有计算机指令,所述计算机指令被处理器执行时实现本申请任一种实施方式中的编译资源分配方法。
上述技术方案中的优点或有益效果至少包括:
在本申请提供的技术方案中,在并行编译多个应用程序的情况下,如果接收到新的应用程序例如第一应用程序的编译请求,则获取新的应用程序在历史编译过程中的历史资源占用情况,然后,基于新的应用程序的历史资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际资源占用情况和在未来时刻的预计资源占用情况,预测新的应用程序与当前编译队列中的每个应用程序之间的资源占用冲突的相关信息,依据这些相关信息,可以确定第一应用程序和当前编译队列中的至少部分应用程序的编译启动时间。通过预测资源占用的冲突,来确定新的应用程序的编译启动时间以及当前编译队列中至少部分应用程序的编译启动时间,可以有效地避免在编译过程中发生资源占用冲突,提高编译效率。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本申请进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请公开的一些实施方式,而不应将其视为是对本申请范围的限制。
图1为根据本申请第一实施例的编译资源分配方法的流程图;
图2为根据本申请第二实施例的编译资源分配方法的流程图;
图3为根据本申请第三实施例的编译资源分配装置的结构框图;
图4为根据本申请第四实施例的编译资源分配装置的结构框图;
图5为可以实现本申请实施例的编译资源分配方法的电子设备的结构框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
目前,在大批量地并行编译中,为了提高应用程序(也可称为软件包)的并行编译效率,以及避免各应用程序的编译进程之间的相互干扰,或者来自其他干扰,而采用容器来进行编译。例如利用Docker容器构建编译环境,应用程序可以在容器所构建的编译环境中编译,可以与其他容器的编译相互隔离,互不干扰,而且Docker容器占用资源少,有利于提高编译的并发效率。
但是,在大批量地并行编译过程中,如果过多的应用程序在同一时刻并行编译,有可能会导致在同一时刻调用的资源过多,例如CPU资源、内存资源等,而且有些应用程序得到的资源的较多,有些应用程序得到的资源较少,这样,总的编译速度会慢下来,甚至有可能因资源占用冲突而导致编译故障或编译失败。
为此,本申请实施例提供一种编译资源分配的方案来解决上述问题。在本申请的技术方案中,基于各应用程序的资源占用情况来分析各应用程序之间的资源占用冲突的相关信息,进而基于这些信息可以为各应用程序确定编译启动时间。然后,各应用程序可以按照其对应的编译启动时间来启动编译,从而避免资源占用冲突,提高编译效率。
图1示出了根据本申请第一实施例的编译资源分配方法的流程图。如1所示,该方法可以包括:
S110,响应于第一应用程序的编译请求,获取第一应用程序在历史编译过程中的历史资源占用情况;
S120,基于第一应用程序的历史资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际资源占用情况和在未来时刻的预计资源占用情况,预测第一应用程序与每个应用程序之间的资源占用冲突的相关信息;
S130,基于资源占用冲突的相关信息,确定第一应用程序以及当前编译队列中的至少部分应用程序的编译启动时间。
在本申请实施例中,上述方法可以应用于任意的操作系统中,可以采用容器来构建编译环境,在容器所构建的编译环境中添加编译依赖包、编译工具等,以在容器中编译。其中,每编译一个应用程序可以新创建一个容器来进行编译,以及,每编译完成一个应用程序后可以将其对应的容器销毁。这样可以使得,已使用过的容器不会提供给其他的应用程序使用,避免这已使用过的容器中曾经编译的应用程序干扰其他应用程序的编译。
示例性地,本申请实施例可以对第一应用程序的编译安排,执行以下步骤:
响应于第一应用程序的编译请求,为第一应用程序创建容器;
在创建的容器中准备第一应用程序的编译环境;
基于第一应用程序的编译启动时间,在编译环境中编译第一应用程序。
其中,在容器中准备第一应用程序的编译环境可以包括:构建系统架构与第一应用程序所应用于的系统架构相同的编译环境,然后在编译环境中添加第一应用程序的编译依赖包和可编译第一应用程序的编译工具。系统架构可以包括ARM架构(Acorn RISCMachine)、X86架构(The X86 architecture)等。
示例性地,在所述第一应用程序已编译完成的情况下,将所述第一应用程序对应的容器销毁。从而,达到应用程序之间的编译相互隔离的效果。而且,及时销毁容器可以将系统中的资源及时释放出来,提高资源利用率。
示例性地,编译队列中的应用程序可以是相同的也可以是不相同。例如,当前编译队列中的应用程序均为dpkg(Debian Packager)格式的应用程序。dpkg格式的应用程序可以有多种版本。例如,ARM架构、X86架构等。在实际应用时,需要基于应用程序的格式以及版本信息,为第一应用程序准备合适的编译环境。
在初始编译时,也就是在当前编译队列是不存在的且第一应用程序包括多个情况下,可以基于请求编译的多个第一应用程序的历史资源占用情况,进行分析,可以预测得到每个第一应用程序相互之间的资源占用冲突的相关信息,然后,基于这些资源占用冲突的相关信息,确定每个第一应用程序的编译启动时间。每个第一应用程序按照编译启动时间来启动编译,形成初始的编译队列。后续会如前述的步骤陆续接收到新的一个或多个第一应用程序的编译请求,并对新的第一应用程序以及当前的编译队列中的应用程序的编译启动时间进行确定,这样新的第一应用程序可以加入到编译队列中。其中,当前编译队列可以包括正在编译的应用程序和等待编译的应用程序。对于已完成编译的应用程序,则可以在编译队列中将其剔除。
历史资源占用情况可以包括应用程序在过去的设定时间段内的每个编译过程中的每个时刻占用操作系统的资源类型及每种资源类型对应的资源数量,还可以包括每个历史编译过程中的编译总时长。过去的设定时间段可以包括过去的一个月、半年、一年内等。资源类型可以包括CPU、内存或I/O资源等。
在当前时刻的实际资源占用情况可以包括应用程序在当前时刻占用系统的资源类型及每种资源类型对应的资源数量。实际资源占用情况可以对操作系统中的资源占用信息进行调取即可以得到。
在未来时刻的预计资源占用情况可以包括应用程序在未来的编译过程中每个时刻占用操作系统的资源类型以及每种类资源类型对应的资源数量。对于预计资源占用情况,其可以获取应用程序的历史资源占用情况,然后,基于应用程序的历史资源占用情况,确定应用程序的预计资源占用情况。
其中,当前编译队列中还在等待编译的每个应用程序的编译启动时间是确定。在接收到新的应用程序的编译请求的情况下,在将新的应用程序插入当前编译队列中的同时,也有可能会对这些还在等编译的一个或多个应用程序的编译启动时间进行更新或调整。
对于资源占用冲突,其可以是指,在某一时刻所有正在编译的应用程序占用系统的资源超过设定阈值,则可以认为这些正在编译的应用程序之间在这一时刻存在资源占用冲突。
对于当前编译队列中正在编译的应用程序,可以不调整他们的编程计划。由于他们是按照本申请实施例的方法确定编译启动时间,在正常情况下不会出现资源占用冲突的情况,因而,不必暂停这部分的应用程序的编译。
对于当前编译队列,操作系统也会实时监控他们的实际资源占用情况。如果在当前时刻出现资源占用冲突的情况,例如总的资源占用超过设定阈值,可以暂停资源占用较少的应用程序的编译。并且,确定暂停编译的应用程序的再次启动编译时间以及还在等待编译的应用程序的编译启动时间。
在一些实施例中,对于第一应用程序与当前编译队列中的每个应用程序之间的资源占用冲突的相关信息,其可以包括:在当前编译队列中与第一应用程序有资源占用冲突的应用程序以及他们之间的冲突时间、冲突的资源类型以及资源数量等。还可以包括在当前编译队列中与第一应用程序没有资源占用冲突的应用程序、第一应用程序与当前编译队列中的应用程序没有资源占用冲突的时间等。
示例性地,在上述步骤S120中,基于第一应用程序的历史资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际资源占用情况和在未来时刻的预计资源占用情况,预测第一应用程序与每个应用程序之间的资源占用冲突的相关信息,包括:
基于第一应用程序的历史资源占用情况,确定第一应用程序在未来时刻的预计资源占用情况;
基于第一应用程序的预计资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际资源占用情况和在未来时刻的预计资源占用情况,预测第一应用程序与每个应用程序之间的资源占用冲突的相关信息。
其中,上述第一应用程序与每个应用程序之间的资源占用冲突的相关信息可以包括:在编译队列中与第一应用程序有资源占用冲突的N个第二应用程序以及第一应用程序与N个第二应用程序中的每个第二应用程序之间的资源占用冲突的时间;其中,N为大于或等于1的整数。
在本示例中,通过第一应用程序的历史资源占用情况,可以预测得到第一应用程序在未来时刻的预计资源占用情况。例如,在哪些时刻占用的资源较多,在哪些时刻占用的资源较少,又或者每个时刻占用了多少资源。所用的资源类型又是什么。资源类型可以包括CPU资源、内存资源、I/O资源等。得到的第一应用程序的预计资源占用情况,可以用于预测第一应用程序与当前编译队列中的每个应用程序之间的资源占用冲突的相关信息。例如,预测在编译队列中有哪些应用程序是与第一应用程序有资源占用冲突的,以及他们之间的资源占用冲突的时间。从而,利用这些信息可以确定第一应用程序以及队列中部分应用程序的编译启动时间,避免第一应用程序与当前编译队列产生冲突。
在本申请实施例中,可以将编译队列中与第一应用程序有资源占用冲突的应用程序称为第二应用程序。第一应用程序和第二应用程序可以包括多个,他们之间并不代表顺序关系。
在一些实施例中,在预测得到了在编译队列中有哪些应用程序是与第一应用程序有资源占用冲突的,以及他们之间的资源占用冲突的时间的情况下,可以依据这些信息来确定第一应用程序和第二应用程序的编译启动时间。
示例性地,上述基于资源占用冲突的相关信息,确定第一应用程序以及当前编译队列中的至少部分应用程序的编译启动时间,包括:
基于第一应用程序与每个第二应用程序之间的资源占用冲突的时间,确定第一应用程序以及第二应用程序的编译启动时间。
在本示例中,利用第一应用程序和第二应用程序之间的资源占用冲突时间来确定应用程序的编译启动时间,可以有效地避免第一应用程序和第二应用程序之间发生资源占用冲突,提高第一应用程序和第二应用程序的编译效率。
示例性地,基于第一应用程序和每个第二应用程序之间的资源占用冲突的时间,确定第一应用程序以及第二应用程序的编译启动时间,包括:
在N大于或等于2的情况下,基于第一应用程序和每个第二应用程序之间的资源占用冲突的时间,确定每相邻两个第二应用程序与第一应用程序之间的资源占用冲突的时间间隔;
基于时间间隔和第一应用程序的预计编译时长,确定第一应用程序以及第二应用程序的编译启动时间。
示例性地,上述时间间隔可以是:与第一应用程序A有资源占用冲突的相邻两个第二应用程序,为第二应用程序B1和第二应用程序B2;第二应用程序B1与第一应用程序A之间的资源占用冲突的最晚时刻为10:00,第二应用程序B2与第一应用程序A之间的资源占用冲突的最早时刻为10:24,则第二应用程序B1和第二应用程序B2与第一应用程序之间的资源占用冲突的时间间隔为24分钟。
对于第一应用程序的预计编译时长,可以基于第一应用程序的预计资源占用情况来确定。也可以以上述第二应用程序B1为例,假设第一应用程序从上述的最晚时刻10:00开始编译,预测第一应用程序的预计编译时长。
在上述的时间间隔大于第一应用程序的预计编译时长的情况下,可以将该时间间隔对应的起始时刻确定为第一应用程序的编译启动时间,对于第二应用程序的编译启动时间暂不调整。
在大于第一应用程序的预计编译时的时刻间隔有多个的情况下,可以以最早的时间间隔来确定第一应用程序的编译启动时间。
在上述的时间间隔均小于第一应用程序的预测编译时长的情况下,可以将第一应用程序安排在当前编队列中的最后一员,也可以基于最长的时间间隔来在确定第一应用程序的编译启动时间以及调整排列在第一应用程序之后的第二应用程序的编译启动时间。其中,编译队列中的应用程序的排列顺序可以按照应用程序的编译启动时间排列。
如前所述的,操作系统中的资源可以包括CPU资源、内存资源和I/O资源。因此,可以分别确定每一种资源类型的资源占用冲突的情况。
示例性地,基于第一应用程序的历史资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际资源占用情况和在未来时刻的预计资源占用情况,预测第一应用程序与每个应用程序之间的资源占用冲突的相关信息,包括以下至少之一:
基于第一应用程序的历史CPU资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际CPU资源占用情况和在未来时刻的预计CPU资源占用情况,预测第一应用程序与每个应用程序之间的CPU资源占用冲突的相关信息;
基于第一应用程序的历史内存资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际内存资源占用情况和在未来时刻的预计内存资源占用情况,预测第一应用程序与每个应用程序之间的内存资源占用冲突的相关信息;
基于第一应用程序的历史I/O资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际I/O资源占用情况和在未来时刻的预计I/O资源占用情况,预测第一应用程序与每个应用程序之间的I/O资源占用冲突的相关信息。
图2示出了本申请第二实施例提供的编译资源分配方法的框图。
如图2所示,利用容器来并行编译多个应用程序,例如dpkg格式的应用程序。每个容器编译一个应用程序。并且,采用容器管理器对容器进行管理,包括容器的创建、运行和销毁等。例如,Docker容器管理器采用命令行工具docker stats实时地获取各Docker容器在编译dpkg格式的应用程序时各Docker容器的CPU资源、内存资源、I/O资源的占用情况。
通过大数据统计模块,统计各容器中每个应用程序在编译过程中对CPU资源、内存资源、I/O资源的占用情况,得到每个应用程序的历史资源占用情况。
通过大数据分析模块,对于每个应用程序,基于该应用程序的历史资源占用情况,分析他们在每个编译过程中每个时刻或时段所消耗的资源类型以及资源量,得到该应用程序的预计资源占用情况。
在容器管理器启动新的容器以对新的应用程序进行编译的情况下,人工智能模块获取此新的应用程序的预计资源占用情况,按照上述实例提供的编译资源分配方法确定新的应用程序的编译启动时间,从而达到为新的应用程序分配合适的资源的效果,以有效地利用系统资源,提高编译效率。
图3示出了本申请第三实施例提供的编译资源分配装置的结构框图。
如图3所示,编译资源分配装置可以包括:
历史情况获取模块310,用于响应于第一应用程序的编译请求,获取所述第一应用程序在历史编译过程中的历史资源占用情况;
冲突预测模块320,用于基于所述第一应用程序的历史资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际资源占用情况和在未来时刻的预计资源占用情况,预测所述第一应用程序与所述每个应用程序之间的资源占用冲突的相关信息;
时间确定模块330,用于基于所述资源占用冲突的相关信息,确定所述第一应用程序以及所述当前编译队列中的至少部分应用程序的编译启动时间。
图4示出了本申请第四实施例提供的编译资源分配装置的结构构图。如图4所示,编译资源分配装置可以包括:历史情况获取模块410、冲突预测模块420、时间确定模块430、容器创建模块440、编译环境准备模块450和编译模块460。其中,历史情况获取模块410、冲突预测模块420和时间确定模块430分别和上述实施例中的历史情况获取模块310、冲突预测模块320和时间确定模块330功能相同,在此不详述。
在一些实施例中,如图4所示,所述装置还包括:
容器创建模块440,用于响应于所述第一应用程序的编译请求,为所述第一应用程序创建容器;
编译环境准备模块450,用于在所述容器中准备所述第一应用程序的编译环境;
编译模块460,用于基于所述第一应用程序的编译启动时间,在所述编译环境中编译所述第一应用程序。
在一些实施例中,如图4所示,所述冲突预测模块420包括:
第一预测单元421,用于基于所述第一应用程序的历史资源占用情况,确定所述第一应用程序在未来时刻的预计资源占用情况;
第二预测单元422,用于基于所述第一应用程序的预计资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际资源占用情况和在未来时刻的预计资源占用情况,预测所述第一应用程序与所述每个应用程序之间的资源占用冲突的相关信息。
在一些实施例中,所述第一应用程序与所述每个应用程序之间的资源占用冲突的相关信息,可以包括:在所述编译队列中与所述第一应用程序有资源占用冲突的N个第二应用程序以及所述第一应用程序与所述N个第二应用程序中的每个第二应用程序之间的资源占用冲突的时间;其中,N为大于或等于1的整数;
所述时间确定模块430包括:
编译启动时间确定单元431,用于基于所述第一应用程序与所述每个第二应用程序之间的资源占用冲突的时间,确定所述第一应用程序以及所述第二应用程序的编译启动时间。
在一些实施例中,所述编译启动时间确定单元431用于:
在N大于或等于2的情况下,基于所述第一应用程序和所述每个第二应用程序之间的资源占用冲突的时间,确定每相邻两个第二应用程序与所述第一应用程序之间的资源占用冲突的时间间隔;
基于所述时间间隔和所述第一应用程序的预计编译时长,确定所述第一应用程序以及所述第二应用程序的编译启动时间。
在一些实施例中,所述冲突预测模块420,包括以下至少之一:
第三预测单元423,用于基于所述第一应用程序的历史CPU资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际CPU资源占用情况和在未来时刻的预计CPU资源占用情况,预测所述第一应用程序与所述每个应用程序之间的CPU资源占用冲突的相关信息;
第四预测单元424,用于基于所述第一应用程序的历史内存资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际内存资源占用情况和在未来时刻的预计内存资源占用情况,预测所述第一应用程序与所述每个应用程序之间的内存资源占用冲突的相关信息;
第五预测单元425,用于基于所述第一应用程序的历史I/O资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际I/O资源占用情况和在未来时刻的预计I/O资源占用情况,预测所述第一应用程序与所述每个应用程序之间的I/O资源占用冲突的相关信息。
本申请实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
图5示出了可以用来实施本申请的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图5所示,设备500包括计算单元501,其可以根据存储在只读存储器(ROM)502中的计算机程序或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序,来执行各种适当的动作和处理。在RAM 503中,还可存储设备500操作所需的各种程序和数据。计算单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如编译资源分配方法。例如,在一些实施例中,编译资源分配方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到RAM 503并由计算单元501执行时,可以执行上文描述的编译资源分配方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行编译资源分配方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (14)

1.一种编译资源分配方法,其特征在于,包括:
响应于第一应用程序的编译请求,获取所述第一应用程序在历史编译过程中的历史资源占用情况;
基于所述第一应用程序的历史资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际资源占用情况和在未来时刻的预计资源占用情况,预测所述第一应用程序与所述每个应用程序之间的资源占用冲突的相关信息;
基于所述资源占用冲突的相关信息,确定所述第一应用程序以及所述当前编译队列中的至少部分应用程序的编译启动时间。
2.根据权利要求1所述的方法,其特征在于,还包括:
响应于所述第一应用程序的编译请求,为所述第一应用程序创建容器;
在所述容器中准备所述第一应用程序的编译环境;
基于所述第一应用程序的编译启动时间,在所述编译环境中编译所述第一应用程序。
3.根据权利要求1所述的方法,其特征在于,所述基于所述第一应用程序的历史资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际资源占用情况和在未来时刻的预计资源占用情况,预测所述第一应用程序与所述每个应用程序之间的资源占用冲突的相关信息,包括:
基于所述第一应用程序的历史资源占用情况,确定所述第一应用程序在未来时刻的预计资源占用情况;
基于所述第一应用程序的预计资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际资源占用情况和在未来时刻的预计资源占用情况,预测所述第一应用程序与所述每个应用程序之间的资源占用冲突的相关信息。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述第一应用程序与所述每个应用程序之间的资源占用冲突的相关信息,包括:
在所述编译队列中与所述第一应用程序有资源占用冲突的N个第二应用程序以及所述第一应用程序与所述N个第二应用程序中的每个第二应用程序之间的资源占用冲突的时间;其中,N为大于或等于1的整数;
所述基于所述资源占用冲突的相关信息,确定所述第一应用程序以及所述当前编译队列中的至少部分应用程序的编译启动时间,包括:
基于所述第一应用程序与所述每个第二应用程序之间的资源占用冲突的时间,确定所述第一应用程序以及所述第二应用程序的编译启动时间。
5.根据权利要求4所述的方法,其特征在于,所述基于所述第一应用程序和所述每个第二应用程序之间的资源占用冲突的时间,确定所述第一应用程序以及所述第二应用程序的编译启动时间,包括:
在N大于或等于2的情况下,基于所述第一应用程序和所述每个第二应用程序之间的资源占用冲突的时间,确定每相邻两个第二应用程序与所述第一应用程序之间的资源占用冲突的时间间隔;
基于所述时间间隔和所述第一应用程序的预计编译时长,确定所述第一应用程序以及所述第二应用程序的编译启动时间。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述基于所述第一应用程序的历史资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际资源占用情况和在未来时刻的预计资源占用情况,预测所述第一应用程序与所述每个应用程序之间的资源占用冲突的相关信息,包括以下至少之一:
基于所述第一应用程序的历史CPU资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际CPU资源占用情况和在未来时刻的预计CPU资源占用情况,预测所述第一应用程序与所述每个应用程序之间的CPU资源占用冲突的相关信息;
基于所述第一应用程序的历史内存资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际内存资源占用情况和在未来时刻的预计内存资源占用情况,预测所述第一应用程序与所述每个应用程序之间的内存资源占用冲突的相关信息;
基于所述第一应用程序的历史I/O资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际I/O资源占用情况和在未来时刻的预计I/O资源占用情况,预测所述第一应用程序与所述每个应用程序之间的I/O资源占用冲突的相关信息。
7.一种编译资源分配装置,其特征在于,包括:
历史情况获取模块,用于响应于第一应用程序的编译请求,获取所述第一应用程序在历史编译过程中的历史资源占用情况;
冲突预测模块,用于基于所述第一应用程序的历史资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际资源占用情况和在未来时刻的预计资源占用情况,预测所述第一应用程序与所述每个应用程序之间的资源占用冲突的相关信息;
时间确定模块,用于基于所述资源占用冲突的相关信息,确定所述第一应用程序以及所述当前编译队列中的至少部分应用程序的编译启动时间。
8.根据权利要求7所述的装置,其特征在于,还包括:
容器创建模块,用于响应于所述第一应用程序的编译请求,为所述第一应用程序创建容器;
编译环境准备模块,用于在所述容器中准备所述第一应用程序的编译环境;
编译模块,用于基于所述第一应用程序的编译启动时间,在所述编译环境中编译所述第一应用程序。
9.根据权利要求7所述的装置,其特征在于,所述冲突预测模块包括:
第一预测单元,用于基于所述第一应用程序的历史资源占用情况,确定所述第一应用程序在未来时刻的预计资源占用情况;
第二预测单元,用于基于所述第一应用程序的预计资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际资源占用情况和在未来时刻的预计资源占用情况,预测所述第一应用程序与所述每个应用程序之间的资源占用冲突的相关信息。
10.根据权利要求7至9任一项所述的装置,其特征在于,所述第一应用程序与所述每个应用程序之间的资源占用冲突的相关信息,包括:
在所述编译队列中与所述第一应用程序有资源占用冲突的N个第二应用程序以及所述第一应用程序与所述N个第二应用程序中的每个第二应用程序之间的资源占用冲突的时间;其中,N为大于或等于1的整数;
所述时间确定模块包括:
编译启动时间确定单元,用于基于所述第一应用程序与所述每个第二应用程序之间的资源占用冲突的时间,确定所述第一应用程序以及所述第二应用程序的编译启动时间。
11.根据权利要求10所述的装置,其特征在于,所述编译启动时间确定单元用于:
在N大于或等于2的情况下,基于所述第一应用程序和所述每个第二应用程序之间的资源占用冲突的时间,确定每相邻两个第二应用程序与所述第一应用程序之间的资源占用冲突的时间间隔;
基于所述时间间隔和所述第一应用程序的预计编译时长,确定所述第一应用程序以及所述第二应用程序的编译启动时间。
12.根据权利要求7至11任一项所述的装置,其特征在于,所述冲突预测模块,包括以下至少之一:
第三预测单元,用于基于所述第一应用程序的历史CPU资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际CPU资源占用情况和在未来时刻的预计CPU资源占用情况,预测所述第一应用程序与所述每个应用程序之间的CPU资源占用冲突的相关信息;
第四预测单元,用于基于所述第一应用程序的历史内存资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际内存资源占用情况和在未来时刻的预计内存资源占用情况,预测所述第一应用程序与所述每个应用程序之间的内存资源占用冲突的相关信息;
第五预测单元,用于基于所述第一应用程序的历史I/O资源占用情况,以及当前编译队列中的每个应用程序在当前时刻的实际I/O资源占用情况和在未来时刻的预计I/O资源占用情况,预测所述第一应用程序与所述每个应用程序之间的I/O资源占用冲突的相关信息。
13.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
14.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令被处理器执行时实现如权利要求1-6中任一项所述的方法。
CN202111509715.6A 2021-12-10 2021-12-10 编译资源分配方法、装置、电子设备及存储介质 Active CN114168294B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111509715.6A CN114168294B (zh) 2021-12-10 2021-12-10 编译资源分配方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111509715.6A CN114168294B (zh) 2021-12-10 2021-12-10 编译资源分配方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN114168294A true CN114168294A (zh) 2022-03-11
CN114168294B CN114168294B (zh) 2024-07-02

Family

ID=80485566

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111509715.6A Active CN114168294B (zh) 2021-12-10 2021-12-10 编译资源分配方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN114168294B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114979154A (zh) * 2022-06-06 2022-08-30 北京月新时代科技股份有限公司 一种负载均衡方法及系统

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040194075A1 (en) * 2003-03-26 2004-09-30 Sun Microsystems, Inc., A Delaware Corporation Dynamic distributed make
US20090049432A1 (en) * 2007-08-13 2009-02-19 Marius Pirvu Method and apparatus to improve the running time of short running applications by effectively interleaving compilation with computation in a just-in-time environment
US20120158451A1 (en) * 2010-12-16 2012-06-21 International Business Machines Corporation Dispatching Tasks in a Business Process Management System
US20140040907A1 (en) * 2012-08-01 2014-02-06 International Business Machines Corporation Resource assignment in a hybrid system
CN105094849A (zh) * 2015-08-25 2015-11-25 百度在线网络技术(北京)有限公司 一种插件的资源调用方法和装置
CN107315627A (zh) * 2017-05-31 2017-11-03 北京京东尚科信息技术有限公司 一种自动化配置数据仓库并行任务队列的方法和装置
CN108108300A (zh) * 2017-12-18 2018-06-01 北京东土科技股份有限公司 一种操作系统的资源配置检测方法和装置
CN108279976A (zh) * 2017-12-26 2018-07-13 努比亚技术有限公司 一种编译资源调度方法、计算机及计算机可读存储介质
US20180332012A1 (en) * 2017-05-12 2018-11-15 International Business Machines Corporation Post-compilation configuration management
CN108885546A (zh) * 2016-04-08 2018-11-23 华为技术有限公司 一种基于异构系统的程序处理方法和装置
CN110955431A (zh) * 2018-09-27 2020-04-03 北京国双科技有限公司 编译环境的处理方法及装置
CN111061487A (zh) * 2019-12-16 2020-04-24 厦门市美亚柏科信息股份有限公司 一种基于容器的负载均衡分布式编译系统和方法
CN111258745A (zh) * 2018-11-30 2020-06-09 华为终端有限公司 一种任务处理方法及设备
US20200225989A1 (en) * 2019-01-10 2020-07-16 International Business Machines Corporation Multiple metric based load prediction and resource allocation in an active stream processing job
CN111444004A (zh) * 2020-03-30 2020-07-24 腾讯音乐娱乐科技(深圳)有限公司 一种资源管理方法、装置及存储介质
CN111752706A (zh) * 2020-05-29 2020-10-09 北京沃东天骏信息技术有限公司 资源配置方法、装置及存储介质
CN111831287A (zh) * 2019-04-22 2020-10-27 伊姆西Ip控股有限责任公司 用于确定执行代码段所需的资源的方法、设备和程序产品
CN112162851A (zh) * 2020-09-14 2021-01-01 Oppo(重庆)智能科技有限公司 dex预编译方法、装置、计算机设备及存储介质
CN113168347A (zh) * 2018-10-02 2021-07-23 西门子股份公司 容器化应用程序的编排
CN113721914A (zh) * 2021-07-17 2021-11-30 苏州浪潮智能科技有限公司 一种基于容器的并行编译方法、装置、设备及可读介质

Patent Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040194075A1 (en) * 2003-03-26 2004-09-30 Sun Microsystems, Inc., A Delaware Corporation Dynamic distributed make
US20090049432A1 (en) * 2007-08-13 2009-02-19 Marius Pirvu Method and apparatus to improve the running time of short running applications by effectively interleaving compilation with computation in a just-in-time environment
US20120158451A1 (en) * 2010-12-16 2012-06-21 International Business Machines Corporation Dispatching Tasks in a Business Process Management System
US20140040907A1 (en) * 2012-08-01 2014-02-06 International Business Machines Corporation Resource assignment in a hybrid system
CN105094849A (zh) * 2015-08-25 2015-11-25 百度在线网络技术(北京)有限公司 一种插件的资源调用方法和装置
CN108885546A (zh) * 2016-04-08 2018-11-23 华为技术有限公司 一种基于异构系统的程序处理方法和装置
US20180332012A1 (en) * 2017-05-12 2018-11-15 International Business Machines Corporation Post-compilation configuration management
CN107315627A (zh) * 2017-05-31 2017-11-03 北京京东尚科信息技术有限公司 一种自动化配置数据仓库并行任务队列的方法和装置
CN108108300A (zh) * 2017-12-18 2018-06-01 北京东土科技股份有限公司 一种操作系统的资源配置检测方法和装置
CN108279976A (zh) * 2017-12-26 2018-07-13 努比亚技术有限公司 一种编译资源调度方法、计算机及计算机可读存储介质
CN110955431A (zh) * 2018-09-27 2020-04-03 北京国双科技有限公司 编译环境的处理方法及装置
CN113168347A (zh) * 2018-10-02 2021-07-23 西门子股份公司 容器化应用程序的编排
CN111258745A (zh) * 2018-11-30 2020-06-09 华为终端有限公司 一种任务处理方法及设备
US20200225989A1 (en) * 2019-01-10 2020-07-16 International Business Machines Corporation Multiple metric based load prediction and resource allocation in an active stream processing job
CN111831287A (zh) * 2019-04-22 2020-10-27 伊姆西Ip控股有限责任公司 用于确定执行代码段所需的资源的方法、设备和程序产品
CN111061487A (zh) * 2019-12-16 2020-04-24 厦门市美亚柏科信息股份有限公司 一种基于容器的负载均衡分布式编译系统和方法
CN111444004A (zh) * 2020-03-30 2020-07-24 腾讯音乐娱乐科技(深圳)有限公司 一种资源管理方法、装置及存储介质
CN111752706A (zh) * 2020-05-29 2020-10-09 北京沃东天骏信息技术有限公司 资源配置方法、装置及存储介质
CN112162851A (zh) * 2020-09-14 2021-01-01 Oppo(重庆)智能科技有限公司 dex预编译方法、装置、计算机设备及存储介质
CN113721914A (zh) * 2021-07-17 2021-11-30 苏州浪潮智能科技有限公司 一种基于容器的并行编译方法、装置、设备及可读介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114979154A (zh) * 2022-06-06 2022-08-30 北京月新时代科技股份有限公司 一种负载均衡方法及系统
CN114979154B (zh) * 2022-06-06 2023-10-03 北京月新时代科技股份有限公司 一种负载均衡方法及系统

Also Published As

Publication number Publication date
CN114168294B (zh) 2024-07-02

Similar Documents

Publication Publication Date Title
CN107885762B (zh) 智能大数据系统、提供智能大数据服务的方法和设备
US10241843B2 (en) Application processing allocation in a computing system
CN113641457A (zh) 容器创建方法、装置、设备、介质及程序产品
US20150277987A1 (en) Resource allocation in job scheduling environment
US20140176583A1 (en) Dynamic allocation of physical graphics processing units to virtual machines
US11175940B2 (en) Scheduling framework for tightly coupled jobs
US11429434B2 (en) Elastic execution of machine learning workloads using application based profiling
US10860353B1 (en) Migrating virtual machines between oversubscribed and undersubscribed compute devices
CN109257399B (zh) 云平台应用程序管理方法及管理平台、存储介质
WO2015132753A1 (en) Method for memory management in virtual machines, and corresponding system and computer program product
US20220391253A1 (en) Method of resource management of virtualized system, electronic device and computer program product
CN109918190A (zh) 一种数据采集方法及相关设备
EP4060496A2 (en) Method, apparatus, device and storage medium for running inference service platform
CN113835887A (zh) 显存的分配方法、装置、电子设备及可读存储介质
WO2015179509A1 (en) High-performance computing framework for cloud computing environments
CN115686805A (zh) Gpu资源共享的方法和装置、调度gpu资源共享的方法和装置
CN112527509A (zh) 一种资源分配方法、装置、电子设备及存储介质
CN114968567A (zh) 用于分配计算节点的计算资源的方法、装置和介质
CN114168294B (zh) 编译资源分配方法、装置、电子设备及存储介质
US11586471B2 (en) Computer system and control method for computer system
US20200183751A1 (en) Handling expiration of resources allocated by a resource manager running a data integration job
CN114327894A (zh) 资源分配方法、装置、电子设备及存储介质
US10599479B2 (en) Resource sharing management of a field programmable device
CN114661475A (zh) 一种用于机器学习的分布式资源调度方法及装置
CN117093335A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220330

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

Address before: 2005, floor 2, No. 39, West Street, Haidian District, Beijing 100080

Applicant before: Beijing jingling Information System Technology Co.,Ltd.

GR01 Patent grant