CN113822456A - 一种云雾混构环境下基于深度强化学习的服务组合优化部署方法 - Google Patents
一种云雾混构环境下基于深度强化学习的服务组合优化部署方法 Download PDFInfo
- Publication number
- CN113822456A CN113822456A CN202010562269.4A CN202010562269A CN113822456A CN 113822456 A CN113822456 A CN 113822456A CN 202010562269 A CN202010562269 A CN 202010562269A CN 113822456 A CN113822456 A CN 113822456A
- Authority
- CN
- China
- Prior art keywords
- service
- edge
- user
- request
- server
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- 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
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/502—Proximity
-
- 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
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Economics (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Artificial Intelligence (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Development Economics (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明属于计算机领域中的云计算、边缘计算和服务计算技术领域,涉及云雾混构环境下基于深度强化学习的服务组合优化部署方案,具体涉及一种主要在边缘计算场景下基于深度强化学习的应用服务动态优化部署方法,本发明在用户与运行在各边缘节点之上的服务之间增加智能决策体Agent,让Agent综合当前各个边缘节点之上运行的应用服务,在各时间段内的资源情况和用户请求量,对下一时间段内各服务的访问使用量进行预测,随后调整各服务在边缘节点上的资源使用情况,以此对服务集合在各边缘节点上进行动态服务部署,帮助服务提供商作出各时间段内的优化部署策略,在提升服务质量的同时,节约能耗,节约成本,同时高效利用边缘服务器的***资源。
Description
技术领域
本发明属于计算机领域中的云计算、边缘计算和服务计算技术领域,涉及云雾混构环境下基于深度强化学习的服务组合优化部署方案,具体涉及一种主要在边缘计算场景下基于深度强化学习的应用服务动态优化部署方法。
背景技术
据报道,服务部署已成为云计算环境研究的关注热点,目前,在云场景下关于服务部署的若干相关研究显示,在公有云市场云服务提供商中,在云平台接口、定价、云平台功能方面都较分散,其中,特别是对于数据密集型应用中,支撑其计算的服务部件都是相互有数据依赖和逻辑依赖的组件,如何为多个逻辑上是一个整体的服务部件,选择合适的云端资源,选择一个最佳的部署策略,将其部署,使服务之间的计算效率和通信效率在全局部署方案的搜索空间中是较优的,这就是服务部署问题。
业内知悉,服务部署问题是典型的优化问题,传统的服务部署方案大多基于启发式算法(heuristic algorithm)。启发式算法的提出通常是借鉴了生物界中发现的规律或从生活中总结出来的经验,其目的是在用户可接受的开销下尽可能快的找到组合优化问题中的优质解;常见的启发式算法有遗传算法、蚁群算法、模拟退火法等。
随着5G技术的发展,接入网络边缘端的移动设备和物联网设备增多,这些接入的移动设备需要使用边缘端服务器上部署的服务提供的功能,但是像如手机等移动设备的接入数量,会随着时间的改变和用户的移动而呈现规律性的变化;基于启发式算法的服务部署方案会将边缘服务上给服务分配额定的资源或者将服务固定,造成难以充分发挥边缘服务器的性能,且资源利用率也不高的缺陷。
基于现有技术的现状,本申请的发明人拟提出一种由多个服务组件逻辑依赖构成的服务组合中寻找一个全局较优的服务部署策略,以有效降低用户服务的平均响应时间和边缘服务器能耗,具体提供一种云雾混构环境下基于深度强化学习的服务组合优化部署方案。
发明内容
本发明的目的在于基于现有技术的现状,在云雾混合架构的背景下,提出一种由多个服务组件逻辑依赖构成的服务组合中寻找一个全局较优的服务部署策略,具体提供一种云雾混构环境下基于深度强化学***均响应时间和边缘服务器能耗。
本发明提供了一种主要在边缘计算场景下基于深度强化学习的应用服务动态优化部署方法,本发明在用户与运行在各边缘节点之上的服务之间增加智能决策体Agent,让Agent综合当前各个边缘节点之上运行的应用服务,在各时间段内的资源情况和用户请求量,对下一时间段内各服务的访问使用量进行预测,随后调整各服务在边缘节点上的资源使用情况,以此对服务集合在各边缘节点上进行动态服务部署,帮助服务提供商作出各时间段内的优化部署策略,在提升服务质量的同时,节约能耗,节约成本,同时高效利用边缘服务器的***资源。
具体的,本发明中,主要针对一个整体设计框架,并针对该设计框架进行展开,对各部分分别进行详细的描述与设计;本发明的框架包括:针对云服务实体和雾计算中网络边缘节点实体,设计相应实体模型表述双方对应用规格的配置设置,提出一种云雾混构的服务场景。
本发明中,针对云计算和雾计算混合架构下的应用服务动态优化部署问题,基于深度强化学***衡点,提升服务质量的同时,节约了成本。
更具体的,
本发明的框架包括:针对现实中复杂多变的云雾混构场景,提出了一种易于描述的、接近真实环境的数学模型,提供了云雾混构场景下动态服务部署策略的***。本发明的技术方案包括:
第一方面:云雾混构场景下动态服务部署的数学建模包括移动边缘计算动态服务部署的问题假设、服务部署策略***优化目标计算公式;
移动边缘计算动态服务部署的问题假设是为了让服务部署策略***更加贴近现实,由服务请求独立假设、服务请求种类假设、服务请求报文长度假设、数据传输实验假设组成;
服务部署策略***优化目标计算公式是为了形式化的表示服务部署策略***的优化目标,由用户请求平均响应时间和服务器能耗计算公式构成。
第二方面:云雾混构场景下动态服务部署策略的***包括参数配置模块、服务请求模块、智能体模块、经验采样模块、演员actor神经网络模块、评论家critic神经网络模块;
参数配置模块,由用户服务请求参数子模块、边缘服务器参数子模块、传输网络带宽参数子模块、DDPG算法超参数子模块构成,分别用于设置用户服务请求相关参数、边缘服务器相关参数、传输网络带宽参数、DDPG算法超参数;
服务请求模块,用于预处理移动用户在每个时间内对边缘服务器发送的任务请求,并且得到用户服务请求在每个时间段内的种类和数量分布情况以及将用户服务请求拆分为子服务,存储子服务间逻辑依赖关系。
智能体模块,用于深度强化学习进行迭代计算得到边缘服务部署最优解的智能体。智能体是深度强化学习算法的处理模块,用来协调和调度其他模块;
经验采样模块,用于根据采样策略,采集深度强化学习算法迭代过程中产生的(状态、动作、回报、下一步状态)四元组;采集的四元组数据用于训练演员Actor神经网络和评论家critic神经网络;
演员actor神经网络模块,用于学***均时延和边缘服务器的能耗;
评论家critic神经网络模块,用于学习策略神经网络,评价当前服务请求分布情况下对应的服务部署方案的优劣。
本发明实施方案中,在一种云计算和雾计算同时存在的架构场景下,应用在多个边缘计节点同时存在的情况下,对边缘节点上的特定服务应用进行部署方案的预测选择,同时对服务应用需要的资源进行调整和分配;其中,预测的初始服务部署方案和服务的资源分配调整策略由***中的资源决策体Agent,完成,智能决策体Agent中的核心预测算法是基于深度强化学习DDPG(Deep Deterministic Policy Gradient)实现;所述的云计算和雾计算混合架构场景下的基于深度强化学习的应用优化部署***主要集中于如何实现在雾计算场景的边缘节点所在的边缘服务器中,自动,优化部署服务应用;所述方案的实现针对的服务用户主要是云服务提供商,本发明在满足用户服务部署需求和服务质量要求的同时,能尽可能的高效利用仅有的边缘服务器资源,减少个边缘节点中的服务器能耗,从而从宏观上减少服务提供商的资金投入,同时保证达到可以接受的应用性能表现;具体的实现过程如下:
(1)提出基于深度强化学习DDPG(Deep Deterministic Policy Gradient)的边缘节点服务部署预测***设计,
为了在多个边缘节点环境中,实现服务组合的优化部署方案预测选择,本发明实现了一套在各边缘服务器之上通用的、功能全面的中间代理架构设计;一方面,它将定时接受各个边缘服务器上的采集器Cavisor,定时发送过来的边缘服务器在上一时间段内CPU,内存,硬盘存储资源的平均使用率和状态,中间代理架构将各边缘服务器上收集到的输入数据进行整合、清洗和处理,形成输入数据集合,随后将数据集合作为智能决策体Agent的输入数据,智能决策体计算出下一时间段各服务应用的部署策略和资源分配量,随后各边缘服务器上的服务按照策略和资源分配量对服务部署进行调整和资源分配;
(2)提出针对该***的动态服务部署的数学模型
边缘节点的服务器资源总量小,能够承载的服务应用数量少,但是边缘节点离各种移动和智能设备近,因此服务能够更好更快对请求进行响应,即服务的延迟时间短;边缘计算场景下,由于场景复杂,影响服务部署因素众多,因此在运用深度强化学习算法进行部署策略预测时,首先需要对整个边缘计算下的服务部署场景进行定义和建模,将实体场景中的各种影响因素进行量化,针对算法建立模型实体,定义并处理好数据数据的格式,其主要解决场景中算法参数的度量和定义问题;动态服务部署的数学模型的建立,使深度强化学习很好的应用在云雾混构场景下的动态服务部署问题,算法的输入数据采集来源于云服务提供商所运维边缘服务器上的时事采集数据,确保***能够较好的应用到真实环境中;
(3)提出边缘计算环境下的服务组合部署模型
基于边缘计算的实际应用场景随着技术发展正处于起步发展阶段,海量用户的需求使服务应用组合爆发式增多,导致云数据中心承担的服务压力巨大,服务响应时延增长,用户体验下降,因此将部分服务组合部署到离用户近的边缘节点上,是需求和技术发展的大势所趋;以及,在边缘计算场景下,由于边缘服务器资源有限,对服务组合进行部署的同时要保证服务质量,则极大增大了服务部署的难度,且,目前尚未有很好的解决方案解决边缘场景下的服务部署,等等问题,本发明提出了边缘计算环境下的服务组合部求模型以支持服务组合在边缘节点的部署请求。
本发明中,整个***的运行流程包括,首先,各边缘节点由少量服务器组成,该些少量服务器组成了一个边缘节点,边缘服务器上的资源量较少,因此能够承载的服务组合数量有限,服务组合中的服务组件能够分配到的资源也是有限的,在服务组合生命周期的初始节点,会根据用户请求对各服务组合在各边缘节点上进行初始部署,传统解决这个问题的是静态部署方案,也即服务组合一开始部署好以后,服务在服务器上的位置,资源用量均为限制固定的,在服务接下来的生命周期内,整个服务的部署位置和资源占用限制不会改变;但是用户对各边缘节点上的服务组合的请求,将随着用户位置变动,时间和环境因素等各种情况变化,如果不根据实际情况调整服务组合部署的位置和资源占用量,该服务很难高效的利用***资源,也很难随时提供高质量的服务,如果能够根据上一时间段的服务运行状态和请求情况,对下一时间段的整个服务组合部署策略进行调整,服务分配的资源用量进行调整,则能解决资源利用率低的问题,提高服务质量,这即是动态服务部署;通常,云服务提供商根据其的服务属性,提出要提供的服务的具体要求,例如云服务提供商会有多少个边缘服务器节点,部署自己需要提供给实际用户的服务,每个边缘服务器上可能部署服务组合中的多个或者单个服务组件,众多服务组件如何合理的部署到各边缘节点,并且能够在服务器的能耗和服务质量之间寻求一种动态平衡就是服务提供商关心的问题,因此本发明在各边缘节点层之上设计了统用的中间代理***,这是基于深度强化学习DDPG开发的边缘节点服务部署预测***,也即智能决策体Agent;各边缘节点之上运行着数据采集功能模块,模块会定时发送上一时间段边缘节点上各个服务组件的请求情况和资源使用情况给智能决策体Agent,服务提供商则根据时间段为智能决策体设定不同的参数,Agent综合设定的参数和收集到的数据,对数据进行处理,产生输入数据,随后将输入数据输入算法模块进行计算,得到下一时间段推荐的服务部署策略,随后将服务部署策略应用到各边缘节点的服务部署中。
本发明中,基于上述的内容,边缘计算场景下的场景参数复杂难于量化,但是在应用深度强化学习算法进行问题解决时,必须从复杂繁多的场景参数中筛选出关键参数,可用参数,因此,需要首先对场景进行数学化的定义和建模,在建模完成后,对参数进行限定量化,最后得到适用于智能决策体Agent的输入数据,该部分的数据量化和采集工作,是由基于深度强化学习DDPG(Deep Deterministic Policy Gradient)的边缘节点服务部署预测***的采集程序完成的。
本发明中,为了研究动态服务部署问题,需要将现实中复杂多变的云雾混构场景抽象转换为易于描述的、接近真实环境的数学模型,在将问题定义转换为数学模型的过程中,为了让现实场景更加贴近问题,本发明需要给出一些问题预定义条件,其中,主要基于以下四个假设展开;
假设一:不同用户在不同时间段内的请求是相互独立的,即一个用户请求在当前时间段内与另外一个用户的请求没有联系;
假设二:用户的服务请求种类为m种,这m种不同的用户请求由n个子服务排列组合构成,即用户的请求种类一共有m种,用户请求由来源于这n个子服务的若干个子服务构成,并且这若干个子服务之间存在逻辑依赖及执行顺序先后关系,例如用户请求A可以拆分为n1->n2->n3子服务,用户请求A先经过n1服务的计算,n1服务计算后的结果再作为n2服务的输入,经过n2服务计算得到的结果作为n3服务计算的输入,最后n3服务计算得到结果并将结果返回给用户;
假设三:用户请求的每个阶段过程中的报文的长度是大致相等的,即无论是用户在边缘端发起的请求、用户请求在子服务之间的转发计算、用户请求最终返回边缘端的计算结果,其报文的长度均被认为是大致相等的;
假设四:数据传输过程中单位长度数据报文的传输时延是固定相等的,假设用户移动设备与边缘服务器之间数据报文的单位传输速度是相等的、边缘服务器与云端中心之间数据报文的单位传输速度也是相等的,边缘服务器与边缘服务器之间传输时延等于零。
本发明中,在边缘动态服务部署中,优化目标主要是由两个方面组成,一个是用户请求的平均响应时间,另一个是服务器端能耗的大小;本发明针对不同时间段内不同的用户服务请求数量分布情况和种类分布情况动态地调整边缘服务器端服务资源的配比,达到在当前时间内用户请求的条件下最小的用户平均响应时间和最小的服务器能耗。
本发明中,由于边缘服务器的计算能力相较于云端大的计算中心而言计算能力要弱很多,为了充分地利用边缘服务器的计算资源,使得用户请求的平均响应时间和服务器能耗尽可能地降低,因此,根据每一时段用户的请求数量进行服务动态部署;移动边缘端用户的请求在每个时间段内的请求分布情况不同,针对不同时间段内不同的用户请求分布情况进行移动边缘计算服务的动态部署能满足用户请求较低的交互响应时间和边缘服务器端的能量消耗;评价一个移动边缘计算动态服务部署方案好坏的评价标准是用户请求平均响应时间和服务器能耗的大小,本发明中对移动边缘计算动态服务部署的该两个评价指标进行了形式化的定义和说明。
本发明中,对某一个时间段内用户服务请求平均响应时间的计算,采用如下计算公式计算,
Ti表示该时间段内单个用户服务请求的响应时间,n表示该时间段内用户请求的总数。
单个用户服务请求的响应时间是指在整个服务请求从用户发起请求到用户得到计算结果所消耗的时间,按照服务请求的处理过程可以将响应时间划分为三个部分:服务请求发起传输时间、服务请求计算时间、服务请求回传时间,本发明对单个用户服务请求的响应时间计算,采用如下公式计算:
T=Tin+Tprocess+Tout
Tin为服务请求发起传输时间,表示移动边缘端的用户请求由边缘端设备发送到指定边缘服务器端的传输时间,服务请求发起的过程为移动用户使用边缘端设备发送服务请求数据量大小为Din的请求R并通过网络传输到边缘服务器,传输网络的带宽为Vin;服务请求发起传输时间的计算表达式如下公式所示,
Tprocess为服务请求计算时间,表示移动边缘计算的用户请求在边缘服务器网络中根据用户请求种类拆分为有逻辑依赖关系的子服务并在边缘服务器之间转发运算的时间;服务请求计算的过程为边缘服务集群接收到数据量大小为Din的请求R,然后根据请求的种类将请求R拆分为有逻辑依赖关系的n个子服务,接着各个子服务根据当前各个边缘计算服务器上的服务配比情况在边缘服务器之间进行转发计算并得到最终结果;用户服务请求计算的时间由若干个子服务运算请求时间所构成,tprocess_i为第i个子服务在边缘服务器上运行所需要的时间,这里假设边缘服务器之间信息传输时延为零,服务请求计算时间的计算表达式如下公式所示,
Tout为服务请求回传时间,表示移动边缘计算的用户请求经过处理之后由最后一个子服务所在的边缘服务器回传到用户边缘设备的时间,服务请求回传的过程为边缘服务器计算处理之后数据量大小为Dout的计算结果通过带宽为Vout的网络回传给移动用户的边缘设备,服务请求回传时间的表达式如下公式所示,
基于CPU利用率的线性功耗模型是数据中心能耗研究中应用最广的服务器能耗模型,因此对于服务器能耗的计算,本发明采用基于CPU利用率的功率模型对边缘服务能耗进行计算,该模型可以精确追踪到服务器的功率使用情况,设u为服务器在当前时刻的CPU利用率,Pmax表示服务器CPU满利用率时的平均功率,Pidle表示服务器CPU空闲状态下的的平均功率,Tu表示服务器在CPU利用率等于u下运行的时间,E表示服务器能耗总量;边缘端上任意一台服务器的能耗公式可以用如下公式表示,
E=((Pmax-Pidle)*u+Pidle)*Tu。
本发明中,预测***有了输入参数后,进一步考虑如何在场景参数和服务部署问题之间建立其联系,同样需要对边缘计算环境下的服务组合部署模型进行建模,量化部署策略在算法中的表现形式;
针对上述问题,通过下述步骤解决:
对边缘服务部署预测***环境部署而言是指同时调整多个边缘服务器上的资源分配,可以用N*M的矩阵来表示,矩阵元素表示了N个边缘服务器对M个边缘服务进行服务部署调整服务资源的比例,Anm表示了第N个边缘服务器对M个服务调整了Anm的资源,即第N个边缘服务器在第M个服务上新增加或者减少了Anm的资源;
边缘计算服务部署状态描述了当前时间片段中深度强化学习算法迭代过程中移动边缘计算的一个服务部署状态,边缘计算状态是指某时刻N个边缘服务器上对M个服务资源分配的百分比,可以用N*M的矩阵来表示,矩阵元素表示了N个边缘服务器对M个边缘服务进行服务部署分配服务资源的比例,Snm表示第N个边缘服务器对M个服务分配了Snm的服务资源;
本发明的整个服务部署策略预测***,也是算法中的智能体需要根据当前服务部署状态环境对于当前时刻边缘计算服务部署调整动作的反馈奖励,边缘计算服务部署奖励是指边缘服务部署状态在某次算法迭代过程中选择某一服务部署动作进行调整时,智能体给出的奖励;进一步智能体根据当前动作进行调整后的移动边缘计算服务部署状态计算出当前时间段用户请求平均响应时间和服务器总能耗,对比上一次迭代过程中用户平均响应时间和服务器总能耗,智能体给对应的激励反馈;下面就四种不同情况的激励反馈结果进行说明:
1.如果Tt+1<Tt且Ent+1<Ent那么Reward=β*reward(β=2),即下一次用户平均响应时间小于当前用户平均响应时间且下一次服务器总能耗小于当前服务器总能耗,智能体给予2倍的正反馈。
2.Tt+1<Tt且Ent+1>Ent那么Reward=β*reward(β=1),即下一次用户平均响应时间小于当前用户平均响应时间且下一次服务器总能耗大于当前服务器总能耗,智能体给予1倍的正反馈。
3.Tt+1>Tt且Ent+1<Ent那么Reward=β*reward(β=0.5),即下一次用户平均响应时间大于当前用户平均响应时间且下一次服务器总能耗小于当前服务器总能耗,智能体给予0.5倍的正反馈。
4.Tt+1>Tt且Ent+1>Ent那么Reward=β*reward(β=-1),即下一次用户平均响应时间大于当前用户平均响应时间且下一次服务器总能耗大于当前服务器总能耗,智能体给予1倍的负反馈。
本发明中,在云雾混构场景下,由于要考虑到多项影响因素,以及面对越来越广的市场状况,这是一个问题空间比较大的复杂决策问题,针对边缘计算环境,本发明基于深度强化学习,设计了相关的智能决策体Agent***,***能够对下一阶段的服务组合在边缘端的部署策略进行预测;所述***中的核心是智能体模块,智能体模块中算法的设计流程主要基于以下几个步骤:
首先需要建立两个神经网络:估值网络Q=(s,a|θQ)和策略网络μ(s|θu),然后初始化在线估值网络和在线策略网络的参数,参数初始化为随机数θQ=RandomInit(Q),θμ=RandomInit(μ),然后将两个在线神经网络的参数复制给对应的目标神经网络参数θQ′=θQ,θμ′=θμ,得到完全相同的两个神经网络Q′,μ′用于软更新,最后设置记忆体缓冲区大小为m,并初始化记忆回放缓冲区
For epoch=1,循环最大训练次数do:
初始化深度强化学习环境的状态,加载每个时间段内用户服务请求的数量分布情况和种类分布情况,S1=Env.reset()
For t=1,循环最大步数do:
1.策略网络根据行为策略β得到边缘服务部署调整动作at,at=μ(st|θu)
2.在当前时刻动作上添加探索噪声得到新的边缘服务部署调整动作at,at=at+Norm(ExploreNoise)
3.与环境进行交互,根据用户请求平均响应时间和服务器能耗这两个指标得到状态与收益,st+1,rt+1=env.step(a)
4.将状态、动作、回报、下一个状态保存到记忆体R里面,R.store(st,at,rt,st+1)
5.从记忆体中采样n个样本,R(n)=R.sample(n)
6.使用估值网络对动作进行估值yi=ri+γQ′(si+1,μ′(si+1|θμ′)|θQ′)
8.根据梯度更新参数Q.update(LQ),μ.update(Lμ)
θQ′=τθQ+(1-τ)θQ′软更新目标估值网络的参数
θμ′=τθμ+(1-τ)θμ′软更新目标策略网络的参数
Save(μ′)输出目标动作网络
本发明的智能体模块通过如上设计的算法流程,能很好的对下一阶段各边缘服务器上的服务组合策略进行预测和建议。
本发明具有得优点有:
云雾混构场景下动态服务部署策略的***基于DDPG算法的用户服务请求部署算法能够有效的降低平均用户服务请求响应时间和边缘服务器能耗,该***通过神经网络对策略网络和价值网络进行训练,使得智能体可以根据当前时间段内的用户服务请求得到一个符合我们期望的较优的移动边缘计算服务部署策略。
附图说明
图1为移动边缘计算结构图。
图2为本发明实施例一种服务部署策略***的模块层级图。
图3为用户服务请求流程图。
图4为某服务请求处理任务流程的DAG图。
图5为实施例每小时服务请求数量分布情况图。
图6为实施例不同种类用户服务请求分布情况图。
图7为神经网络训练迭代过程中的Q_Loss值图。
图8为不同算法平均响应时间对比图。
图9为不同算法边缘服务器能耗对比图。
图10为本发明总体结构图。
具体实施方式
为使本发明要解决的技术问题和提出的技术解决方案更加清楚,突出本发明在解决云雾混合架构下边缘动态服务部署的优点,下面将结合附图及具体实施例进行详细描述。
在本发明云雾混构场景的动态服务部署***中,主要面对云雾混构场景下移动边缘计算场景,场景结构图如图1,***基于以下四个假设展开的。
假设一:不同用户在不同时间段内的请求是相互独立的,即一个用户请求在当前时间段内与另外一个用户的请求没有联系。
假设二:用户的服务请求种类为m种,这m种不同的用户请求由n个子服务排列组合构成,即用户的请求种类一共有m种,用户请求由来源于这n个子服务的若干个子服务构成,并且这若干个子服务之间存在逻辑依赖及执行顺序先后关系。例如用户请求A可以拆分为n1->n2->n3子服务,用户请求A先经过n1服务的计算,n1服务计算后的结果再作为n2服务的输入,经过n2服务计算得到的结果作为n3服务计算的输入,最后n3服务计算得到结果并将结果返回给用户。
假设三:用户请求的每个阶段过程中的报文的长度是大致相等的,即无论是用户在边缘端发起的请求、用户请求在子服务之间的转发计算、用户请求最终返回边缘端的计算结果,其报文的长度我们都认为是大致相等的。
假设四:数据传输过程中单位长度数据报文的传输时延是固定相等的。假设用户移动设备与边缘服务器之间数据报文的单位传输速度是相等的、边缘服务器与云端中心之间数据报文的单位传输速度也是相等的,边缘服务器与边缘服务器之间传输时延等于零。
在本发明云雾混构场景的动态服务部署***中,优化目标主要是由两个方面组成,一个是用户请求的平均响应时间,另一个是服务器端能耗的大小。本发明针对不同时间段内不同的用户服务请求数量分布情况和种类分布情况动态地调整边缘服务器端服务资源的配比,以达到在当前时间内用户请求的条件下最小的用户平均响应时间和最小的服务器能耗。
移动边缘端用户的请求在每个时间段内的请求分布情况是不同的,针对不同时间段内不同的用户请求分布情况进行移动边缘计算服务的动态部署能够满足用户请求较低的交互响应时间和边缘服务器端的能量消耗;评价一个移动边缘计算动态服务部署方案好坏的评价标准是用户请求平均响应时间和服务器能耗的大小,继而将会对移动边缘计算动态服务部署的这两个评价指标进行形式化的定义和说明。
对于某一个时间段内用户服务请求平均响应时间的计算,用户服务请求的流程图如图3所示,计算公式如公式1。
Ti表示该时间段内单个用户服务请求的响应时间,n表示该时间段内用户请求的总数。
单个用户服务请求的响应时间是指在整个服务请求从用户发起请求到用户得到计算结果所消耗的时间,按照服务请求的处理过程可以将响应时间划分为三个部分:服务请求发起传输时间、服务请求计算时间、服务请求回传时间;对于单个用户服务请求的响应时间计算,采用计算公式2计算:
T=Tin+Tprocess+Tout (2)
(1)Tin为服务请求发起传输时间,表示移动边缘端的用户请求由边缘端设备发送到指定边缘服务器端的传输时间,服务请求发起的过程为移动用户使用边缘端设备发送服务请求数据量大小为Din的请求R并通过网络传输到边缘服务器,传输网络的带宽为Vin,服务请求发起传输时间的计算表达式如公式3所示,
(2)Tprocess为服务请求计算时间,表示移动边缘计算的用户请求在边缘服务器网络中根据用户请求种类拆分为有逻辑依赖关系的子服务并在边缘服务器之间转发运算的时间,服务请求计算的过程为边缘服务集群接收到数据量大小为Din的请求R,然后根据请求的种类将请求R拆分为有逻辑依赖关系的n个子服务,继而各个子服务根据当前各个边缘计算服务器上的服务配比情况在边缘服务器之间进行转发计算并得到最终结果,用户服务请求计算的时间由若干个子服务运算请求时间所构成,tprocess_i为第i个子服务在边缘服务器上运行所需要的时间,假设边缘服务器之间信息传输时延为零,服务请求计算时间的计算表达式如公式4所示,
(3)Tout为服务请求回传时间,表示移动边缘计算的用户请求经过处理之后由最后一个子服务所在的边缘服务器回传到用户边缘设备的时间,服务请求回传的过程为边缘服务器计算处理之后数据量大小为Dout的计算结果通过带宽为Vout的网络回传给移动用户的边缘设备,服务请求回传时间的表达式如公式5所示,
基于CPU利用率的线性功耗模型是数据中心能耗研究中应用最广的服务器能耗模型,因此对于服务器能耗的计算,采用基于CPU利用率的功率模型对边缘服务能耗进行计算,该模型可以精确追踪到服务器的功率使用情况,设u为服务器在当前时刻的CPU利用率,Pmax表示服务器CPU满利用率时的平均功率,Pidle表示服务器CPU空闲状态下的的平均功率,Tu表示服务器在CPU利用率等于u下运行的时间,E表示服务器能耗总量,边缘端上任意一台服务器的能耗公式用公式6表示,
E=((Pmax-Pidle)*u+Pidle)*Tu (6)
根据用户服务请求的平均响应时间和服务器能耗计算公式作为优化的目标,云雾混构场景下动态服务部署策略***提供了一种边缘服务器上服务资源配比的方案,策略***主要由参数配置模块、服务请求模块、智能体模块、经验采样模块、演员actor神经网络模块、评论家critic神经网络模块构成,策略***的的架构图如图2所示;
所述的参数配置模块,由用户服务请求参数子模块、边缘服务器参数子模块、传输网络带宽参数子模块、DDPG算法超参数子模块构成,分别用于设置用户服务请求相关参数、边缘服务器相关参数、传输网络带宽参数、DDPG算法超参数;用户服务请求参数子模块包括用户可用的服务种类数、各服务组件计算需求的输入数据量、各服务组件的计算输出数据量、服务执行计算时所需的平均指令条数、服务组件执行计算任务时的其他资源需求量、各服务组件的最大响应时间阈值等参数;缘服务器参数子模块包括边缘服务器数量、边缘服务器资源容量、边缘服务器的CPU周期频率、云服务器的CPU周期频率、服务器执行每条指令所需的平均CPU周期数等参数;传输网络带宽参数子模块包括移动设备与边缘服务器之间的网络传输带宽、边缘服务器之间的网络传输带宽、边缘服务器与云服务器之间的网络传输带宽等参数;DDPG算法超参数子模块包括神经网络优化器种类、神经网络激活函数种类、演员actor网络中的学习率、评论家critic网络中的学习率、迭代次数、模型输出动作的噪声分布、回报衰减系数、软更新参数、记忆回放缓冲区容量、小批量训练数据数量等参数;
本发明的服务请求模块,用于预处理移动用户在每个时间内对边缘服务器发送的任务请求,并且得到用户服务请求在每个时间段内的种类和数量分布情况以及将用户服务请求拆分为子服务,存储子服务间逻辑依赖关系;用户的服务请求大多由若干个带有逻辑依赖的子作业所构成,可以用DAG有向无环图(Directed acyclic graph)来表示,每一个工作作业都可以由许多子工作作业构成,只有所有的子工作作业全部完成才可以将工作作业任务视为“已完成”,即如果子工作任务-2依赖于子工作任务-1,则子工作任务2的任何实例都必须在子工作任务-1完成之后进行处理;作业中的任务DAG可以从该用户请求种类的名字字段中推断出来,例如M1_2_4:意味着子工作任务-2取决于完成子工作任务-1,接着子工作任务4取决于完成子工作任务-2,该工作任务流程的DAG图如图4所示。
本发明的智能体模块,用于深度强化学***均请求时延和最小能耗的问题,智能体模块通过循环迭代深度强化学习,并且与经验采样模块、演员actor神经网络模块,评论家critic神经网络模块进行通信,对演员actor神经网络和评论家critic神经网络进行训练。
本发明的经验采样模块,用于根据采样策略,采集深度强化学习算法迭代过程中产生的(状态、动作、回报、下一步状态)四元组,经验采样模块通过批处理的方式将采样后的(状态、动作、回报、下一步状态)四元组作为深度强化学习神经网络的训练集,用来训练演员Actor神经网络和评论家critic神经网络使得神经网络收敛到期望值。
本发明的演员actor神经网络模块,用于学***均时延和边缘服务器的能耗,演员actor神经网络根据当前时段服务请求分布情况和上一轮迭代过程中的边缘服务器资源配比状态得到下一次迭代过程中边缘服务器资源配比的调整。
本发明的评论家critic神经网络模块,用于学习策略神经网络,评价当前服务请求分布情况下对应的服务部署方案的优劣,评论家critic神经网络模块根据当前时段服务请求分布情况、边缘服务器资源配比状态以及下一次迭代的边缘服务器资源调整动作进行评价,以便智能体模块判断神经网络训练效果并进行下一次迭代。
实施例1
为了实施发明方法的全过程并评估发明方法的性能,本发明的实验部分,将通过在仿真环境中基于真实的云雾混构场景下的用户服务请求进行实验研究,得到基于本发明方法的移动边缘计算动态服务部署算法的实验结果,为了验证本发明在该问题上部署结果方案的优劣,选择基于频率的服务部署算法和基于LSTM的服务部署方法作为对比实验,并进行对比得到实验结果。
在本实施例中,采用经过预处理的阿里巴巴开放式集群跟踪计算的一部分cluster-trace-v2018作为实验的用户服务请求数据。该数据集中的数据源自真实的生产集群环境,在集群中每台计算机上都存在联机服务(也称为长时间运行的应用程序,LRA)和批处理工作负载。数据文件Cluster-trace-v2018包括大约4000台机器,每天8天,由6个表组成(每个都是一个文件)。
由于cluster-trace-v2018实验数据集存储记录的是物理服务机器、运行在物理机器上容器、批处理任务实例和种类的相关数据,在本实验中只关注于用户的服务请求数据,因此需要对cluster-trace-v2018实验数据集进行一些数据预处理抽象并模拟出移动边缘端用户服务请求数据信息;通常移动边缘计算场景中用户服务请求需要包含这几个字段:时间、时间戳、用户IP地址、请求种类、接入边缘服务器地址、服务请求计算所需指令条数、该种请求服务依赖关系等;将数据集中batch_task表中每一个批处理任务抽象成为移动边缘端的一个服务请求,在batch_task表中task_name字段包含批处理任务的逻辑依赖关系、start_time字段包含批处理任务开始工作的时间、job_name字段包含批处理任务的名称;考虑到移动边缘端用户服务请求的场景,将task_name字段映射到服务请求表中的依赖关系字段、将start_time字段映射到服务请求表中的时间和时间戳字段、将job_name字段映射到服务请求表中的请求种类字段;对于服务请求表中移动用户IP地址字段的处理,现实中移动边缘端用户的IP地址可能来自于同一个地区的不同用户,本实施例为了更好地模拟真实环境,随机生成移动用户的IP地址以表示请求可能来自于任意的移动用户,对于服务请求表中接入边缘服务器IP地址字段的处理,现实中移动边缘端用户的服务请求都会被一个地区内某几个固定的边缘服务器所处理,接入边缘服务器的IP地址是由用户的IP地址和地理位置所确定的信息,本实施例设置N个边缘服务器IP地址,所有的用户请求都会接入到这N个边缘服务器的某一个,对于服务请求表中指令条数字段的处理,现实中用户请求所需要的执行指令条数取决于用户请求的种类,本实施例中根据用户请求的种类设置所需要的指令条数;
选取100000条经过预处理之后的cluster-trace-v2018的用户服务请求作为实验数据,根据用户服务请求在时间轴上的分布情况进行分析与统计2018-10-02至2018-10-08每小时服务请求数量分布情况如图6所示,根据用户服务请求在服务种类上的分布情况进行分析与统计2018-10-02至2018-10-08服务请求种类分布情况如图7所示。
本发明方法基于DDPG的移动边缘计算动态服务部署算法将2018-10-02至2018-10-07时间段的数据作为训练数据,通过算法迭代训练之后得到合适的神经网络参数,并以此参数的神经网络模型进行移动边缘计算动态服务部署的实施;接着将2018-10-08时间段的用户服务请求数据作为新的输入请求参数,算法模型则输出每个小时时间段中估值最高的移动边缘计算服务资源配比方案、对应的用户请求平均响应时间和对应的边缘服务器能耗,智能体模块在迭代25000次之后的估值网络的Q_Loss曲线如图8所示。
为了对比本发明中提出的基于DDPG算法的移动边缘计算动态服务实验效果,选取基于频率的服务请求部署算法和基于LSTM预测请求分布情况进行服务部署的算法作为基准算法并对比结果;
基于频率的服务请求部署算法是根据2018-10-02至2018-10-07时间段内的服务请求数据集进行统计,得到每个小时用户服务请求分布情况,根据用户服务请求的种类和该种类的子服务逻辑依赖关系进行数量统计,最终得到每个小时里各个子服务的请求数量的占比情况并以此为依据调整2018-10-08每个时间段内各个服务资源配比情况;
基于LSTM预测请求分布情况进行服务部署的算法将2018-10-02至2018-10-07时间段的数据作为训练数据,并预测2018-10-08时间段的用户服务请求分布情况,并根据预测出的子服务请求数量的占比情况调整当前时间段各个服务资源配比情况;
按照用户服务请求的平均响应时间进行排序,可以看出基于DDPG算法的用户服务请求平均响应时间最短,基于LSTM预测请求分布情况进行服务部署的算法次之,基于频率的服务请求部署算法的用户服务请求平均响应时间最长;本发明提出的基于DDPG算法的用户服务请求部署算法能够有效的降低平均用户服务请求响应时间和边缘服务器能耗,该通过神经网络对策略网络和价值网络进行训练,使得智能体可以根据当前时间段内的用户服务请求得到一个符合期望的较优的移动边缘计算服务部署策略。
本发明方法基于DDPG算法的移动边缘计算服务部署方案下用户请求平均响应时间最短,但该种服务部署方案下的边缘服务器能耗却明显比基于LSTM算法的服务部署方案和基于频率的服务部署方案大;不同算法边缘服务器能耗对比图也从侧面说明了基于DDPG算法的移动边缘计算服务部署方案不可能同时满足平均响应时间最短和边缘服务器能耗最小这两个要求;在深度强化学***均响应时间的权重设置为比边缘服务器能耗大,相应的基于DDPG算法的移动边缘计算服务部署方案也会更多的考虑用户请求平均响应时间这个指标,算法最小化用户请求平均响应时间最短的同时导致一部分边缘服务器上计算任务更加繁重,从而导致对应的能耗指标也相应的上升,服务部署方案的实验效果对比如图9、图10所示。
以上所述是本发明的优选实施方式,其描述较为具体和详细,但并不能因此理解为对发明专利范围的限制。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。因此,本发明专利的保护范围也应以所附权利要求为准。
Claims (7)
1.一种云雾混构环境下基于深度强化学习的服务组合优化部署方法,其特征在于,该方法为一种云计算和雾计算同时存在的架构场景下,在多个边缘计节点同时存在的情况下,对边缘节点上的特定服务应用进行部署方案的预测选择,同时对服务应用需要的资源进行调整和分配的方法,其中,采用***中的资源决策体Agent完成预测的初始服务部署方案和服务的资源分配调整策略,智能决策体Agent中的核心预测算法基于深度强化学习DDPG(Deep Deterministic Policy Gradient)实现。
2.按权利要求1所述的方法,其特征在于,所述的方法中,由基于深度强化学习的应用优化部署***主要集中于实现在雾计算场景的边缘节点所在的边缘服务器中,自动,优化部署服务应用,服务组合优化部署方案的实现针对的服务用户主要是云服务提供商,在满足用户服务部署需求和服务质量要求的同时,高效利用仅有的边缘服务器资源,减少个边缘节点中的服务器能耗,从宏观上减少服务提供商的资金投入,同时保证达到可以接受的应用性能表现,具体的实现过程如下:
(1)提出基于深度强化学***均使用率和状态,所述的中间代理架构将各边缘服务器上收集到的输入数据进行整合、清洗和处理,形成输入数据集合,随后将数据集合作为智能决策体Agent的输入数据,智能决策体计算出下一时间段各服务应用的部署策略和资源分配量,随后各边缘服务器上的服务按照策略和资源分配量对服务部署进行调整和资源分配;
(2)提出针对所述***的动态服务部署的数学模型,
建立动态服务部署的数学模型,使深度强化学习应用于云雾混构场景下的动态服务部署,其中算法的输入数据采集来源于云服务提供商所运维边缘服务器上的时事采集数据,确保***能够较好的应用到到真实环境中;建立的动态服务部署的数学模型将实体场景中的各种影响因素进行量化,定义并处理数据的格式,解决场景中算法参数的度量和定义问题;
(3)提出边缘计算环境下的服务组合部署模型,
基于海量用户的需求使服务应用组合爆发式增多,将部分服务组合部署到离用户近的边缘节点上,建立边缘计算环境下的服务组合部求模型,支持服务组合在边缘节点的部署请求。
3.按权利要求1所述的方法,其特征在于,所述方法的整个***运行流程中,包括,
进行动态服务部署:各边缘节点由少量服务器组成,所述少量服务器组成了一个边缘节点;在服务组合生命周期的初始节点,根据用户请求对各服务组合在各边缘节点上进行初始部署,随着用户位置变动,时间和环境因素情况变化,根据上一时间段的服务运行状态和请求情况,对下一时间段的整个服务组合部署策略进行调整,服务分配的资源用量进行调整,解决资源利用率低的问题,提高服务质量,
在各边缘节点层之上设计中间代理***,即是基于深度强化学习DDPG开发的边缘节点服务部署预测***,也即智能决策体Agent:各边缘节点之上运行着数据采集功能模块,模块定时发送上一时间段边缘节点上各个服务组件的请求情况和资源使用情况给智能决策体Agent,服务提供商根据时间段为智能决策体设定不同的参数,Agent综合设定的参数和收集到的数据,对数据进行处理,产生输入数据,随后将输入数据输入算法模块进行计算,得到下一时间段推荐的服务部署策略,随后将服务部署策略应用到各边缘节点的服务部署中;
解决服务提供商关心的,众多服务组件合理的部署到各边缘节点,在服务器的能耗和服务质量之间寻求动态平衡问题。
4.按权利要求2或3所述的方法,其特征在于,所述方法中,适用于智能决策体Agent的输入数据的数据量化和采集工作,由基于深度强化学习DDPG(Deep Deterministic PolicyGradient)的边缘节点服务部署预测***的采集程序完成;
所述的动态服务部署问题,需要将现实中复杂多变的云雾混构场景抽象转换为易于描述的、接近真实环境的数学模型,其中基于以下四个假设,获得问题预定义条件:
假设一:不同用户在不同时间段内的请求是相互独立的,即一个用户请求在当前时间段内与另外一个用户的请求没有联系;
假设二:用户的服务请求种类为m种,这m种不同的用户请求由n个子服务排列组合构成,即用户的请求种类一共有m种,用户请求由来源于这n个子服务的若干个子服务构成,并且这若干个子服务之间存在逻辑依赖及执行顺序先后关系;例如用户请求A可以拆分为n1->n2->n3子服务,用户请求A先经过n1服务的计算,n1服务计算后的结果再作为n2服务的输入,经过n2服务计算得到的结果作为n3服务计算的输入,最后n3服务计算得到结果并将结果返回给用户;
假设三:用户请求的每个阶段过程中的报文的长度是大致相等的,即无论是用户在边缘端发起的请求、用户请求在子服务之间的转发计算、用户请求最终返回边缘端的计算结果,其报文的长度均认为是大致相等的;
假设四:数据传输过程中单位长度数据报文的传输时延是固定相等的,假设用户移动设备与边缘服务器之间数据报文的单位传输速度是相等的、边缘服务器与云端中心之间数据报文的单位传输速度也是相等的,边缘服务器与边缘服务器之间传输时延等于零。
5.按权利要求2或3所述的方法,其特征在于,所述方法中,
所述的在边缘动态服务部署问题中,优化目标主要由两个方面组成,其中,一个是用户请求的平均响应时间,另一个是服务器端能耗的大小;针对不同时间段内不同的用户服务请求数量分布情况和种类分布情况动态地调整边缘服务器端服务资源的配比,达到在当前时间内用户请求的条件下最小的用户平均响应时间和最小的服务器能耗;
设定评价移动边缘计算动态服务部署方案的评价标准:包括,用户请求平均响应时间和服务器能耗的大小评价指标,所述评价指标的形式化的定义和说明如下:
对于某一个时间段内用户服务请求平均响应时间的计算,采用如下计算公式计算,
Ti表示该时间段内单个用户服务请求的响应时间,n表示该时间段内用户请求的总数,
单个用户服务请求的响应时间是指在整个服务请求从用户发起请求到用户得到计算结果所消耗的时间,按照服务请求的处理过程将响应时间划分为三个部分:服务请求发起传输时间、服务请求计算时间、服务请求回传时间,对于单个用户服务请求的响应时间计算,采用如下公式计算:
T=Tin+Tprocess+Tout
Tin为服务请求发起传输时间,表示移动边缘端的用户请求由边缘端设备发送到指定边缘服务器端的传输时间,服务请求发起的过程为移动用户使用边缘端设备发送服务请求数据量大小为Din的请求R并通过网络传输到边缘服务器,传输网络的带宽为Vin,服务请求发起传输时间的计算表达式如下公式所示,
Tprocess为服务请求计算时间,表示移动边缘计算的用户请求在边缘服务器网络中根据用户请求种类拆分为有逻辑依赖关系的子服务并在边缘服务器之间转发运算的时间,服务请求计算的过程为边缘服务集群接收到数据量大小为Din的请求R,然后根据请求的种类将请求R拆分为有逻辑依赖关系的n个子服务,接着各个子服务根据当前各个边缘计算服务器上的服务配比情况在边缘服务器之间进行转发计算并得到最终结果,用户服务请求计算的时间由若干个子服务运算请求时间所构成,tprocess_i为第i个子服务在边缘服务器上运行所需要的时间,假设边缘服务器之间信息传输时延为零,服务请求计算时间的计算表达式如下公式所示,
Tout为服务请求回传时间,表示移动边缘计算的用户请求经过处理之后由最后一个子服务所在的边缘服务器回传到用户边缘设备的时间,服务请求回传的过程为边缘服务器计算处理之后数据量大小为Dout的计算结果通过带宽为Vout的网络回传给移动用户的边缘设备,服务请求回传时间的表达式如下公式所示,
基于CPU利用率的线性功耗模型是数据中心能耗研究中应用最广的服务器能耗模型,对于服务器能耗的计算,采用基于CPU利用率的功率模型对边缘服务能耗进行计算,该模型可以精确追踪到服务器的功率使用情况,设u为服务器在当前时刻的CPU利用率,Pmax表示服务器CPU满利用率时的平均功率,Pidle表示服务器CPU空闲状态下的的平均功率,Tu表示服务器在CPU利用率等于u下运行的时间,E表示服务器能耗总量,边缘端上任意一台服务器的能耗公式用如下公式表示,
E=((Pmax-Pidle)*u+Pidle)*Tu。
6.按权利要求2或3所述的方法,其特征在于,所述方法中,在场景参数和服务部署问题之间建立其联系,对边缘计算环境下的服务组合部署模型进行建模,以及量化部署策略在算法中的表现形式,按以下步骤:
对边缘服务部署预测***环境部署是指同时调整多个边缘服务器上的资源分配,用N*M的矩阵表示,其中矩阵元素表示N个边缘服务器对M个边缘服务进行服务部署调整服务资源的比例,Anm表示第N个边缘服务器对M个服务调整了Anm的资源,即第N个边缘服务器在第M个服务上新增加或者减少了Anm的资源;
边缘计算服务部署状态描述了当前时间片段中深度强化学习算法迭代过程中移动边缘计算的一个服务部署状态,边缘计算状态是指某时刻N个边缘服务器上对M个服务资源分配的百分比,用N*M的矩阵表示,其中,矩阵元素表示了N个边缘服务器对M个边缘服务进行服务部署分配服务资源的比例,Snm表示第N个边缘服务器对M个服务分配了Snm的服务资源;
所述的整个服务部署策略预测***是算法中的智能体需要根据当前服务部署状态环境对于当前时刻边缘计算服务部署调整动作的反馈奖励,边缘计算服务部署奖励是指边缘服务部署状态在某次算法迭代过程中选择某一服务部署动作进行调整时,智能体给出的奖励,智能体根据当前动作进行调整后的移动边缘计算服务部署状态计算出当前时间段用户请求平均响应时间和服务器总能耗,对比上一次迭代过程中用户平均响应时间和服务器总能耗,智能体给对应的激励反馈;
所述的激励反馈结果如下述四种不同情况:
(1)如果Tt+1<Tt且Ent+1<Ent那么Reward=β*reward(β=2),即下一次用户平均响应时间小于当前用户平均响应时间且下一次服务器总能耗小于当前服务器总能耗,智能体给予2倍的正反馈;
(2)Tt+1<Tt且Ent+1>Ent那么Reward=β*reward(β=1),即下一次用户平均响应时间小于当前用户平均响应时间且下一次服务器总能耗大于当前服务器总能耗,智能体给予1倍的正反馈;
(3)Tt+1>Tt且Ent+1<Ent那么Reward=β*reward(β=0.5),即下一次用户平均响应时间大于当前用户平均响应时间且下一次服务器总能耗小于当前服务器总能耗,智能体给予0.5倍的正反馈;
(4)Tt+1>Tt且Ent+1>Ent那么Reward=β*reward(β=-1),即下一次用户平均响应时间大于当前用户平均响应时间且下一次服务器总能耗大于当前服务器总能耗,智能体给予1倍的负反馈。
7.按权利要求1所述的方法,其特征在于,所述方法中,设计了相关的智能决策体Agent***,该***能对下一阶段的服务组合在边缘端的部署策略进行预测,***中的核心是智能体模块,智能体模块中算法的设计流程主要基于以下步骤:
首先需要建立两个神经网络:估值网络Q=(s,a|θQ)和策略网络μ(s|θu),然后初始化在线估值网络和在线策略网络的参数,参数初始化为随机数θQ=RandomInit(Q),θμ=RandomInit(μ),然后将两个在线神经网络的参数复制给对应的目标神经网络参数θQ′=θQ,θμ′=θμ,得到完全相同的两个神经网络Q′,μ′用于软更新,最后设置记忆体缓冲区大小为m,并初始化记忆回放缓冲区
For epoch=1,循环最大训练次数do:
初始化深度强化学习环境的状态,加载每个时间段内用户服务请求的数量分布情况和种类分布情况,S1=Env.reset()
For t=1,循环最大步数do:
(1)策略网络根据行为策略β得到边缘服务部署调整动作at,at=μ(st|θu)
(2)在当前时刻动作上添加探索噪声得到新的边缘服务部署调整动作at,at=at+Norm(ExploreNoise)
(3)与环境进行交互,根据用户请求平均响应时间和服务器能耗这两个指标得到状态与收益,st+1,rt+1=env.step(a)
(4)将状态、动作、回报、下一个状态保存到记忆体R里面,R.store(st,at,rt,st+1)
(5)从记忆体中采样n个样本,R(n)=R.sample(n)
(6)使用估值网络对动作进行估值yi=ri+γQ′(si+1,μ′(si+1|θμ′)|θQ′)
(7)更新估值网络与策略网络的参数并计算估值与记忆的差别
(8)根据梯度更新参数Q.update(LQ),μ.update(Lμ)
θQ′=τθQ+(1-τ)θQ′软更新目标估值网络的参数
θμ′=τθμ+(1-τ)θμ′软更新目标策略网络的参数
Save(μ′)输出目标动作网络
智能体模块通过如上设计的算法流程,能对下一阶段各边缘服务器上的服务组合策略进行预测和建议。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010562269.4A CN113822456A (zh) | 2020-06-18 | 2020-06-18 | 一种云雾混构环境下基于深度强化学习的服务组合优化部署方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010562269.4A CN113822456A (zh) | 2020-06-18 | 2020-06-18 | 一种云雾混构环境下基于深度强化学习的服务组合优化部署方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113822456A true CN113822456A (zh) | 2021-12-21 |
Family
ID=78924414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010562269.4A Pending CN113822456A (zh) | 2020-06-18 | 2020-06-18 | 一种云雾混构环境下基于深度强化学习的服务组合优化部署方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113822456A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174681A (zh) * | 2022-06-14 | 2022-10-11 | 武汉大学 | 一种边缘计算服务请求调度方法、设备及存储介质 |
CN115348265A (zh) * | 2022-08-15 | 2022-11-15 | 中南大学 | 一种基于服务特征值计算的节点动态服务部署策略 |
CN117255126A (zh) * | 2023-08-16 | 2023-12-19 | 广东工业大学 | 基于多目标强化学习的数据密集任务边缘服务组合方法 |
CN117499491A (zh) * | 2023-12-27 | 2024-02-02 | 杭州海康威视数字技术股份有限公司 | 基于双智能体深度强化学习的物联网服务编排方法及装置 |
CN117499313A (zh) * | 2024-01-02 | 2024-02-02 | 中移(苏州)软件技术有限公司 | 请求控制方法、装置、存储介质、电子设备 |
CN117573376A (zh) * | 2024-01-16 | 2024-02-20 | 杭州天舰信息技术股份有限公司 | 一种数据中心资源调度监控管理方法与*** |
-
2020
- 2020-06-18 CN CN202010562269.4A patent/CN113822456A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174681A (zh) * | 2022-06-14 | 2022-10-11 | 武汉大学 | 一种边缘计算服务请求调度方法、设备及存储介质 |
CN115174681B (zh) * | 2022-06-14 | 2023-12-15 | 武汉大学 | 一种边缘计算服务请求调度方法、设备及存储介质 |
CN115348265A (zh) * | 2022-08-15 | 2022-11-15 | 中南大学 | 一种基于服务特征值计算的节点动态服务部署策略 |
CN115348265B (zh) * | 2022-08-15 | 2024-04-19 | 中南大学 | 一种基于服务特征值计算的节点动态服务部署策略 |
CN117255126A (zh) * | 2023-08-16 | 2023-12-19 | 广东工业大学 | 基于多目标强化学习的数据密集任务边缘服务组合方法 |
CN117499491A (zh) * | 2023-12-27 | 2024-02-02 | 杭州海康威视数字技术股份有限公司 | 基于双智能体深度强化学习的物联网服务编排方法及装置 |
CN117499491B (zh) * | 2023-12-27 | 2024-03-26 | 杭州海康威视数字技术股份有限公司 | 基于双智能体深度强化学习的物联网服务编排方法及装置 |
CN117499313A (zh) * | 2024-01-02 | 2024-02-02 | 中移(苏州)软件技术有限公司 | 请求控制方法、装置、存储介质、电子设备 |
CN117499313B (zh) * | 2024-01-02 | 2024-05-03 | 中移(苏州)软件技术有限公司 | 请求控制方法、装置、存储介质、电子设备 |
CN117573376A (zh) * | 2024-01-16 | 2024-02-20 | 杭州天舰信息技术股份有限公司 | 一种数据中心资源调度监控管理方法与*** |
CN117573376B (zh) * | 2024-01-16 | 2024-04-05 | 杭州天舰信息技术股份有限公司 | 一种数据中心资源调度监控管理方法与*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113822456A (zh) | 一种云雾混构环境下基于深度强化学习的服务组合优化部署方法 | |
Chen et al. | Deploying data-intensive applications with multiple services components on edge | |
CN110737529B (zh) | 一种面向短时多变大数据作业集群调度自适应性配置方法 | |
Garí et al. | Reinforcement learning-based application autoscaling in the cloud: A survey | |
Peng et al. | A multi-objective trade-off framework for cloud resource scheduling based on the deep Q-network algorithm | |
CN108804227B (zh) | 基于移动云计算的计算密集型任务卸载和最佳资源配置的方法 | |
Asghari et al. | Online scheduling of dependent tasks of cloud’s workflows to enhance resource utilization and reduce the makespan using multiple reinforcement learning-based agents | |
CN108092804B (zh) | 基于Q-learning的电力通信网效用最大化资源分配策略生成方法 | |
Mostafavi et al. | A stochastic approximation approach for foresighted task scheduling in cloud computing | |
CN107566535B (zh) | 基于Web地图服务并发访问时序规则的自适应负载均衡方法 | |
CN116069512B (zh) | 一种基于强化学习的Serverless高效资源分配方法及*** | |
Tong et al. | DDQN-TS: A novel bi-objective intelligent scheduling algorithm in the cloud environment | |
Li et al. | An efficient scheduling optimization strategy for improving consistency maintenance in edge cloud environment | |
Mostafa | Cooperative fog communications using a multi-level load balancing | |
Geetha et al. | RETRACTED ARTICLE: An advanced artificial intelligence technique for resource allocation by investigating and scheduling parallel-distributed request/response handling | |
Li et al. | DQN-enabled content caching and quantum ant colony-based computation offloading in MEC | |
Soula et al. | Intelligent tasks allocation at the edge based on machine learning and bio-inspired algorithms | |
Zhu et al. | A priority-aware scheduling framework for heterogeneous workloads in container-based cloud | |
Wang | Edge artificial intelligence-based affinity task offloading under resource adjustment in a 5G network | |
Li et al. | A multi-objective task offloading based on BBO algorithm under deadline constrain in mobile edge computing | |
Yang et al. | Design of kubernetes scheduling strategy based on LSTM and grey model | |
Senthil Kumar et al. | A novel resource management framework in a cloud computing environment using hybrid cat swarm BAT (HCSBAT) algorithm | |
Zhang et al. | Intelligent resources management system design in information centric networking | |
Chunlin et al. | Multi-queue scheduling of heterogeneous jobs in hybrid geo-distributed cloud environment | |
CN115086249A (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 |