CN114356548A - 边缘计算服务的动态扩展及放置方法和装置 - Google Patents
边缘计算服务的动态扩展及放置方法和装置 Download PDFInfo
- Publication number
- CN114356548A CN114356548A CN202111489383.XA CN202111489383A CN114356548A CN 114356548 A CN114356548 A CN 114356548A CN 202111489383 A CN202111489383 A CN 202111489383A CN 114356548 A CN114356548 A CN 114356548A
- Authority
- CN
- China
- Prior art keywords
- service
- micro
- edge
- edge computing
- copies
- 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 83
- 238000005457 optimization Methods 0.000 claims abstract description 81
- 239000002245 particle Substances 0.000 claims abstract description 81
- 238000012545 processing Methods 0.000 claims abstract description 52
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 49
- 238000011156 evaluation Methods 0.000 claims abstract description 33
- 238000013507 mapping Methods 0.000 claims abstract description 16
- 230000003044 adaptive effect Effects 0.000 claims description 42
- 230000015654 memory Effects 0.000 claims description 34
- 238000012544 monitoring process Methods 0.000 claims description 12
- 238000011144 upstream manufacturing Methods 0.000 claims description 11
- 230000001149 cognitive effect Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012216 screening Methods 0.000 claims description 6
- 230000019771 cognition Effects 0.000 claims description 4
- 208000011597 CGF1 Diseases 0.000 claims description 3
- 238000013210 evaluation model Methods 0.000 claims description 3
- 230000004039 social cognition Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 12
- 239000011159 matrix material Substances 0.000 description 10
- 230000008859 change Effects 0.000 description 9
- 238000013461 design Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000011160 research Methods 0.000 description 6
- 239000013598 vector Substances 0.000 description 6
- 239000002699 waste material Substances 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 244000144992 flock Species 0.000 description 2
- 238000005469 granulation Methods 0.000 description 2
- 230000003179 granulation Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 238000012731 temporal analysis Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000000700 time series analysis Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229920003087 methylethyl cellulose Polymers 0.000 description 1
- 239000011859 microparticle Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012502 risk assessment Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
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/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- 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
-
- 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/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- 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/502—Proximity
-
- 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/5022—Workload threshold
-
- 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/503—Resource availability
-
- 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/508—Monitor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供边缘计算服务的动态扩展及放置方法和装置,方法包括:根据边缘计算平台中各应用分别对应的各个微服务当前各自的工作负载强度预测结果以及各边缘节点当前各自的工作性能评估结果,针对目标数据处理请求对微服务副本数量进行自动扩展处理,以确定微服务副本的缩放优化数量;采用预设的自适应离散二进制粒子群优化算法,根据微服务副本的缩放优化数量、当前可放置边缘节点的数量及性能信息,获取各微服务副本与各可用的边缘节点之间的映射关系,以将各微服务副本分别放置至对应的边缘节点。本申请能在边缘环境中边缘负载不均衡、网络状态不可靠的情况下提高边缘计算服务的自动扩展可靠性及有效性,提高边缘计算服务放置的准确性及可靠性。
Description
技术领域
本申请涉及边缘计算技术领域,尤其涉及边缘计算服务的动态扩展及放置方法和装 置。
背景技术
边缘计算(Edge Computing)作为对云计算的一种补充和优化,聚焦实时、短周期数据的分析与处理,将应用下沉到距离用户更近的边缘处实现了更高效的响应,同时也 极大地缓解了设备到云端的流量压力。边缘计算集群由云控制主节点和分布式边缘节点 组成,主节点可以在每个边缘节点上自动部署和调度多区域微服务。针对边缘计算服务 进行动态扩展的大多数方式中,只能解决自动扩展和服务放置这两个独立问题中的一个。 假设资源有限的边缘节点不能承载可伸缩的服务副本,则必须将它们迁移到通信延迟较 大的其他边缘节点。那么,即使使用自动伸缩策略,在一定的延迟容忍度下,边缘服务 仍然不可用。因此,为了保证边缘计算中的服务质量,需要考虑自动缩放和服务放置的 联合优化问题。
目前,现有方式虽然研究了云环境下的可伸缩性问题和服务放置问题,但并不适合 资源有限的异构边缘计算环境,即:现有方式大多关注于如何在资源充足的云环境下扩展服务副本,而没有考虑边缘节点资源的局限性和异构性以及不稳定的网络条件。此外,服务放置策略对规模决策的影响也没有得到充分考虑,即:如何将可伸缩的服务副本适 当地放置在性能不同的边缘节点上也是一个需要解决的重要问题。对于资源容量有限、 通信延迟较高的边缘计算环境,不同的服务放置策略可能会使原有的扩展决策效率降低。 但上述研究将这两个问题视为独立的问题,忽略了边缘资源的有限性和动态网络状况, 均无法保证动态负载波动下的边缘应用服务质量。
发明内容
鉴于此,本申请实施例提供了边缘计算服务的动态扩展及放置方法和装置,以消除 或改善现有技术中存在的一个或更多个缺陷。
本申请的一个方面提供了一种边缘计算服务的动态扩展及放置方法,包括:
根据边缘计算平台中各应用分别对应的各个微服务当前各自的工作负载强度预测 结果以及各个边缘节点当前各自的工作性能评估结果,针对目标数据处理请求对微服务 副本数量进行自动扩展处理,以确定微服务副本的缩放优化数量;
采用预设的自适应离散二进制粒子群优化算法,根据所述微服务副本的缩放优化数 量、当前可用的边缘节点数量及性能信息,获取各个所述微服务副本与各个可用的边缘节点之间的映射关系,以将各个所述微服务副本分别放置至对应的所述边缘节点。
在本申请的一些实施例中,所述根据边缘计算平台中各应用分别对应的各个微服务 当前各自的工作负载强度预测结果以及各个边缘节点当前各自的工作性能评估结果,针 对目标数据处理请求对微服务副本数量进行自动扩展处理,以确定微服务副本的缩放优 化数量,包括:
根据针对边缘计算平台的目标数据处理请求,对所述边缘计算平台中各应用分别对 应的各个微服务进行工作负载强度预测,以得到各个微服务当前各自的工作负载强度预 测结果;
以及,根据所述目标数据处理请求分别对所述边缘计算平台中各个所述边缘节点进 行工作性能评估,以得到各个边缘节点当前各自的工作性能评估结果;
基于各个微服务当前各自的工作负载强度预测结果和各个边缘节点当前各自的工 作性能评估结果,采用预设的多阶段自动扩展模型针对所述目标数据处理请求对微服务 副本数量进行自动扩展处理,以确定微服务副本的缩放优化数量。
在本申请的一些实施例中,所述根据针对边缘计算平台的目标数据处理请求,对所 述边缘计算平台中各应用分别对应的各个微服务进行工作负载强度预测,以得到各个微 服务当前各自的工作负载强度预测结果,包括:
基于流水线理论分别获取各个所述微服务各自对应的负载组以及各个所述微服务 的平均工作负载,其中,所述负载组包括:当前微服务的上游微服务在当前监控周期的输出负载和输入负载,以及,当前微服务在下一监控周期的输出负载和输入负载;
根据各个所述微服务各自对应的负载组以及各个所述微服务的平均工作负载,采用 预设的工作负载强度预测模型分别预测各个所述微服务的工作负载强度,以得到各个所 述微服务当前各自的工作负载强度预测结果。
在本申请的一些实施例中,所述根据所述目标数据处理请求分别对所述边缘计算平 台中各个所述边缘节点进行工作性能评估,以得到各个边缘节点当前各自的工作性能评 估结果,包括:
根据所述边缘计算平台中各个所述边缘节点的CPU、内存和网络带宽利用率分别确 定各个所述边缘节点各自对应的服务性能;
基于各个所述微服务分别对应的上游微服务在当前监控周期的输入负载以及各个 所述边缘节点各自对应的服务性能,分别确定各个所述边缘节点的负载因子;
根据各个所述边缘节点的负载因子,采用预设的工作性能评估模型分别评估定各个 所述边缘节点的工作性能,以得到各个所述边缘节点当前各自的工作性能评估结果。
在本申请的一些实施例中,所述工作负载强度预测结果包括由强至弱的至少三类结 果,所述工作性能评估结果包括由强至弱的至少三类结果;
相对应的,所述基于各个微服务当前各自的工作负载强度预测结果和各个边缘节点 当前各自的工作性能评估结果,采用预设的多阶段自动扩展模型针对所述目标数据处理 请求对微服务副本数量进行自动扩展处理,以确定微服务副本的缩放优化数量,包括:
在各个所述微服务中筛选所述工作负载强度预测结果的强度最高和强度最低的微 服务作为目标微服务;
以及,在各个所述边缘节点中筛选所述工作性能评估结果的强度最高和强度最低的 边缘节点作为目标边缘节点;
根据所述目标微服务和所述目标边缘节点,采用所述多阶段自动扩展模型分别对各 个所述目标微服务的初始副本数进行自动扩展处理,以确定各个微服务副本的缩放优化 数量。
在本申请的一些实施例中,所述采用预设的自适应离散二进制粒子群优化算法,根 据所述微服务副本的缩放优化数量和当前可用的边缘节点数量,获取各个所述微服务副 本与各个可用的边缘节点之间的映射关系,以将各个所述微服务副本分别放置至对应的 所述边缘节点,包括:
获取所述自适应离散二进制粒子群优化算法的自适应权重系数;
以及,根据所述微服务副本的缩放优化数量分别获取当前可用的各个所述微服务副 本各自对应的社会认知因子和个体认知因子的线性变化;
基于当前可用的各个所述微服务副本的自适应权重系数、社会认知因子和个体认知 因子的线性变化,采用预设的动态自适应服务放置方法对所述自适应离散二进制粒子群 优化算法的更新公式进行迭代处理,以得到时延最小的最优服务副本放置方案;
根据所述最优服务副本放置方案获取各个所述微服务副本与各个可用的边缘节点 之间的映射关系,以将各个所述微服务副本分别放置至对应的所述边缘节点。
在本申请的一些实施例中,所述获取所述自适应离散二进制粒子群优化算法的自适 应权重系数,包括:
基于预设的时延模型分别确定各个所述应用中各个所述微服务的总延时;
根据所述总延时设置粒子的适应度值;
基于所述适应度值、粒子的平均适应度值和最大适应度值获取所述自适应离散二进 制粒子群优化算法的自适应权重系数。
本申请的另一个方面提供了一种边缘计算服务的动态扩展及放置装置,包括:
多阶段自动扩展模块,用于根据边缘计算平台中各应用分别对应的各个微服务当前 各自的工作负载强度预测结果以及各个边缘节点当前各自的工作性能评估结果,针对目 标数据处理请求对微服务副本数量进行自动扩展处理,以确定微服务副本的缩放优化数 量;
动态自适应服务放置模块,用于采用预设的自适应离散二进制粒子群优化算法,根 据所述微服务副本的缩放优化数量和当前可用的边缘节点数量,获取各个所述微服务副 本与各个可用的边缘节点之间的映射关系,以将各个所述微服务副本分别放置至对应的 所述边缘节点。
本申请的另一个方面提供了一种电子设备,包括存储器、处理器及存储在存储器上 并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述边缘计 算服务的动态扩展及放置方法。
本申请的另一个方面提供了一种计算机可读存储介质,其上存储有计算机程序,该 计算机程序被处理器执行时实现所述边缘计算服务的动态扩展及放置方法。
本申请的边缘计算服务的动态扩展及放置方法,通过确定服务副本的数量,并将它 们迭代地放置在最优位置来解决集成自动缩放与服务放置的联合优化问题,针对边缘环 境中边缘负载不均衡、网络状态不可靠,节点资源有限异构、服务需求的多样性等特点,能够在边缘环境中边缘负载不均衡、网络状态不可靠的情况下提高边缘计算服务的自动扩展的可靠性及有效性,并能够同时提高对边缘计算服务进行服务放置的准确性及可靠性,能够有效提高边缘计算服务动态扩展的效率,使得边缘计算服务在面临超出现有集 群最大承载能力的时候,能够可靠且高效地调整集群的规模以提高集群的承载能力,从 而保证用户体验和系统服务的稳定性;同时在集群负载很低的时候,能够尽可能减少闲 置服务器带来的资源浪费,以保障边缘服务的稳定性及可用性。
本申请的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本申请的实践而获知。本申请的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本申请实现的目的和优点不限于以上具体所 述,并且根据以下详细说明将更清楚地理解本申请能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,并不构 成对本申请的限定。附图中的部件不是成比例绘制的,而只是为了示出本申请的原理。为了便于示出和描述本申请的一些部分,附图中对应部分可能被放大,即,相对于依据 本申请实际制造的示例性装置中的其它部件可能变得更大。在附图中:
图1为本申请一实施例中的边缘计算服务的动态扩展及放置方法的流程示意图。
图2为本申请应用实例提供的边缘计算平台的架构示意图。
图3为本申请应用实例提供的动态自适应服务放置算法的流程示意图。
图4为本申请另一实施例中的边缘计算服务的动态扩展及放置装置的结构示意图。
图5为本申请另一实施例中的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本申请做进一步详细说明。在此,本申请的示意性实施方式及其说明用于解释本申请, 但并不作为对本申请的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本申请,在附图中仅仅示出了与根据本申请的方案密切相关的结构和/或处理步骤,而省略了与本申请关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
在此,还需要说明的是,如果没有特殊说明,术语“连接”在本文不仅可以指直接连接,也可以表示存在中间物的间接连接。
在下文中,将参考附图描述本申请的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。
边缘计算(Edge Computing)作为对云计算的一种补充和优化,聚焦实时、短周期数据的分析与处理,将应用下沉到距离用户更近的边缘处实现了更高效的响应,同时也 极大地缓解了设备到云端的流量压力。其应用程序在边缘侧发起,产生更快的网络服务 响应,满足行业在实时业务、应用智能、安全与隐私保护等方面的基本需求。与传统体 系结构相比,微服务通过构建具有独立生命周期的服务,降低了服务的粒度,提高了可 扩展性,因此被广泛应用于边缘计算场景。在基于微服务架构的边缘计算场景下,对于 延时敏感的应用程序可由一系列微服务构成,这些微服务运行在相同或不同的边缘节点 上,彼此之间相互通信协作向用户提供服务。边缘计算集群由云控制主节点和分布式边 缘节点组成,主节点可以在每个边缘节点上自动部署和调度多区域微服务。
边缘集群服务架构下,伸缩理论关注的问题主要是在面临超出现有集群最大承载能力的时候,如何通过调整集群的规模以提高集群的承载能力,从而保证用户体验和系 统服务的稳定性,同时在集群负载很低的时候,尽可能的减少闲置服务器带来的资源浪 费。伸缩一般分为应用伸缩,技术伸缩以及资源伸缩。其中资源的伸缩性是指通过增加 CPU、内存等硬件资源的投入来提升软件效率以达到更高的系统性能。平常所说的集群 伸缩方法大多数是指资源的伸缩性,而资源的伸缩性又可以划分为两个子类。从伸缩的 方向划分,分为纵向的伸缩和横向的伸缩。
纵向伸缩是指通过提升系统当前各个节点的处理能力来达到提升系统整体处理能 力的伸缩方法。提高各节点的处理能力具体来说包括服务器升级现有的配置,例如更换主频更高、多核的处理器,更换容量更大的内存条,配置读写速度更快的硬盘、甚至替 换为更高端、更强劲的处理器等。
横向伸缩是单纯地通过增加节点的数量来提升系统整体的处理能力。横向伸缩的优点在于当每台服务器成本比较低的情况下,可以很容易地搭建起一个系统性能有保障的集群,相比纵向伸缩集群,这个集群面对增加的用户量或者数据量带来的性能瓶颈可 以处理得更灵活、游刃有余,并且能够很好的减少由于单台服务器出现故障而对于系统 整体带来的影响。
就弹性伸缩的实现机制而言,弹性伸缩方式可大致分为基于阈值的响应式弹性伸缩算法和基于预测型的主动伸缩算法:
(1)基于阈值的响应式伸缩算法:周期性采集系统关键指标,如cpu,memory, io,net等,通过与设定阈值进行比较从而动态改变应用副本数量。K8s HPA策略基于该 种算法实现,缺点是系统响应速度过慢,弹性伸缩变化往往晚于负载变化。
(2)基于预测型的伸缩算法:对于过去一段时间数据进行建模,对于未来某个时刻进行预测,从而主动提前进行弹性伸缩操作,以应对未来的负载变动。预测算法主要 有机器学习以及时间序列分析。时间序列分析法主要有简单移动平均,指数平滑,自回 归模型。
基于此,本申请考虑采用一种全新的确定半同步时间节点的方法以实现各个参与节点之间的半同步通信,进而通过这种半同步通信方式对模型进行至少一个阶段性的半同步训练,通过控制当前网络环境正常的部分速度较快的参与节点进行半同步模型训练,能够有效避免掉队者效应的干扰,避免计算资源的浪费并能够提高目标模型的收敛速度,进而能够有效提高目标模型的训练效率及应用及时性。
其中,微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能 分解到各个离散的服务中以实现对解决方案的解耦。微服务把一个大型的单个应用程序 和服务拆分为数个甚至数十个的支持微服务,它可扩展单个组件而不是整个的应用程序 堆栈,从而满足服务等级协议。微服务本身围绕业务领域组件来创建应用,这些应用可独立地进行开发、管理和迭代。在分散的组件中使用云架构和平台式部署、管理和服务 功能,使产品交付变得更加简单。在微服务架构中,一版每一个服务都有多个拷贝,即 多个服务副本,来做负载均衡及容灾备份。一个服务随时可能下线,也可能应对临时波 动的访问压力而增加新的服务节点。同时,应用程序通过微服务架构构成一个服务链条, 上下游服务之间会具有相应的服务依赖。
微服务架构具有复杂度可控、独立按需扩展、技术选型灵活、容错、可用性高的 优势,它解决了复杂性的问题。它会将一种怪异的整体应用程序分解成一组服务。虽然 功能总量不变,但应用程序已分解为可管理的块或服务。每个服务都以RPC或消息驱 动的API的形式定义了一个明确的边界;Microservice架构模式实现了一个模块化水平。Microservice架构模式使每个微服务都能独立部署。开发人员不需要协调部署本地服务的变更。这些变化可以在测试后尽快部署。同时,微服务架构模式也使每个服务都可以 独立调整,开发人员可以仅部署满足其容量和可用性限制的每个服务的实例数。但与此 同时,微服务还面临着很多技术挑战,比如多服务运维难度,系统部署依赖,服务间通 信成本,数据一致性,系统集成测试,重复工作,性能监控等。
以及,粒子群优化算法(Partical Swarm Optimization PSO),粒子群中的每一个粒 子都代表一个问题的可能解,通过粒子个体的简单行为,群体内的信息交互实现问题求解的智能性。由于PSO操作简单、收敛速度快,因此在函数优化、图像处理、大地测 量等众多领域都得到了广泛的应用。
抽象:PSO模拟鸟群的捕食行为。一群鸟在随机搜索食物,在这个区域里只有一 块食物。所有的鸟都不知道食物在那里。但是他们知道当前的位置离食物还有多远。那 么找到食物的最优策略是什么呢。最简单有效的就是搜寻离食物最近的鸟的周围区域。 PSO中,每个优化问题的解都是搜索空间中的一只鸟,称之为“粒子”。所有的粒子都 有一个由被优化的函数决定的适应值(fitness value),每个粒子还有一个速度决定他们飞 翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。
更新:PSO初始化为一群随机粒子(随机解),然后通过迭代找到最优解,在每一次叠代中,粒子通过跟踪两个“极值”来更新自己。第一个就是粒子本身所找到的最优解, 这个解叫做个体极值pBest,另一个极值是整个种群找到的最优解,这个极值是全局极 值gBest。另外也可以不用整个种群而只是用其中一部分最优粒子的邻居,那么在所有 邻居中的极值就是局部极值。在找到这两个最优值时,粒子根据如下的公式来更新自己 的速度和新的位置:
上述公式中和分别代表微粒群的局部和最优位置。ω叫做惯性因子,是一个非 负值。其值较大,全局寻优能力强,局部寻优能力弱;其值较小,全局寻优能力弱,局 部寻优能力强。动态ω能获得比固定值更好的寻优结果,可在PSO搜索过程中线性变化, 也可以根据PSO性能的某个测度函数动态改变。
其中,标准PSO算法流程如下:
1)初始化一群微粒(群体规模为N),包括随机位置和速度;
2)评价每个微粒的适应度;
3)对每个微粒,将其适应值与其经过的最好位置pbest作比较,如果较好,则将其作为当前的最好位置pbest;
4)对每个微粒,将其适应值与其经过的最好位置gbest作比较,如果较好,则将其作为当前的最好位置gbest;
5)根据公式(2)、(3)调整微粒速度和位置;
6)未达到结束条件则转第2步。
迭代终止条件根据具体问题一般选为最大迭代次数Gk或(和)微粒群迄今为止搜索 到的最优位置满足预定最小适应阈值。
在之前的工作中,已经提出了许多关于自动缩放和服务放置策略的研究。在动态扩 展机制方面,可将其分为基于阈值的被动扩展和基于工作负载预测的主动扩展。已有的一些有代表性的研究通过预测到达的工作量强度,提出了基于按需时间序列模型的混合自动缩放机制。此外,还有一种网络感知的灵活部署工具,可以使用多步控制模型在计 算资源上动态分配容器。与此同时,有效的服务放置策略是提高服务质量的另一个关键, 近年来备受关注。许多服务放置算法在优化资源利用、保证服务质量和提高服务可靠性 方面表现出良好的性能。然而,上述大多数方法只解决两个独立问题中的一个:自动扩 展和服务放置。假设资源有限的边缘节点不能承载可伸缩的服务副本,则必须将它们迁 移到通信延迟较大的其他边缘节点。那么,即使使用自动伸缩策略,在一定的延迟容忍 度下,边缘服务仍然不可用。因此,为了保证边缘计算中的服务质量,需要考虑自动缩 放和服务放置的联合优化问题。但上述方法都不能有效地解决这一问题。
在负载波动时保证边缘应用的服务质量是边缘计算的一个重要课题,近年来得到了 广泛的研究。通过将动态自动伸缩策略与适当的服务副本放置相结合,可以解决这个问题。现有工作虽然研究了云环境下的可伸缩性问题和服务放置问题,但并不适合资源有 限的异构边缘计算环境。此外,服务放置策略对规模决策的影响也没有得到充分考虑。
动态服务伸缩方法主要是根据当前资源容量、工作负载强度和服务质量准确调整副 本数量。目前已有大量的云相关的研究工作,比如有学者研究依赖工作流作业中基于期限驱动的副本创建和数据调度策略。考虑数据块的流行度和节点负载,将数据复制调度 问题建模为整数规划问题,提出元启发式DRSA算法进行求解。另外还有人提出了MEC 的自适应复制方案。该方案通过MSSA(Master Slave Selection Algorithm)算法,根据读写 频率动态分配副本数量。然而,上述已有工作大多关注于如何在资源充足的云环境下 扩展服务副本,而没有考虑边缘节点资源的局限性和异构性以及不稳定的网络条件。
另一方面,当工作负载发生变化时,有效的伸缩策略只是确保服务质量的第一步。如何将可伸缩的服务副本适当地放置在性能不同的边缘节点上也是一个需要解决的重 要问题。许多服务放置算法在优化资源利用、保证服务质量和提高服务可靠性方面表现 出良好的性能。在之前的研究中,在QoS和容错约束条件下,以最小化放置副本代价为 目标的副本放置问题被描述为一个二进制整数线性规划问题。另有学者设计了一个基于 服务依赖感知的在线调度程序,根据在线计划和网络动态状态来决定任务的布置。在一 些关于在线风险评估和调度的研究中,考虑了具有随机服务和不稳定通信网络的异构节 点,建立了风险概率模型,提出了可靠的服务配置算法。
然而,对于资源容量有限、通信延迟较高的边缘计算环境,不同的服务放置策略可能会使原有的扩展决策效率降低。但上述研究将这两个问题视为独立的问题,忽略了边 缘资源的有限性和动态网络状况,均无法保证动态负载波动下的边缘应用服务质量。鉴 于以上的技术缺点,本申请通过确定服务副本的数量,并将它们迭代地放置在最优位置 来解决集成自动缩放与服务放置的联合优化问题。
本申请研究了边缘服务动态缩放和自适应服务放置的联合优化问题,针对边缘环境 中边缘负载不均衡、网络状态不可靠,节点资源有限异构、服务需求的多样性等特点,设计和实现一种动态自适应服务伸缩机制并合理地进行服务放置,以保障边缘服务的稳定性及可用性。
在本申请的一个或多个实施例中,ADBPSO是指Adaptive Discrete BinaryParticle Swarm Optimization(自适应离散二进制粒子群优化算法)。
在本申请的一个或多个实施例中,DAG是指Directed Acyclic Graph(有向无环图)。
在本申请的一个或多个实施例中,DASP是指Dynamic Adaptive ServicePlacement (动态自适应服务放置)。
在本申请的一个或多个实施例中,IoT是指Internet of Things(物联网)。
在本申请的一个或多个实施例中,PSO是指Particle Swarm Optimization(粒子群优 化算法)。
在本申请的一个或多个实施例中,QoS是指Quality of Service(服务质量)。
基于上述内容,本申请还提供一种用于实现本申请一个或多个实施例中提供的边缘 计算服务的动态扩展及放置方法的边缘计算服务的动态扩展及放置装置,该边缘计算服 务的动态扩展及放置装置可以为一服务器(云监控中心),该边缘计算服务的动态扩展及放置装置可以自行或通过第三方服务器等与各个客户端设备(边缘节点)之间依次通 信连接。
前述的边缘计算服务的动态扩展及放置装置进行边缘计算服务的动态扩展及放置 的部分可以在如上述内容的服务器中执行,而在另一种实际应用情形中,也可以所有的操作都在客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用 场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完 成,所述客户端设备还可以包括处理器,用于边缘计算服务的动态扩展及放置的具体处 理。
可以理解的是,所述客户端设备可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、个人数字助理(PDA)、车载设备、智能穿戴设备等任何能够装载应用的 移动设备。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通 信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以 包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
上述服务器与所述客户端设备端之间可以使用任何合适的网络协议进行通信,包括 在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括TCP/IP协议、UDP/IP协议、HTTP协议、HTTPS协议等。当然,所述网络协议例如还可以包括在上 述协议之上使用的RPC协议(Remote Procedure Call Protocol,远程过程调用协议)、REST 协议(Representational State Transfer,表述性状态转移协议)等。
具体通过下述各个实施例及应用实例分别进行详细说明。
为了解决现有的边缘计算服务动态扩展方式存在没有考虑边缘节点资源的局限性 和异构性以及不稳定的网络条件,同时也没有重复考虑服务放置策略对规模决策的影响, 进而无法保证动态负载波动下的边缘应用服务质量的问题,本申请提供一种边缘计算服 务的动态扩展及放置方法的实施例,参见图1,基于所述边缘计算服务的动态扩展及放置装置执行的所述边缘计算服务的动态扩展及放置方法具体包含有如下内容:
步骤100:根据边缘计算平台中各应用分别对应的各个微服务当前各自的工作负载 强度预测结果以及各个边缘节点当前各自的工作性能评估结果,针对目标数据处理请求 对微服务副本数量进行自动扩展处理,以确定微服务副本的缩放优化数量。
步骤200:采用预设的自适应离散二进制粒子群优化算法,根据所述微服务副本的缩放优化数量、当前可用的边缘节点数量及性能信息,获取各个所述微服务副本与各个 可用的边缘节点之间的映射关系,以将各个所述微服务副本分别放置至对应的所述边缘 节点。
可以理解的是,提供边缘服务的边缘计算平台是由一个云监控中心和一些地理上分 布的边缘节点组成的,这些节点可以形成一个边缘计算服务集群。集群内的不同边缘节点通过异构网络连接到云监控中心,实现云边协作。考虑到资源有限的边缘节点的地理 距离会导致负载的变化和网络延迟,本申请需要制定主动的自动缩放策略,适当地放置 服务副本,以保证动态网络环境下的服务质量。
从上述描述可知,本申请实施例提供的边缘计算服务的动态扩展及放置方法,通过 确定服务副本的数量,并将它们迭代地放置在最优位置来解决集成自动缩放与服务放置 的联合优化问题,针对边缘环境中边缘负载不均衡、网络状态不可靠,节点资源有限异构、服务需求的多样性等特点,能够在边缘环境中边缘负载不均衡、网络状态不可靠的 情况下提高边缘计算服务的自动扩展的可靠性及有效性,并能够同时提高对边缘计算服 务进行服务放置的准确性及可靠性,能够有效提高边缘计算服务动态扩展的效率,使得 边缘计算服务在面临超出现有集群最大承载能力的时候,能够可靠且高效地调整集群的 规模以提高集群的承载能力,从而保证用户体验和系统服务的稳定性;同时在集群负载 很低的时候,能够尽可能减少闲置服务器带来的资源浪费,以保障边缘服务的稳定性及 可用性。
为了提高微服务副本数量进行自动扩展的可靠性及智能化程度,在本申请提供的边 缘计算服务的动态扩展及放置方法的一个实施例中,所述边缘计算服务的动态扩展及放 置方法的步骤100具体包含有如下内容:
步骤110:根据针对边缘计算平台的目标数据处理请求,对所述边缘计算平台中各应用分别对应的各个微服务进行工作负载强度预测,以得到各个微服务当前各自的工作负载强度预测结果。
步骤120:根据所述目标数据处理请求分别对所述边缘计算平台中各个所述边缘节 点进行工作性能评估,以得到各个边缘节点当前各自的工作性能评估结果。
步骤130:基于各个微服务当前各自的工作负载强度预测结果和各个边缘节点当前 各自的工作性能评估结果,采用预设的多阶段自动扩展模型针对所述目标数据处理请求 对微服务副本数量进行自动扩展处理,以确定微服务副本的缩放优化数量。
为了提高对所述边缘计算平台中各应用分别对应的各个微服务进行工作负载强度 预测的可靠性及智能化程度,在本申请提供的边缘计算服务的动态扩展及放置方法的一 个实施例中,所述边缘计算服务的动态扩展及放置方法的步骤110具体包含有如下内容:
步骤111:基于流水线理论分别获取各个所述微服务各自对应的负载组以及各个所 述微服务的平均工作负载,其中,所述负载组包括:当前微服务的上游微服务在当前监控周期的输出负载和输入负载,以及,当前微服务在下一监控周期的输出负载和输入负载。
步骤112:根据各个所述微服务各自对应的负载组以及各个所述微服务的平均工作 负载,采用预设的工作负载强度预测模型分别预测各个所述微服务的工作负载强度,以得到各个所述微服务当前各自的工作负载强度预测结果。
为了提高对所述边缘计算平台中各个所述边缘节点进行工作性能评估的可靠性及 智能化程度,在本申请提供的边缘计算服务的动态扩展及放置方法的一个实施例中,所述边缘计算服务的动态扩展及放置方法的步骤120具体包含有如下内容:
步骤121:根据所述边缘计算平台中各个所述边缘节点的CPU、内存和网络带宽利用率分别确定各个所述边缘节点各自对应的服务性能。
步骤122:基于各个所述微服务分别对应的上游微服务在当前监控周期的输入负载 以及各个所述边缘节点各自对应的服务性能,分别确定各个所述边缘节点的负载因子。
步骤123:根据各个所述边缘节点的负载因子,采用预设的工作性能评估模型分别评估定各个所述边缘节点的工作性能,以得到各个所述边缘节点当前各自的工作性能评估结果。
为了提高对微服务副本数量进行自动扩展处理的可靠性及智能化程度,在本申请提 供的边缘计算服务的动态扩展及放置方法的一个实施例中,所述工作负载强度预测结果 包括由强至弱的至少三类结果,所述工作性能评估结果包括由强至弱的至少三类结果;相对应的,所述边缘计算服务的动态扩展及放置方法的步骤130具体包含有如下内容:
步骤131:在各个所述微服务中筛选所述工作负载强度预测结果的强度最高和强度 最低的微服务作为目标微服务。
步骤132:在各个所述边缘节点中筛选所述工作性能评估结果的强度最高和强度最 低的边缘节点作为目标边缘节点。
步骤133:根据所述目标微服务和所述目标边缘节点,采用所述多阶段自动扩展模型分别对各个所述目标微服务的初始副本数进行自动扩展处理,以确定各个微服务副本的缩放优化数量。
为了提高获取各个所述微服务副本与各个可用的边缘节点之间的映射关系的准确 性及智能化程度,在本申请提供的边缘计算服务的动态扩展及放置方法的一个实施例中, 所述边缘计算服务的动态扩展及放置方法的步骤200具体包含有如下内容:
步骤210:获取所述自适应离散二进制粒子群优化算法的自适应权重系数;
步骤220:根据所述微服务副本的缩放优化数量分别获取当前可用的各个所述微服 务副本各自对应的社会认知因子和个体认知因子的线性变化;
步骤230:基于当前可用的各个所述微服务副本的自适应权重系数、社会认知因子和个体认知因子的线性变化,采用预设的动态自适应服务放置方法对所述自适应离散二进制粒子群优化算法的更新公式进行迭代处理,以得到时延最小的最优服务副本放置方案。
步骤240:根据所述最优服务副本放置方案获取各个所述微服务副本与各个可用的 边缘节点之间的映射关系,以将各个所述微服务副本分别放置至对应的所述边缘节点。
为了提高获取所述自适应离散二进制粒子群优化算法的自适应权重系数的可靠性 及准确性,在本申请提供的边缘计算服务的动态扩展及放置方法的一个实施例中,所述边缘计算服务的动态扩展及放置方法的步骤210具体包含有如下内容:
步骤211:基于预设的时延模型分别确定各个所述应用中各个所述微服务的总延时。
步骤212:根据所述总延时设置粒子的适应度值。
步骤213:基于所述适应度值、粒子的平均适应度值和最大适应度值获取所述自适应离散二进制粒子群优化算法的自适应权重系数。
基于此,针对上述边缘计算服务的动态扩展及放置方法的实施例,本申请还提供一 种边缘计算服务的动态扩展及放置方法的具体应用实例以进一步说明,本申请应用实例 研究了动态自伸缩和自适应服务放置的联合优化问题,并将其定义为满足资源和带宽约 束条件下的最小化任务延迟问题。首先,本申请应用实例设计了一个基于负载预测和边缘节点性能评估的多阶段自动扩展模型,以动态创建合适数量的服务副本。其次,提出 了一种动态自适应服务放置(DASP)方法,利用自适应离散二进制粒子群优化算法 ADBPSO迭代放置每个服务副本。DASP可以在较短的时间内根据动态服务副本伸缩决 策确定当前最优放置策略。这一轮的放置结果将指导下一轮的迭代优化。
1.系统模型:
参见图2,假设边缘计算系统中有N个边缘节点,即E={e1,e2,…,eN}。对于 每个节点,用包含其可用容量的向量表示:ei=(αi,βi,γi),一个应用 由一系列微服务组成,即MS={ms1,ms2,…,msk},微服务msk可用资源向量表示:msk=(Ck,Mk,Bk),其中,Ck,Mk,Bk分别代表微服务msk的CPU、内存及带宽资 源需求。微服务有多个副本,以确保在面对变化的工作负载强度时依然可用。本申请应 用实例用wk代表微服务msk的副本个数,表示微服务msk的第l个副本。只要每个微 服务有一个副本可用,应用程序就可用。因此,本申请应用实例的目标是在满足边缘资 源和带宽限制的情况下,动态地创建合适数量的微服务副本,并寻找最小平均时延的最 优放置方案。
在边缘计算环境中,边缘节点具有有限的异构资源。如果业务副本部署在容量不足 或通信距离较长的边缘节点上,即使采用自动伸缩机制,也可能无法满足边缘应用对稳定服务质量和低时延的要求。因此,需要动态调整服务副本的数量,这是动态自动伸缩 机制需要解决的问题。在确定了当前服务副本的可伸缩数量后,如何合理地将它们放置 在边缘节点上是另一个需要解决的问题。每个边缘应用程序由一组微服务组成,不同的 服务包含自己的资源需求和通信延迟限制。本申请应用实例需要根据边缘节点的资源可 用性和最后一轮服务放置的反馈来放置服务副本。
本申请应用实例使用矩阵X=[xijk]w×n代表微服务msi的第j个副本的放置情况:若放置在边缘节点ek,xijk=1;否则xijk=0。其中,w是服务副本个数,n是可放置 的边缘节点个数。边缘节点ek所承载的总资源需求即:
时延模型:在边缘场景中,更短的时延意味着更好的服务质量QoS。根据在现有工作中经常使用的排队论,首先定义ξi作为msi的时延,包括处理时间排队等待时间以及网络传输时间首先,定义作为的期望值,与微服务请求处理速率成反比:
其中,Ci是分配给msi的总CPU。
在本申请应用实例中,目标是在满足边缘资源和带宽约束的情况下,做出主动的自 动伸缩决策,并找到最优的服务副本放置策略,使任务响应时间最小化,即:
minimize Eξ(t+1)
相应的约束条件描述如下:
该方法的目标是在满足以下约束条件的情况下,使t+1时刻Eξ(t+1)的应用期望延迟最小。其中,约束条件包括:
(C1)决策矩阵中值为1的元素个数不能超过副本个数;
(C2)表示满足边缘节点的资源约束;
(C3)msi的平均输入速率不大于其平均处理速率;
(C4)msi的平均输出速率小于或等于两个相邻微服务之间的带宽。
2.动态自动缩放策略:本申请应用实例设计一个动态自适应自动伸缩模型,用于确 定最佳的服务副本数量。该模型考虑了边缘节点的实时工作强度和性能。如果将高负载的微服务副本放置在性能较低的边缘节点上,则会导致服务可用性较低。此时,本申请 应用实例需要重新优化副本的数量。关键步骤是根据微服务工作负载强度和边缘节点性 能进行合理分类。动态自适应自动伸缩模型的具体实现过程如下:
1)微服务工作负载预测
请求从边缘应用的第一个微服务传递到最后一个微服务,上游微服务的输入请求每 隔一定的时间间隔到达下游。该工作负载预测模型基于流应用的流水线处理,因此,当已知上游微服务的输入数据与输出数据的比值时,可以提前获得下游微服务的输入请求数。这里可以根据请求的数量来评估工作负载。将窗口时间t定义为边缘应用的流水线 处理时隙,同时也是监控周期。根据流水线理论,首先计算微服务msi的上游邻居 微服务msj在时间t的输出负载
其中,代表输入队列的长度,也是msj在时间t的输入负载。指输出队列的长 度,ratj指输出负载与输入负载的比值。这里Cj(t)是分配给msj的CPU总量。然后可以计算微服务msi在t+1时刻的输入负载:
这里Θi是msi的上游微服务集合,Bji(t)是微服务msi和msj之间的带宽。定义msk在时间 t的平均工作负载:
根据微服务的工作负载强度,可以将微服务分为三类:MH、MM、ML,其中MH为 工作负荷最高的微服务集合,MM为工作负荷中等的微服务集合,ML为工作负荷最低的 微服务集合。定义阈值μ来衡量微服务的工作负载强度,如下所示。
2)边缘节点负载评估
可伸缩服务副本的数量不仅与工作负载强度有关,还与部署副本的边缘节点的性能有 关。根据CPU、内存、网络等资源的使用情况,定义边缘节点的服务性能如下:
其中Ucpu,Umem,Unet分别代表边缘节点的CPU、内存和网络带宽利用率,Ωcpu,Ωmem, Ωnet分别代表不同种类资源在边缘节点中所占的比重。Ωcpu+Ωmem+Ωnet=1。则第i 个边缘节点的负载因子可定义为:
3)动态自动缩放策略
基于以上两个步骤,本申请应用实例将微服务和边缘节点按照工作负载强度分别划 分为三类。当服务放置算法将高负载的微服务放置在性能较低的边缘节点上时,边缘服务可能无法及时响应用户。也就是说,需要动态地重新优化服务副本的数量,以确保服 务质量。从提高资源利用率和保证服务质量的角度来看,只需要处理高负载/低负载边缘 节点与高负载/低负载边缘微服务的极端匹配。假设输入的微服务msi的初始副本数为wi, 在特定情况下,缩放后的目标服务副本数w′i的优化过程如下所示:
其中,σ1和σ2表示影响微服务负载和边缘节点性能的系数,σ1+σ2=1。本申请应 用实例只需要处理四种极端映射条件下服务副本的自动缩放,即微服务负载极高或极低 以及边缘节点负载极高或极低。因为只有在这四种情况下,才可以根据划分负载水平的 不等式获得确定的服务副本缩放个数。在其他情况下,服务的副本数目仍保持为wi。
3.动态自适应服务放置机制
1)自适应离散二进制粒子群优化算法ADBPSO:
服务副本的放置是一个离散问题,因此解矩阵Xi中任何元素的值都只能为0或1。因 此,本申请应用实例设计了一种自适应离散二进制粒子群优化算法ADBPSO,该算法具有更好的搜索能力和鲁棒性。在ADBPSO中,提出了一种改进的惯性权值自适应策略, 可以根据粒子的状态动态调整惯性权值。同时,为了保证服务副本和边缘节点在解矩阵 Xi中的离散映射,本申请应用实例设计了一种基于二元算子的距离计算方法,改进粒子 速度和位置的迭代更新策略。
微服务副本放置问题实际上是副本和边缘节点之间的映射,所以使用w×n矩阵(副 本放置矩阵)来表示一个可行的解决方案,其中w是优化的服务副本获得的动态伸缩策略,n是可用的边缘节点的数量。
同样,速度变量也用相同的w×n矩阵(速度变量矩阵)表示。向量Vi中每个元素的值表示第k个服务副本放置到第j个边缘节点的概率百分比,该概率范围处 于[0,100]。的值越大,服务副本越有可能被映射到边缘节点k,粒子将朝 这个方向加速运动。
自适应惯性权重:
在粒子群算法中,惯性权值是一个重要的系数,它影响算法的搜索空间。当惯性权值显著时,算法的全局搜索能力得到提高。相反,它更适合于局部搜索。为了避免算法 早熟和加快收敛速度,提出了一种自适应惯性权值法,根据粒子的状态动态调整惯性权 值。惯性权值的大小与粒子的适应度密切相关。适应度值越大,越有可能找到全局最优 解。将任务平均响应延迟Eξ(t)的相反值设为粒子的适应度值f,因为希望延迟尽可能小。 自适应权重系数(惯性权值)公式如下:
其中f为粒子当前的适应度值,favg和fmax分别表示种群粒子的平均适应度值和最大 适应度值。粒子适应度值的变化会引起惯性权值的变化。也就是说,粒子可以根据自身的状态提高自身的全局搜索能力或局部搜索能力。为了提高搜索的准确率,将社会认知 因子c1和个体认知因子c2线性变化如下:
上式中,g为当前粒子演化迭代次数,c1函数随着粒子迭代次数的增加而增大,较大的群体认知在后期加速了收敛。随着粒子迭代次数的增加,个体认知系数逐渐减小。 在初始阶段,个体粒子的随机搜索系数较大,能够较好地找到个体最优值。
基于二进制算子的距离更新:
由于服务副本放置是一个离散的二进制问题,因此需要满足微服务副本与边缘节点 之间的对应矩阵中每行只有一个值为1的元素。本申请应用实例提出了一种基于二进制算子的距离计算方法。该方法包括两个二进制算子,用于计算两个粒子之间的距离,并 根据给定的距离更新粒子的位置。定义操作符PD和PU,PD(x,y)代表x和y之间的 二进制距离。通过逐位比较向量x和y各行,得到行向量带符号的比特距离组成的向量, 作为两个粒子之间的距离。例如:
PD([0,0,1,0;1,0,0,0],[1,0,0,0;0,1,0,0])=[2,-1]。
PU(x,y)代表以y距离移动粒子x。
例如,PU([0,0,1,0],1)=[0,0,0,1],所以可以得到ADBPSO算法更新公 式:
第id个服务副本在t+1时刻是否放置到第k个边缘节点。
2)动态自适应服务放置算法:
在ADBPSO模型的基础上,本申请应用实例提出了一种动态自适应服务放置(DASP)方法来解决服务副本放置问题。DASP组合了动态自动缩放策略,以迭代方式放置服务 副本。动态自适应服务放置算法流程如图3所示。
在算法1(图2中的Algorithm 1)中,首先根据粒子编码规则初始化种群。在求解过程中,首先确定是否满足所有约束条件,如果满足,通过动态自动缩放策略调整缩放 副本的数量,并重新初始化放置矩阵评估每个粒子的适应度值,自适应调整粒子的 惯性权值。在下一次迭代中,本申请应用实例根据改进的二进制算子距离计算规则更新 粒子的速度和位置。然后将当前粒子的适应度值与历史的pbest和历史的gbest进行比较, 并进行更新,继续进行下一次迭代,直到达到最大迭代次数或两代最优粒子的适应度差 小于阈值为止。最后得到边缘计算环境下时延最小的最优服务副本放置方案X*。
基于此,本申请应用实例研究了动态自动缩放和自适应服务放置的联合优化问题, 将边缘计算体系结构和基于微服务的边缘应用建模为图模型,通过抽象边缘计算场景下 边缘应用微服务链的时延模型,并定义集群内的资源约束以及带宽限制,将问题定义为满足资源和带宽约束条件下的任务延迟最小化问题,以保障动态负载波动下边缘应用的服务质量。
以及,动态自适应缩放模型是本申请应用实例的技术关键点之一,本申请应用实例 设计了一个基于微服务工作负载预测和边缘节点性能评估的多阶段自动扩展模型,以动 态创建合适数量的服务副本。首先根据排队论预测边缘微服务的负载强度并进行分类,然后对边缘节点实时负载进行评估,定义节点的负载因子标识节点的可用性并进行分类,最后基于以上步骤对服务副本数量进行动态优化来确定最优的服务副本数量。该模型考虑了边缘节点的实时负载强度和性能。对于四种极高/极低负载强度微服务与极高/极低负载强度边缘节点之间的特殊映射情况,实行动态的副本调整策略,以获得最优的副本 缩放数量。
本申请应用实例提出了一种动态自适应服务放置(DASP)方法,利用自适应离散二进 制粒子群优化(ADBPSO)算法迭代放置每个服务副本。在ADBPSO中,本申请应用实例 设计了一种基于二进制算子的迭代更新策略来计算离散粒子距离,并提出了一种自适应 惯性权值法来提高算法的性能。DASP可以在短时间内根据动态服务副本缩放决策确定 当前延迟最小的最优放置策略。当前轮的放置结果将指导下一轮的迭代优化。
综上所述,本申请应用实例研究了动态自动伸缩和自适应服务放置的联合优化问题, 并将其定义为满足资源和带宽约束条件下的最小化任务延迟问题。首先,本申请应用实 例设计了一个基于负载预测和边缘节点性能评估的多阶段自动缩放模型,以动态创建合 适数量的服务副本。其次,提出了一种动态自适应服务放置(DASP)方法,利用自适应离散二进制粒子群优化(ADBPSO)算法迭代放置每个服务副本。DASP可以在较短的时间 内根据动态服务副本伸缩决策确定当前最优放置策略。这一轮的放置结果将指导下一轮 的迭代优化。在满足边缘资源和带宽约束的情况下,制定自动伸缩决策,并找到最优的 服务副本放置策略,实现在保障服务质量的同时最小化任务时延。
基于上述内容,本申请还提供一种用于实现本申请一个或多个实施例中提供的边缘 计算服务的动态扩展及放置方法的边缘计算服务的动态扩展及放置装置,该边缘计算服 务的动态扩展及放置装置的具体实现可以为一服务器,在一种具体举例中,参见图4,所述边缘计算服务的动态扩展及放置装置具体包含有如下内容:
多阶段自动扩展模块10,用于根据边缘计算平台中各应用分别对应的各个微服务当 前各自的工作负载强度预测结果以及各个边缘节点当前各自的工作性能评估结果,针对 目标数据处理请求对微服务副本数量进行自动扩展处理,以确定微服务副本的缩放优化 数量。
动态自适应服务放置模块20,用于采用预设的自适应离散二进制粒子群优化算法, 根据所述微服务副本的缩放优化数量和当前可用的边缘节点数量,获取各个所述微服务 副本与各个可用的边缘节点之间的映射关系,以将各个所述微服务副本分别放置至对应 的所述边缘节点。
本申请提供的边缘计算服务的动态扩展及放置装置的实施例具体可以用于执行上 述实施例中的边缘计算服务的动态扩展及放置方法的实施例的处理流程,其功能在此不 再赘述,可以参照上述边缘计算服务的动态扩展及放置方法实施例的详细描述。
从上述描述可知,本申请实施例提供的边缘计算服务的动态扩展及放置装置,通过 确定服务副本的数量,并将它们迭代地放置在最优位置来解决集成自动缩放与服务放置 的联合优化问题,针对边缘环境中边缘负载不均衡、网络状态不可靠,节点资源有限异构、服务需求的多样性等特点,能够在边缘环境中边缘负载不均衡、网络状态不可靠的 情况下提高边缘计算服务的自动扩展的可靠性及有效性,并能够同时提高对边缘计算服 务进行服务放置的准确性及可靠性,能够有效提高边缘计算服务动态扩展的效率,使得 边缘计算服务在面临超出现有集群最大承载能力的时候,能够可靠且高效地调整集群的 规模以提高集群的承载能力,从而保证用户体验和系统服务的稳定性;同时在集群负载 很低的时候,能够尽可能减少闲置服务器带来的资源浪费,以保障边缘服务的稳定性及 可用性。
本发明实施例还提供了一种计算机设备,如图5所示,该计算机设备可以包括处理器81、存储器82及图像采集装置83,其中处理器81和存储器82可以通过总线或者其 他方式连接,图5中以通过总线连接为例。该图像采集装置83可通过有线或无线方式 与处理器81、存储器82连接。
处理器81可以为中央处理器(Central Processing Unit,CPU)。处理器81还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件 组件等芯片,或者上述各类芯片的组合。
存储器82作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的车载显示装置按键屏蔽方法对应的程序指令/模块(例如,图5所示的图像获取单元1、色块平均值计算单元2、判断单 元3及校正单元4)。处理器81通过运行存储在存储器82中的非暂态软件程序、指令 以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的 图像色彩校正方法。
存储器82可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器81所创建的数据等。此外, 存储器82可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁 盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器82可 选包括相对于处理器81远程设置的存储器,这些远程存储器可以通过网络连接至处理 器81。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组 合。
所述一个或者多个模块存储在所述存储器82中,当被所述处理器81执行时,执行如图1-图3所示实施例中的边缘计算服务的动态扩展及放置方法。
在本公开的一些实施例中,用户设备可以包括处理器、存储器和收发单元,该收发单元可包括接收器和发送器,处理器、存储器、接收器和发送器可通过总线系统连接, 存储器用于存储计算机指令,处理器用于执行存储器中存储的计算机指令,以控制收发 单元收发信号。
作为一种实现方式,本发明中接收器和发送器的功能可以考虑通过收发电路或者收 发的专用芯片来实现,处理器可以考虑通过专用处理芯片、处理电路或通用芯片实现。
作为另一种实现方式,可以考虑使用通用计算机的方式来实现本发明实施例提供的 鉴权装置和鉴权服务器。即将实现处理器,接收器和发送器功能的程序代码存储在存储器中,通用处理器通过执行存储器中的代码来实现处理器,接收器和发送器的功能。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机 程序被处理器执行时以实现前述边缘计算服务器部署方法的步骤。该计算机可读存储介 质可以是有形存储介质,诸如随机存储器(RAM)、内存、只读存储器(ROM)、电 可编程ROM、电可擦除可编程ROM、寄存器、软盘、硬盘、可移动存储盘、CD-ROM、 或技术领域内所公知的任意其它形式的存储介质。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性 的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以 对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本 申请的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、 适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所 需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波 中携带的数据信号在传输介质或者通信链路上传送。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为 了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本 领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步 骤之间的顺序。
本申请中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施 方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实 施方式的特征。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员 来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种边缘计算服务的动态扩展及放置方法,其特征在于,包括:
根据边缘计算平台中各应用分别对应的各个微服务当前各自的工作负载强度预测结果以及各个边缘节点当前各自的工作性能评估结果,针对目标数据处理请求对微服务副本数量进行自动扩展处理,以确定微服务副本的缩放优化数量;
采用预设的自适应离散二进制粒子群优化算法,根据所述微服务副本的缩放优化数量、当前可用的边缘节点数量及性能信息,获取各个所述微服务副本与各个可用的边缘节点之间的映射关系,以将各个所述微服务副本分别放置至对应的所述边缘节点。
2.根据权利要求1所述的缘计算服务的动态扩展及放置方法,其特征在于,所述根据边缘计算平台中各应用分别对应的各个微服务当前各自的工作负载强度预测结果以及各个边缘节点当前各自的工作性能评估结果,针对目标数据处理请求对微服务副本数量进行自动扩展处理,以确定微服务副本的缩放优化数量,包括:
根据针对边缘计算平台的目标数据处理请求,对所述边缘计算平台中各应用分别对应的各个微服务进行工作负载强度预测,以得到各个微服务当前各自的工作负载强度预测结果;
以及,根据所述目标数据处理请求分别对所述边缘计算平台中各个所述边缘节点进行工作性能评估,以得到各个边缘节点当前各自的工作性能评估结果;
基于各个微服务当前各自的工作负载强度预测结果和各个边缘节点当前各自的工作性能评估结果,采用预设的多阶段自动扩展模型针对所述目标数据处理请求对微服务副本数量进行自动扩展处理,以确定微服务副本的缩放优化数量。
3.根据权利要求2所述的缘计算服务的动态扩展及放置方法,其特征在于,所述根据针对边缘计算平台的目标数据处理请求,对所述边缘计算平台中各应用分别对应的各个微服务进行工作负载强度预测,以得到各个微服务当前各自的工作负载强度预测结果,包括:
基于流水线理论分别获取各个所述微服务各自对应的负载组以及各个所述微服务的平均工作负载,其中,所述负载组包括:当前微服务的上游微服务在当前监控周期的输出负载和输入负载,以及,当前微服务在下一监控周期的输出负载和输入负载;
根据各个所述微服务各自对应的负载组以及各个所述微服务的平均工作负载,采用预设的工作负载强度预测模型分别预测各个所述微服务的工作负载强度,以得到各个所述微服务当前各自的工作负载强度预测结果。
4.根据权利要求3所述的缘计算服务的动态扩展及放置方法,其特征在于,所述根据所述目标数据处理请求分别对所述边缘计算平台中各个所述边缘节点进行工作性能评估,以得到各个边缘节点当前各自的工作性能评估结果,包括:
根据所述边缘计算平台中各个所述边缘节点的CPU、内存和网络带宽利用率分别确定各个所述边缘节点各自对应的服务性能;
基于各个所述微服务分别对应的上游微服务在当前监控周期的输入负载以及各个所述边缘节点各自对应的服务性能,分别确定各个所述边缘节点的负载因子;
根据各个所述边缘节点的负载因子,采用预设的工作性能评估模型分别评估定各个所述边缘节点的工作性能,以得到各个所述边缘节点当前各自的工作性能评估结果。
5.根据权利要求4所述的缘计算服务的动态扩展及放置方法,其特征在于,所述工作负载强度预测结果包括由强至弱的至少三类结果,所述工作性能评估结果包括由强至弱的至少三类结果;
相对应的,所述基于各个微服务当前各自的工作负载强度预测结果和各个边缘节点当前各自的工作性能评估结果,采用预设的多阶段自动扩展模型针对所述目标数据处理请求对微服务副本数量进行自动扩展处理,以确定微服务副本的缩放优化数量,包括:
在各个所述微服务中筛选所述工作负载强度预测结果的强度最高和强度最低的微服务作为目标微服务;
以及,在各个所述边缘节点中筛选所述工作性能评估结果的强度最高和强度最低的边缘节点作为目标边缘节点;
根据所述目标微服务和所述目标边缘节点,采用所述多阶段自动扩展模型分别对各个所述目标微服务的初始副本数进行自动扩展处理,以确定各个微服务副本的缩放优化数量。
6.根据权利要求1至5任一项所述的缘计算服务的动态扩展及放置方法,其特征在于,所述采用预设的自适应离散二进制粒子群优化算法,根据所述微服务副本的缩放优化数量和当前可用的边缘节点数量,获取各个所述微服务副本与各个可用的边缘节点之间的映射关系,以将各个所述微服务副本分别放置至对应的所述边缘节点,包括:
获取所述自适应离散二进制粒子群优化算法的自适应权重系数;
以及,根据所述微服务副本的缩放优化数量分别获取当前可用的各个所述微服务副本各自对应的社会认知因子和个体认知因子的线性变化;
基于当前可用的各个所述微服务副本的自适应权重系数、社会认知因子和个体认知因子的线性变化,采用预设的动态自适应服务放置方法对所述自适应离散二进制粒子群优化算法的更新公式进行迭代处理,以得到时延最小的最优服务副本放置方案;
根据所述最优服务副本放置方案获取各个所述微服务副本与各个可用的边缘节点之间的映射关系,以将各个所述微服务副本分别放置至对应的所述边缘节点。
7.根据权利要求6所述的缘计算服务的动态扩展及放置方法,其特征在于,所述获取所述自适应离散二进制粒子群优化算法的自适应权重系数,包括:
基于预设的时延模型分别确定各个所述应用中各个所述微服务的总延时;
根据所述总延时设置粒子的适应度值;
基于所述适应度值、粒子的平均适应度值和最大适应度值获取所述自适应离散二进制粒子群优化算法的自适应权重系数。
8.一种边缘计算服务的动态扩展及放置装置,其特征在于,包括:
多阶段自动扩展模块,用于根据边缘计算平台中各应用分别对应的各个微服务当前各自的工作负载强度预测结果以及各个边缘节点当前各自的工作性能评估结果,针对目标数据处理请求对微服务副本数量进行自动扩展处理,以确定微服务副本的缩放优化数量;
动态自适应服务放置模块,用于采用预设的自适应离散二进制粒子群优化算法,根据所述微服务副本的缩放优化数量和当前可用的边缘节点数量,获取各个所述微服务副本与各个可用的边缘节点之间的映射关系,以将各个所述微服务副本分别放置至对应的所述边缘节点。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的边缘计算服务的动态扩展及放置方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述的边缘计算服务的动态扩展及放置方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111489383.XA CN114356548A (zh) | 2021-12-07 | 2021-12-07 | 边缘计算服务的动态扩展及放置方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111489383.XA CN114356548A (zh) | 2021-12-07 | 2021-12-07 | 边缘计算服务的动态扩展及放置方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114356548A true CN114356548A (zh) | 2022-04-15 |
Family
ID=81097214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111489383.XA Pending CN114356548A (zh) | 2021-12-07 | 2021-12-07 | 边缘计算服务的动态扩展及放置方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114356548A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114826908A (zh) * | 2022-05-09 | 2022-07-29 | 新华智云科技有限公司 | kubernetes集群服务保障方法、组件、系统 |
CN115878326A (zh) * | 2022-12-29 | 2023-03-31 | 中科南京软件技术研究院 | 一种面向边缘计算场景的发布订阅方法及系统 |
CN116260730A (zh) * | 2023-05-15 | 2023-06-13 | 武汉大学 | 多边缘计算节点中的地理信息服务进化粒子群优化方法 |
CN116319811A (zh) * | 2023-05-22 | 2023-06-23 | 来未来科技(浙江)有限公司 | 一种支持多协议转化及服务编排的网关路由系统 |
-
2021
- 2021-12-07 CN CN202111489383.XA patent/CN114356548A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114826908A (zh) * | 2022-05-09 | 2022-07-29 | 新华智云科技有限公司 | kubernetes集群服务保障方法、组件、系统 |
CN114826908B (zh) * | 2022-05-09 | 2024-03-26 | 新华智云科技有限公司 | kubernetes集群服务保障方法、组件、系统 |
CN115878326A (zh) * | 2022-12-29 | 2023-03-31 | 中科南京软件技术研究院 | 一种面向边缘计算场景的发布订阅方法及系统 |
CN116260730A (zh) * | 2023-05-15 | 2023-06-13 | 武汉大学 | 多边缘计算节点中的地理信息服务进化粒子群优化方法 |
CN116260730B (zh) * | 2023-05-15 | 2023-07-21 | 武汉大学 | 多边缘计算节点中的地理信息服务进化粒子群优化方法 |
CN116319811A (zh) * | 2023-05-22 | 2023-06-23 | 来未来科技(浙江)有限公司 | 一种支持多协议转化及服务编排的网关路由系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tak et al. | Federated edge learning: Design issues and challenges | |
CN114356548A (zh) | 边缘计算服务的动态扩展及放置方法和装置 | |
US20200293838A1 (en) | Scheduling computation graphs using neural networks | |
CN111445111B (zh) | 一种基于边缘协同的电力物联网任务分配方法 | |
Abd Elaziz et al. | IoT workflow scheduling using intelligent arithmetic optimization algorithm in fog computing | |
Izakian et al. | A novel particle swarm optimization approach for grid job scheduling | |
Mostafa et al. | Fog resource selection using historical executions | |
Wolfrath et al. | Haccs: Heterogeneity-aware clustered client selection for accelerated federated learning | |
Cui et al. | Optimal rate adaption in federated learning with compressed communications | |
Wang et al. | Deep reinforcement learning-based scheduling for optimizing system load and response time in edge and fog computing environments | |
Li et al. | Resource scheduling based on improved spectral clustering algorithm in edge computing | |
CN115914392A (zh) | 算力网络资源调度方法及系统 | |
Mada et al. | Latency-aware service placement and live migrations in 5G and beyond mobile systems | |
CN109375999A (zh) | 一种基于贝叶斯网络的mec随机任务迁移方法 | |
Matrouk et al. | Mobility aware-task scheduling and virtual fog for offloading in IoT-fog-cloud environment | |
Soula et al. | Intelligent tasks allocation at the edge based on machine learning and bio-inspired algorithms | |
Liu et al. | Hastening stream offloading of inference via multi-exit dnns in mobile edge computing | |
Ebrahim et al. | Resilience and load balancing in fog networks: A multi-criteria decision analysis approach | |
CN114691372A (zh) | 一种多媒体端边云系统的群体智能控制方法 | |
Ghafari et al. | E-AVOA-TS: Enhanced African vultures optimization algorithm-based task scheduling strategy for fog–cloud computing | |
Salehnia et al. | SDN-based optimal task scheduling method in Fog-IoT network using combination of AO and WOA | |
Jitani et al. | Structure-aware reinforcement learning for node-overload protection in mobile edge computing | |
Laroui et al. | Scalable and cost efficient resource allocation algorithms using deep reinforcement learning | |
Alsamarai et al. | Bandwidth-deadline IoT task scheduling in fog–cloud computing environment based on the task bandwidth | |
Pakmehr et al. | ETFC: Energy-efficient and deadline-aware task scheduling in fog computing |
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 |