[go: up one dir, main page]

CN116149843A - Resource allocation method, network, storage medium and processor based on dynamic programming - Google Patents

Resource allocation method, network, storage medium and processor based on dynamic programming Download PDF

Info

Publication number
CN116149843A
CN116149843A CN202211502164.5A CN202211502164A CN116149843A CN 116149843 A CN116149843 A CN 116149843A CN 202211502164 A CN202211502164 A CN 202211502164A CN 116149843 A CN116149843 A CN 116149843A
Authority
CN
China
Prior art keywords
application
resource
deployed
resources
cpu
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
CN202211502164.5A
Other languages
Chinese (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.)
Shenzhen Institute of Advanced Technology of CAS
Original Assignee
Shenzhen Institute of Advanced Technology of CAS
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 Shenzhen Institute of Advanced Technology of CAS filed Critical Shenzhen Institute of Advanced Technology of CAS
Priority to CN202211502164.5A priority Critical patent/CN116149843A/en
Publication of CN116149843A publication Critical patent/CN116149843A/en
Priority to PCT/CN2023/133454 priority patent/WO2024114483A2/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
    • 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Stored Programmes (AREA)

Abstract

本申请适用点云语义分割技术领域,提供了一种基于动态规划的资源分配方法、网络及存储介质和处理器,该基于动态规划的资源分配方法利用在给待部署应用分配资源时通过一些先验测试记录先验数据集,通过该先验数据集合理的调整计算机中提供资源的额度,并且随着负载的变化动态的调整资源的分配,同时达到既能提升资源利用率,又不会造成资源短缺的问题的目的。有效避免了现有资源分配方法无法兼顾稳定与效率的缺点。

Figure 202211502164

This application applies to the technical field of point cloud semantic segmentation, and provides a resource allocation method based on dynamic programming, a network, a storage medium, and a processor. The a priori data set is recorded by the experimental test, and the amount of resources provided in the computer is reasonably adjusted through the a priori data set, and the allocation of resources is dynamically adjusted as the load changes, and at the same time, it can improve resource utilization without causing The purpose of the problem of resource scarcity. It effectively avoids the disadvantage that the existing resource allocation method cannot balance stability and efficiency.

Figure 202211502164

Description

基于动态规划的资源分配方法、网络及存储介质和处理器Resource allocation method, network, storage medium and processor based on dynamic programming

技术领域technical field

本申请属于信息技术领域,尤其涉及一种基于动态规划的资源分配方法、网络及存储介质和处理器。The present application belongs to the field of information technology, and in particular relates to a resource allocation method based on dynamic programming, a network, a storage medium and a processor.

背景技术Background technique

资源调度算法是云计算领域一个长久的研究方向,针对不同的场景,很多研究工作者都对资源效率的提升进行了深入的探究。资源调度算法最主要解决的问题是在一个由大量物理机组成的集群中,以何种策略来使用这些物理机的资源,才能保证资源使用的效率最高。这些策略包括但不限于应用部署时如何选择合适的机器,应用在运行时如何动态的调整他的资源分配额度,当单个物理机上资源不够时如何调整应用部署位置来保证稳定性等。这些一系列的策略在保证应用能稳定运行(能使用保证他运行的最小资源额度)的同时,使得整个集群内空闲的资源最少。资源种类有很多,包括但不限于CPU、内存、网卡、Cache等。Resource scheduling algorithm is a long-term research direction in the field of cloud computing. For different scenarios, many researchers have conducted in-depth exploration on the improvement of resource efficiency. The main problem to be solved by the resource scheduling algorithm is in a cluster composed of a large number of physical machines, which strategy is used to use the resources of these physical machines to ensure the highest efficiency of resource use. These strategies include but are not limited to how to select the appropriate machine for application deployment, how to dynamically adjust the resource allocation quota of the application when it is running, and how to adjust the application deployment location to ensure stability when the resources on a single physical machine are insufficient. These series of strategies ensure that the application can run stably (can use the minimum resource quota that guarantees its operation), and at the same time minimize the idle resources in the entire cluster. There are many types of resources, including but not limited to CPU, memory, network card, and cache.

