CN116578408A - 一种支撑智能制造软件的运行资源调度方法 - Google Patents
一种支撑智能制造软件的运行资源调度方法 Download PDFInfo
- Publication number
- CN116578408A CN116578408A CN202310321589.4A CN202310321589A CN116578408A CN 116578408 A CN116578408 A CN 116578408A CN 202310321589 A CN202310321589 A CN 202310321589A CN 116578408 A CN116578408 A CN 116578408A
- Authority
- CN
- China
- Prior art keywords
- load
- total
- comprehensive load
- copies
- threshold
- 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
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000010998 test method Methods 0.000 claims abstract description 5
- 230000015654 memory Effects 0.000 claims description 13
- 230000008602 contraction Effects 0.000 claims description 10
- 244000025254 Cannabis sativa Species 0.000 claims description 4
- 230000009467 reduction Effects 0.000 claims description 4
- 238000011038 discontinuous diafiltration by volume reduction Methods 0.000 claims description 2
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000007204 Bernet reaction Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 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/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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/301—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
-
- 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
- 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
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- 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/5019—Workload prediction
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Hardware Design (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种支撑智能制造软件的运行资源调度方法,采用LSTM预测模型来预测未来设定时间段内各容器的负载指标,采用格布拉斯检验法从预测的负载指标中剔除偏差较大的可疑值,基于剔除后的负载指标计算当前系统中所有服务Pod的总综合负载,若总综合负载已经超出总阈值区间时,基于计算的期望副本数执行伸缩操作;同时,考虑单服务Pod的综合负载过高或者过低对系统服务的影响,若总综合负载没有超出总阈值区间,本发明采用判断单服务Pod的综合负载是否超出阈值区间的方式来决定是否触发伸缩操作,实现了以预测式伸缩提前适应资源消耗的情况,有利于提升集群资源利用率和保证集群中容器的运行质量。
Description
技术领域
本发明属于智能制造优化控制技术领域,具体地说,是涉及一种支撑智能制造软件的运行资源调度方法。
背景技术
随着互联网的发展以及云技术架构的演变,智能制造领域各相关企业的基础设施正在经历从物理服务器到虚拟机再到如今的容器集群的转变。如今,容器化技术快速发展,因其具有启动快、高扩展性、移植性好、资源利用率高等优点逐渐被智能制造领域各企业所青睐。企业逐渐将其生产环境中的业务迁移到容器中,实现业务上云,提高业务的交付和迭代能力,显著提高计算资源的利用率。
随着应用的逐渐扩大,容器化部署的数量也呈指数级增长,容器之间的通信以及容器的资源使用等因素,都会随着容器数量的增多而给智能制造领域企业的管理带来困难,因此管理容器集群的一些框架应运而生。其中,谷歌开源的Kubernetes凭借着其可以管理大量跨主机容器、轻量级开源、优化资源使用效率、功能可扩展等优点成为当下主流方案。
在Kubernetes内置集群中,弹性伸缩指的是随着业务量的增大或者减少,集群可以动态的通过调整节点、Pod的数量或者资源配置,来保证集群中应用的服务质量,同时还可以节省集群中的资源,从而可以部署更多的服务。
在Kubernetes的生态中,在多个维度、多个层次提供了不同的组件来满足不同的伸缩场景。一般来说承担业务的负载由主机(工作负载单元)和服务(工作负载)两个部分共同完成的,而在Kubernetes中主机一般就是Node节点,而服务就是指Deployment、StatefulSet、Daemonset等资源类型的Pod以及Pod包含的容器。所以弹性伸缩最大的两个维度是:主机维度和服务维度。而在实现方式上一共有两种,分别为水平扩缩容和垂直扩缩容。
目前Kubernetes内置的资源调度器虽然可以应对大多数场景下的容器管理和编排,但是在动态的资源调度以及集群的弹性伸缩方面,尤其是水平扩缩容上,仍存在一些问题:
在Pod的自动缩放时间内,系统已资源紧张饱和,若此时请求流量增加,系统服务响应时间随之增加,进而引起请求的拥堵并引发服务调用链中的连锁反应,直接影响上下游业务系统,甚至会导致服务不可用,破坏了系统的可用性。
在使用率的计算上,Ku bernetes集群使用CPU资源作为数据指标进行计算时,Pod实际运行中CPU的使用量是可以超过请求量的,这样计算的CPU使用率就会超过100%,与预期不符。
由于所有容器的资源用量都会被累加起来,Pod的总体资源用量值可能不会精确体现各个容器的资源用量。这一现象也会导致一些问题,例如某个容器运行时的资源用量非常高,但因为Pod层面的资源用量总值在可接受的约束范围内,H PA不会执行扩大目标对象规模的操作。
在Kubernetes的HPA中提供了集群平台层面的CPU和内存的数据指标,但是没有基于应用的、具体的业务处理统计指标。目前的弹性伸缩仅仅是被动式的响应式伸缩,不支持预测式的伸缩策略,因此还不能做到及时满足流量增多的情况。
发明内容
本发明针对上述指出的水平扩缩容存在的一些问题进行改进,提出一种改进的弹性伸缩策略,给出综合负载CL(Comprehensive Load)的计算方法,使用CL作为弹性伸缩的指标,在总体综合负载超过阈值区间,或单个Pod的综合负载过高或过低时触发伸缩操作;同时使用LSTM预测模型对资源进行预测,以提前进行伸缩来保障服务质量。
本发明采用以下技术方案予以实现:
提出一种支撑智能制造软件的运行资源调度方法,包括:
采用LSTM预测模型预测未来设定时间段容器的负载指标;所述负载指标包括CPU、内存、网络宽带使用率和磁盘IO速度;
采用格布拉斯检验法从预测的负载指标中剔除可疑值;
基于剔除后的负载指标数据计算当前所有服务Pod的总综合负载;
当总综合负载超出总阈值区间时,计算期望副本数并执行伸缩操作;
当总综合负载未超出总阈值区间时,判断单服务Pod的综合负载,在单服务Pod的综合负载超出阈值区间时,基于阈值区间的阈值限值计算期望副本数,并基于期望副本数进行扩容或缩容。
在本发明一些实施例中,所述方法还包括:
将当前服务Pod的综合负载定义为:CL=λ1*M+λ2*C+λ3*D+λ4*N;其中,CL为当前服务Pod的综合负载,M为内存使用率,C为CPU使用率,D为磁盘IO占比,N为网络带宽利用率,λ为权重且满足λ1+λ2+λ3+λ4=1和αi为指标利用率。
在本发明一些实施例中,基于阈值区间的阈值限值计算期望副本数,并基于期望副本数进行扩容或缩容,包括:
在单服务Pod的综合负载超出阈值上限时,按照阈值下限计算期望副本数量:若副本数量保持不变,则不扩容,否则按照所述期望副本数进行扩容操作;
在单服务Pod的综合负载超出阈值下限时,按照阈值上限计算期望副本数量:若副本数量保持不变,则不缩容,否则按照期望副本数进行缩容操作。
在本发明一些实施例中,所述方法还包括:
按照设定次数计算所述总综合负载,其中超过设定比例的总综合负载均超过所述总阈值区间时触发伸缩操作,且以达到触发条件时计算的期望副本数的均值执行伸缩操作。
与现有技术相比,本发明的优点和积极效果是:本发明提出的支撑智能制造软件的运行资源调度方法,采用LSTM预测模型来预测未来设定时间段内各容器的负载指标,采用格布拉斯检验法从预测的负载指标中剔除偏差较大的可疑值,基于剔除后的负载指标计算当前系统中所有服务Pod的总综合负载,若总综合负载已经超出总阈值区间时,基于计算的期望副本数执行伸缩操作;同时,考虑单服务Pod的综合负载过高或者过低对系统服务的影响,若总综合负载没有超出总阈值区间,本发明采用判断单服务Pod的综合负载是否超出阈值区间的方式来决定是否触发伸缩操作,实现了以预测式伸缩提前适应资源消耗的情况,有利于提升集群资源利用率和保证集群中容器的运行质量。
结合附图阅读本发明实施方式的详细描述后,本发明的其他特点和优点将变得更加清楚。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提出的支撑智能制造软件的运行资源调度方法执行示意;
图2为本发明实施例中LSTM模型的示意;
图3为本发明提出的支撑智能制造软件的运行资源调度方法的一个实施例。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“中心”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。在上述实施方式的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本发明提出的支撑智能制造软件的运行资源调度方法,如图1所示,包括:
S1:采用LSTM预测模型预测未来设定时间段容器的负载指标。
由于集群的负载历史数据之间没有必然联系,是根据CPU等使用数据实时得到的,并且在预测的时候,要考虑到历史数据的变化,同时要具有记忆功能,因此本发明采用LSTM算法来进行负载预测。
随着系统的运行,产生的是时序性负载指标,这些负载指标由当前运行的CPU、内存、磁盘IO速度和带宽占用情况共同组成。
基于这些负载指标数据,可以预测出未来设定时间段内的系统负载情况,可根据预测的未来负载指标来进行资源的弹性伸缩控制。
在得到这些监控指标后,进行指标的收集处理、训练与预测,将某个服务Pod某段时间内的负载指标记录为LT={(t1,CL1)…(ti,CLi)…(tn,CLn)}。
本发明使用LSTM算法通过对若干历史时间偏的负载指标数据的学习训练来预测未来设定时间段内的负载指标,为系统的动态伸缩提供决策依据。
首先,需要对训练数据集进行预处理操作,由于负载指标数据集都是相等时间间隔的有序数据,只读取负载指标一个维度的数据即可,组成一个一维数组。其次,指定长度的数组成功获取后使用MinMaxScaler对其进行归一化,使其分布在[-1,1]的区间内,以帮助网络模型更快拟合,并提高其准确率。然后,采用Keras来进行模型构建,参数采用Keras的默认值即可。
LSTM模型的层级设置为2层,一个实施例如图2所示,最后,进行模型的训练和拟合,待模型训练完成后,把模型保存为持久化文件,预测时直接加载训练,传入输入即可完成预测过程。
S2:采用格布拉斯检验法从预测的负载指标中剔除可疑值。
在LSTM预测了未来设定时间段(本发明实施例中以10s为例)的负载数据之后,需要根据这些预测数据来判断集群中某个服务Pod所需的资源要求,在不影响现有交易数据的情况下实现服务Pod动态的、提前感知的、顺滑的动态伸缩。
由于每秒系统处理的交易量和资源使用情况不同,资源利用率动态变化,导致任何预测的准确度不可能达到100%,因此不能简单地根据某一秒的预测数据进行资源伸缩,而是要判断未来一段时间内的资源利用率的情况。由于这些负载数据中可能会出现偏差较大的可疑值,因此在计算未来10s内的综合负载时,需要先检验数据中是否存在可疑值。
本发明采用格布拉斯(Grubbs)检验法来去除可疑值,包括:
1)采用计算每一个负载指标的G值,其中xi为负载指标,n为数据个数,/>为所有数据的均值。
2)根据数据量和置信概率查找格布拉斯临界值表,确定临界值。
3)将G值小于临界值的数据划分为有效数据。
S3:基于剔除后的负载指标数据计算当前所有服务Pod的总综合负载。
本发明中,将当前服务Pod的综合负载定义为:CL=λ1*M+λ2*C+λ3*D+λ4*N;其中,CL为当前服务Pod的综合负载,M为内存使用率,C为CPU使用率,D为磁盘IO占比,N为网络带宽利用率,λ为权重且满足λ1+λ2+λ3+λ4=1和αi为指标利用率。
上述,四个负载指标的权重根据指标重要性进行调整,但权重之和为1,并且在计算过后的综合负载CL的区间为[0,1];其中,CL越大说明系统负载越大,系统需要动态扩容。在实际情况下,需要根据应用类型的不同来动态设置每个负载指标的权重,例如,计算密集型的服务Pod应该加重CPU因子的权重,而读写形应用应该加重磁盘IO因子的权重。
本发明在权重的计算上参考了各项负载指标的使用率情况,某项指标的利用率αi越高,对CL的影响越大。
基于上述给出的综合负载公式,可计算出当前各服务Pod的CL,该CL指标在简化计算复杂度和保证应用服务质量的前提下,能全面反映当前Pod节点整体负载水平。
这里的总综合负载为系统当前所有服务Pod的综合负载的总和,以阈值区间为[a-b,a+b]时,其中a为伸缩阈值,b为伸缩容忍系数,这里的总阈值区间为[j(a-b),j(a+b)],j为当前服务Pod的个数。
S4:当总综合负载超出总阈值区间时,计算期望副本数并执行伸缩操作。
当所有服务Pod的总综合负载超出总阈值区间时,按照现有的伸缩操作算期望副本数并执行即可,非本发明限定的部分。
在本发明一些实施例中,按照设定次数计算该总综合负载,在其中超过设定比例(例如设定次数的50%)的总综合负载均超过总阈值区间时再触发伸缩操作,且以达到触发条件时计算的期望副本数的均值来执行伸缩操作,避免单次资源使用率不准确而造成误差。
S5:当总综合负载未超出阈值区间时,判断单服务Pod的综合负载,在单服务Pod的综合负载超出阈值区间时,基于阈值区间的阈值限值计算期望副本数,并基于期望副本数进行扩容或者缩容。
考虑到Pod的总综合负载值不会精确体现各个容器的负载情况,本发明还考虑到单个服务Pod的综合负载较高导致服务不可用、或单服务Pod的综合负载较低导致服务资源浪费的情况。
即使总体上所有服务Pod的总综合负载达不到伸缩的条件,但是若单个服务Pod的综合负载过高或者过低也符合触发伸缩操作。
在Kubernetes环境中的测试和实验,主要测试动态扩容的时间消耗、扩容副本数量的关系,以及伸缩后的Pod数量是否立刻触发新一次伸缩。本发明为充分利用资源,提高Pod的响应效率,同时兼顾单个服务Pod负载过高或者过低的情况,设置动态伸缩的阈值为0.6,设置伸缩容忍系数为0.1。动态扩容的副本数量最大值为原副本值的2倍,动态缩容的副本数量最小值为原副本值的一半,向上取整。
当总综合负载未超过阈值区间时,需判断单服务Pod负载的最大值和最小值,通过比较极值和阈值的边界条件,以判断是否需要进一步的伸缩操作。
若集群中存在单服务Pod的综合负载超出了阈值上限,则考虑扩容操作,但同时考虑到集群中整体Pod的总体负载情况,按照阈值下限来计算新的副本数量:其中,k为当前应用的副本数量,min为动态伸缩阈值的下限值;若副本数量保持不变,则不需要进行扩容操作,否则。
同理,若集群中存在单服务Pod的综合负载低于阈值下限,则考虑缩容操作,考虑到集群中整体Pod的总体负载情况,按照阈值上限来计算新的副本数量:其中k为当前应用的副本数量,max为动态伸缩阈值的上限值,如果副本数量保持不变,则不需要进行扩容操作,否则按照新的副本数进行缩容操作。
改进后的弹性伸缩流程如图3所示,修改后的弹性伸缩算法依旧保持了间歇运行的控制回路特性,每15秒获取最新的预测负载值。先经过可疑值去除操作,删除掉误差较大的预测结果;然后利用剩余的集合计算Pod的总综合负载值,查看是否在总阈值区间内,以阈值区间为[0.5,0.7]为例,若不在以该阈值区间为基准的总阈值区间内,则直接触发伸缩操作,此时不需要判断负载偏差较大的单个服务Pod应用。若总综合负载在总阈值区间内,为确保各个容器的资源使用量在合理的使用范围内,此时该算法收集当前服务Pod中负载最大和最小数据,通过判断负载最大值和阈值上限的大小关系,来判断是否需要扩容操作;以及,通过判断负载最小值和阈值下限的大小关系,来判断是否需要缩容操作。
需要说明的是,在具体实现过程中,上述的控制部分可以通过硬件形式的处理器执行存储器中存储的软件形式的计算机执行指令实现,此处不予赘述,而上述控制电路所执行的动作所对应的程序均可以以软件形式存储于系统的计算机可读存储介质中,以便于处理器调用执行以上各个模块对应的操作。
上文中的计算机可读存储介质可以包括易失性存储器,例如随机存取存储器;也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;还可以包括上述种类的存储器的组合。
上文所提到的处理器,也可以是多个处理元件的统称。例如,处理器可以为中央处理器,也可以为其他通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者可以是任何常规的处理器等等,还可以为专用处理器。
应该指出的是,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的普通技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。
Claims (4)
1.一种支撑智能制造软件的运行资源调度方法,其特征在于,包括:
采用LSTM预测模型预测未来设定时间段容器的负载指标;所述负载指标包括CPU、内存、网络宽带使用率和磁盘IO速度;
采用格布拉斯检验法从预测的负载指标中剔除可疑值;
基于剔除后的负载指标数据计算当前所有服务Pod的总综合负载;
当总综合负载超出总阈值区间时,计算期望副本数并执行伸缩操作;
当总综合负载未超出总阈值区间时,判断单服务Pod的综合负载,在单服务Pod的综合负载超出阈值区间时,基于阈值区间的阈值限值计算期望副本数,并基于期望副本数进行扩容或缩容。
2.根据权利要求1所述的支撑智能制造软件的运行资源调度方法,其特征在于,所述方法还包括:
将当前服务Pod的综合负载定义为:CL=λ1*M+λ2*C+λ3*D+λ4*N;其中,CL为当前服务Pod的综合负载,M为内存使用率,C为CPU使用率,D为磁盘IO占比,N为网络带宽利用率,λ为权重且满足λ1+λ2+λ3+λ4=1和αi为指标利用率。
3.根据权利要求1所述的支撑智能制造软件的运行资源调度方法,其特征在于,基于阈值区间的阈值限值计算期望副本数,并基于期望副本数进行扩容或缩容,包括:
在单服务Pod的综合负载超出阈值上限时,按照阈值下限计算期望副本数量:若副本数量保持不变,则不扩容,否则按照所述期望副本数进行扩容操作;
在单服务Pod的综合负载超出阈值下限时,按照阈值上限计算期望副本数量:若副本数量保持不变,则不缩容,否则按照期望副本数进行缩容操作。
4.根据权利要求1所述的支撑智能制造软件的运行资源调度方法,其特征在于,所述方法还包括:
按照设定次数计算所述总综合负载,其中超过设定比例的总综合负载均超过所述总阈值区间时触发伸缩操作,且以达到触发条件时计算的期望副本数的均值执行伸缩操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310321589.4A CN116578408A (zh) | 2023-03-29 | 2023-03-29 | 一种支撑智能制造软件的运行资源调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310321589.4A CN116578408A (zh) | 2023-03-29 | 2023-03-29 | 一种支撑智能制造软件的运行资源调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116578408A true CN116578408A (zh) | 2023-08-11 |
Family
ID=87540246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310321589.4A Pending CN116578408A (zh) | 2023-03-29 | 2023-03-29 | 一种支撑智能制造软件的运行资源调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116578408A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117076136A (zh) * | 2023-10-16 | 2023-11-17 | 国能(北京)商务网络有限公司 | 基于负载跟踪的容器弹性伸缩方法、系统、设备及介质 |
-
2023
- 2023-03-29 CN CN202310321589.4A patent/CN116578408A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117076136A (zh) * | 2023-10-16 | 2023-11-17 | 国能(北京)商务网络有限公司 | 基于负载跟踪的容器弹性伸缩方法、系统、设备及介质 |
CN117076136B (zh) * | 2023-10-16 | 2024-02-06 | 国能(北京)商务网络有限公司 | 基于负载跟踪的容器弹性伸缩方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11216310B2 (en) | Capacity expansion method and apparatus | |
CN110221915B (zh) | 节点调度方法和装置 | |
CN112988398A (zh) | 一种微服务动态伸缩及迁移方法和装置 | |
US20120221730A1 (en) | Resource control system and resource control method | |
CN113010260A (zh) | 容器数量弹性伸缩方法以及容器数量弹性伸缩方法系统 | |
US10097627B1 (en) | Computer resource allocation | |
CN111381928B (zh) | 一种虚拟机迁移方法、云计算管理平台和存储介质 | |
CN112749056A (zh) | 应用服务指标监控方法、装置、计算机设备和存储介质 | |
CN116578408A (zh) | 一种支撑智能制造软件的运行资源调度方法 | |
US20180007128A1 (en) | Modeling and Forecasting Reserve Capacity for Overbooked Clusters | |
CN114637650A (zh) | 一种基于Kubernetes集群的弹性伸缩方法 | |
CN114579296A (zh) | 一种服务器闲置算力调度方法、装置及电子设备 | |
CN115080248A (zh) | 调度装置的调度优化方法、调度装置和存储介质 | |
CN114691372A (zh) | 一种多媒体端边云系统的群体智能控制方法 | |
CN117369941A (zh) | Pod调度方法和系统 | |
CN112130927A (zh) | 一种可靠性增强的移动边缘计算任务卸载方法 | |
CN113127179A (zh) | 资源调度方法、装置、电子设备及计算机可读介质 | |
CN115617553A (zh) | 一种数据库的熔断降级保护方法、装置及电子设备 | |
CN115470006A (zh) | 一种基于微内核的负载均衡方法 | |
CN115185683A (zh) | 一种基于动态优化模型的云平台流处理资源分配方法 | |
CN111104220A (zh) | 基于Arm架构的服务器配置方法、系统及相关设备 | |
US10193823B2 (en) | Rich resource management incorporating usage statistics for fairness | |
CN112260869B (zh) | 服务降级方法、系统、终端设备及计算机可读存储介质 | |
CN113835896B (zh) | 一种Gaia系统中面向迭代计算的并行度动态调整方法 | |
CN117909418B (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 |