安红宇,王宇廷,金顺福
(燕山大学 信息科学与工程学院,河北 秦皇岛 066004)
云计算通过网络有效聚合被虚拟化的计算资源,基于集中构建的数据中心为单一用户或多租客提供动态、高性价比和弹性规模扩展的各类信息服务,改变了传统信息技术产业的体系架构和运作模式,受到国内外学术界和产业界的极大关注[1]。值得注意的是,在云系统的运行过程中往往会因为虚拟机的不合理调度,导致资源和能量的浪费,引起云供应商和云用户服务利益失衡[2]。
近年来,国内外专家学者结合节能问题对云资源的管理展开了研究。云系统中产生能源浪费主要有两个方面的原因:一方面是云系统的资源服务与云用户的任务请求不匹配,另一方面是云系统中资源的低效管理与任务的无序调度。文献[3]提出了一种基于异构云环境的自适应任务分配算法,最小化云系统的服务时间并降低能耗。在CloudSim仿真环境下进行实验,验证了该算法在云环境中的有效性。文献[4]提出了一种启发式方法(Placement Selections-Experimental Scenarios, PS-ES)。将粒子群优化(Particle Swarm Optimization, PSO)算法与模拟退火(Simulated Annealing, SA)算法相结合,改进具有全局搜索能力的PSO算法。与随机迁移和最优迁移相比,PS-ES方法降低了总能耗,可以更好地保护虚拟机运行和迁移的性能。文献[5]构建了一个虚拟机放置/迁移平台,最大限度地降低了云数据中心的总功耗。通过优化调度与估算技术的协作,在平台中嵌入了估计模块以预测系统的预期负载。文献[6]针对云计算系统在运行过程中由于计算节点空闲而产生空闲能耗,以及由于不匹配任务调度而产生“奢侈”能耗的问题,运用排队理论对云计算系统进行建模,提出了一种大服务强度小执行能耗的任务调度策略。该策略在保证执行性能的前提下,可大幅度降低云计算系统的能耗开销。上述研究均在云系统的节能方面做出了贡献,但云系统的个人收益与社会收益的均衡问题仍有待解决。
相关专家将基于博弈思想的排队经济学理论引入到云环境中,研究了云系统个人收益与社会收益的均衡问题。文献[7]针对单一的长期租赁方案引发的服务质量差、资源浪费严重的问题,设计了双资源租赁方案,将短期租赁和长期租赁相结合。基于双租赁方案制定利润最大化策略,得到了云平台的优化配置方案。为了最大化云计算中服务用户虚拟资源租赁的利润,文献[8]以最大化租赁利润为目标函数,提出了一种新的虚拟资源租赁算法。有效提高了虚拟资源的利用率,保证了资源租赁获得的利润。文献[9]提出了云服务定价方案,并从云提供商和企业客户的角度出发建立决策模型,以最大化云提供商的总利润。通过使用真实的定价数据进行了实例说明,为云提供商和云用户之间的动态定价提供了有价值的见解。为有效提高计算资源的利用率,减少任务执行所需要的成本,文献[10]提出了一种基于效益博弈的云计算资源动态可协调分配机制。在合理分配资源的同时,最大化任务的执行效益。上述针对云系统的社会收益最大化问题的研究,均给出了有效的资源合理分配方案,但忽略了云系统能耗过高的问题。
兼顾云系统的节能水平与云用户的响应性能,基于单重休眠机制,在信息完全可视的环境下,研究云用户的接入阈值策略。结合基于博弈思想的排队经济学理论,分析个人最优接入阈值与社会最优接入阈值的关系,为云用户在绿色云计算环境下的接入控制策略提供理论依据。
随着云用户需求的不断增多,云系统的规模随之扩大。除了服务云用户过程中消耗必要的能量外,虚拟机闲置期间也会造成很大程度的能源浪费。为了提高云系统的能量效率,同时保证云用户的服务质量,在云系统的集群范围内引入同步单重休眠机制[11]。系统结构如图1所示。
图1 带有休眠机制的云系统结构Fig.1 Cloud system architecture with sleep mechanism
系统中的虚拟机可能处于休眠状态、唤醒状态或空闲状态。处于唤醒状态或空闲状态的虚拟机,由任务调度器为其分配服务对象;处于休眠状态的虚拟机,由休眠定时器控制其休眠周期。一旦系统为空,集群内的全部虚拟机同时进入休眠状态,并启动定时器以控制休眠周期长度。当休眠定时器超时后,若系统中没有云用户,则全部虚拟机同时进入空闲状态,此状态下进入系统的云用户可在任务调度器的协调下立即接受服务;若系统中有云用户在等待,全部虚拟机同时进入唤醒状态。如果系统缓存中的云用户数量大于集群内的虚拟机数量,需调度全部虚拟机为若干云用户提供服务,剩余的云用户继续等待;否则,只需分配若干虚拟机服务云用户,其余虚拟机等待任务调度器继续部署下一任务。
在完全可视条件下,云用户在进入云系统前可在观察区得知系统中已有云用户数量与虚拟机当前状态等信息。若观察到系统中的云用户数量大于接入阈值,则选择离开系统;否则,云用户选择接入系统。显然,休眠状态下的接入阈值要小于唤醒状态下的接入阈值[12]。
考虑信息完全可视的情况,云用户在进入系统前可观察到系统中云用户的数量和虚拟机的状态。系统中云用户在时刻t的数量用N(t)表示,虚拟机在时刻t的状态用I(t)表示,虚拟机的状态包括休眠状态(I(t)=0)、唤醒状态(I(t)=1)和空闲状态(I(t)=2)。
假设一个集群内共有k台虚拟机对外服务,且k台虚拟机同构;一个云用户的服务时间服从参数为μ的指数分布;假设云用户到达是服从参数为λ的泊松过程;一个休眠周期长度服从参数为θ的指数分布。假设云用户的服务时间、到达时间以及虚拟机的休眠时间相互独立,且服从先到先服务的排队规则。基于以上假设,可建立一个服务时间、到达间隔和休眠周期长度均服从指数分布的多服务台同步单重休假排队模型,且该模型可用二维连续时间Markov链{(N(t),I(t)):t≥0}刻画[13]。
为了揭示绿色云环境下云用户的纳什均衡行为,最大化云系统的社会收益,结合虚拟机同步单重休眠机制,研究信息完全可视下的云用户接入阈值策略,包括云用户的个人最优接入阈值策略和社会最优接入阈值策略。
每个云用户将根据自己搜集到的信息判断是否有价值接入系统接受服务。为方便讨论,将新到达云用户在虚拟机处于休眠状态、唤醒状态和空闲状态情况下的预期逗留时间分别用Tind(0)、Tind(1)和Tind(2)表示,预期个人收益分别用Gind(0)、Gind(1)和Gind(2)表示。
如表3所示,通过将发表文献数量前10的作者统计排名,发现除了排名第一的作者杨剑有6篇文献,排名第二、第三位的作者均有3篇文献外,其他的作者均为2篇文献,表明杨剑、邱坚、陈锐是情报信息机构开展科技创新知识服务研究的主要研究者,对本领域的学术交流与发展发挥了重要作用。
1) 当一个新云用户到达时,若系统中的云用户数量n小于虚拟机的数量k,即n (1) 选择接入系统接受服务的新到达云用户的预期个人收益为 (2) 2) 当一个新云用户到达时,若系统中的云用户数量n不小于虚拟机数量k,即n≥k时,虚拟机不会处于空闲状态,选择接入系统接受服务的新到达云用户的预期逗留时间为 (3) 新到达云用户若选择接入系统接受服务,其预期个人收益为 (Gind(0),Gind(1))= (4) 当虚拟机处于休眠状态时,若预期个人收益Gind(0)非负,云用户选择接入系统接受服务;当虚拟机处于唤醒状态时,若预期个人收益Gind(1)非负,云用户选择接入系统接受服务。令休眠状态和唤醒状态的个人最优接入阈值分别表示为ne(0)与ne(1),则有 (5) 显然,虚拟机处于休眠状态时的接入阈值ne(0)低于唤醒状态下的接入阈值ne(1)。在虚拟机处于休眠状态的情形下,若新到达云用户得知当前系统中云用户数量n≤ne(0)时,则选择接入系统;否则,选择离开,并不再返回系统。在虚拟机处于唤醒状态的情形下,若新到达云用户得知当前系统中云用户数量n≤ne(1)时,新到达云用户选择接入系统;否则,选择离开,并不再返回系统。 综合考虑系统中所有云用户与云供应商的集体收益,需进一步研究社会最优接入阈值策略。 假设休眠状态系统的接入阈值为n(0),唤醒状态系统的接入阈值为n(1)。直观地,n(0) (6) 根据1.2节给出的模型假设,分析云系统的状态转移过程,如图2所示。 图2 云系统的状态转移过程Fig.2 The state transition process of a cloud system 根据图2的状态转移过程,建立如下方程组: (7) 采用高斯赛德尔方法[14],结合归一化条件,求解方程组(7),给出Markov链{(N(t),I(t)):t≥0}的稳态分布。 当虚拟机处于休眠状态时,其运行速率较慢,能耗降低;当虚拟机处于空闲状态时,能耗相对休眠状态有所增加,但低于唤醒状态时的能耗;当虚拟机处于唤醒状态时,能耗增加至最高。能量节省存在于虚拟机的休眠状态。令虚拟机处于休眠状态时的能耗水平表示为Vs,处于空闲状态时的能耗水平表示为Vf,处于唤醒状态时的能耗水平表示为Va。在同步单重休眠机制下,云系统的能量节省水平S可表示为 (8) 定义单位时间内的社会收益Gsoc为系统中单位时间内所有云用户完成服务后所得收益减去总的等待费用,再加上系统在单位时间内因能量节省所获取的收益,则有 (9) 其中,φ为能量节省水平相关的影响因子。 使系统社会收益最大的云用户接入阈值即为云用户的社会最优接入阈值[15]。令n*(0)与n*(1)分别表示休眠状态与唤醒状态下的云用户社会最优接入阈值,由式(9)可得 (10) 为了在信息完全可视的条件下刻画出休眠参数对系统节能水平的影响,揭示云用户的个人最优接入阈值与社会最优接入阈值的关系,进行系统实验。 系统实验的硬件环境为Intel i7- 4790 3.60 GHz CPU,8 GB内存;操作系统为Windows 10;交互式软件的开发环境为MATLAB R2016a。 设置实验参数如下:集群中虚拟机数量k=10,云用户到达率λ=4.5,虚拟机服务率μ=0.55,虚拟机休眠参数θ=0.2,云用户的等待费用,云用户的收益R=100,虚拟机处于唤醒状态时的能耗水平Va=20,虚拟机处于休眠状态时的能耗水平Vs=2,处于空闲状态时的能耗水平Vf=10,能量节能水平的影响因子φ=2。 基于以上设置实验参数,揭示出同步单重休眠机制下云用户的个人最优接入阈值与社会最优接入阈值的关系,如图3所示。 图3 同步单重休眠机制下云用户的最优接入阈值Fig.3 Optimal access threshold of cloud users undersynchronous single sleep mechanism 图3(a)揭示了虚拟机处于休眠状态时云用户的最优接入阈值的变化趋势。随着休眠参数θ的不断增大,云用户的个人最优接入阈值ne(0)逐渐递增。休眠参数越大,云用户观察到虚拟机处于唤醒状态的几率会更大,云系统的服务水平相应提高,所以云用户的个人最优接入阈值呈上升趋势。随着休眠参数θ的不断增大,云用户的社会最优接入阈值n*(0)逐渐减少。休眠参数越大,虚拟机处于唤醒状态的时间相对变长,云用户选择接入系统的意愿提升,采用较小的社会最优接入阈值可以保证云用户的响应性能,所以,休眠参数越大,云用户的社会最优接入阈值越低。 图3(b)揭示了虚拟机处于唤醒状态时云用户的最优接入阈值的变化趋势。随着休眠参数θ的不断增大,云用户的个人最优接入阈值ne(1)保持不变。当一个云用户到达系统时,若虚拟机处于唤醒状态,则在该用户离开系统前虚拟机将始终处于唤醒状态,云用户的预计逗留时间只与服务率有关,而不受休眠参数的影响。云用户的社会最优接入阈值n*(1)会随着休眠参数θ的增大而逐渐减少。休眠参数的增大显然会使云系统的节能水平降低,此时若有更多的云用户接入系统,节能水平会继续下降。为了弥补因节能水平降低给社会收益造成的影响,只能降低云用户的社会最优接入阈值,以提高云用户的响应性能。 观察图3(a)与图3(b)可以看出,在休眠参数一定时,无论在休眠状态还是在唤醒状态下,云用户的个人最优接入阈值均大于社会最优接入阈值,且其差距随着休眠参数的增加逐渐变大。固定休眠参数,对比图3(a)与图3(b),可知休眠状态下的个人最优接入阈值和社会最优接入阈值均低于唤醒状态下的个人最优接入阈值和社会最优接入阈值,这与直观理解是一致的。 根据以上规律,云供应商可结合休眠策略针对每个接入系统的云用户征收一定的费用,促使云用户的个人最优接入阈值策略与最优接入阈值策略一致,稳定高效地利用云系统中的虚拟机资源,以取得更高的收益。 针对信息可视模式和同步单重休眠机制,讨论了云用户的个人最优接入阈值策略与社会最优接入阈值策略。根据已知的系统中云用户数量和虚拟机状态等信息,计算云用户的预期逗留时间和预期个人收益,给出了云用户的个人最优接入阈值策略。建立同步单重休假模型,运用高斯赛德尔方法求得了系统模型的稳态解,并考虑能量节省水平建立了社会收益函数,通过最大化社会收益函数,给出了社会最优接入阈值策略。系统实验结果表明,在确定状态下的云用户个人最优接入阈值高于社会最优接入阈值,基于该规律,在绿色云计算环境下云供应商可采取相应的收费策略调整云用户的接入数量,最终实现云系统的社会收益最大化。2.2 社会最优接入阈值策略
3 系统实验
4 结论