现有的技术在应用申请时需要应用提供两个参数,分别是request和limit,request代表应用运行需要的最少资源,limit代表应用最多需要使用的资源。现有的技术会通过这两个参数来进行资源分配。以request参数为基准的资源分配算法在应用申请资源时会判断机器上资源剩余的额度还能否满足申请的request的值,如果满足即在机器上拉起这个应用;以limit参数为基准的资源分配算法在应用申请资源时会判断机器上资源剩余的额度还能否满足申请的limit的值,申请资源时会判断机器上资源剩余的额度还能否满足申请的request的值。Existing technologies require the application to provide two parameters when applying for an application, namely request and limit. request represents the minimum resources required for the application to run, and limit represents the maximum resources that the application needs to use. Existing technologies use these two parameters to allocate resources. The resource allocation algorithm based on the request parameter will judge whether the remaining amount of resources on the machine can meet the value of the requested request when the application applies for resources, and if it is satisfied, the application will be launched on the machine; resources based on the limit parameter When applying for resources, the allocation algorithm will judge whether the remaining amount of resources on the machine can still meet the value of the applied limit, and when applying for resources, it will judge whether the remaining amount of resources on the machine can still meet the value of the applied request.

以request参数为基准的资源分配算法当应用部署过多时,所有应用的request的和会接近于整机的资源总和,而所有应用的limit总和相加会大于整机的资源总和,这样当其中的某些应用突然需要使用到limit额度的资源时,会导致单机资源不够而引发机器故障。Resource allocation algorithm based on request parameters When too many applications are deployed, the sum of the requests of all applications will be close to the sum of the resources of the whole machine, and the sum of the limits of all applications will be greater than the sum of resources of the whole machine. When some applications suddenly need to use the resources of the limit quota, it will cause insufficient resources on a single machine and cause machine failure.

以limit参数为基准的资源分配算法虽然永远不会出现因为资源不够所造成的机器故障,但是大部分情况下应用申请的资源中,(limit-request)这部分资源处于没有使用或少量使用的状态,造成了机器资源利用率不高的问题。现有技术存在不足。Although the resource allocation algorithm based on the limit parameter will never cause machine failures due to insufficient resources, in most cases, the resources requested by the application (limit-request) are in a state of no use or a small amount of use , resulting in the problem of low utilization of machine resources. There are deficiencies in the prior art.

发明内容Contents of the invention

本申请的目的在于提供一种基于动态规划的资源分配方法、网络及存储介质和处理器,通过对待部署应用进行先验测试来积累先验知识,进而判定他们在一定负载情况下合适的资源配额,在单机资源整体有限的情况下,使得资源利用率相较于之前的方法有提升,并且应用能提供稳定的服务质量,解决授权用户与认知用户建立安全共存关系的技术问题。The purpose of this application is to provide a resource allocation method, network, storage medium and processor based on dynamic programming, to accumulate prior knowledge by conducting prior tests on applications to be deployed, and then determine their appropriate resource quotas under certain load conditions , in the case of limited single-machine resources as a whole, the resource utilization rate is improved compared with the previous method, and the application can provide stable service quality, and solve the technical problem of establishing a safe coexistence relationship between authorized users and cognitive users.

一方面,本申请提供了一种基于动态规划的资源分配方法,包括下述步骤:On the one hand, the present application provides a resource allocation method based on dynamic programming, including the following steps:

s1.待部署应用向应用容器编排系统申请部署;s1. The application to be deployed applies to the application container orchestration system for deployment;

s2.所述应用容器编排系统通过调度模块从Hestia模块获取从提升资源效率的角度优化后的额度资源数值,代替开发者自己设定的资源数值;s2. The application container orchestration system obtains the optimized quota resource value from the Hestia module through the scheduling module from the perspective of improving resource efficiency, and replaces the resource value set by the developer himself;

s3.所述调度模块根据优化后的额度资源数值从集群中选出一台最合适的机器;s3. The scheduling module selects a most suitable machine from the cluster according to the optimized quota resource value;

s4.所述应用容器编排系统通知被选中的机器下载待部署应用的副本并分配相应资源。s4. The application container orchestration system notifies the selected machine to download a copy of the application to be deployed and allocate corresponding resources.

