CN110990130B - 一种可再生自适应计算卸载分层服务质量优化方法 - Google Patents
一种可再生自适应计算卸载分层服务质量优化方法 Download PDFInfo
- Publication number
- CN110990130B CN110990130B CN201911031315.1A CN201911031315A CN110990130B CN 110990130 B CN110990130 B CN 110990130B CN 201911031315 A CN201911031315 A CN 201911031315A CN 110990130 B CN110990130 B CN 110990130B
- Authority
- CN
- China
- Prior art keywords
- application
- qos
- energy
- terminal device
- following
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000005457 optimization Methods 0.000 title claims abstract description 27
- 238000004364 calculation method Methods 0.000 title claims description 21
- 230000003044 adaptive effect Effects 0.000 title claims description 8
- 238000009826 distribution Methods 0.000 claims abstract description 14
- 238000002663 nebulization Methods 0.000 claims description 33
- 238000005265 energy consumption Methods 0.000 claims description 26
- 230000006870 function Effects 0.000 claims description 18
- 230000009977 dual effect Effects 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000003306 harvesting Methods 0.000 claims description 7
- 230000006872 improvement Effects 0.000 claims description 7
- 230000001960 triggered effect Effects 0.000 claims description 7
- 230000002708 enhancing effect Effects 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 6
- 230000003068 static effect Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 238000004146 energy storage Methods 0.000 claims description 4
- 238000007689 inspection Methods 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 239000003595 mist Substances 0.000 claims description 2
- 238000010276 construction Methods 0.000 abstract description 5
- 238000004422 calculation algorithm Methods 0.000 description 42
- 239000002131 composite material Substances 0.000 description 12
- 238000011156 evaluation Methods 0.000 description 6
- 238000004088 simulation Methods 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- WHXSMMKQMYFTQS-UHFFFAOYSA-N Lithium Chemical compound [Li] WHXSMMKQMYFTQS-UHFFFAOYSA-N 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 229910052744 lithium Inorganic materials 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000012387 aerosolization Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012360 testing method 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/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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44594—Unloading
-
- 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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- 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/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
- G06F9/548—Object oriented; Remote method invocation [RMI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/549—Remote execution
-
- 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
-
- 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
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Feedback Control In General (AREA)
- Supply And Distribution Of Alternating Current (AREA)
Abstract
本发明公开了一种可再生自适应计算卸载分层服务质量优化方法,其特点是采用分层QoS优化方法,设计一个对于给定目标系统和一组实时应用程序,在终端设备层通过连续进行应用级和组件级的能量分配产生本地调度,并在雾层通过可再生自适应计算卸载导出最优的本地‑远程调度解决方案,具体包括应用程序模型、QoS模型和能量模型的构建。本发明与现有技术相比具有整体和单个应用程序的QoS分别提高了135.88%和48.49%,优化整个系统的QoS,利用释放的能量来增强到最优的本地执行的这些应用的QoS,方法简便,效率高。
Description
技术领域
本发明涉及云服务器技术领域,尤其是一种用于雾计算中可再生自适应计算卸载分层服务质量优化方法。
背景技术
随着新兴移动应用的普及,越来越多的物理设备将连接到互联网,由于高延迟的主要缺点,使用“云服务器-终端设备”的传统架构范例来对来自众多终端设备的传输数据进行分析和决策往往是无效的甚至是不可行的。从而提出将计算从云服务器推送到网络边缘的雾计算作为实现物联网的替代解决方案。雾计算是用于实现物联网的新兴架构范例,其中计算从云服务器移动到网络边缘。
现有技术的雾计算系统设计集中于减少应用程序处理延迟,忽略了应用程序的实时要求和终端设备的可重用性,显著降低应用程序的功能和服务质量(QoS)。
发明内容
本发明的目的是针对现有技术的不足而设计的一种可再生自适应计算卸载分层服务质量优化方法,采用分层QoS优化方法,设计一个对于给定目标系统和一组实时应用程序,在终端设备层通过连续进行应用级和组件级的能量分配产生本地调度,并在雾层通过可再生自适应计算卸载导出最优的本地-远程调度解决方案,不仅优化了在雾计算系统中执行近似计算的实时应用程序的QoS,其中包含混合供应的收获和网络能量,利用雾层判断是否触发应用程序的计算卸载,将能量分配增强到最佳的本地-远程,尤其考虑了终端设备的可重用性,整体和单个应用程序的QoS分别提高了135.88%和48.49%,方法简单,使用方便,效率高。
本发明的目的是这样实现的:一种可再生自适应计算卸载分层服务质量优化方法,其特点是采用分层QoS优化方法,设计一个对于给定目标系统和一组实时应用程序,在终端设备层通过连续进行应用级和组件级的能量分配产生本地调度,并在雾层通过可再生自适应计算卸载导出最优的本地-远程调度解决方案,其具体优化包括以下步骤:
步骤1:构建应用程序模型、QoS模型和能量模型的雾计算系统架构。
步骤2:在终端设备层的第一阶段,使用基于博弈论的应用级能量分配,将终端设备的能量供应分配给本地执行的应用程序。
步骤3:使用基于MILP的组件级能量分配,将步骤2应用程序生成的能量供应分配给传感器、MPSoC和收发器,并在截止日期限制下最大化应用程序在本地执行的QoS。
步骤4:在雾层的第二阶段,判断是否需要触发应用程序的计算卸载,将生成的本地调度解决方案增强到最优的本地-远程调度解决方案,如果应用程序的远程执行增益高于其本地执行增益,则应用程序将其在第一阶段中收集的输入数据从本地终端设备转发到远程雾化服务器并且询问雾服务器而不是终端设备执行其所有任务,除了用于维持计算卸载的必要能量之外,应用程序将释放终端设备在第一阶段分配的所有能量,然后利用释放的能量来增强仍然选择在终端设备上本地执行的这些应用的QoS。
步骤5:分配结束。
所述步骤1中的应用程序模型按下述步骤构建:
步骤A1:设有N个用户U={U1,U2,…,UN},A={A1,A2,…,AN}表示由N和用户提交的应用集,其中与用户Ui相关联的应用Ai(1≤i≤N)具有期限Di,应用集A是基于帧的,并且帧大小也称为调度范围由给出,应用程序Ai由ξi个独立任务组成所有任务共享具有总量Ii的输入数据。
步骤A2:任务τi,m(1≤m≤ξi)在逻辑上分为强制部分和可选部分,强制部分包含常量执行周期Mi,m必须完全完成产生基本可接受的结果,可选部分包含最大执行周期Oi,m,可以不完全完成以增加基本结果。
步骤A3:引入变量αi,m∈[0,1],其表示执行的可选循环与任务τi,m的总可选比率,所述任务τi,m实际执行长度按下述a式计算:
li,m=Mi,m+αi,m×Oi,m a。
所述步骤1中的QoS模型按下述步骤构建:
步骤B1:在应用程序Ai在终端设备上本地执行的情况下,其QoS被表示为成功发送的输出数据的总量,由本地执行应用程序Ai生成的输出数据总量由下述b式表示为:
所述QoS由下述c式表示为:
其中:βi表示成功发送的输出数据量与生成的输出数据总量的比率。
步骤B2:在雾化服务器S上远程执行应用程序Ai的情况下,其QoS表示为应用程序中所有任务的输出数据总量,应用程序Ai的QoS由下述d式表示为:
步骤B3:应用程序Ai的QoS由下述e式表示为:
其中:δi∈{0,1}是二元决策变量。
步骤B4:当应用程序Ai决定将其计算转移到雾化服务器时,δi被设置为0;否则,将δi设置为1,因此,在调度范围[t,t+H]期间实现的系统QoS由下述f式计算为N个应用所获得QoS的总和Q:
所述步骤1中的能量模型按下述步骤构建:
步骤C1:由下述g式计算调度范围[t,t+H]期间可再生能源的收获能力Pharv(t):
G处理器能耗由下述j式计算:
其中:Pg和Cg分别为G处理器的静态功耗和有效开关电容,两者是G处理器体系结构相关常数;Γi,g是任务集Γi的子集,且由分配给G处理器的这些任务组成,因此,在每个调度范围期间终端设备的整体能量消耗由下述k式计算:
所述步骤2具体包括下述步骤:
步骤D1:由元组{A,E,F}表述N个玩家合作游戏,其中:A={A1,A2,…AN}是玩家组。
步骤D7:根据Karush-Kuhn-Tucker条件有:
所述步骤3包括以下变量的定义:
并且满足如下约束条件:
将Ai,m,g∈{0,1}的整数约束放宽到Ai,m,g∈[0,1],以此减少时间开销,为避免违反的约束,将Ai,m,g与给定阈值Athr进行比较,如果Ai,m,g≥Athr成立,则Ai,m,g=1;否则Ai,m,g=0。
所述步骤4具体包括下述步骤:
步骤E2:在雾层的QoS优化的第二阶段,利用计算卸载的概念来重新定义并提高每个应用程序可能实现的QoS。
步骤E3:基于计算卸载指南,如果应用程序的远程执行增益高于其本地执行增益,则应用程序将触发计算卸载,即在保持应用程序Ai的能量和期限在约束范围内时,当时,应用程序Ai将其在第一阶段收集的输入数据从本地终端设备转发到远程雾化服务器上询问雾化服务器,而不是终端设备去执行其所有任务,并由下述r式进行更新终端设备L处理应用程序Ai所消耗的能量的计算:
步骤E4:将应用程序Ai释放的能量重新分配给那些不能满足并因此选择在终端设备L上执行的本地执行的应用程序是有利的,其结果不仅提高了应用程序Ai的QoS,还可以重新定义其他应用程序的QoS,从而增强整个系统的QoS。
步骤E5:将计算卸载标记δi初始化为1,并将QoS Qi设置为每个应用程序Ai的本地执行QoS在终端设备L的能量供应足够的情况下,即标记E=1,则不需要执行计算卸载,因此直接返回每个应用在本地实现的QoS;相反,在终端设备L的能量供应不足的情况下,即标记E=0,可能触发计算卸载,此时,初始化终端设备L的总能耗用于处理远程执行的应用程序;如果应用程序Ai选择在雾化服务器上远程执行,则计算时间开销检查应用程序Ai的所有可选执行周期是否完成,如果答案为否,则将标记λi置为1,然后计算能量消耗假设应用程序Ai在雾化服务器上执行,检查是否同时满足下述条件:
如果条件为真,则存在松弛时间使雾化服务器提高应用程序Ai的QoS;如果条件为真,则存在足够的能量将输入数据从终端设备转发到雾化服务器;如果条件λi=1为真,则存在应用程序Ai的未完成的可选的执行循环;如果三个条件都为真,则条件成立,此时触发应用程序Ai的计算卸载,即将计算卸载标记δi更新为0,并导出可用于QoS增强的松弛时间
步骤E6:使用迭代更新任务的可选执行因子和应用QoS Qi,当应用程序Ai的松弛时间耗尽时,更新能量消耗并且进行下一个应用程序的QoS的改善,对于仍然选择在终端设备上本地执行的这些应用,在某些应用的计算卸载到雾化服务器之后导出它们的可用能量供应并重新确定能量到应用和能量组件的分配,以增强本地执行QoS;最后,最优本地远程调度解决方案是更新每个应用程序中所有任务的可选执行因子,卸载标记集(δ1,δ2,…,δN),应用QoS集(Q1,Q2,…,QN)。
本发明与现有技术相比具有不仅优化了整个系统的QoS,还通过使用博弈论和混合整数线性规划(MILP)技术,在终端设备层的应用级和组件级设计出本地最优能量分配方案,而且在雾层,通过明智地判断是否需要触发应用程序的计算卸载,将终端设备层的能量分配方法增强到最优的本地-远程调度解决方案。
附图说明
图1为运行10个合成工作负载时,应用级能量分配算法实现的系统QoS;
图2为运行10个合成工作负载的应用程序级分配算法实现的应用程序QoS标准偏差;
图3为运行10个合成应用程序时,组件级能量分配算法实现的应用程序QoS;
图4为运行10个合成工作负载时,通过不同的算法有/无计算浮动实现系统QoS;
图5为运行10个合成工作负载时,使用/不使用计算卸载的不同算法实现的应用程序QoS的标准偏差;
图6为运行10个真实工作负载时,通过应用级能量分配算法实现的系统QoS;
图7为运行10个实际工作负载的应用程序级分配算法实现的应用程序QoS标准偏差;
图8为运行10个实际应用程序时,通过组件级能量分配算法实现的应用程序QoS;
图9为运行10个真实工作负载时,通过不同的算法有/无计算浮动实现系统QoS;
图10为运行10个实际工作负载时,使用/不使用计算卸载的不同算法实现的应用QoS标准偏差。
具体实施方式
本发明包括应用程序模型、QoS模型和能量模型的构建,采用分层QoS优化方法,设计一个对于给定目标系统和一组实时应用程序,考虑效率和公平性的应用程序调度方案,并满足相应的条件约束。该方法包括两个阶段:终端设备层的QoS优化和雾层的QoS优化,在终端设备层的第一阶段,通过使用开发的应用级和组件级能量分配方案生成最佳的本地应用调度解决方案;在雾层的第二阶段,通过智能地判断是否需要触发应用程序的计算卸载,将生成的本地调度解决方案增强到最优的本地-远程应用程序调度解决方案。如果应用程序的远程执行增益高于其本地执行增益,则应用程序将其在第一阶段中收集的输入数据从本地终端设备转发到远程雾化服务器并且询问雾服务器而不是终端设备执行其所有任务。同时,除了用于维持飞行计算的必要能量之外,应用程序将释放终端设备在第一阶段分配的所有能量,然后利用释放的能量来增强仍然选择在终端设备上本地执行的这些应用的QoS,其具体优化包括以下步骤:
步骤1:构建应用程序模型、QoS模型和能量模型的雾计算系统架构;
步骤2:在终端设备层的第一阶段,使用基于博弈论的应用级能量分配,将终端设备的能量供应分配给本地执行的应用程序;
步骤3:使用基于MILP的组件级能量分配,将步骤2应用程序生成的能量供应分配给传感器、MPSoC和收发器,并在截止日期限制下最大化应用程序在本地执行的QoS;
步骤4:在雾层的第二阶段,判断是否需要触发应用程序的计算卸载,将生成的本地调度解决方案增强到最优的本地-远程调度解决方案,如果应用程序的远程执行增益高于其本地执行增益,则应用程序将其在第一阶段中收集的输入数据从本地终端设备转发到远程雾化服务器并且询问雾服务器而不是终端设备执行其所有任务,除了用于维持计算卸载的必要能量之外,应用程序将释放终端设备在第一阶段分配的所有能量,然后利用释放的能量来增强仍然选择在终端设备上本地执行的这些应用的QoS;
步骤5:分配结束。
本发明的步骤1具体实现过程包括以下步骤:
步骤A1:应用程序模型的构建
设有N个用户U={U1,U2,…,UN},A={A1,A2,…,AN}表示由N和用户提交的应用集,其中与用户Ui相关联的应用ai(1≤i≤N)具有期限Di,应用集A是基于帧的,并且帧大小也称为调度范围由给出,应用程序Ai由ξi个独立任务组成所有任务共享具有总量Ii的输入数据。任务τi,m(1≤m≤ξi)在逻辑上分为强制部分和可选部分,强制部分包含常量执行周期Mi,m必须完全完成产生基本可接受的结果,可选部分包含最大执行周期Oi,m,可以不完全完成以增加基本结果。引入变量αi,m∈[0,1],表示执行的可选循环与任务τi,m的总可选比率。所以,任务τi,m实际执行长度由下述a式计算:
li,m=Mi,m+αi,m×Oi,m (a)。
步骤A2:QoS模型的构建
在应用程序Ai在终端设备上本地执行的情况下,其QoS被表示为成功发送的输出数据的总量,由本地执行应用程序Ai生成的输出数据总量由下述b式表示:
所述QoS由下述c式表示:
其中:βi表示成功发送的输出数据量与产生的输出数据总量的比率。
在雾服务器S上远程执行应用程序Ai的情况下,其QoS表示为应用程序中所有任务的输出数据总量,应用程序Ai的QoS由下述d式表示为:
综上,应用程序Ai的QoS由下述e式表示为:
其中:δi∈{0,1}是二元决策变量,当应用程序Ai决定将其计算转移到雾服务器时,δi被设置为0;否则,将δi设置为1。因此,在调度范围[t,t+H]期间实现的系统QoS由下述f式计算为N个应用所获得QoS的总和Q:
步骤A3:能量模型的构建
记Pharv(t)为可再生能源的收获能力,并由下述g式计算调度范围[t,t+H]期间可再生能源的收获能力Pharv(t):
G处理器能耗由下述j式计算:
其中:Pg和Cg分别为G处理器的静态功耗和有效开关电容,两者是G处理器体系结构相关常数;Γi,g是任务集Γi的子集,且由分配给G处理器的这些任务组成。因此,在每个调度范围期间终端设备的整体能量消耗由下述k式计算:
本发明步骤2的实现过程具体包括:
步骤D1:N个玩家合作游戏由元组{A,E,F}来表述,其中A={A1,A2,…AN}是玩家组,是合作游戏中涉及的N个应用可能达到的候选纳什议价协议的集合代表N个应用的初始协议,其中,是确保满足初始性能要求为应用Ai提供的最小能量供应; 表示分配的能量供应的应用QoS功能的集合。
步骤D2:纳什议价的解决方法可以通过下述l式解决最大化一下优化问题来获得:
步骤D4:QoS优化问题的能量分配定义如下:
给定能量供应预设设备L在调度时间范围[t,t+H]和N个应用的基本QoS的要求得出能量分配的最佳协议以最大化系统的QoS和各个应用的QoS,即由下述m1-4式以最大化系统的QoS和各个应用的QoS优化的能量分配表示:
步骤D6:根据Karush-Kuhn-Tucker有下述条件:
s.t.ψi≥0;
本发明步骤3包括以下变量的定义:
并且满足如下约束条件:
这里,对Ai,m,g∈{0,1}的整数约束放宽到Ai,m,g∈[0,1],以此减少时间开销,为避免违反的约束,将Ai,m,g与给定阈值Athr进行比较,如果Ai,m,g≥Athr成立,则Ai,m,g=1;否则Ai,m,g=0。
本发明步骤4具体包括下述步骤:
步骤E2:在雾层的QoS优化的第二阶段,利用计算卸载的概念来重新定义并提高每个应用程序可能实现的QoS,基于计算卸载指南,提出了可再生的自适应的计算卸载方法。
步骤E3:基于计算卸载指南,如果应用程序的远程执行增益高于其本地执行增益,则应用程序将触发计算卸载,即在保持应用程序Ai的能量和期限在约束范围内时,当时,应用程序Ai将其在第一阶段收集的输入数据从本地终端设备转发到远程雾服务器上询问雾服务器,而不是终端设备去执行其所有任务。
更新终端设备L处理应用程序Ai所消耗的能量从而得到能量供应和能量耗散之间的能量差,即释放的能量。将应用程序Ai释放的能量重新分配给那些不能满足并因此选择在终端设备L上执行的本地执行的应用程序是有利的。结果不仅提高了应用程序Ai的QoS,还可以重新定义其他应用程序的QoS,从而增强整个系统的QoS;得到能量供应和能量耗散之间的能量差为释放的能量。
步骤E5:将应用程序Ai释放的能量重新分配给那些不能满足并因此选择在终端设备L上执行的本地执行的应用程序是有利的,不仅提高了应用程序Ai的QoS,还可以重新定义其他应用程序的QoS,从而增强整个系统的QoS;
步骤E6:将计算卸载标记δi初始化为1,并将QoS Qi设置为每个应用程序Ai的本地执行QoS在在终端设备L的能量供应足够的情况下,即标记E=1,则不需要执行计算卸载,因此直接返回每个应用在本地实现的QoS;相反,在终端设备L的能量供应不足的情况下,即标记E=0,可能触发计算卸载。此时,初始化终端设备L的总能耗用于处理远程执行的应用程序,如果应用程序Ai选择在雾服务器上远程执行,则计算时间开销检查应用程序Ai的所有可选执行周期是否完成,如果答案为否,则将标记λi置为1,然后计算能量消耗假设应用程序Ai在雾服务器上执行,检查是否同时满足下述条件:
如果条件为真,则存在松弛时间使雾服务器提高应用程序Ai的QoS;如果条件为真,则存在足够的能量将输入数据从终端设备转发到雾服务器;如果条件λi=1为真,则存在应用程序Ai的未完成的可选的执行循环;如果三个条件都为真,则条件成立,此时触发应用程序Ai的计算卸载,即将计算卸载标记δi更新为0,并导出可用于QoS增强的松弛时间
步骤E7:使用迭代更新任务的可选执行因子和应用QoS Qi,当应用程序Ai的松弛时间耗尽时,更新能量消耗并进行下一个应用程序的QoS改善,对于仍然选择在终端设备上本地执行的这些应用,在某些应用的计算卸载到雾服务器之后导出它们的可用能量供应并重新确定能量到应用和能量组件的分配,以增强本地执行QoS。最后,最优本地远程调度解决方案是更新每个应用程序中所有任务的可选执行因子,卸载标记集(δ1,δ2,…,δN),应用QoS集(Q1,Q2,…,QN)。
为了更加清楚的描述发明的目的、技术方案及优点,本发明进行了两组基于仿真的实验:一组用于合成应用,另一组用于实际基准测试。对于这两组实验,以下结合附图和具体实施例,对本发明进行进一步详细说明。
实施例1
本发明首先将提出的能量-应用分配方案与三种基准标记算法RAN、AVG和CAF进行比较。基准算法RAN和AVG分别以随机方式和平均方式将终端设备中的可用能量供应分配给各个应用。基准算法CAF为应用程序分配更大的强制循环更高的优先级,这样这些应用程序可以获得更多的能量来完成它们的执行。在完成能量到应用程序分配之后,所有算法都利用所提出的基于MILP的方案来执行能量到组件分配。然后,将开发的基于MILP的能量-分量分配方案与两种基准算法PSO和GEN进行比较。基准算法PSO和GAN分别利用众所周知的粒子群优化算法和遗传算法进行分量级能量分配。最终将提出的计算卸载方案与最先进的用户级卸载算法ULF进行比较,该算法旨在实现应用程序能耗与应用程序执行时间之间的权衡。本发明使用C++实现上述所有算法,并在配备Intel i7双核3.5GHz处理器和16GB内存的机器上执行两组仿真。
1)合成应用模拟
本发明构建了采用65nm技术的MPSoC来执行合成应用,其模拟处理器的参数见下表1:
表1:模拟处理器的参数
上述表1中编号为1~6,列出了MPSoC上六个处理器的电源电压v,工作频率f和有效开关电容C,由雾服务器S创建的虚拟机的处理器Θ0的参数在表1的编号0中给出。应用程序Ai开始执行所需的最小输入数据在[10,30]Mb的范围内随机选择,任务活动因子均匀分布在[0.4,1]的区间内,任务τi,m的强制执行周期Mi,m在[4×108,6×109]的范围内。假设最大可选执行周期Oi,m与输入数据Ii线性相关。对于Ii的每1Mb增加,Oi,m的增加是从间隔[4×107,6×108]中任意选择的,同时,输出数据Ri,m应该与总执行周期li,m线性相关。对于li,m每增加107,Ri,m的增量从[0.1,1]Mb的间隔中任意选择,选用配备15V端电压和4Ah正常容量的锂电池作为储能模块。传感器的平均采样率在[1,5]Mb/s范围内,传感器和收发器的功耗分别从[0.5,2]W和[1,5]W的范围中选取,构建了多个合成应用程序。对于每个合成应用,其任务编号从[10,30]的范围中选择,截止日期Di设置为 其中fmax是处理器在MPSoC上的最大频率。该终端设备L和雾服务器S之间的数据传输速率设置为100KB/s,可再生能源的收获能力由给出,其中G(t)遵循标准正态分布,进行总共1000次实验以获得每种合成应用的平均数据。
1-1)评估能源到应用分配方案
参阅附图1,可以观察到与三种基准算法相比,在不同的综合工作负载和共享能量供应下通过不同算法实现的系统QoS,每个工作负载由十个不同的合成应用程序组成,并为比较研究生成十个不同的工作负载。本实施例所提出的游戏理论能量应用方案Pro_GAME可以极大地提高系统QoS。例如,在的情况下,与基线方法RAN,AVG和CAF相比,该方案可以平均将系统QoS提高135.88%,78.46.25%和26.90%。
参阅附图2,在不同的合成工作负载和共享能量供应下由不同算法实现的应用QoS的标准偏差,本实施例所提出的方案Pro_GAME实现了较小的应用QoS标准偏差。例如,在的情况下,与基线方法RAN,AVG和CAF相比,该方案可以将应用QoS的标准偏差平均降低73.33%,60.24%和42.61%,验证了本发明的博弈论方案在实现多个应用程序之间的相对QoS公平性方面的有效性。
1-2)评估能源到组件的分配方案
参阅附图3,当每个应用的能量供应分别设置为其最大能量需求的0.5,0.6和0.7倍时的十个合成应用的QoS,其结果清楚地反映出,与两种基准算法PSO和GEN相比,本实施例中的组件级能量分配方案Pro_MILP实现了引人注目的应用QoS改进。例如,在的情况下,通过本发明的方法实现的应用QoS分别是PSO和GEN的48.49%和24.51%;在的情况下,本发明的方法实现的应用QoS平均分别比PSO和GEN高42.95%和23.59%;在的情况下,通过本发明的方法实现的应用QoS平均分别比PSO和GEN高40.07%和22.32%。
1-3)评估计算卸载方案
参阅附图4,在执行合成工作负载时,本发明的计算卸载方案和两个基准算法实现的系统QoS,可以观察到本发明的算法Pro_COFF实现了惊人的系统QoS改进。与没有计算卸载的Pro_GAME算法相比,当和0.7时,Pro_COFF可以平均提高系统QoS112.50%,103.91%和96.74%。与计算卸载算法ULF相比,当和0.7时,Pro_COFF可以平均提高系统QoS15.55%,14.63%和14.25%。
参阅附图5,在执行合成工作负载时由三种算法实现的应用QoS的标准偏差,本发明的算法Pro_COFF在给定工作负载中确定应用程序之间的QoS公平性,具体而言,与基线方法Pro_GAME相比,应用QoS的标准偏差平均小43.13%,40.38%和41.18%,分别对于和0.7。与和0.7时相比,基线方法ULF的应用QoS标准偏差分别平均小66.67%,36.18%和55.78%。
2)真实应用的模拟
结合近似计算的应用程序生成工具MEGA用于产生实际基准,引入的实际MPSoC用于执行生成的实际基准,对于实际应用的有效性进行验证。
雾服务器S支持的处理器Θ0被假定为具有4.00GHz工作频率的Intel Xeon处理器。在这组模拟中采用了用于合成应用的传感器、数据收发器、收割功率和锂电池的相同设置。,总共进行了1000次实验以获得每个实际基准的平均模拟数据。
2-1)评估能源到应用分配方案
参阅附图6,在不同能源供应下处理实际基准时由四种算法实现的系统QoS,本发明的算法实现了高达88.87%的系统QoS改进。
参阅附图7,比较执行实际基准测试时四种算法实现的应用QoS标准偏差,本发明的算法实现了更好的应用QoS公平性。例如,当和0.7时,与RAN相比,本发明的算法的应用QoS标准偏差分别为74.95%,73.78%和72.90%;当和0.7时,与AVG相比,本发明的算法的应用QoS标准偏差分别为55.40%,53.68%和50.75%;当和0.7时,与CAF相比,本发明的算法的应用QoS标准偏差分别为38.26%,35.05%和31.77%。
2-2)评估能源到组件分配方案
参阅附图8,由不同的能量-分量算法实现的实际基准的QoS与附图3所示的结果类似,还表明本发明的算法Pro_MILP显着地改善了应用QoS。具体而言,当和0.7时,Pro_MILP实现的应用QoS平均分别比方法PSO平均高46.68%,39.31%和36.77%;当和0.7时,Pro_MILP实现的应用QoS平均分别比方法GEN高19.10%,17.59%和15.90%。
2-3)评估计算卸载方案
参阅附图9,在执行实际工作负载时本发明的计算卸载方案和基准算法实现的系统QoS,本发明的Pro_COFF方案可以实现高达45.05%的系统QoS改进。在执行实际应用时由三种算法实现的应用QoS的标准偏差与附图5中给出的结果类似。
参阅附图10,所示的结果再次证实了本发明的算法Pro_COFF可以提高应用程序之间的QoS公平性。
本发明解决了雾计算中近似应用在截止时间约束下QoS最大化问题,尤其考虑了终端设备的可重用性,即终端设备能够被多个应用程序共享和重用,该方法不仅可以优化单个应用的QoS,还可以优化整个系统的QoS,本发明基于综合应用和现实基准进行广泛的模拟实验,以评估所提出的方法,实验结果表明,该方案将系统QoS和应用QoS分别提高了135.88%和48.49%。以上只是对本发明作进一步的说明,旨在解读本发明的技术方案,并非用以限制本专利,凡为本发明等效实施,均应包含于本专利的权利要求范围之内。
Claims (2)
1.一种可再生自适应计算卸载分层服务质量优化方法,其特征在于采用分层QoS优化方法,设计一个对于给定目标系统和一组实时应用程序,在终端设备层通过连续进行应用级和组件级的能量分配产生本地调度,并在雾层通过可再生自适应计算卸载导出最优的本地-远程调度解决方案,其具体优化包括以下步骤:
步骤1:构建应用程序模型、QoS模型和能量模型的雾计算系统架构;
步骤2:在终端设备层的第一阶段,使用基于博弈论的应用级能量分配,将终端设备的能量供应分配给本地执行的应用程序;
步骤3:使用基于MILP的组件级能量分配,将步骤2应用程序生成的能量供应分配给传感器、MPSoC和数据收发器,并在截止日期限制下最大化应用程序在本地执行的QoS;
步骤4:在雾层的第二阶段,判断是否需要触发应用程序的计算卸载,将生成的本地调度解决方案增强到最优的本地-远程调度解决方案,如果应用程序的远程执行增益高于其本地执行增益,则应用程序将其在第一阶段中收集的输入数据从本地终端设备转发到远程雾化服务器并且询问雾化服务器而不是终端设备执行其所有任务,除了用于维持计算卸载的必要能量之外,应用程序将释放终端设备在第一阶段分配的所有能量,然后利用释放的能量来增强仍然选择在终端设备上本地执行的这些应用的QoS;
步骤5:分配结束;
所述步骤1中的应用程序模型按下述步骤构建:
步骤A1:设有N个用户U={U1,U2,…,UN},A={A1,A2,…,AN}表示由N个用户提交的应用集,其中与用户Ui相关联的应用Ai具有期限Di,1≤i≤N,应用集A是基于帧的,并且帧大小也称为调度范围由给出,应用程序Ai由ξi个独立任务组成所有任务共享具有总量Ii的输入数据;
步骤A2:任务τi,m在逻辑上分为强制部分和可选部分,1≤m≤ξi,强制部分包含常量执行周期Mi,m必须完全完成产生基本可接受的结果,可选部分包含最大执行周期Oi,m,可以不完全完成以增加基本结果;
步骤A3:引入变量αi,m∈[0,1],其表示执行的可选循环与任务τi,m的总可选比率,所述任务τi,m实际执行长度按下述a式计算:
li,m=Mi,m+αi,m×Oi,m a;
所述步骤1中的QoS模型按下述步骤构建:
步骤B1:在应用程序Ai在终端设备上本地执行的情况下,其QoS被表示为成功发送的输出数据总量,由本地执行应用程序Ai生成的输出数据总量由下述b式表示为:
所述QoS由下述c式表示为:
其中:βi表示成功发送的输出数据量与生成的输出数据总量的比率;
步骤B2:在雾化服务器S上远程执行应用程序Ai的情况下,其QoS表示为应用程序中所有任务的输出数据总量,应用程序Ai的QoS由下述d式表示为:
步骤B3:应用程序Ai的QoS由下述e式表示为:
其中:δi∈{0,1}是二元决策变量;
步骤B4:当应用程序Ai决定将其计算转移到雾化服务器时,δi被设置为0;否则,将δi设置为1,因此,在调度范围[t,t+H]期间实现的系统QoS由下述f式计算为N个应用所获得QoS的总和Q:
所述步骤1中的能量模型按下述步骤构建:
步骤C1:由下述g式计算调度范围[t,t+H]期间可再生能源的收获能力Pharv(t):
其中:Pg和Cg分别为G处理器的静态功耗和有效开关电容,两者是G处理器体系结构相关常数;Γi,g是任务集Γi的子集,且由分配给G处理器的这些任务组成,因此,在每个调度范围期间终端设备的整体能量消耗由下述k式计算:
所述步骤2具体包括下述步骤:
步骤D1:由元组{A,E,F}表述N个玩家合作游戏,其中:A={A1,A2,…AN}是玩家组;
步骤D7:根据Karush-Kuhn-Tucker条件有:
所述步骤3包括以下变量的定义:
并且满足如下约束条件:
将Ai,m,g∈{0,1}的整数约束放宽到Ai,m,g∈[0,1],以此减少时间开销,为避免
2.根据权利要求1所述可再生自适应计算卸载分层服务质量优化方法,其特征在于所述步骤4具体包括下述步骤:
步骤E2:在雾层的QoS优化的第二阶段,利用计算卸载的概念来重新定义并提高每个应用程序可能实现的QoS;
步骤E3:基于计算卸载指南,如果应用程序的远程执行增益高于其本地执行增益,则应用程序将触发计算卸载,即在保持应用程序Ai的能量和期限在约束范围内时,当时,应用程序Ai将其在第一阶段收集的输入数据从本地终端设备转发到远程雾化服务器上询问雾化服务器,而不是终端设备去执行其所有任务,并由下述r式进行更新终端设备L处理应用程序Ai所消耗的能量的计算:
步骤E4:将应用程序Ai释放的能量重新分配给那些不能满足并因此选择在终端设备L上执行的本地执行的应用程序是有利的,其结果不仅提高了应用程序Ai的QoS,还可以重新定义其他应用程序的QoS,从而增强整个系统的QoS;
步骤E5:将计算卸载标记δi初始化为1,并将QoS Qi设置为每个应用程序Ai的本地执行QoS在在终端设备L的能量供应足够的情况下,即标记E=1,则不需要执行计算卸载,因此直接返回每个应用在本地实现的QoS;相反,在终端设备L的能量供应不足的情况下,即标记E=0,可能触发计算卸载,此时,初始化终端设备L的总能耗用于处理远程执行的应用程序;如果应用程序Ai选择在雾化服务器上远程执行,则计算时间开销检查应用程序Ai的所有可选执行周期是否完成,如果答案为否,则将标记λi置为1,然后计算能量消耗假设应用程序Ai在雾化服务器上执行,检查是否同时满足下述条件:
如果条件为真,则存在松弛时间使雾化服务器提高应用程序Ai的QoS;如果条件为真,则存在足够的能量将输入数据从终端设备转发到雾化服务器;如果条件λi=1为真,则存在应用程序Ai的未完成的可选的执行循环;如果三个条件都为真,则条件成立,此时触发应用程序Ai的计算卸载,即将计算卸载标记δi更新为0,并导出可用于QoS增强的松弛时间
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911031315.1A CN110990130B (zh) | 2019-10-28 | 2019-10-28 | 一种可再生自适应计算卸载分层服务质量优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911031315.1A CN110990130B (zh) | 2019-10-28 | 2019-10-28 | 一种可再生自适应计算卸载分层服务质量优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110990130A CN110990130A (zh) | 2020-04-10 |
CN110990130B true CN110990130B (zh) | 2023-05-12 |
Family
ID=70082415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911031315.1A Active CN110990130B (zh) | 2019-10-28 | 2019-10-28 | 一种可再生自适应计算卸载分层服务质量优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110990130B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434459B (zh) * | 2021-06-30 | 2022-09-02 | 电子科技大学 | 基于生成对抗网络的片上网络任务映射方法 |
CN115237506B (zh) * | 2022-09-21 | 2022-12-09 | 暨南大学 | Cps系统中可靠性驱动的分层任务卸载方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105242966A (zh) * | 2015-09-28 | 2016-01-13 | 华东师范大学 | 一种面向自主获能异构系统的非精确实时任务调度方法 |
CN108920279A (zh) * | 2018-07-13 | 2018-11-30 | 哈尔滨工业大学 | 一种多用户场景下的移动边缘计算任务卸载方法 |
CN109343904A (zh) * | 2018-09-28 | 2019-02-15 | 燕山大学 | 一种基于Lyapunov优化的雾计算动态卸载方法 |
CN110098969A (zh) * | 2019-05-21 | 2019-08-06 | 重庆邮电大学 | 一种面向物联网的雾计算任务卸载方法 |
CN110377353A (zh) * | 2019-05-21 | 2019-10-25 | 湖南大学 | 计算任务卸载系统与方法 |
-
2019
- 2019-10-28 CN CN201911031315.1A patent/CN110990130B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105242966A (zh) * | 2015-09-28 | 2016-01-13 | 华东师范大学 | 一种面向自主获能异构系统的非精确实时任务调度方法 |
CN108920279A (zh) * | 2018-07-13 | 2018-11-30 | 哈尔滨工业大学 | 一种多用户场景下的移动边缘计算任务卸载方法 |
CN109343904A (zh) * | 2018-09-28 | 2019-02-15 | 燕山大学 | 一种基于Lyapunov优化的雾计算动态卸载方法 |
CN110098969A (zh) * | 2019-05-21 | 2019-08-06 | 重庆邮电大学 | 一种面向物联网的雾计算任务卸载方法 |
CN110377353A (zh) * | 2019-05-21 | 2019-10-25 | 湖南大学 | 计算任务卸载系统与方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110990130A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | Job scheduling model for cloud computing based on multi-objective genetic algorithm | |
Lin et al. | Cost-driven off-loading for DNN-based applications over cloud, edge, and end devices | |
Zuo et al. | A multi-objective optimization scheduling method based on the ant colony algorithm in cloud computing | |
Hongyou et al. | Energy-aware scheduling scheme using workload-aware consolidation technique in cloud data centres | |
CN109240818A (zh) | 一种边缘计算网络中基于用户体验的任务卸载方法 | |
CN110990130B (zh) | 一种可再生自适应计算卸载分层服务质量优化方法 | |
Meskar et al. | Energy efficient offloading for competing users on a shared communication channel | |
Mao et al. | A multi-resource task scheduling algorithm for energy-performance trade-offs in green clouds | |
CN108737462A (zh) | 一种基于图论的云计算数据中心任务调度方法 | |
Li et al. | A distributed QoS-constraint task scheduling scheme in cloud computing environment: model and algorithm | |
Tian et al. | User preference-based hierarchical offloading for collaborative cloud-edge computing | |
CN109815009B (zh) | 一种csp下的资源调度与优化方法 | |
Gu et al. | A multi-objective fog computing task scheduling strategy based on ant colony algorithm | |
Lin et al. | Novel algorithms and equivalence optimisation for resource allocation in cloud computing | |
Farhadian et al. | WITHDRAWN: An efficient IoT cloud energy consumption based on genetic algorithm | |
Dong et al. | Quantum particle swarm optimization for task offloading in mobile edge computing | |
Liu et al. | A distributed dependency-aware offloading scheme for vehicular edge computing based on policy gradient | |
Chen et al. | When learning joins edge: Real-time proportional computation offloading via deep reinforcement learning | |
CN108304253A (zh) | 基于缓存感知和数据本地性的map任务调度方法 | |
Chen et al. | A3c-based and dependency-aware computation offloading and service caching in digital twin edge networks | |
Goyal et al. | A proposed approach for efficient energy utilization in cloud data center | |
Wu et al. | Graft: Efficient inference serving for hybrid deep learning with SLO guarantees via DNN re-alignment | |
Meng et al. | Deep reinforcement learning based delay-sensitive task scheduling and resource management algorithm for multi-user mobile-edge computing systems | |
Li et al. | A hierarchical cloud pricing system | |
He et al. | Cloud task scheduling based on policy gradient algorithm in heterogeneous cloud data center for energy consumption optimization |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |