CN110990130B - 一种可再生自适应计算卸载分层服务质量优化方法 - Google Patents

一种可再生自适应计算卸载分层服务质量优化方法 Download PDF

Info

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
Application number
CN201911031315.1A
Other languages
English (en)
Other versions
CN110990130A (zh
Inventor
魏同权
张润泽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
East China Normal University
Original Assignee
East China Normal University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by East China Normal University filed Critical East China Normal University
Priority to CN201911031315.1A priority Critical patent/CN110990130B/zh
Publication of CN110990130A publication Critical patent/CN110990130A/zh
Application granted granted Critical
Publication of CN110990130B publication Critical patent/CN110990130B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • G06F9/548Object oriented; Remote method invocation [RMI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/549Remote execution
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing 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是基于帧的,并且帧大小也称为调度范围由
Figure GDA0004095341690000031
给出,应用程序Ai由ξi个独立任务组成
Figure GDA0004095341690000032
所有任务共享具有总量Ii的输入数据。
步骤A2:任务τi,m(1≤m≤ξi)在逻辑上分为强制部分和可选部分,强制部分包含常量执行周期Mi,m必须完全完成产生基本可接受的结果,可选部分包含最大执行周期Oi,m,可以不完全完成以增加基本结果。
步骤A3:引入变量αi,m∈[0,1],其表示执行的可选循环与任务τi,m的总可选比率,所述任务τi,m实际执行长度按下述a式计算:
li,m=Mi,mi,m×Oi,m a。
所述步骤1中的QoS模型按下述步骤构建:
步骤B1:在应用程序Ai在终端设备上本地执行的情况下,其QoS被表示为成功发送的输出数据的总量,由本地执行应用程序Ai生成的输出数据总量由下述b式表示为:
Figure GDA0004095341690000033
所述QoS由下述c式表示为:
Figure GDA0004095341690000034
其中:βi表示成功发送的输出数据量与生成的输出数据总量的比率。
步骤B2:在雾化服务器S上远程执行应用程序Ai的情况下,其QoS表示为应用程序中所有任务的输出数据总量,应用程序Ai的QoS由下述d式表示为:
Figure GDA0004095341690000035
其中:
Figure GDA0004095341690000036
是远程执行应用程序Ai的所有任务产生的输出数据总和;
Figure GDA0004095341690000037
是通过远程执行任务τi,m生成的输出数据量。
步骤B3:应用程序Ai的QoS由下述e式表示为:
Figure GDA0004095341690000041
其中:δi∈{0,1}是二元决策变量。
步骤B4:当应用程序Ai决定将其计算转移到雾化服务器时,δi被设置为0;否则,将δi设置为1,因此,在调度范围[t,t+H]期间实现的系统QoS由下述f式计算为N个应用所获得QoS的总和Q:
Figure GDA0004095341690000042
所述步骤1中的能量模型按下述步骤构建:
步骤C1:由下述g式计算调度范围[t,t+H]期间可再生能源的收获能力Pharv(t):
Figure GDA0004095341690000043
步骤C2:由下述h式计算调度范围[t,t+H]期间终端设备总可用能量
Figure GDA0004095341690000044
Figure GDA0004095341690000045
其中:
Figure GDA0004095341690000046
表示能量存储模块在时间t时提供的能量供应。
步骤C3:由下述i式计算传感器、MPSoC和数据收发器的总能量消耗
Figure GDA0004095341690000047
Figure GDA0004095341690000048
其中:
Figure GDA0004095341690000049
为传感器能量消耗;
Figure GDA00040953416900000410
为MPSoC能量消耗;
Figure GDA00040953416900000411
Figure GDA00040953416900000412
为收发器能量消耗;
所述
Figure GDA00040953416900000413
其中:Psen为传感器总能量消耗,如果应用程序Ai在终端设备的本执行,则
Figure GDA00040953416900000414
是将应用程序Ai的输出数据从终端设备发送到雾服务器所消耗的能量。
所述
Figure GDA00040953416900000415
其中:Ptra是数据收发器的功耗,如果在雾化服务器上远程完成应用程序Ai,则
Figure GDA0004095341690000051
是将应用程序Ai的输出数据从终端设备发送到雾化服务器所消耗的能量。
所述
Figure GDA0004095341690000052
是在雾服务器上远程完成应用程序Ai,则
Figure GDA0004095341690000053
是将应用程序Ai的输出数据从终端设备发送到雾化服务器所消耗的能量。
G处理器能耗由下述j式计算:
Figure GDA0004095341690000054
其中:Pg和Cg分别为G处理器的静态功耗和有效开关电容,两者是G处理器体系结构相关常数;Γi,g是任务集Γi的子集,且由分配给G处理器的这些任务组成,因此,在每个调度范围期间终端设备的整体能量消耗由下述k式计算:
Figure GDA0004095341690000055
所述步骤2具体包括下述步骤:
步骤D1:由元组{A,E,F}表述N个玩家合作游戏,其中:A={A1,A2,…AN}是玩家组。
步骤D2:由
Figure GDA0004095341690000056
表示合作游戏中涉及的N个应用可能达到的候选纳什议价协议的集合
Figure GDA0004095341690000057
其代表N个应用的初始协议,其中:
Figure GDA0004095341690000058
为确保满足初始性能要求为应用Ai提供的最小能量供应。
步骤D3:由
Figure GDA0004095341690000059
表示分配的能量供应的应用QoS功能的集合,并以下述l式制定能源分配博弈:
Figure GDA00040953416900000510
步骤D4:由下述n式将应用程序Ai的性能功能定义为应用程序通过提供的能量供应
Figure GDA00040953416900000511
实现的近似QoS:
Figure GDA0004095341690000061
其中:
Figure GDA0004095341690000062
是应用程序Ai在一个设备L执行应用程序Ai时产生单位量的QoS所消耗的能量;
Figure GDA0004095341690000063
为能量供应。
步骤D5:给定能量供应
Figure GDA0004095341690000064
预设设备L在调度时间范围[t,t+H]和N个应用的基本QoS的要求
Figure GDA0004095341690000065
得出能量分配的最佳协议
Figure GDA0004095341690000066
并由下述m1-4式以最大化系统的QoS和各个应用的QoS优化的能量分配定义如下:
Figure GDA0004095341690000067
Figure GDA00040953416900000617
Figure GDA0004095341690000068
Figure GDA0004095341690000069
其中:
Figure GDA00040953416900000610
为应用程序Ai为实现其初始性能要求
Figure GDA00040953416900000611
而应分配给它的最小能量预算;
Figure GDA00040953416900000612
为应用程序Ai在截止时间约束下最大化其自身QoS所需的最大能量供应。
步骤D6:将目标函数转化为典型的凸函数,即最小化
Figure GDA00040953416900000613
验证原目标函数的约束集是凸的,并由下述o式的拉格朗日表示:
Figure GDA00040953416900000614
其中:
Figure GDA00040953416900000615
ψii是拉格朗日乘子,令一阶偏导
Figure GDA00040953416900000616
得:
Figure GDA0004095341690000071
其中:
Figure GDA0004095341690000072
为最佳拉格朗日乘子,最佳解决方案为
Figure GDA0004095341690000073
Figure GDA0004095341690000074
步骤D7:根据Karush-Kuhn-Tucker条件有:
Figure GDA0004095341690000075
Figure GDA0004095341690000076
Figure GDA0004095341690000077
其中,
Figure GDA0004095341690000078
意味着在合作博弈后由应用程序Ai实现的性能等于其基本要求
Figure GDA00040953416900000719
的特殊情况,而当
Figure GDA0004095341690000079
时,则可得到
Figure GDA00040953416900000710
由原始问题的对偶问题来获得,其对偶问题由下述p式表示为:
Figure GDA00040953416900000711
其中:s.t.ψi≥0;
Figure GDA00040953416900000712
步骤D8:如果其Hessian矩阵中每个元素非负,则函数是凸的,而
Figure GDA00040953416900000713
Figure GDA00040953416900000714
Figure GDA00040953416900000718
即对偶问题的Hessian矩阵中每个元素非负,亦即对偶问题是凸的,有唯一的最优解。
所述步骤3包括以下变量的定义:
Figure GDA00040953416900000716
Bi,m为任务τi,m开始时间;αi,m为任务τi,m可选执行因子;
Figure GDA00040953416900000720
为传感器分配的能量;
Figure GDA00040953416900000717
为任务执行分配的能量;
Figure GDA0004095341690000081
为结果传输分配的能量。
如果在终端设备上本地执行的QoS,则应用程序的QoS不能超过其生成的输出数据的总量,通过将生成的输出数据的总量
Figure GDA0004095341690000082
限制为完全传输,
Figure GDA0004095341690000083
实际上是应用程序Ai实现的本地执行QoS
Figure GDA0004095341690000084
其目标函数由下述q式表示:
Figure GDA0004095341690000085
并且满足如下约束条件:
Figure GDA0004095341690000086
Figure GDA0004095341690000087
Figure GDA0004095341690000088
Figure GDA00040953416900000817
Figure GDA0004095341690000089
Figure GDA00040953416900000818
Figure GDA00040953416900000819
Figure GDA00040953416900000820
Figure GDA00040953416900000810
Figure GDA00040953416900000811
Figure GDA00040953416900000812
Figure GDA00040953416900000813
Figure GDA00040953416900000814
Figure GDA00040953416900000821
Figure GDA00040953416900000815
Figure GDA00040953416900000816
Figure GDA0004095341690000091
Figure GDA0004095341690000092
Figure GDA00040953416900000913
Figure GDA0004095341690000093
Figure GDA0004095341690000094
Figure GDA0004095341690000095
将Ai,m,g∈{0,1}的整数约束放宽到Ai,m,g∈[0,1],以此减少时间开销,为避免违反
Figure GDA0004095341690000096
的约束,将Ai,m,g与给定阈值Athr进行比较,如果Ai,m,g≥Athr成立,则Ai,m,g=1;否则Ai,m,g=0。
所述步骤4具体包括下述步骤:
步骤E1:在终端设备层进行QoS优化的第一阶段后获得一个最佳QoS集
Figure GDA0004095341690000097
假设在没有雾化服务器的帮助下所有N个应用都在终端设备L上本地执行。
步骤E2:在雾层的QoS优化的第二阶段,利用计算卸载的概念来重新定义并提高每个应用程序可能实现的QoS。
步骤E3:基于计算卸载指南,如果应用程序的远程执行增益高于其本地执行增益,则应用程序将触发计算卸载,即在保持应用程序Ai的能量和期限在约束范围内时,当
Figure GDA0004095341690000098
时,应用程序Ai将其在第一阶段收集的输入数据从本地终端设备转发到远程雾化服务器上询问雾化服务器,而不是终端设备去执行其所有任务,并由下述r式进行更新终端设备L处理应用程序Ai所消耗的能量
Figure GDA0004095341690000099
的计算:
Figure GDA00040953416900000910
得到能量供应
Figure GDA00040953416900000911
和能量耗散
Figure GDA00040953416900000912
之间的能量差为释放的能量。
步骤E4:将应用程序Ai释放的能量重新分配给那些不能满足
Figure GDA0004095341690000101
并因此选择在终端设备L上执行的本地执行的应用程序是有利的,其结果不仅提高了应用程序Ai的QoS,还可以重新定义其他应用程序的QoS,从而增强整个系统的QoS。
步骤E5:将计算卸载标记δi初始化为1,并将QoS Qi设置为每个应用程序Ai的本地执行QoS
Figure GDA00040953416900001013
在终端设备L的能量供应足够的情况下,即标记E=1,则不需要执行计算卸载,因此直接返回每个应用在本地实现的QoS;相反,在终端设备L的能量供应不足的情况下,即标记E=0,可能触发计算卸载,此时,初始化终端设备L的总能耗
Figure GDA0004095341690000102
用于处理远程执行的应用程序;如果应用程序Ai选择在雾化服务器上远程执行,则计算时间开销
Figure GDA0004095341690000103
检查应用程序Ai的所有可选执行周期是否完成,如果答案为否,则将标记λi置为1,然后计算能量消耗
Figure GDA0004095341690000104
假设应用程序Ai在雾化服务器上执行,检查是否同时满足下述条件:
Figure GDA0004095341690000105
如果条件
Figure GDA0004095341690000106
为真,则存在松弛时间使雾化服务器提高应用程序Ai的QoS;如果条件
Figure GDA0004095341690000107
为真,则存在足够的能量将输入数据从终端设备转发到雾化服务器;如果条件λi=1为真,则存在应用程序Ai的未完成的可选的执行循环;如果三个条件都为真,则条件
Figure GDA0004095341690000108
成立,此时触发应用程序Ai的计算卸载,即将计算卸载标记δi更新为0,并导出可用于QoS增强的松弛时间
Figure GDA0004095341690000109
步骤E6:使用迭代更新任务的可选执行因子和应用QoS Qi,当应用程序Ai的松弛时间
Figure GDA00040953416900001010
耗尽时,更新能量消耗
Figure GDA00040953416900001011
并且进行下一个应用程序的QoS的改善,对于仍然选择在终端设备上本地执行的这些应用,在某些应用的计算卸载到雾化服务器之后导出它们的可用能量供应
Figure GDA00040953416900001012
并重新确定能量到应用和能量组件的分配,以增强本地执行QoS;最后,最优本地远程调度解决方案是更新每个应用程序中所有任务的可选执行因子,卸载标记集(δ12,…,δ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是基于帧的,并且帧大小也称为调度范围由
Figure GDA0004095341690000131
给出,应用程序Ai由ξi个独立任务组成
Figure GDA0004095341690000132
所有任务共享具有总量Ii的输入数据。任务τi,m(1≤m≤ξi)在逻辑上分为强制部分和可选部分,强制部分包含常量执行周期Mi,m必须完全完成产生基本可接受的结果,可选部分包含最大执行周期Oi,m,可以不完全完成以增加基本结果。引入变量αi,m∈[0,1],表示执行的可选循环与任务τi,m的总可选比率。所以,任务τi,m实际执行长度由下述a式计算:
li,m=Mi,mi,m×Oi,m (a)。
步骤A2:QoS模型的构建
在应用程序Ai在终端设备上本地执行的情况下,其QoS被表示为成功发送的输出数据的总量,由本地执行应用程序Ai生成的输出数据总量由下述b式表示:
Figure GDA0004095341690000141
所述QoS由下述c式表示:
Figure GDA0004095341690000142
其中:βi表示成功发送的输出数据量与产生的输出数据总量的比率。
在雾服务器S上远程执行应用程序Ai的情况下,其QoS表示为应用程序中所有任务的输出数据总量,应用程序Ai的QoS由下述d式表示为:
Figure GDA0004095341690000143
其中:
Figure GDA0004095341690000144
是远程执行应用程序Ai的所有任务产生的输出数据总和;
Figure GDA0004095341690000145
是通过远程执行任务τi,m生成的输出数据量。
综上,应用程序Ai的QoS由下述e式表示为:
Figure GDA0004095341690000146
其中:δi∈{0,1}是二元决策变量,当应用程序Ai决定将其计算转移到雾服务器时,δi被设置为0;否则,将δi设置为1。因此,在调度范围[t,t+H]期间实现的系统QoS由下述f式计算为N个应用所获得QoS的总和Q:
Figure GDA0004095341690000147
步骤A3:能量模型的构建
记Pharv(t)为可再生能源的收获能力,并由下述g式计算调度范围[t,t+H]期间可再生能源的收获能力Pharv(t):
Figure GDA0004095341690000148
Figure GDA0004095341690000149
为调度范围[t,t+H]期间终端设备总可用能量,并由下述h式计算调度范围[t,t+H]期间终端设备总可用能量
Figure GDA00040953416900001410
Figure GDA00040953416900001411
其中:
Figure GDA00040953416900001412
表示能量存储模块在时间t时提供的能量供应。
用于处理应用的终端设备消耗的能量包括三个部分:传感器能量消耗
Figure GDA0004095341690000151
MPSoC能量消耗
Figure GDA0004095341690000152
和收发器能量耗散
Figure GDA0004095341690000153
Figure GDA0004095341690000154
并由下述i式计算传感器、MPSoC和数据收发器的总能量消耗
Figure GDA0004095341690000155
Figure GDA0004095341690000156
其中:
Figure GDA0004095341690000157
为传感器能量消耗;
Figure GDA0004095341690000158
为MPSoC能量消耗;
Figure GDA0004095341690000159
Figure GDA00040953416900001510
为数据收发器能量消耗。
所述
Figure GDA00040953416900001519
其中:Psen为传感器总能量消耗,如果应用程序Ai在终端设备的本执行,则
Figure GDA00040953416900001511
是将应用程序Ai的输出数据从终端设备发送到雾化服务器所消耗的能量。
所述
Figure GDA00040953416900001512
其中:Ptra是数据收发器的功耗,如果在雾化服务器上远程完成应用程序Ai,则
Figure GDA00040953416900001513
是将应用程序Ai的输出数据从终端设备发送到雾化服务器所消耗的能量。
所述
Figure GDA00040953416900001514
是在雾化服务器上远程完成应用程序Ai,则
Figure GDA00040953416900001515
是将应用程序Ai的输出数据从终端设备发送到雾化服务器所消耗的能量。
G处理器能耗由下述j式计算:
Figure GDA00040953416900001516
其中:Pg和Cg分别为G处理器的静态功耗和有效开关电容,两者是G处理器体系结构相关常数;Γi,g是任务集Γi的子集,且由分配给G处理器的这些任务组成。因此,在每个调度范围期间终端设备的整体能量消耗由下述k式计算:
Figure GDA00040953416900001517
本发明步骤2的实现过程具体包括:
步骤D1:N个玩家合作游戏由元组{A,E,F}来表述,其中A={A1,A2,…AN}是玩家组,
Figure GDA00040953416900001518
是合作游戏中涉及的N个应用可能达到的候选纳什议价协议的集合
Figure GDA0004095341690000161
代表N个应用的初始协议,其中,
Figure GDA0004095341690000162
是确保满足初始性能要求为应用Ai提供的最小能量供应;
Figure GDA0004095341690000163
Figure GDA0004095341690000164
表示分配的能量供应的应用QoS功能的集合。
步骤D2:纳什议价的解决方法可以通过下述l式解决最大化一下优化问题来获得:
Figure GDA0004095341690000165
步骤D3:制定能源分配博弈,应用程序Ai的性能功能定义为应用程序通过提供的能量供应
Figure GDA0004095341690000166
实现的近似QoS,即由下述n式表示:
Figure GDA0004095341690000167
其中,
Figure GDA0004095341690000168
是应用程序Ai在一个设备L执行应用程序Ai时产生单位量的QoS所消耗的能量。
步骤D4:QoS优化问题的能量分配定义如下:
给定能量供应
Figure GDA0004095341690000169
预设设备L在调度时间范围[t,t+H]和N个应用的基本QoS的要求
Figure GDA00040953416900001610
得出能量分配的最佳协议
Figure GDA00040953416900001611
以最大化系统的QoS和各个应用的QoS,即由下述m1-4式以最大化系统的QoS和各个应用的QoS优化的能量分配表示:
Figure GDA00040953416900001612
Figure GDA00040953416900001615
Figure GDA00040953416900001613
Figure GDA00040953416900001614
其中:
Figure GDA0004095341690000171
是应用程序Ai为实现其初始性能要求
Figure GDA0004095341690000172
而应分配给它的最小能量预算;
Figure GDA0004095341690000173
是应用程序Ai在截止时间约束下最大化其自身QoS所需的最大能量供应。
步骤D5:目标函数可以转化为典型的凸函数,即最小化
Figure GDA0004095341690000174
Figure GDA0004095341690000175
而且容易验证原目标函数的约束集是凸的。采用拉格朗日乘数法解决这一问题,研究问题的拉格朗日表达式由下述o式表示:
Figure GDA0004095341690000176
其中:
Figure GDA0004095341690000177
ψii是拉格朗日乘子,令一阶偏导
Figure GDA0004095341690000178
得:
Figure GDA0004095341690000179
其中:
Figure GDA00040953416900001710
为最佳拉格朗日乘子,最佳解决方案为
Figure GDA00040953416900001711
Figure GDA00040953416900001719
步骤D6:根据Karush-Kuhn-Tucker有下述条件:
Figure GDA00040953416900001712
Figure GDA00040953416900001713
Figure GDA00040953416900001714
Figure GDA00040953416900001715
意味着在合作博弈后由应用程序Ai实现的性能等于其基本要求
Figure GDA00040953416900001716
的特殊情况;而当
Figure GDA00040953416900001717
时,则可得到
Figure GDA00040953416900001718
由原始问题的对偶问题来获得,其对偶问题由下述p式表示为:
Figure GDA0004095341690000181
s.t.ψi≥0;
Figure GDA0004095341690000182
步骤D7:对于原问题的对偶问题,有必要证明至少有一个最优解,则这个最优解也是原问题的最优解,而对于对偶问题,显然它有一个凸约束集,如果其Hessian矩阵中每个元素非负,则函数是凸的,而
Figure GDA0004095341690000183
Figure GDA0004095341690000184
Figure GDA0004095341690000185
即对偶问题的Hessian矩阵中每个元素非负,亦即对偶问题是凸的,有唯一的最优解。
本发明步骤3包括以下变量的定义:
Figure GDA0004095341690000186
Bi,m为任务τi,m开始时间;αi,m为任务τi,m可选执行因子;
Figure GDA0004095341690000187
为传感器分配的能量;
Figure GDA0004095341690000188
为任务执行分配的能量;
Figure GDA0004095341690000189
为结果传输分配的能量。
如果在终端设备上本地执行,则应用程序的QoS不能超过其生成的输出数据的总量。通过将生成的输出数据的总量
Figure GDA00040953416900001810
限制为完全传输,
Figure GDA00040953416900001811
实际上是应用程序Ai实现的本地执行QoS
Figure GDA00040953416900001812
其目标函数由下述q式表示:
Figure GDA00040953416900001813
并且满足如下约束条件:
Figure GDA00040953416900001814
Figure GDA00040953416900001815
Figure GDA0004095341690000191
Figure GDA0004095341690000192
Figure GDA0004095341690000193
Figure GDA00040953416900001920
Figure GDA00040953416900001921
Figure GDA0004095341690000194
Figure GDA0004095341690000195
Figure GDA0004095341690000196
Figure GDA0004095341690000197
Figure GDA0004095341690000198
Figure GDA0004095341690000199
Figure GDA00040953416900001910
Figure GDA00040953416900001911
Figure GDA00040953416900001912
Figure GDA00040953416900001913
Figure GDA00040953416900001914
Figure GDA00040953416900001915
Figure GDA00040953416900001916
Figure GDA00040953416900001917
Figure GDA00040953416900001918
这里,对Ai,m,g∈{0,1}的整数约束放宽到Ai,m,g∈[0,1],以此减少时间开销,为避免违反
Figure GDA00040953416900001919
的约束,将Ai,m,g与给定阈值Athr进行比较,如果Ai,m,g≥Athr成立,则Ai,m,g=1;否则Ai,m,g=0。
本发明步骤4具体包括下述步骤:
步骤E1:在终端设备层进行QoS优化的第一阶段后获得一个最佳QoS集
Figure GDA0004095341690000201
假设在没有雾化服务器的帮助下所有N个应用都在终端设备L上本地执行。
步骤E2:在雾层的QoS优化的第二阶段,利用计算卸载的概念来重新定义并提高每个应用程序可能实现的QoS,基于计算卸载指南,提出了可再生的自适应的计算卸载方法。
步骤E3:基于计算卸载指南,如果应用程序的远程执行增益高于其本地执行增益,则应用程序将触发计算卸载,即在保持应用程序Ai的能量和期限在约束范围内时,当
Figure GDA0004095341690000202
时,应用程序Ai将其在第一阶段收集的输入数据从本地终端设备转发到远程雾服务器上询问雾服务器,而不是终端设备去执行其所有任务。
步骤E4:由下述r式进行更新终端设备L处理应用程序Ai所消耗的能量
Figure GDA0004095341690000203
的计算:
Figure GDA0004095341690000204
更新终端设备L处理应用程序Ai所消耗的能量
Figure GDA0004095341690000205
从而得到能量供应
Figure GDA0004095341690000206
和能量耗散
Figure GDA0004095341690000207
之间的能量差,即释放的能量。将应用程序Ai释放的能量重新分配给那些不能满足
Figure GDA0004095341690000208
并因此选择在终端设备L上执行的本地执行的应用程序是有利的。结果不仅提高了应用程序Ai的QoS,还可以重新定义其他应用程序的QoS,从而增强整个系统的QoS;得到能量供应
Figure GDA0004095341690000209
和能量耗散
Figure GDA00040953416900002010
之间的能量差为释放的能量。
步骤E5:将应用程序Ai释放的能量重新分配给那些不能满足
Figure GDA00040953416900002011
并因此选择在终端设备L上执行的本地执行的应用程序是有利的,不仅提高了应用程序Ai的QoS,还可以重新定义其他应用程序的QoS,从而增强整个系统的QoS;
步骤E6:将计算卸载标记δi初始化为1,并将QoS Qi设置为每个应用程序Ai的本地执行QoS
Figure GDA0004095341690000211
在在终端设备L的能量供应足够的情况下,即标记E=1,则不需要执行计算卸载,因此直接返回每个应用在本地实现的QoS;相反,在终端设备L的能量供应不足的情况下,即标记E=0,可能触发计算卸载。此时,初始化终端设备L的总能耗
Figure GDA0004095341690000212
用于处理远程执行的应用程序,如果应用程序Ai选择在雾服务器上远程执行,则计算时间开销
Figure GDA0004095341690000213
检查应用程序Ai的所有可选执行周期是否完成,如果答案为否,则将标记λi置为1,然后计算能量消耗
Figure GDA0004095341690000214
假设应用程序Ai在雾服务器上执行,检查是否同时满足下述条件:
Figure GDA0004095341690000215
如果条件
Figure GDA0004095341690000216
为真,则存在松弛时间使雾服务器提高应用程序Ai的QoS;如果条件
Figure GDA0004095341690000217
为真,则存在足够的能量将输入数据从终端设备转发到雾服务器;如果条件λi=1为真,则存在应用程序Ai的未完成的可选的执行循环;如果三个条件都为真,则条件
Figure GDA0004095341690000218
成立,此时触发应用程序Ai的计算卸载,即将计算卸载标记δi更新为0,并导出可用于QoS增强的松弛时间
Figure GDA0004095341690000219
步骤E7:使用迭代更新任务的可选执行因子和应用QoS Qi,当应用程序Ai的松弛时间
Figure GDA00040953416900002110
耗尽时,更新能量消耗
Figure GDA00040953416900002111
并进行下一个应用程序的QoS改善,对于仍然选择在终端设备上本地执行的这些应用,在某些应用的计算卸载到雾服务器之后导出它们的可用能量供应
Figure GDA00040953416900002112
并重新确定能量到应用和能量组件的分配,以增强本地执行QoS。最后,最优本地远程调度解决方案是更新每个应用程序中所有任务的可选执行因子,卸载标记集(δ12,…,δ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:模拟处理器的参数
Figure GDA0004095341690000221
Figure GDA0004095341690000231
上述表1中编号为1~6,列出了MPSoC上六个处理器的电源电压v,工作频率f和有效开关电容C,由雾服务器S创建的虚拟机的处理器Θ0的参数在表1的编号0中给出。应用程序Ai开始执行所需的最小输入数据
Figure GDA0004095341690000232
在[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设置为
Figure GDA0004095341690000233
Figure GDA0004095341690000234
其中fmax是处理器在MPSoC上的最大频率。该终端设备L和雾服务器S之间的数据传输速率设置为100KB/s,可再生能源的收获能力由
Figure GDA0004095341690000235
给出,其中G(t)遵循标准正态分布,进行总共1000次实验以获得每种合成应用的平均数据。
1-1)评估能源到应用分配方案
参阅附图1,可以观察到与三种基准算法相比,在不同的综合工作负载和共享能量供应下通过不同算法实现的系统QoS,每个工作负载由十个不同的合成应用程序组成,并为比较研究生成十个不同的工作负载。本实施例所提出的游戏理论能量应用方案Pro_GAME可以极大地提高系统QoS。例如,在
Figure GDA0004095341690000241
的情况下,与基线方法RAN,AVG和CAF相比,该方案可以平均将系统QoS提高135.88%,78.46.25%和26.90%。
参阅附图2,在不同的合成工作负载和共享能量供应下由不同算法实现的应用QoS的标准偏差,本实施例所提出的方案Pro_GAME实现了较小的应用QoS标准偏差。例如,在
Figure GDA0004095341690000242
的情况下,与基线方法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改进。例如,在
Figure GDA0004095341690000243
的情况下,通过本发明的方法实现的应用QoS分别是PSO和GEN的48.49%和24.51%;在
Figure GDA0004095341690000244
的情况下,本发明的方法实现的应用QoS平均分别比PSO和GEN高42.95%和23.59%;在
Figure GDA0004095341690000245
的情况下,通过本发明的方法实现的应用QoS平均分别比PSO和GEN高40.07%和22.32%。
1-3)评估计算卸载方案
参阅附图4,在执行合成工作负载时,本发明的计算卸载方案和两个基准算法实现的系统QoS,可以观察到本发明的算法Pro_COFF实现了惊人的系统QoS改进。与没有计算卸载的Pro_GAME算法相比,当
Figure GDA0004095341690000246
和0.7时,Pro_COFF可以平均提高系统QoS112.50%,103.91%和96.74%。与计算卸载算法ULF相比,当
Figure GDA0004095341690000247
和0.7时,Pro_COFF可以平均提高系统QoS15.55%,14.63%和14.25%。
参阅附图5,在执行合成工作负载时由三种算法实现的应用QoS的标准偏差,本发明的算法Pro_COFF在给定工作负载中确定应用程序之间的QoS公平性,具体而言,与基线方法Pro_GAME相比,应用QoS的标准偏差平均小43.13%,40.38%和41.18%,分别对于
Figure GDA0004095341690000251
和0.7。与
Figure GDA0004095341690000252
和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公平性。例如,当
Figure GDA0004095341690000253
和0.7时,与RAN相比,本发明的算法的应用QoS标准偏差分别为74.95%,73.78%和72.90%;当
Figure GDA0004095341690000254
和0.7时,与AVG相比,本发明的算法的应用QoS标准偏差分别为55.40%,53.68%和50.75%;当
Figure GDA0004095341690000255
和0.7时,与CAF相比,本发明的算法的应用QoS标准偏差分别为38.26%,35.05%和31.77%。
2-2)评估能源到组件分配方案
参阅附图8,由不同的能量-分量算法实现的实际基准的QoS与附图3所示的结果类似,还表明本发明的算法Pro_MILP显着地改善了应用QoS。具体而言,当
Figure GDA0004095341690000261
和0.7时,Pro_MILP实现的应用QoS平均分别比方法PSO平均高46.68%,39.31%和36.77%;当
Figure GDA0004095341690000262
和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是基于帧的,并且帧大小也称为调度范围由
Figure FDA0004142559020000011
给出,应用程序Ai由ξi个独立任务组成
Figure FDA0004142559020000027
所有任务共享具有总量Ii的输入数据;
步骤A2:任务τi,m在逻辑上分为强制部分和可选部分,1≤m≤ξi,强制部分包含常量执行周期Mi,m必须完全完成产生基本可接受的结果,可选部分包含最大执行周期Oi,m,可以不完全完成以增加基本结果;
步骤A3:引入变量αi,m∈[0,1],其表示执行的可选循环与任务τi,m的总可选比率,所述任务τi,m实际执行长度按下述a式计算:
li,m=Mi,mi,m×Oi,m a;
所述步骤1中的QoS模型按下述步骤构建:
步骤B1:在应用程序Ai在终端设备上本地执行的情况下,其QoS被表示为成功发送的输出数据总量,由本地执行应用程序Ai生成的输出数据总量由下述b式表示为:
Figure FDA0004142559020000021
所述QoS由下述c式表示为:
Figure FDA0004142559020000022
其中:βi表示成功发送的输出数据量与生成的输出数据总量的比率;
步骤B2:在雾化服务器S上远程执行应用程序Ai的情况下,其QoS表示为应用程序中所有任务的输出数据总量,应用程序Ai的QoS由下述d式表示为:
Figure FDA0004142559020000023
其中:
Figure FDA0004142559020000024
是远程执行应用程序Ai的所有任务产生的输出数据总和;
Figure FDA0004142559020000025
是通过远程执行任务τi,m生成的输出数据量;
步骤B3:应用程序Ai的QoS由下述e式表示为:
Figure FDA0004142559020000026
其中:δi∈{0,1}是二元决策变量;
步骤B4:当应用程序Ai决定将其计算转移到雾化服务器时,δi被设置为0;否则,将δi设置为1,因此,在调度范围[t,t+H]期间实现的系统QoS由下述f式计算为N个应用所获得QoS的总和Q:
Figure FDA0004142559020000031
所述步骤1中的能量模型按下述步骤构建:
步骤C1:由下述g式计算调度范围[t,t+H]期间可再生能源的收获能力Pharv(t):
Figure FDA0004142559020000032
步骤C2:由下述h式计算调度范围[t,t+H]期间终端设备总可用能量
Figure FDA0004142559020000033
Figure FDA0004142559020000034
其中:
Figure FDA0004142559020000035
表示能量存储模块在时间t时提供的能量供应;
步骤C3:由下述i式计算传感器、MPSoC和数据收发器的总能量消耗
Figure FDA0004142559020000036
Figure FDA0004142559020000037
其中:
Figure FDA0004142559020000038
为传感器能量消耗;
Figure FDA0004142559020000039
为MPSoC能量消耗;
Figure FDA00041425590200000310
Figure FDA00041425590200000311
为数据收发器能量消耗;
所述
Figure FDA00041425590200000312
其中:Psen为传感器总能量消耗,如果应用程序Ai在终端设备的本地执行,则
Figure FDA00041425590200000313
是将应用程序Ai的输出数据从终端设备发送到雾化服务器所消耗的能量;
所述
Figure FDA00041425590200000314
其中:Ptra是数据收发器的功耗;
Figure FDA00041425590200000315
表示数据收发器能耗;
所述
Figure FDA0004142559020000041
如果在雾化服务器上远程完成应用程序Ai,则
Figure FDA0004142559020000042
是将应用程序Ai的输出数据从终端设备发送到雾化服务器所消耗的能量;G处理器能耗由下述j式计算:
Figure FDA0004142559020000043
其中:Pg和Cg分别为G处理器的静态功耗和有效开关电容,两者是G处理器体系结构相关常数;Γi,g是任务集Γi的子集,且由分配给G处理器的这些任务组成,因此,在每个调度范围期间终端设备的整体能量消耗由下述k式计算:
Figure FDA0004142559020000044
所述步骤2具体包括下述步骤:
步骤D1:由元组{A,E,F}表述N个玩家合作游戏,其中:A={A1,A2,…AN}是玩家组;
步骤D2:由
Figure FDA0004142559020000045
表示合作游戏中涉及的N个应用可能达到的候选纳什议价协议的集合,
Figure FDA0004142559020000046
其代表N个应用的初始协议,其中:
Figure FDA0004142559020000047
为确保满足初始性能要求为应用Ai提供的最小能量供应;
步骤D3:由
Figure FDA0004142559020000048
表示分配的能量供应的应用QoS功能的集合,并以下述l式制定能源分配博弈:
Figure FDA0004142559020000049
步骤D4:由下述n式将应用程序Ai的性能功能定义为应用程序通过提供的能量供应
Figure FDA00041425590200000410
实现的近似QoS:
Figure FDA00041425590200000411
其中:
Figure FDA00041425590200000412
是应用程序Ai在一个设备L执行应用程序Ai时产生单位量的QoS所消耗的能量;
Figure FDA0004142559020000051
为能量供应;
步骤D5:给定能量供应
Figure FDA0004142559020000052
预设设备L在调度时间范围[t,t+H]和N个应用的基本QoS的要求
Figure FDA0004142559020000053
得出能量分配的最佳协议
Figure FDA0004142559020000054
并由下述m1-4式以最大化系统的QoS和各个应用的QoS优化的能量分配定义如下:
Figure FDA0004142559020000055
Figure FDA0004142559020000056
Figure FDA0004142559020000057
Figure FDA0004142559020000058
其中:
Figure FDA0004142559020000059
为应用程序Ai为实现其初始性能要求
Figure FDA00041425590200000510
而应分配给它的最小能量预算;
Figure FDA00041425590200000511
为应用程序Ai在截止时间约束下最大化其自身QoS所需的最大能量供应;
步骤D6:将目标函数转化为典型的凸函数,即最小化
Figure FDA00041425590200000512
Figure FDA00041425590200000513
验证原目标函数的约束集是凸的,并由下述o式的拉格朗日表示:
Figure FDA00041425590200000514
其中:
Figure FDA00041425590200000515
ψii是拉格朗日乘子,令一阶偏导
Figure FDA00041425590200000516
得:
Figure FDA00041425590200000517
其中:
Figure FDA00041425590200000518
为最佳拉格朗日乘子,最佳解决方案为
Figure FDA00041425590200000519
Figure FDA00041425590200000520
步骤D7:根据Karush-Kuhn-Tucker条件有:
Figure FDA0004142559020000061
Figure FDA0004142559020000062
Figure FDA0004142559020000063
其中,
Figure FDA0004142559020000064
意味着在合作博弈后由应用程序Ai实现的性能等于其基本要求
Figure FDA0004142559020000065
的特殊情况,而当
Figure FDA0004142559020000066
时,则可得到
Figure FDA0004142559020000067
Figure FDA0004142559020000068
由原始问题的对偶问题来获得,其对偶问题由下述p式表示为:
Figure FDA0004142559020000069
其中:s.t.ψi≥0;
Figure FDA00041425590200000610
步骤D8:如果其Hessian矩阵中每个元素非负,则函数是凸的,而
Figure FDA00041425590200000611
Figure FDA00041425590200000612
Figure FDA00041425590200000613
即对偶问题的Hessian矩阵中每个元素非负,亦即对偶问题是凸的,有唯一的最优解;
所述步骤3包括以下变量的定义:
Figure FDA00041425590200000614
Bi,m为任务τi,m开始时间;αi,m为任务τi,m可选执行因子;
Figure FDA00041425590200000615
为传感器分配的能量;
Figure FDA00041425590200000616
为任务执行分配的能量;
Figure FDA00041425590200000617
为结果传输分配的能量;
如果在终端设备上本地执行的QoS,则应用程序的QoS不能超过其生成的输出数据的总量,通过将生成的输出数据的总量
Figure FDA00041425590200000618
限制为完全传输,
Figure FDA00041425590200000619
实际上是应用程序Ai实现的本地执行QoS
Figure FDA00041425590200000620
其目标函数由下述q式表示:
Figure FDA0004142559020000071
并且满足如下约束条件:
Figure FDA0004142559020000072
Figure FDA0004142559020000073
Figure FDA0004142559020000074
Figure FDA0004142559020000075
Figure FDA0004142559020000076
Figure FDA0004142559020000077
Figure FDA0004142559020000078
Figure FDA0004142559020000079
Figure FDA00041425590200000710
Figure FDA00041425590200000711
Figure FDA00041425590200000712
Figure FDA00041425590200000713
Figure FDA00041425590200000714
Figure FDA00041425590200000715
Figure FDA00041425590200000716
Figure FDA00041425590200000717
Figure FDA00041425590200000718
Figure FDA00041425590200000719
Figure FDA00041425590200000720
Figure FDA00041425590200000721
Figure FDA00041425590200000722
Figure FDA0004142559020000081
将Ai,m,g∈{0,1}的整数约束放宽到Ai,m,g∈[0,1],以此减少时间开销,为避免
违反
Figure FDA0004142559020000082
的约束,将Ai,m,g与给定阈值Athr进行比较,如果Ai,m,g≥Athr成立,则Ai,m,g=1;否则Ai,m,g=0。
2.根据权利要求1所述可再生自适应计算卸载分层服务质量优化方法,其特征在于所述步骤4具体包括下述步骤:
步骤E1:在终端设备层进行QoS优化的第一阶段后获得一个最佳QoS集
Figure FDA0004142559020000083
假设在没有雾服务器的帮助下所有N个应用都在终端设备L上本地执行;
步骤E2:在雾层的QoS优化的第二阶段,利用计算卸载的概念来重新定义并提高每个应用程序可能实现的QoS;
步骤E3:基于计算卸载指南,如果应用程序的远程执行增益高于其本地执行增益,则应用程序将触发计算卸载,即在保持应用程序Ai的能量和期限在约束范围内时,当
Figure FDA0004142559020000084
时,应用程序Ai将其在第一阶段收集的输入数据从本地终端设备转发到远程雾化服务器上询问雾化服务器,而不是终端设备去执行其所有任务,并由下述r式进行更新终端设备L处理应用程序Ai所消耗的能量
Figure FDA0004142559020000085
的计算:
Figure FDA0004142559020000086
得到能量供应
Figure FDA0004142559020000087
和能量耗散
Figure FDA0004142559020000088
之间的能量差为释放的能量;
步骤E4:将应用程序Ai释放的能量重新分配给那些不能满足
Figure FDA0004142559020000089
并因此选择在终端设备L上执行的本地执行的应用程序是有利的,其结果不仅提高了应用程序Ai的QoS,还可以重新定义其他应用程序的QoS,从而增强整个系统的QoS;
步骤E5:将计算卸载标记δi初始化为1,并将QoS Qi设置为每个应用程序Ai的本地执行QoS
Figure FDA0004142559020000091
在在终端设备L的能量供应足够的情况下,即标记E=1,则不需要执行计算卸载,因此直接返回每个应用在本地实现的QoS;相反,在终端设备L的能量供应不足的情况下,即标记E=0,可能触发计算卸载,此时,初始化终端设备L的总能耗
Figure FDA0004142559020000092
用于处理远程执行的应用程序;如果应用程序Ai选择在雾化服务器上远程执行,则计算时间开销
Figure FDA0004142559020000093
检查应用程序Ai的所有可选执行周期是否完成,如果答案为否,则将标记λi置为1,然后计算能量消耗
Figure FDA0004142559020000094
假设应用程序Ai在雾化服务器上执行,检查是否同时满足下述条件:
Figure FDA0004142559020000095
如果条件
Figure FDA0004142559020000096
为真,则存在松弛时间使雾化服务器提高应用程序Ai的QoS;如果条件
Figure FDA0004142559020000097
为真,则存在足够的能量将输入数据从终端设备转发到雾化服务器;如果条件λi=1为真,则存在应用程序Ai的未完成的可选的执行循环;如果三个条件都为真,则条件
Figure FDA0004142559020000098
成立,此时触发应用程序Ai的计算卸载,即将计算卸载标记δi更新为0,并导出可用于QoS增强的松弛时间
Figure FDA0004142559020000099
步骤E6:使用迭代更新任务的可选执行因子和应用QoS Qi,当应用程序Ai的松弛时间
Figure FDA00041425590200000910
耗尽时,更新能量消耗
Figure FDA00041425590200000911
并且进行下一个应用程序的QoS的改善,对于仍然选择在终端设备上本地执行的这些应用,在某些应用的计算卸载到雾化服务器之后导出它们的可用能量供应
Figure FDA00041425590200000912
并重新确定能量到应用和能量组件的分配,以增强本地执行QoS;最后,最优的本地-远程调度解决方案是更新每个应用程序中所有任务的可选执行因子,卸载标记集(δ12,…,δN),应用QoS集(Q1,Q2,…,QN)。
CN201911031315.1A 2019-10-28 2019-10-28 一种可再生自适应计算卸载分层服务质量优化方法 Active CN110990130B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 湖南大学 计算任务卸载系统与方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
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