另一方面,本申请还提供了一种采用如上述资源分配方法且基于动态规划的资源分配网络,包括顺序连接的应用容器编排系统、调度模块、Hestia模块和计算机集群;On the other hand, the present application also provides a dynamic programming-based resource allocation network using the above-mentioned resource allocation method, including a sequentially connected application container orchestration system, a scheduling module, a Hestia module, and a computer cluster;

所述应用容器编排系统接受待部署应用的部署申请;The application container orchestration system accepts a deployment application of an application to be deployed;

所述Hestia模块获取从提升资源效率的角度优化后的额度资源数值,代替开发者自己设定的资源数值;The Hestia module obtains the value of quota resources optimized from the perspective of improving resource efficiency, instead of the resource value set by the developer itself;

所述调度模块根据优化后的额度资源数值从所述计算机集群中选出一台最合适的机器;The scheduling module selects a most suitable machine from the computer cluster according to the optimized quota resource value;

所述应用容器编排系统通知被选中的机器下载待部署应用的副本并分配相应资源。The application container orchestration system notifies the selected machine to download a copy of the application to be deployed and allocate corresponding resources.

另一方面,本申请还提供了一种存储介质,所述存储介质存储有能够实现上述的基于动态规划的资源分配方法的程序文件。On the other hand, the present application also provides a storage medium, wherein the storage medium stores program files capable of implementing the above resource allocation method based on dynamic programming.

另一方面,本申请还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述的基于动态规划的资源分配方法。On the other hand, the present application also provides a processor, the processor is configured to run a program, wherein the above-mentioned method for resource allocation based on dynamic programming is executed when the program is running.

本申请提出了一种基于动态规划的资源分配方法、网络及存储介质和处理器。在分配资源时通过一些先验测试记录先验数据集,通过该先验数据集合理的调整资源的额度,并且随着负载的变化动态的调整资源的分配,同时达到既能提升资源利用率,又不会造成资源短缺的问题的目的。有效避免了现有资源分配方法无法兼顾稳定与效率的缺点。This application proposes a resource allocation method based on dynamic programming, a network, a storage medium and a processor. When allocating resources, record a priori data set through some prior tests, adjust the quota of resources reasonably through the prior data set, and dynamically adjust the allocation of resources as the load changes, and at the same time achieve the goal of improving resource utilization. without causing a shortage of resources. It effectively avoids the disadvantage that the existing resource allocation method cannot balance stability and efficiency.

附图说明Description of drawings

图1是本申请基于动态规划的资源分配方法的架构示意图;FIG. 1 is a schematic diagram of the structure of the resource allocation method based on dynamic programming in the present application;

图2是本申请原型资源分别的具体流程示意框图;Fig. 2 is a schematic block diagram of the specific flow of prototype resources in this application;

图3本申请基于动态规划的资源分配方法的主要步骤示意图。FIG. 3 is a schematic diagram of main steps of the resource allocation method based on dynamic programming in this application.

具体实施方式Detailed ways

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图1-3及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings 1-3 and embodiments. It should be understood that the specific embodiments described here are only used to explain the present application, and are not intended to limit the present application.

以下结合具体实施例对本申请的具体实现进行详细描述:The specific implementation of the present application is described in detail below in conjunction with specific embodiments:

实施例一:Embodiment one:

图1-3示出了本申请实施例一提供的基于动态规划的资源分配方法的实现流程,为了便于说明,仅示出了与本申请实施例相关的部分,详述如下:Figures 1-3 show the implementation process of the resource allocation method based on dynamic programming provided by the first embodiment of the present application. For the convenience of explanation, only the parts related to the embodiment of the present application are shown, and the details are as follows:

如图3所示,本申请提供了一种基于动态规划的资源分配方法,包括下述步骤:As shown in Figure 3, the present application provides a resource allocation method based on dynamic programming, including the following steps:

s1.待部署应用向应用容器编排系统申请部署;s1. The application to be deployed applies to the application container orchestration system for deployment;

s2.所述应用容器编排系统通过调度模块从Hestia模块获取从提升资源效率的角度优化后的额度资源数值,代替开发者自己设定的资源数值;s2. The application container orchestration system obtains the optimized quota resource value from the Hestia module through the scheduling module from the perspective of improving resource efficiency, and replaces the resource value set by the developer himself;

