CN117349012A - 基于动态分配延迟目标和优先级调度的共享微服务资源管理方法和装置 - Google Patents
基于动态分配延迟目标和优先级调度的共享微服务资源管理方法和装置 Download PDFInfo
- Publication number
- CN117349012A CN117349012A CN202311296724.0A CN202311296724A CN117349012A CN 117349012 A CN117349012 A CN 117349012A CN 202311296724 A CN202311296724 A CN 202311296724A CN 117349012 A CN117349012 A CN 117349012A
- Authority
- CN
- China
- Prior art keywords
- service
- micro
- delay
- shared
- workload
- 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
Links
- 238000007726 management method Methods 0.000 title claims description 20
- 238000000034 method Methods 0.000 claims abstract description 47
- 238000012886 linear function Methods 0.000 claims abstract description 24
- 238000012544 monitoring process Methods 0.000 claims abstract description 12
- 238000010801 machine learning Methods 0.000 claims abstract description 4
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000004458 analytical method Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 6
- 238000012417 linear regression Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 claims description 3
- 241000529895 Stercorarius Species 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- KJONHKAYOJNZEC-UHFFFAOYSA-N nitrazepam Chemical compound C12=CC([N+](=O)[O-])=CC=C2NC(=O)CN=C1C1=CC=CC=C1 KJONHKAYOJNZEC-UHFFFAOYSA-N 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/5038—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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 load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Algebra (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Operations Research (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Multi Processors (AREA)
Abstract
基于动态分配延迟目标和优先级调度的共享微服务资源管理方法和装置,其方法包括:以机器学习模型拟合微服务延时与服务工作负载的线性函数;根据监控收集的数据计算服务的延时和微服务的延时,以两者的相关程度为根据动态计算每个服务调用的所有微服务的延时目标;根据初始化的延时目标为共享微服务分配优先级,并确定共享微服务在每个服务中新的工作负载,使用Linux流量控制工具tc控制请求在共享微服务中的执行顺序;最后根据构建的线性函数、动态分配的延时目标、实时的工作负载计算每个微服务的实例数,由新实例数决定是否扩展微服务。其中共享微服务由于有多个服务调用会产生不同的实例数,取其中最小的实例数。
Description
技术领域
本发明属于软件开发技术领域,尤其涉及一种基于动态分配延迟目标和优先级调度的共享微服务资源管理方法和装置。
背景技术
随着云计算技术的飞速发展,如今的微服务架构应用越来越多地以容器的方式部署在云上。得益于云的弹性特性和微服务体量小、可独立部署等特性,微服务架构应用的部署难度被极大的降低,节省了企业应用上线的成本。但为了保障用户应用的运行环境,满足服务水平协议(SLA),许多云厂商往往会过度分配峰值资源,导致集群资源的利用率低,并且增加了服务上云的成本。在不过度分配资源的前提下,如何合理地分配每个微服务的资源,保障用户应用不违反服务水平指标(SLO)成为了亟待解决的问题。
提高资源利用率的常用方法是根据实际的服务工作负载动态的调配资源。而对于微服务架构的应用资源管理而言有两个挑战:服务的不同组件对端到端性能的影响可能存在显著的差异;单个微服务可由多个在线服务共享,而这些服务的工作负载模式和SLA要求是不同的;
目前,该问题的研究方案主要为:以启发式的方法或机器学习模型的方式建立在一定工作负载下某个服务的端到端时延与其服务链中的微服务性能—微服务请求延时的关系。从而根据实时的在线服务工作负载动态调控服务链中可能导致违反服务SLO的微服务的资源。现有研究技术并没有考虑多个服务可能共享同一个微服务,忽略不同的服务具有不同的工作负载、SLA,对共享微服务的性能要求也不同。之前的技术以最小的延时目标扩缩容此类共享微服务,从而造成资源浪费。
因此,有必要提供一种共享微服务资源管理的方法,以解决上述问题。
发明内容
本发明要克服现有技术的上述缺点,提供一种基于动态分配延迟目标和优先级调度的共享微服务资源管理方法和装置。本发明平衡各个服务对于其服务调用链中的共享微服务的性能要求,即通过为服务请求设置优先级的方式,重新调度不同服务请求在同一微服务容器中的执行顺序,以降低高优先级目标的服务对共享微服务的性能要求,从而节省其资源花销。
本发明提出基于动态分配延迟目标和优先级调度的共享微服务资源管理方法,包括:
S101.实时监控应用数据,并根据一段时间间隔的监控数据构成样本后进行离线分析,得到微服务延时和工作负载的线性函数和服务端到端延时与每个微服务延时的相关系数。
S102.所述线性函数用于动态确定每个微服务的实例数。所述相关系数用于动态分配一个服务调用链中的微服务延时目标。在得到每个微服务的初始化延时目标后,计算每个微服务的新实例数。
S103.对共享微服务需额外处理,需要为共享微服务里的不同请求分配优先级,并对请求按照优先级重新调度。然后根据调度后的工作负载重新计算每个服务中的共享微服务的实例数,并确定其最终的实例数。
根据可选的实施方式,所述监控数据包括微服务应用链路跟踪(Trace)数据和应用性能指标。所述应用链路跟踪数据用于建立服务的微服务依赖图,以及确定每个微服务的延时和服务端到端延时。所述应用性能指标包括集群的节点CPU、Memory利用率和微服务实例的平均CPU利用率、Memory利用率、工作负载。上述两种数据用于构成拟合微服务延时和工作负载的线性函数的样本数据。
根据可选的实施方式,所述离线分析包括:分析Trace数据得到服务的端到端延时和每个微服务的延时;将所述监控数据输入离线线性回归模型分析,所述线性回归模型为机器学习模型,该模型用于拟合微服务延时和工作负载的线性函数,所述线性函数为
其中Wi j表示微服务i在第j分钟的CPU利用率、内存利用率、工作负载。ai,bi,ci,di为模型学习得到的函数参数。
根据可选的实施方式,所述动态分配微服务延时目标的方法为计算服务的端到端延时和每个微服务的延时的皮尔逊系数并乘以每个服务的SLA延时指标。所述皮尔逊系数为一种计算两个样本相关程度的计算方法。所述具体计算方式为,服务的端到端延时和每个微服务的延时的协方差除以两者的标准差。
所述相关系数具体计算为:
其中Ti,Tservice分别表示微服务i的延时和服务的端到端延时,σi,σservice分别表示Ti,Tservice的标准差。
所述动态分配的延迟目标具体计算公式为:
其中SLA表示单个在线服务的SLA延时要求;RI表示微服务在当前服务链中的延时相关系数。
根据可选的实施方式,所述对微服务里的不同请求分配优先级的方法为,根据不同的服务请求中其延时目标不同这一特点,根据此目标等比例的分配不同的优先级。
根据可选的实施方式,所述对按照优先级重新调度请求的方法为使用Linux流量控制工具tc指定每个流量的优先级,再通过队列规则(即pfifo_fast)提供优先级。
根据可选的实施方式,所述计算微服务新的实例数的方法为:通过实时的工作负载和动态分配的微服务延时目标求解所述线性函数得到每个微服务的最优实例数。所述新微服务实例数的具体计算公式为:
其中为微服务i在j分钟的动态分配的延时目标,ai,bi,ci,di为线性函数的参数,Wi j为微服务i在j分钟的实时工作负载。
所述共享微服务在分配优先级后的新工作负载计算方式为:
其中表示服务sj在微服务i中在分配优先级后的新工作负载,并且服务sk小于sk-1的优先级。所述共享微服务新实例数计算方法为求解所有服务的新工作负载和线性函数得到的实例数,并取其中最小的实例数。
本发明的第二个方面涉及一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现本发明的基于动态分配延迟目标和优先级调度的共享微服务资源管理方法。
本发明一种基于动态分配延迟目标和优先级调度的共享微服务资源管理装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现本发明的基于动态分配延迟目标和优先级调度的共享微服务资源管理方法。
本发明的工作原理为:首先通过以SLA指标为基准动态为服务链中的每个微服务分配不同的延时指标,从而结合线性函数计算不同的最优实例数以避免违反SLA并减少资源利用。其次对于共享微服务,由于有多个服务调用导致共享微服务产生多个目标实例数,我们需要进行额外的处理以确定其最终实例数。具体做法为通过将请求进行优先级调度,使优先级高即低延迟目标的服务优先运行,降低高优先级的服务对共享微服务的资源要求,从而减小其资源压力,即减少共享微服务的实例数。
与现有技术相比,本发明提供的共享微服务资源管理方法根据微服务在当前服务链中的延时相关程度为每个微服务动态分配延时目标,再通过线性函数求得微服务的最佳实例数。根据每个服务在共享微服务中的微服务延时目标确定其请求在共享微服务中的优先级。
在确定优先级后,高优先级的服务请求将不会被低优先级的服务请求阻塞。此时只需保障低优先级的服务能够满足服务SLA。通过调整低优先级的服务工作负载,提高低优先级服务所需共享微服务的实例数,在所有服务链求得的微服务实例数中取最小值即可满足所有服务的SLA。
本发明的优点是:在共享微服务的服务请求具有较大SLA延时指标差的场景下,极大地减少了共享微服务的资源占用,提高了资源使用率;能够在满足服务水平协议的前提下,降低共享微服务的资源消耗。
附图说明
图1是本发明方法的一示例的步骤流程图;
图2是本发明方法的一简单微服务应用示意图。
具体实施方式
下面将参考附图并结合实施例来详细说明本发明。
实施例1
鉴于上述问题,本发明提出一种基于动态分配延迟目标和优先级调度的共享微服务资源管理方法,通过动态分配延迟目标和优先级调度,将防止在共享微服务中高延迟请求阻塞低延迟请求,从而不必为了满足低延迟请求的SLA而过度分配资源至共享微服务。
本发明提出的共享微服务资源管理方法适用于不同的服务调用同一个微服务,并且不同的服务对该共享微服务的延时要求相差较大的应用场景。
下面参照图1至图2,将对本发明的内容进行详细说明。
图1是本发明动态分配延迟目标和优先级调度的共享微服务的资源管理方法的一示例的步骤流程图;
本发明提供一种的共享微服务资源管理方法,该共享微服务资源管理方法适用于含有共享微服务的应用,如类似图2示例中的应用,含有类似的微服务依赖图,其不同服务共享同一微服务。
下面将结合图1和图2,具体说明本发明的共享微服务资源管理方法的调用过程。
首先在步骤S101中,所述实时监控应用数据包括监控微服务应用链路跟踪(Trace)数据和应用性能指标数据。其中所述应用链路跟踪数据利用开源项目jaeger采集,首先将jaeger server署于Kubernetes集群,以及将jaeger agent部署于微服务所在节点。服务运行阶段通过UDP协议发送trace数据至agent,agent再批量发送至jaeger服务器。通过访问jaeger提供的Query接口即可获取trace数据;所述应用性能指标数据包括CPU利用率、Memory利用率。利用开源项目prometheus采集。将以上数据持久化至存储,后续分析模块将调用监控数据分析。所述分析为:根据收集到的Trace数据生成在线服务的微服务依赖图,并提取所有微服务在一定时间步长内的请求处理数(工作负载)以及微服务的请求处理延时,构成样本。所述时间步长为1分钟。根据样本以线性回归模型学习拟合微服务延时与工作负载的线性函数。所述微服务i在第j分钟的微服务延时的线性函数为:
其中Wi j表示微服务i在第j分钟的CPU利用率、内存利用率、工作负载。ai,bi,ci,di为模型学习得到的函数参数。
在步骤S102中,所述动态的计算每个初始微服务延时目标的方法为根据每个在线服务的SLA、实时的微服务工作负载、微服务延时的线性函数以及每个微服务在当前服务链中的延时相关系数,动态的计算每个初始微服务延时目标。该目标保障在满足服务SLA的同时,微服务的资源占用(容器实例数)尽可能少。所述微服务延时目标的计算公式为:
其中SLA表示单个在线服务的SLA延时要求;RI表示微服务在当前服务链中的延时相关系数。
所述微服务在当前服务链中的延时相关系数RI通过求解微服务的延时方差和服务端到端延时方差的皮尔逊系数得到,皮尔逊系数是量化两个样本相关程度的测量工具。具体的计算方法为:
其中Ti,Tservice分别表示微服务i的延时和服务的端到端延时,σi,σservice分别表示Ti,Tservice的标准差。
在步骤S103中,根据初始化的微服务延时目标确定每个服务在共享微服务中的优先级。共享微服务中来自不同服务的请求将以该优先级处理请求,以避免高优先级的服务请求被低优先级的服务阻塞和为了保障延迟更敏感的服务而分配更多资源。所述以不同优先级处理请求的方法为:通过Linux流量控制工具tc管理容器的不同入站网络流量实现。为了降低资源的使用,此时我们需要以新的工作负载为共享微服务计算实例数。所述新的工作负载为低优先级的服务累加高优先级服务的工作负载。例如服务A和服务B的在微服务i的工作负载分别为Wi A,Wi B并且A具有更高的优先级,此时Wi B′=Wi A+Wi B。共享微服务的新实例数n′i的计算方法为:
其中表示根据服务sn的延时目标所求得的最优实例数。根据新的最优实例数判断是否需要扩缩容,以及具体的扩缩容数量动态调整微服务的实例数。此操作可通过访问Kubernetes提供的API调整微服务在集群中部署的实例数。
与现有技术相比,本发明提供的共享微服务资源管理方法根据微服务在当前服务链中的延时相关程度为每个微服务动态分配延时目标,再通过线性函数求得微服务的最佳实例数。根据每个服务在共享微服务中的微服务延时目标确定其请求在共享微服务中的优先级。
在确定优先级后,高优先级的服务请求将不会被低优先级的服务请求阻塞。此时只需保障低优先级的服务能够满足服务SLA。通过调整低优先级的服务工作负载,提高低优先级服务所需共享微服务的实例数,在所有服务链求得的微服务实例数中取最小值即可满足所有服务的SLA。在共享微服务的服务请求具有较大SLA延时指标差的场景下,此方法极大地减少了共享微服务的资源占用,提高了资源使用率。
实施例2
本实施例涉及一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现实施例1的基于动态分配延迟目标和优先级调度的共享微服务资源管理方法。
实施例3
本实施例涉及一种基于动态分配延迟目标和优先级调度的共享微服务资源管理装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现实施例1的基于动态分配延迟目标和优先级调度的共享微服务资源管理方法。
本发明中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (10)
1.基于动态分配延迟目标和优先级调度的共享微服务资源管理方法,其特征在于,包括:
S101,实时监控应用数据,并根据一段时间间隔的监控数据构成样本后进行离线分析,得到微服务延时和工作负载的线性函数和服务端到端延时与每个微服务延时的相关系数;所述线性函数用于动态确定每个微服务的实例数,所述相关系数用于动态分配一个服务调用链中的微服务延时目标;
S102,得到每个微服务的初始化延时目标后,计算每个微服务的新实例数;
S103,对共享微服务额外处理,为共享微服务里的不同请求分配优先级,并对请求按照优先级重新调度;然后根据调度后的工作负载重新计算每个服务中的共享微服务的实例数,并确定其最终的实例数。
2.根据权利要求1所述的基于动态分配延迟目标和优先级调度的共享微服务资源管理方法,其特征在于,步骤S101所述的监控数据包括微服务应用链路跟踪Trace数据和应用性能指标;所述应用链路跟踪数据用于建立服务的微服务依赖图,以及确定每个微服务的延时和服务端到端延时;所述应用性能指标包括集群的节点CPU、Memory利用率和微服务实例的平均CPU利用率、Memory利用率、工作负载;上述两种数据用于构成拟合微服务延时和工作负载的线性函数的样本数据。
3.根据权利要求1所述的基于动态分配延迟目标和优先级调度的共享微服务资源管理方法,其特征在于,步骤S101所述的离线分析包括:分析Trace数据得到服务的端到端延时和每个微服务的延时;将所述监控数据输入离线线性回归模型进行分析,所述线性回归模型为机器学习模型,用于拟合微服务延时和工作负载的线性函数,所述线性函数为
其中Wi j表示微服务i在第j分钟的CPU利用率、内存利用率、工作负载,ai,bi,ci,di为模型学习得到的函数参数。
4.根据权利要求1所述的基于动态分配延迟目标和优先级调度的共享微服务资源管理方法,其特征在于,步骤S102所述的动态分配微服务延时目标的方法为:计算服务的端到端延时和每个微服务的延时的相关系数并乘以每个服务的SLA延时指标,所述相关系数具体计算为:
其中Ti,Tservice分别表示微服务i的延时和服务的端到端延时,σi,σservice分别表示Ti,Tservice的标准差。
所述动态分配的延迟目标具体计算公式为:
其中SLA表示单个在线服务的SLA延时要求;RI表示微服务在当前服务链中的延时相关系数。
5.根据权利要求1所述的基于动态分配延迟目标和优先级调度的共享微服务资源管理方法,其特征在于,步骤S103所述的对微服务里的不同请求分配优先级的方法为,根据不同的服务请求中其延时目标不同这一特点,根据此目标等比例的分配不同的优先级;
所述对按照优先级重新调度请求的方法为使用Linux流量控制工具tc指定每个流量的优先级,再通过队列规则pfifo_fast提供优先级。
6.根据权利要求1所述的基于动态分配延迟目标和优先级调度的共享微服务资源管理方法,其特征在于,步骤S103所述的计算微服务新的微服务实例数的方法为:通过实时的工作负载和动态分配的微服务延时目标求解所述线性函数得到每个微服务的最优实例数;所述新微服务实例数的计算公式为:
其中为微服务i在j分钟的动态分配的延时目标,ai,bi,ci,di为线性函数的参数,Wi j为微服务i在j分钟的实时工作负载。
7.根据权利要求1所述的基于动态分配延迟目标和优先级调度的共享微服务资源管理方法,其特征在于,步骤S103所述的共享微服务在分配优先级后的新工作负载计算方式为:
其中表示服务sj在微服务i中在分配优先级后的新工作负载,并且服务sk小于sk-1的优先级。
8.根据权利要求1所述的基于动态分配延迟目标和优先级调度的共享微服务资源管理方法,其特征在于,步骤S103所述共享微服务新实例数计算方法为求解所有服务的新工作负载和线性函数得到的实例数,并取其中最小的实例数。
9.一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现权利要求1-8中任一项所述的基于动态分配延迟目标和优先级调度的共享微服务资源管理方法。
10.基于动态分配延迟目标和优先级调度的共享微服务资源管理装置,其特征在于,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现权利要求1-8中任一项所述的基于动态分配延迟目标和优先级调度的共享微服务资源管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311296724.0A CN117349012A (zh) | 2023-10-09 | 2023-10-09 | 基于动态分配延迟目标和优先级调度的共享微服务资源管理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311296724.0A CN117349012A (zh) | 2023-10-09 | 2023-10-09 | 基于动态分配延迟目标和优先级调度的共享微服务资源管理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117349012A true CN117349012A (zh) | 2024-01-05 |
Family
ID=89366117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311296724.0A Pending CN117349012A (zh) | 2023-10-09 | 2023-10-09 | 基于动态分配延迟目标和优先级调度的共享微服务资源管理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117349012A (zh) |
-
2023
- 2023-10-09 CN CN202311296724.0A patent/CN117349012A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10749814B2 (en) | Dynamic allocation of resources while considering resource reservations | |
US20200192703A1 (en) | Utilization-aware resource scheduling in a distributed computing cluster | |
US7870256B2 (en) | Remote desktop performance model for assigning resources | |
Van den Bossche et al. | Online cost-efficient scheduling of deadline-constrained workloads on hybrid clouds | |
Singh et al. | Resource provisioning and scheduling in clouds: QoS perspective | |
US8209695B1 (en) | Reserving resources in a resource-on-demand system for user desktop utility demand | |
US8219997B2 (en) | Execution the job that is divided into job tasks based on the estimated completion time | |
Doulamis et al. | Fair scheduling algorithms in grids | |
US8352951B2 (en) | Method and apparatus for utility-based dynamic resource allocation in a distributed computing system | |
EP3468121B1 (en) | Adaptive resource allocation method and apparatus | |
US8612987B2 (en) | Prediction-based resource matching for grid environments | |
Carvalho et al. | Capacity planning for IaaS cloud providers offering multiple service classes | |
Chard et al. | Cost-aware cloud provisioning | |
US20050198636A1 (en) | Dynamic optimization of batch processing | |
US20070250629A1 (en) | Method and a system that enables the calculation of resource requirements for a composite application | |
Sotiriadis et al. | The inter-cloud meta-scheduling (ICMS) framework | |
Dimopoulos et al. | Justice: A deadline-aware, fair-share resource allocator for implementing multi-analytics | |
US20120324466A1 (en) | Scheduling Execution Requests to Allow Partial Results | |
Yin et al. | Online SLA-aware multi-resource allocation for deadline sensitive jobs in edge-clouds | |
Rolia et al. | Resource access management for a utility hosting enterprise applications | |
Leena Sri et al. | An empirical model of adaptive cloud resource provisioning with speculation | |
Zhao et al. | SLA-aware and deadline constrained profit optimization for cloud resource management in big data analytics-as-a-service platforms | |
US7925757B1 (en) | Determining a portion of required capacity attributed to applications in multiple classes of service | |
Komarasamy et al. | ScHeduling of jobs and Adaptive Resource Provisioning (SHARP) approach in cloud computing | |
CN117349012A (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 |