宋 家 余 靖 金顺福
(燕山大学信息科学与工程学院 秦皇岛066004)
随着智能手机的大量普及和移动通信网络的迅猛发展,各类网络应用程序,如交互式游戏、虚拟现实、自然语言处理等层出不穷。这些应用程序通常是计算密集型和高耗能的,不适合在计算能力和电池供应有限的移动设备上工作。为了满足复杂应用程序的资源需求,移动云计算的概念应运而生。如何设计同时保证云用户的服务质量和云服务供应商运营利润的云计算卸载策略成为热门研究问题[1-2]。
过去的几年中,云数据中心的能源消耗持续增长,云数据中心消耗的大量能量对环境造成了不利影响。文献[3]提出了以节省能量消耗为目标的云资源调度优化管理程序,利用虚拟机监控程序分配资源,实现云计算资源分配的最小能耗和最高效率。文献[4]为了解决云用户的服务质量和能耗等问题提出了一种云计算环境下动态资源分配模型,使用间距多目标蚁群算法将云系统状态的动态变化与任务调度相结合,通过调整未使用的虚拟机,节省云系统的能源消耗。上述文献均采用资源优化配置的方式节省云系统能源消耗。
考虑到大部分云资源的使用率都较低,部分研究通过应用休眠机制以实现降低能源消耗的目的。文献[5]为提高云系统节能水平,同时满足云用户响应性能,引入休眠延迟机制与休眠唤醒阈值,提出了一种云资源调度策略。建立带有休假延迟与启动过程的同步N-策略多重休假排队模型,评估了所提策略的系统性能。文献[6]以实现绿色云计算为目的,将基于唤醒阈值的休眠模式引入到集群虚拟机中,提出了一种云任务分配策略。建立异步N-策略多重休假排队模型,给出了任务平均延迟和系统节能率的表达式。在以上的休眠机制中,处于休眠状态的虚拟机完全不工作,虽然有效降低了云系统能源消耗,但是云用户的服务质量得不到保证。
本文兼顾云用户的服务质量与云系统的能源消耗水平,在云端引入周期性同步半休眠模式,提出一种新型的云计算任务卸载策略。考虑不同负载情况下的云端虚拟机服务速率,构建连续时间工作休假的排队模型,研究云用户的随机行为。结合系统中任务请求的数量、本地处理器状态以及云端虚拟机状态,建立二维连续时间的Markov 链,进行云用户平均响应时间与云系统能源消耗的理论分析。考虑不同休眠参数和不同系统负载,基于Matlab 进行系统实验,给出系统性能指标的统计结果。构造系统成本函数,利用Logistic 映射混沌方法初始化种群位置,改进海鸥优化算法。以最小化系统成本函数为目标,优化任务请求本地分配概率,为云计算任务卸载策略的实施提供理论依据。
针对移动设备存储空间不足且处理能力有限等问题,将部分任务请求迁移到云端[7]。云服务通过分布式软件依托于云计算环境。在云数据服务中心上通常部署一个或多个物理机,而一个物理机上又可以部署多个虚拟机。当一个物理机上没有需要被执行的任务时,如果其上部署的虚拟机保持空闲状态,会因此产生大量的能耗,让空闲的虚拟机进入休眠状态是降低云计算能耗的有效方法之一。然而,休眠模式也可能会降低响应性能。因此在云端引入半休眠模式,提出一种新的云计算任务卸载策略。
产生于移动设备的任务请求首先汇聚于接入点,然后在本地负载均衡器的调度下就近分配到本地处理器接受服务,或卸载至云端接受服务。卸载到云端的任务请求由云端负载均衡器分配给某一个物理机。云计算任务卸载策略的系统架构如图1 所示。
图1 云计算任务卸载策略系统架构
当一个物理机上的任务请求全部完成时,若缓存区中也无等待的任务请求,则该物理机上部署的全部虚拟机同时由常规状态进入半休眠状态。在常规状态下的虚拟机有高速工作状态和高速空闲状态两种状态。在半休眠状态下,虚拟机不是完全停止工作,而是以低速率运转,此时包含有低速工作状态和低速空闲状态。在所提出的云计算任务卸载策略中,虚拟机共有4 种状态:高速工作状态、高速空闲状态、低速工作状态和低速空闲状态。虚拟机的状态转换过程如图2 所示。
图2 虚拟机的状态转换图
(1) 高速工作状态。物理机及物理机上部署的全部虚拟机正常工作,此状态下物理机中至少有一个虚拟机正在服务任务请求。高速工作状态下到达缓存区的任务请求依次在虚拟机接受服务。当服务完成最后一个任务请求时,物理机启动休眠定时器,开始一段半休眠期,物理机上的所有虚拟机同时进入低速空闲状态。若处于高速工作状态的虚拟机服务完成当前的任务请求,未分配到新的任务请求,且同一物理机内有其他虚拟机还处于高速工作状态,则该虚拟机转换到高速空闲状态。
(2) 高速空闲状态。处于高速空闲状态的虚拟机若分配到新的任务请求,则立即转换到高速工作状态提供服务。若物理机服务完成最后一个任务请求,则启动休眠定时器,其上的所有虚拟机同时进入低速空闲状态。
(3) 低速空闲状态。处于低速空闲状态的虚拟机可以随时为新到达的任务请求提供服务,不受半休眠定时器的控制。如果在休眠定时器所规定的范围内没有任务请求到达,物理机将重新启动休眠定时器,开始一次新的半休眠期,其上的虚拟机均保持在低速空闲状态。当一个虚拟机处于低速空闲状态时,若休眠定时器到期,且同一物理机内有其他虚拟机未服务完成任务请求,则物理机结束半休眠,该虚拟机转换到高速空闲状态;若分配到新的任务请求,该虚拟机立即由低速空闲状态转换到低速工作状态。
(4) 低速工作状态。当一个虚拟机以较低的速率完成当前的任务请求时,如果缓存区没有其他等待的任务请求,该虚拟机将由低速工作状态转换到低速空闲状态;否则,该虚拟机保持在低速工作状态,以较低的服务速率为缓存区中等待的任务请求提供服务。当休眠定时器到期时,如果有其他虚拟机还在服务当前的任务请求,该物理机上的全部虚拟机同时进入高速工作状态[8]。
将移动设备的CPU 视为本地服务台,建立单一服务台连续工作排队。云端每个虚拟机视为远程服务台,建立多服务台同步多重工作休假排队。结合单一服务台连续工作排队与同步多重工作休假排队,建立系统模型。
假设移动设备任务请求的生成间隔是参数为λ(0<λ <+∞) 的指数分布。经过本地负载均衡器调度后以概率p分配到本地,以概率卸载至云端。
显然,本地服务台任务请求的到达服从参数为λ0=pλ(0<λ0<λ) 的Poisson 过程。假设本地服务台对一个任务请求的服务时间服从参数为μ0(0<μ0<+∞) 的指数分布。假设本地只有一个服务台,等待缓存区容量无穷大,假设任务请求的到达过程与服务过程是彼此独立的。因此,本地服务台执行任务请求的过程可看做M/M/1 排队。
在云端负载均衡器的调度下,分配到云端的任务请求以qi(0<i≤n)(n为云端部署的物理机个数)的概率分配到第i个物理机接受服务。对于第i个物理机,任务请求的到达服从参数为的Poisson 过程。假设第i个物理机中部署了ci个相互独立并行工作的虚拟机,当任务请求到达一个物理机时,若有高速空闲状态的虚拟机,则立即接受服务,否则排队等待。一旦物理机服务完成最后一个任务请求,ci个虚拟机同时开始随机长度Vi的工作休假,其中Vi服从参数为θi(0<θi <+∞) 的指数分布。在非工作休假期内,任务请求的服务时间服从参数为μbi(0<μbi <+∞) 的指数分布,工作休假期服务时间服从参数为μvi(0<μvi <μbi) 的指数分布。假设所有物理机具有无限缓存,假设任务请求的到达间隔、服务时间和工作休假期的长度相互独立。因此,第i个物理机执行任务请求的过程可看做同步多重工作休假M/M/ci排队[9-10]。
令随机变量Li(t)=l(l=0,1,…) 表示时刻t第i个物理机中任务请求的数量,称为系统水平。令随机变量Ji(t)=j(j=0,1) 表示时刻t物理机所处的状态:j=0 表示物理机处于工作休假状态,j=1 表示物理机处于正规忙状态。{(Li(t),Ji(t)),t≥0} 构成一个二维连续时间Markov 链,其状态空间Ωi为
令πi(l,j) 表示稳态下系统水平为l且物理机状态为j的概率分布。πi(l,j) 定义为
令πi(0)=πi(0,0) 表示为稳态下系统水平为0 的概率向量,令πi(l)=(πi(l,0),πi(l,1))表示为稳态下系统水平为l的概率向量。二维连续时间Markov 链{(Li(t),Ji(t)),t≥0} 的稳态概率分布Πi表示为
根据云计算任务卸载策略建立的系统模型由1 个M/M/1 排队和n(n为云端部署的物理机个数)个同步多重工作休假M/M/ci排队构成,其中ci为云端部署的第i(0<i≤n) 个物理机上虚拟机的个数。为确保整个系统模型达到稳态,需要系统模型中的每一个排队均达到稳态。
本地处理器所对应的M/M/1 排队的稳态条件为
其中,ρ0表示为本地处理器的流通强度。
云端服务器上部署的第i(0<i≤n) 个物理机所对应的同步多重工作休假M/M/ci排队的稳态条件为
其中,ρi表示云端服务器上部署的第i个物理机的流通强度。
结合式(1)与式(2),给出系统模型处于稳定状态的充分必要条件为
根据云端中每个物理机上任务请求的数量l与物理机所处状态j之间的关系,给出Markov 链{(Li(t),Ji(t)),t≥0} 的状态转移过程,如图3所示。
图3 Markov 过程的状态转移
由图3 可知,状态转移只发生在相邻的系统水平之间,表明二维Markov 链{(Li(t),Ji(t)),t≥0}是拟生灭过程。
令Qi表示Markov 链{(Li(t),Ji(t)),t≥0}的一步转移率矩阵。根据系统水平划分Qi为若干个子阵。令Qi(x,y) 表示系统水平由x(x=0,1,…) 到y(y=0,1,…) 的转移率子阵。为表述方便,将Qi(x,x -1)、Qi(x,x) 和Qi(x,x +1) 分别记为Bi(x)、Ai(x) 和Ci(x)。
(1) 当第i个物理机中任务请求的数量由x变为x -1 时,转移率子阵为Bi(x)。
当x=1 时,若以低速率服务完成任务请求,虚拟机将由低速工作状态变为低速空闲状态,即由状态(1,0)转换到状态(0,0),转移率为μvi;若以高速率服务完成任务请求,虚拟机将由高速工作状态变为低速空闲状态,即由状态(1,1)转换到状态(0,0),转移率为μbi。Bi(1) 为2 ×1 维矩阵,可表示为
当2 ≤x≤ci时,若以低速率服务完成任务请求,虚拟机将由低速工作状态变为低速空闲状态,即由状态(x,0) 转换到状态(x -1,0),转移率为xμvi;若以高速率服务完成任务请求,虚拟机将由高速工作状态变为高速空闲状态,即由状态(x,1) 转换到状态(x -1,1),转移率为xμbi。Bi(x) 为2 ×2维矩阵,可表示为
当x >ci时,若以低速率服务完成任务请求,虚拟机将继续保持低速工作状态,即由状态(x,0) 转换到状态(x -1,0),转移率为ciμvi;若以高速率服务完成任务请求,虚拟机将继续保持高速工作状态,即由状态(x,1) 转换到状态(x -1,1),转移率为ciμbi。Bi(x) 为2 ×2 维矩阵,可表示为
(2) 当第i个物理机中任务请求的数量x保持不变时,转移率子阵为Ai(x)。
当x=0 时,第i个物理机处于半休眠状态,其上所有虚拟机低速空转。若无任务请求到达,状态(0,0)保持不变,转移率为-λi。Ai(0) 退化为一个数,可表示为
当1 ≤x≤ci时,若j=0,第i个物理机处于半休眠状态,其上部署的虚拟机部分低速运转部分低速空转。若无任务请求到达也无任务请求离开且休眠定时器未到期,状态(x,0) 保持不变,转移率为-(λi+xμvi+θi);若休眠定时器到期,物理机由状态(x,0) 转换到状态(x,1),转移率为θi。若j=1,第i个物理机处于常规状态,其上部署的虚拟机部分高速运转部分高速空转。若无任务请求到达也无任务请求离开,状态(x,1) 保持不变,转移率为-(λi+xμbi)。Ai(x) 为2 ×2 维矩阵,可表示为
当x >ci时,若j=0,第i个物理机处于半休眠状态,其上部署的虚拟机部分低速运转部分低速空转。若无任务请求到达也无任务请求离开且休眠定时器未到期,状态(x,0)保持不变,转移率为-(λi+ciμvi+θi);若休眠定时器到期,物理机由状态(x,0) 转换到状态(x,1),转移率为θi。若j=1,第i个物理机处于常规状态,其上部署的虚拟机部分高速运转部分高速空转。若无任务请求到达也无任务请求离开,状态(x,1)保持不变,转移率为-(λi+ciμbi)。Ai(x) 为2 ×2 维矩阵,可表示为
(3) 当第i个物理机中任务请求的数量由x变为x +1 时,转移率子阵为Ci(x)。
当x=0 时,第i个物理机处于半休眠状态,其上所有虚拟机低速空转。若有任务请求达到,其中一个虚拟机将变为低速工作状态,即由状态(0,0)转换到状态(1,0),转移率为λi。Ci(0) 为1 ×2 维矩阵,可表示为
当x≥1 时,若j=0,第i个物理机处于半休眠状态,其上部署的虚拟机既有低速空转又有低速运转。若有任务请求到达,物理机由状态(x,0) 转换到状态(x +1,0),转移率为λi。若j=1,第i个物理机处于常规状态,其上部署的虚拟机部分高速运转部分高速空转。若有任务请求到达,物理机由状态(x,1) 转换到状态(x +1,1),转移率为λi。Ci(x) 为2 ×2 维矩阵,可表示为
结合以上给出的一步转移率子阵,发现Bi(x)(0<i≤n) 和Ai(x)(0<i≤n) 从系统水平ci起开始重复,转移率子阵Ci(x)(0<i≤n) 从系统水平1 起开始重复。将重复的Bi(x)、Ai(x) 和Ci(x) 分 别 用Bi、Ai和Ci表 示,则Markov 链{(Li(t),Ji(t)),t≥0} 的一步转移率矩阵Qi可表示为分块三对角形式
拟生灭过程{(Li(t),Ji(t)),t≥0} 正常返的充分必要条件是矩阵二次方程式
有最小非负解Ri,且谱半径Sp(Ri)<1。最小非负解Ri被称为率阵,可以推出其精确解。
由于转移率子阵Bi、Ai和Ci均为上三角矩阵,因此,率阵Ri也为上三角矩阵,表示为
将Ri、Bi、Ai和Ci代入矩阵二次方程式(4)中,可得方程组
利用所得出的率阵Ri,构建一个方阵B[Ri]为
由矩阵几何解中的平衡方程和归一化条件可知,拟生灭过程{(Li(t),Ji(t)),t≥0} 的平稳分布满足方程组
其中,e1是(2ci -1)×1 的全1 列向量,e2是2 ×1的全1 列向量,I是2 ×2 的单位阵。
利用高斯-塞德尔法求解方程式(7),可以给出πi(k)(0 ≤k≤ci) 的数值解。
基于矩阵几何解方法,由πi(ci) 进一步给出πi(k)(k≥ci +1) 如下:
关注云用户响应时间和云系统能耗水平,评估基于半休眠模式的云计算任务卸载策略的性能指标。
任务请求在本地处理器接受服务的平均响应时间TMD包括任务请求在本地缓存中的等待时间与在本地处理器上执行的时间。根据M/M/1 排队模型,可以得到TMD的表达式为
任务请求卸载到云端服务器接受服务的平均响应时间TC包括任务请求在云端缓存中的等待时间与在云端服务器上执行的时间。卸载到云端后第i个物理机上任务请求的平均响应时间Ti的表达式为
其中,Tsi表示任务请求在第i个物理机上的平均服务时间,e为2 ×1 的全1 列向量。
根据卸载到第i个物理机上的任务请求到达云端时的状态,分以下4 种情况讨论Tsi。(1) 若第i个物理机处于常规状态,当前任务请求接受高速率服务,平均服务时间为;(2) 若第i个物理机处于半休眠状态,休眠定时器到期之前缓存中排队等待的所有任务请求及当前任务请求均完成服务,当前任务请求接受低速率服务,平均服务时间为;(3) 若第i个物理机处于半休眠状态,休眠定时器到期之前缓存中排队等待的所有任务请求均完成服务,但当前任务请求未服务完成,当前任务请求经历一段低速率服务和一段高速率服务,平均服务时间为;(4) 若第i个物理机处于半休眠状态,休眠定时器到期时,缓存中有排队等待的任务请求未服务完成,当前任务请求接受高速率服务,平均服务时间为。因此,任务请求在第i个物理机上的平均服务时间Tsi表示为
令任务请求分配到第i个物理机上的概率为qi(0<qi <1),则卸载到云端接受服务的任务请求的平均响应时间TC的表达式为
云用户的平均响应时间T定义为任务请求从进入系统开始直到离开系统所经历的时间长度的平均值。结合式(8)和式(9),给出平均响应时间T的表达式为
其中,p(0<p <1) 为任务请求在本地处理器接受服务的概率,为任务请求卸载到云端服务器接受服务的概率。
本地处理器处于工作状态时的平均运行功率表示为Pbusy,处于空闲状态时的平均运行功率表示为Pidle。任务请求在本地处理器接受服务的平均功率消耗EMD为
云端上部署的第i个物理机处于半休眠状态时,该物理机维持其上一个虚拟机空转的平均运行功率表示为;维持其上一个虚拟机运转的平均运行功率表示为。云端上部署的第i个物理机处于常规状态时,该物理机维持其上一个虚拟机空转的平均运行功率表示为;维持其上一个虚拟机运转的平均运行功率表示为。任务请求在云端服务器接受服务的平均功率消耗为
结合式(11)和式(12),给出系统平均功率E的表达式为
为了进一步进行系统实验研究任务请求初始分配概率与休眠参数对云计算任务卸载策略的影响,进行性能指标变化趋势的系统实验。系统实验的计算机硬件环境为Intel(R) Core(TM),i7-4790 CPU@3.60 GHz,8.00 GB RAM。软件环境为Matlab R2016a。
在保证系统模型稳定的条件下的参数设置如表1所示。
表1 实验参数设置
根据表1 设定的实验参数,针对不同的休眠参数θ和不同的任务请求到达率λ,给出云用户平均响应时间T随任务请求本地分配概率p的变化趋势如图4 所示。
图4 云用户平均响应时间的变化趋势
对比图4 (a)和4 (b)可知,当任务请求本地分配概率p和任务请求到达率λ一定时,随着休眠参数θ的增大,云用户平均响应时间T减小。休眠参数θ较大时,云端物理机处于半休眠状态的时间长度缩短。这种情况下,云端服务器可以更及时地返回常规状态以高速服务率为任务请求提供服务。因此,云用户平均响应时间T减小。
固定任务请求到达率λ和休眠参数θ,分别观察图4(a)和图4(b)可知,随着任务请求本地分配概率p的增加,云用户平均响应时间T呈现出先下降后上升的趋势。在曲线最低点左侧,任务请求本地分配概率p较小,任务请求到达系统后大概率地卸载到云端服务器接受服务,任务请求在云端的响应时间成为云用户平均响应时间T的主导因素。随着任务请求本地分配概率p的增加,分配到本地的任务请求逐渐增多,堆积在云端的任务请求减少,云用户平均响应时间T随之减小。在曲线最低点右侧,任务请求本地分配概率p较大,任务请求到达系统后大概率地选择在本地处理器接受服务,任务请求在本地处理器接受服务的响应时间成为云用户平均响应时间T的主导因素。随着任务请求本地分配概率p的增加,分配到本地的任务请求越来越多,大量的任务请求将会堆积在本地处理器的缓存区,云用户平均响应时间T随之增大。
固定休眠参数θ和任务请求本地分配概率p,分别观察图4(a)和图4(b)可知,随着任务请求到达率λ的增加,云用户平均响应时间T增加。无论是在本地还是云端,随着任务请求到达率λ的值增大,系统内到达的任务请求数量也就越多,显然云用户平均响应时间T将会增大。
针对不同的休眠参数θ和不同的任务请求到达率λ,给出云系统平均功率E随任务请求本地分配概率p的变化趋势如图5 所示。
对比图5(a)和5(b)可知,当任务请求到达率λ一定而任务请求本地分配概率p较小时,随着休眠参数θ的增大,云系统平均功率E略有增大。休眠参数θ较大时,云端物理机处于半休眠状态的时间长度缩短,物理机可以更及时地转换到常规状态。处于常规状态的物理机所消耗的功率大于处于半休眠状态的物理机所消耗的功率。因此,云系统平均功率E增加。当任务请求到达率λ一定而任务请求本地分配概率p较大时,卸载到云端的任务请求数量较少,云端物理机有更多的机会持续处于半休眠状态。云系统平均功率E与休眠参数θ的关系减弱。
固定休眠参数θ和任务请求到达率λ,分别观察图5(a)和图5(b)可知,随着任务请求本地分配概率p的增加,云系统平均功率E呈现出先下降后上升的趋势。在曲线最低点左侧,任务请求本地分配概率p较小,任务请求到达系统后大概率地卸载到云端服务器接受服务。随着任务请求本地分配概率p的增加,卸载到云端的任务请求减少,云端物理机有更多的机会进入半休眠状态,云系统平均功率E随之减小。在曲线最低点右侧,任务请求本地分配概率p较大,任务请求到达系统后大概率地选择在本地处理器接受服务。随着任务请求本地分配概率p的增加,本地处理器提供服务需要的功耗增加,云系统平均功率E随之变大。
图5 云系统平均功率的变化趋势
固定休眠参数θ和任务请求本地分配概率p,分别观察图5(a)和图5(b)还可知,随着任务请求到达率λ的增加,云系统平均功率E增加。无论是在本地还是云端,随着任务请求到达率λ的增大,系统内到达的任务请求数量增多,执行任务请求需要的功耗更多,因此云系统平均功率E将会增大。
综合图4 和图5 的实验结果可以发现,任务请求本地分配概率是影响系统性能的重要因素。兼顾云用户和云系统的不同要求,在不同的任务请求到达率和相同的休眠参数情况下,优化任务请求本地分配概率。
为了权衡云用户平均响应时间与云系统平均功率之间的折衷关系,构造系统成本函数F为
其中,β1表示云用户平均响应时间T对系统成本的影响因子,β2表示云系统平均功率E对系统成本的影响因子。在实际应用中,对于高响应需求的云系统,可将参数β1的值设置得大些;而对于高节能需求的云系统,则可将参数β2的值设置得大些。
与其他智能优化算法相比,海鸥智能优化算法容易实现,且不需要调整过多的参数[13]。为了加快算法搜索速度,利用Logistic 映射混沌方法进行海鸥位置初始化,改进海鸥优化算法,优化任务请求本地分配概率。算法中海鸥的位置表示任务请求本地分配概率p,海鸥的适应值表示系统成本函数F的值。算法的主要步骤如下。
步骤1初始化海鸥数量N,最大迭代次数Maxiterations,控制海鸥在给定搜索空间中运动行为A的频率fc,螺旋攻击形状的相关常数u、v,海鸥飞行位置的上边界Maxp与下边界Minp。初始化当前迭代次数t=0。
步骤2利用Logistic 映射方法产生混沌变量初始化海鸥的位置。
步骤3初始化当前最佳海鸥位置p*和适应值F*。
步骤4根据海鸥迁徙行为和攻击行为更新海鸥位置。
步骤5使用系统成本函数F计算海鸥的适应值F(pm),m=1,2,…,N。
步骤6找出当前最佳海鸥位置p*和适应值F*。
步骤7更新迭代次数。
步骤8输出最佳海鸥位置为最优任务请求本地分配概率p*;输出最佳适应值为最小系统成本F*。
沿用第4 节系统实验的参数,设定β1=2,β2=0.2,N=30,Maxiterations=1000,fc=2,u=1,v=1,Maxp=0.99999,Minp=0.00001。利用改进的海鸥优化算法,给出任务请求本地分配概率的优化结果如表2 所示。
由表2 的优化结果可知,对于相同的休眠参数θ,当任务请求到达率λ增大时,受本地处理器处理能力的限制,会有更多的任务请求卸载到云端服务器,因此,最优任务请求本地分配概率p*变小。对于相同的任务请求到达率λ,休眠参数θ越大,云端服务器处于半休眠状态的时间越短,云端服务器产生的功率消耗越高。为了实现系统成本的最小化,更多的任务请求将在本地处理器接受服务,因此,最优任务请求本地分配概率p*越大越好。
表2 任务请求本地分配概率的优化结果
综合考虑云用户低响应时间与云系统低功率消耗的要求,根据系统负载调整云端服务器的工作速率,基于半休眠模式,提出了一种云计算任务卸载策略。通过建立本地单一服务台连续工作排队和云端多服务台同步多重工作休假排队,给出了稳态下云用户平均响应时间和云系统平均功率的表达式,并通过实验揭示出不同性能指标之间的折衷关系。从经济学角度出发,构建了系统成本函数,改进传统的海鸥优化算法,给出了任务请求本地分配概率的优化方案。
本文所引入的周期性同步半休眠模式具有良好的节能效果。在未来的研究中,将考虑具有多级适应性的半休眠模式,以进一步提高用户的响应性能。