s3.所述调度模块根据优化后的额度资源数值从集群中选出一台最合适的机器;s3. The scheduling module selects a most suitable machine from the cluster according to the optimized quota resource value;

s4.所述应用容器编排系统通知被选中的机器下载待部署应用的副本并分配相应资源。s4. The application container orchestration system notifies the selected machine to download a copy of the application to be deployed and allocate corresponding resources.

具体的,附图1中,application为需要部署的应用,Kubernetes(K8s)是一种大规模计算计(服务器)集群上的应用容器编排系统,主要的任务是自动化的部署、规划、运维和更新应用,我们的应用就是通过向K8s提出申请部署并由它执行一套自动化的流程从而部署到一台指定机器上的。K8s连接有很多的模块,我们这里主要设计的是调度模块,也就是图中的Scheduler module,这个模块会根据待部署应用的特性、申请的资源量等信息从集群中选出一台最合适的机器进行部署,当这台机器被选出来后,K8s会通知这台机器,让其下载这个应用的副本,然后机器分配给这个应用他预先申请的资源并启动这个应用,至此这个应用就算部署成功了。Specifically, in Figure 1, application is the application that needs to be deployed. Kubernetes (K8s) is an application container orchestration system on a large-scale computing (server) cluster. The main tasks are automated deployment, planning, operation and maintenance and To update the application, our application is deployed to a designated machine by applying to K8s for deployment and executing a set of automated processes. There are many modules for K8s connection. We mainly design the scheduling module here, that is, the Scheduler module in the figure. This module will select the most suitable one from the cluster according to the characteristics of the application to be deployed, the amount of resources requested, and other information. The machine is deployed. When the machine is selected, K8s will notify the machine to download a copy of the application, and then the machine allocates the resources it pre-applied to the application and starts the application. So far, the application is deployed successfully. up.

我们的算法主要的操作点就是在单机分配资源时,原来的流程是机器会将K8s通知给他的资源额度分配给这个应用,这个额度是应用开发者自己设定的,我们通过我们的算法将这个额度进一步的优化,从提升资源效率的角度重新设定这个额度的数值,以此来达到目的。也就是图1中的Hestia模块部分,这个模块会更新调度模块中的额度资源数值,代替待部署应用的开发者自己在应用中设定的数值(比如request和limit)。The main operating point of our algorithm is that when a single machine allocates resources, the original process is that the machine will allocate the resource quota notified by K8s to the application. This quota is set by the application developer himself. We use our algorithm to allocate This quota is further optimized, and the value of this quota is reset from the perspective of improving resource efficiency, so as to achieve the goal. That is, the Hestia module in Figure 1. This module will update the quota resource value in the scheduling module to replace the value set in the application by the developer of the application to be deployed (such as request and limit).

如附图2所示,所述步骤s2包括以下步骤:As shown in accompanying drawing 2, described step s2 comprises the following steps:

s21.所述Hestia模块对待部署应用进行判断,如是新应用,则进行提前测试,测试待部署应用在不同程度的负载下,不同资源额度所对应的服务质量;建立先验数据集并存入数据库;s21. The Hestia module judges the application to be deployed, and if it is a new application, conducts an advance test to test the service quality corresponding to different resource quotas of the application to be deployed under different loads; establish a priori data set and store it in the database ;

该步骤主要的任务是对一个新类型的应用的在不同程度的负载下,改变其资源额度,得到其服务质量。具体而言,我们会给每种新申请部署的应用在部署之前进行测试,将其负载依次从低到高,资源也随之从第到高,测出其服务质量,我们通过负载的平均访问时延来量化服务质量,时延越低,服务质量越高。The main task of this step is to change the resource quota of a new type of application under different loads to obtain its service quality. Specifically, we will test each new application for deployment before deployment, and the load will be ranked from low to high, and the resources will also be measured from the first to the highest, and the service quality will be measured. We use the average access load To quantify service quality by delay, the lower the delay, the higher the service quality.

如不是新应用,则读取数据库中所述待部署应用对应的先验数据集;If it is not a new application, read the prior data set corresponding to the application to be deployed in the database;

s22.基于所述先验数据集执行一套动态规划的流程来确定分配的资源额度具体数值。s22. Execute a set of dynamic programming procedures based on the prior data set to determine the specific value of the allocated resource quota.

进一步的,所述先验数据集表示为:Further, the prior data set is expressed as:

fS(R1,R2,...,L)=QoSS=Trequestsf S (R 1 , R 2 ,...,L) = QoS S = T requests ;

Trequests代表先验数据集,S代表的应用,R代表资源,L代表负载。T requests represents the prior data set, S represents the application, R represents the resource, and L represents the load.

这个先验数据集Trequests可以得到这种应用在不同的负载情况下,不同的资源配置能带给他的服务质量的量化数据。This prior data set T requests can obtain the quantitative data of the service quality that this application can bring to it under different load conditions and different resource configurations.

进一步的,所述资源包括cup资源和内存资源。Further, the resources include cup resources and memory resources.

进一步的,所述步骤s22中的动态规划流程中采用如下动态规划转移方程:Further, the following dynamic programming transfer equation is adopted in the dynamic programming process in the step s22:

result(Sn,CPU,mem,L)=min[result(Sn-1,CPUtotal-CPU,memtotal-mem,Ltotal-result(S n ,CPU,mem,L)=min[result(S n-1 ,CPU total -CPU,mem total -mem,L total -

L)*(n-1)/n+fS(CPU,mem,L)/n*fS(CPUtotal,memtotal,L)];L)*(n-1)/n+f S (CPU,mem,L)/n*f S (CPU total ,mem total ,L)];

result(S1,CPU,mem,L)=fS(CPU,mem,L)/fS(CPUtotal,memtotal,L);result(S 1 ,CPU,mem,L)=f S (CPU,mem,L)/f S (CPU total ,mem total ,L);

其中,n代表第几个,S2即代表第2个服务,total代表机器资源上限,CPUtotal代表机器上所有的CPU资源;Among them, n represents the number, S 2 represents the second service, total represents the upper limit of machine resources, and CPU total represents all CPU resources on the machine;

动态规划转移方程的意义为,第n个服务的result需要通过第n-1个服务的result和第n个服务的fs才能求出。Result()代表公式的计算结果,fs代表这个s服务在资源配额为R1、R2、...、L的情况下的QoS值,也就是完成所有请求所用的时间。The meaning of the dynamic programming transfer equation is that the result of the nth service needs to be obtained through the result of the n-1th service and the f s of the nth service. Result() represents the calculation result of the formula, and f s represents the QoS value of this s service when the resource quota is R 1 , R 2 , ..., L, that is, the time taken to complete all requests.

Result的含义为服务质量的相对值;CPU表示为处理器资源;mem表示内存资源。The meaning of Result is the relative value of service quality; CPU means processor resource; mem means memory resource.

具体的,这里我们将资源具体成了CPU和内存(mem),通过这两个公式我们可以得出在资源总额度有限的情况下,得到每个应用资源最优的状态,这个状态能保证所有服务提供相对最优的服务质量的同时最大范围提升机器的资源利用率。Specifically, here we define resources as CPU and memory (mem). Through these two formulas, we can obtain the optimal state of each application resource when the total amount of resources is limited. This state can guarantee all The service provides relatively optimal service quality while maximizing the resource utilization of the machine.

进一步的,还包括以下步骤:Further, the following steps are also included:

s5.在没有触发所述步骤s1的情况下,每隔1分钟重复一次步骤s2至步骤s4。s5. In the case that the step s1 is not triggered, repeat the step s2 to the step s4 every 1 minute.

每分钟会重新根据应用的负载情况实时的调整资源的额度,可以有效的提高资源的利用效率The quota of resources will be adjusted in real time according to the application load every minute, which can effectively improve the utilization efficiency of resources

进一步的,当有待部署应用进行部署时,所述Hestia模块会通过动态规划转移方程依次计算出下载所述待部署应用的机器中已经部署的应用和待部署应用的资源额度的值,所述应用容器编排系统将重新分配资源。Further, when the application to be deployed is deployed, the Hestia module will sequentially calculate the value of the resource quota of the deployed application and the application to be deployed in the machine downloading the application to be deployed through the dynamic programming transfer equation, and the application The container orchestration system will reallocate resources.

为了保证服务质量,会间隔1分钟调用一次,主要为了防止某些应用负载突然增加造成其资源短缺的风险,或者当有新应用申请部署时,会同时进行先验测试和额度计算,先验测试的结果会存至数据库中,方便后续有相同应用部署时可以直接使用。In order to ensure the quality of service, it will be called once every 1 minute, mainly to prevent the risk of resource shortage caused by a sudden increase in the load of some applications, or when a new application is deployed, it will perform a priori test and quota calculation at the same time, a priori test The results will be stored in the database, so that they can be used directly when the same application is deployed in the future.

实施例二:Embodiment two:

另一方面,本申请还提供了一种采用如上述语义分割方法的基于动态规划的资源分配网络,包括顺序连接的应用容器编排系统、调度模块、Hestia模块和计算机集群;On the other hand, the present application also provides a resource allocation network based on dynamic programming using the above-mentioned semantic segmentation method, including a sequentially connected application container orchestration system, a scheduling module, a Hestia module, and a computer cluster;

所述应用容器编排系统接受待部署应用的部署申请;The application container orchestration system accepts a deployment application of an application to be deployed;

所述Hestia模块获取从提升资源效率的角度优化后的额度资源数值,代替开发者自己设定的资源数值;The Hestia module obtains the value of quota resources optimized from the perspective of improving resource efficiency, instead of the resource value set by the developer itself;

所述调度模块根据优化后的额度资源数值从所述计算机集群中选出一台最合适的机器;The scheduling module selects a most suitable machine from the computer cluster according to the optimized quota resource value;

所述应用容器编排系统通知被选中的机器下载待部署应用的副本并分配相应资源。The application container orchestration system notifies the selected machine to download a copy of the application to be deployed and allocate corresponding resources.

具体的,基于动态规划的资源分配算法,此算法能根据负载实时的调整整个单机的资源分配情况,从而达到提高资源利用率的目的。相对于以request为基准的资源分配算法降低了出现资源短缺的可能性,相对于以limit为基准的资源分配算法提高了整机的资源分配效率。Specifically, based on a dynamic programming resource allocation algorithm, this algorithm can adjust the resource allocation of the entire stand-alone machine in real time according to the load, so as to achieve the purpose of improving resource utilization. Compared with the resource allocation algorithm based on request, the possibility of resource shortage is reduced, and compared with the resource allocation algorithm based on limit, the resource allocation efficiency of the whole machine is improved.

实施例三:Embodiment three:

另一方面,本申请还提供了一种存储介质,所述存储介质存储有能够实现上述的基于动态规划的资源分配方法的程序文件。On the other hand, the present application also provides a storage medium, wherein the storage medium stores program files capable of implementing the above resource allocation method based on dynamic programming.

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。Those of ordinary skill in the art can understand that all or part of the steps in the method of the above-mentioned embodiments can be completed by instructing related hardware through a program, and the program can be stored in a computer-readable storage medium, and the storage Media such as ROM/RAM, magnetic disk, optical disk, etc.

实施例四:Embodiment four:

另一方面,本申请还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述的基于动态规划的资源分配方法。On the other hand, the present application also provides a processor, the processor is configured to run a program, wherein the above-mentioned method for resource allocation based on dynamic programming is executed when the program is running.

在本申请实施例中,该基于动态规划的资源分配方法可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本申请。各单元的具体实施方式可参考实施例一的描述,在此不再赘述。In the embodiment of the present application, the resource allocation method based on dynamic programming can be implemented by corresponding hardware or software units, and each unit can be an independent software and hardware unit, or can be integrated into a software and hardware unit, which is not limited here this application. For the specific implementation manner of each unit, reference may be made to the description of Embodiment 1, and details are not repeated here.

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本申请的保护范围之内。The above descriptions are only preferred embodiments of the application, and are not intended to limit the application. Any modifications, equivalent replacements and improvements made within the spirit and principles of the application should be included in the protection of the application. within range.

Claims (10)

1. The resource allocation method based on dynamic programming is characterized by comprising the following steps:
s1. the application to be deployed applies for deployment to the application container orchestration system;
s2, the application container arrangement system acquires the value of the quota resource optimized from the viewpoint of improving the resource efficiency from the Herica module through the scheduling module, and replaces the resource value set by a developer in the application to be deployed;
s3. the scheduling module selects a most suitable machine from the cluster according to the optimized limit resource value;
s4. the application container orchestration system informs the selected machines to download copies of the application to be deployed and to allocate corresponding resources.
2. The resource allocation method according to claim 1, wherein said step s2 comprises the steps of:
s21, judging the application to be deployed by the Herica module, if the application is a new application, testing in advance, and testing service quality corresponding to different resource units of the application to be deployed under different degrees of load; establishing a priori data set and storing the priori data set into a database;
if the application is not a new application, reading a priori data set corresponding to the application to be deployed in a database;
s22. executing a set of dynamic programming procedures based on the prior data set to determine the optimized value of the quota resource.
3. The resource allocation method of claim 2, wherein the a priori data set is represented as:
f S (R 1 ,R 2 ,...,L)=QoS S =T requests
T requests representing the a priori dataset, S representing the application, R representing the resource, and L representing the load.
4. The resource allocation method of claim 3, wherein the resources comprise a cup resource and a memory resource.
5. The method for allocating resources according to claim 4, wherein the following dynamic programming transfer equation is adopted in the dynamic programming flow in step s 22:
result(S n ,CPU,mem,L)=min[result(S n-1 ,CPU total -CPU,mem total -mem,L total -
L)*(n-1)/n+f S (CPU,mem,L)/n*f S (CPU total ,mem total ,L)];
result(S 1 ,CPU,mem,L)=f S (CPU,mem,L)/f S (CPU total ,mem total ,L);
wherein, result means the relative value of the service quality; the CPU is represented as a processor resource; mem represents a memory resource; n represents what number, S 2 I.e. representing service 2, total represents the upper limit of machine resources, CPU total Representing all of the CPU resources on the machine.
6. The resource allocation method according to claim 5, further comprising the step of:
s5. steps s2 to s4 are repeated every 1 minute without triggering said step s1.
7. The method of claim 6, wherein when an application to be deployed is deployed, the nestia module sequentially calculates a value of a resource limit of an application already deployed and an application to be deployed in a machine that downloads the application to be deployed through a dynamic programming transfer equation, and the application container arrangement system reallocates resources.
8. A dynamic programming-based resource distribution network employing the resource distribution method according to any of claims 1 to 7, comprising an application container orchestration system, a scheduling module, a nestia module and a computer cluster connected in sequence;
the application container arrangement system receives a deployment application of an application to be deployed;
the Hestin module acquires the value of the quota resource after optimization from the viewpoint of improving the resource efficiency, and replaces the resource value set by a developer;
the scheduling module selects a most suitable machine from the computer cluster according to the optimized limit resource value;
the application container orchestration system notifies the selected machines to download copies of the application to be deployed and to allocate corresponding resources.
9. A storage medium storing a program file capable of implementing the dynamic programming-based resource allocation method according to any one of claims 1 to 7.
10. A processor for running a program, wherein the program when run performs the dynamic programming based resource allocation method of any one of claims 1 to 7.
CN202211502164.5A 2022-11-28 2022-11-28 Resource allocation method, network, storage medium and processor based on dynamic programming Pending CN116149843A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211502164.5A CN116149843A (en) 2022-11-28 2022-11-28 Resource allocation method, network, storage medium and processor based on dynamic programming
PCT/CN2023/133454 WO2024114483A2 (en) 2022-11-28 2023-11-22 Resource allocation method and network based on dynamic programming, and storage medium and processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211502164.5A CN116149843A (en) 2022-11-28 2022-11-28 Resource allocation method, network, storage medium and processor based on dynamic programming

Publications (1)

Publication Number Publication Date
CN116149843A true CN116149843A (en) 2023-05-23

Family

ID=86357275

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211502164.5A Pending CN116149843A (en) 2022-11-28 2022-11-28 Resource allocation method, network, storage medium and processor based on dynamic programming

Country Status (2)

Country Link
CN (1) CN116149843A (en)
WO (1) WO2024114483A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024114483A3 (en) * 2022-11-28 2024-08-02 中国科学院深圳先进技术研究院 Resource allocation method and network based on dynamic programming, and storage medium and processor

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118760507B (en) * 2024-09-05 2025-01-14 浩鲸云计算科技股份有限公司 A method and system for unified scheduling of heterogeneous computing power based on global planning
CN119988039B (en) * 2025-04-14 2025-09-05 阿里云计算有限公司 Memory resource scheduling method, system, computing device, and electronic device
CN120371544B (en) * 2025-06-27 2025-09-26 天津津能电力科学研究有限公司 Dynamic allocation method for data processing resources of data center station

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645529B2 (en) * 2010-10-06 2014-02-04 Infosys Limited Automated service level management of applications in cloud computing environment
US10901788B2 (en) * 2018-11-29 2021-01-26 Microsoft Technology Licensing, Llc Forecasting container-based resource usage
CN114930293A (en) * 2019-06-12 2022-08-19 Snyk有限公司 Predictive auto-expansion and resource optimization
US20230153162A1 (en) * 2020-04-07 2023-05-18 Telefonaktiebolaget Lm Ericsson (Publ) Resource capacity management in clouds
US11368539B1 (en) * 2021-05-27 2022-06-21 International Business Machines Corporation Application deployment in a multi-cluster environment
CN114356543B (en) * 2021-12-02 2025-01-28 国电南瑞科技股份有限公司 A multi-tenant machine learning task resource scheduling method based on Kubernetes
CN116149843A (en) * 2022-11-28 2023-05-23 中国科学院深圳先进技术研究院 Resource allocation method, network, storage medium and processor based on dynamic programming

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024114483A3 (en) * 2022-11-28 2024-08-02 中国科学院深圳先进技术研究院 Resource allocation method and network based on dynamic programming, and storage medium and processor

Also Published As

Publication number Publication date
WO2024114483A3 (en) 2024-08-02
WO2024114483A2 (en) 2024-06-06

Similar Documents

Publication Publication Date Title
CN116149843A (en) Resource allocation method, network, storage medium and processor based on dynamic programming
CN111381928B (en) Virtual machine migration method, cloud computing management platform and storage medium
Trushkowsky et al. The {SCADS} Director: Scaling a Distributed Storage System Under Stringent Performance Requirements
WO2022262167A1 (en) Cluster resource scheduling method and apparatus, electronic device and storage medium
US8037185B2 (en) Dynamic application placement with allocation restrictions, vertical stacking and even load distribution
CN114443263A (en) Video memory management method, device, equipment and system
CN113110914A (en) Internet of things platform construction method based on micro-service architecture
WO2016205978A1 (en) Techniques for virtual machine migration
CN113391913A (en) Distributed scheduling method and device based on prediction
JP2021197010A (en) Distributed storage system and rebalancing method
CN114296891A (en) Task scheduling method, system, computing device, storage medium and program product
WO2024245037A1 (en) Virtual computing resource scheduling method and control plane component
CN116048734B (en) Method, device, medium and equipment for realizing AI (advanced technology attachment) service
CN111405072B (en) Hybrid cloud optimization method based on cloud manufacturer cost scheduling
CN104866375B (en) A kind of method and device for migrating virtual machine
Boza et al. A case for performance-aware deployment of containers
CN117149372A (en) Task scheduling method, device, equipment and storage medium
Tran et al. Concurrent service auto-scaling for Knative resource quota-based serverless system
Katal et al. Simulated annealing based approach for virtual machine live migration
CN104899072A (en) Fine-grained resource dispatching system and fine-grained resource dispatching method based on virtualization platform
Corradi et al. Elastic provisioning of virtual Hadoop clusters in OpenStack-based clouds
CN114697213A (en) Upgrading method and device
Shwe et al. Avoiding Performance Impacts by Re-Replication Workload Shifting in HDFS Based Cloud Storage
CN119829296B (en) Load balancing method and system of integrative super fusion server of deposit and calculation
Duan et al. Improving Server Re-Consolidation for Datacenters via Resource Exchange and Load Adjustment

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