基于SLA的云计算资源智能调度实验设计

2017-04-10 12:05
实验室研究与探索 2017年1期
关键词:计算资源蝙蝠调度

王 焱

(汉江师范学院 教育系, 湖北 十堰 442000)

基于SLA的云计算资源智能调度实验设计

王 焱

(汉江师范学院 教育系, 湖北 十堰 442000)

为了更好地提高云计算资源的利用率,设计了基于服务等级协议(Service-Level Agreement, SLA)的云计算资源智能调度实验,从分配成本、迁移成本和违约成本三方面构造了云计算资源智能调度的成本函数,并将蝙蝠算法应用到云计算资源智能调度过程中,进行资源智能调度寻优,达到资源调度代价最小的目的。最后通过CloudSim云平台进行模拟仿真,结果表明该实验方法明显优于传统的粒子群调度算法,在执行成本、资源利用率方面都有很大改进,提高了云计算系统的资源调度能力,是一种有效的调度方法。

云计算; 服务等级协议; 调度; 蝙蝠算法; 虚拟

0 引 言

云计算是一种新兴的信息处理模式,以按需方式向用户提供动态可扩展的资源,极大地提高了资源的利用率,并满足用户对计算能力、存储空间和信息处理的多元化需求。云计算涵盖了分布式处理、并行处理和网格计算,通过虚拟化技术对底层千差万别的资源进行统一管理和调度。当前云服务的计算量越来越大,并且云计算资源具有的动态可伸缩特点,云计算资源调度策略成为影响云计算服务性能的关键因素,因此建立高效、合理的资源调度模型对提高云计算服务性能至关重要。

云平台利用虚拟化技术,将物理资源重新整合,提高了资源的高服务性和可用性[1]。由于云计算系统处于一个动态的环境中,用户群体庞大,其资源需求处于动态变化中,利用合理的资源调度方案保证满足用户需求的同时发挥服务资源利用率的最大化,是一项具有挑战性的工作。当前主要的云资源调度方法可以分类两类:(1) 基于传统的任务调度方法,如Min-Min算法、Max-Min算法等;(2) 基于群体智能的调度算法,如遗传算法、粒子群算法等智能算法。针对云计算的资源调度问题,不少学者进行了相关研究,并取得了一定的成果。田宏伟等提出了一种基于粒子群优化算法的资源调度方案,利用资源代理价格调整到达合理利用资源的目的[2];徐文忠等提出基于遗传算法的云计算资源调度策略,主要根据历史数据和系统的当前状态,利用遗传算法使资源达到最佳负载均衡或者减少动态迁移[3]。张翼飞等[4]提出基于SLA和双向拍卖机制的云计算服务资源调度,通过分配函数和支付函数进行激励约束,达到服务商利润的最大化。孙大为等提出了基于免疫克隆的多维QoS云资源调度优化方法,通过多维QoS优化的目标函数和免疫克隆算法实现云资源调度[5];徐昕[6]提出了基于博弈论的云计算资源调度方法,通过逆向归纳法思想学习解决该云资源调度中存在的资源分配不公平和资源利用率不足等问题。以上研究大多以降低系统能耗或减少系统处理时间为目标进行资源调度,本文提出了基于SLA的云计算资源调度方法,通过蝙蝠算法进行自适应资源调度,满足用户多样化需求的同时充分提高服务资源的利用率,并节省了操作成本。

1 基于SLA的云计算资源调度模型

云计算的核心是资源管理,实现资源的调度与分配,确保存储空间、计算能力、数据传输速率等资源的合理利用,其效率高低影响云计算系统的性能。从云计算服务提供商角度看云计算资源调度主要是提高数据中心资源使用效率,降低云数据中心正常运行成本。从用户角度看云计算资源调度主要是在保证用户服务质量的前提下利用较少花费获取服务。云计算资源调度的主要目的是云服务提供商根据SLA约定的服务质量等级对资源进行重新优化配置,保证用户获取高质量服务,同时实现资源服务商的最大收益。SLA是关于网络服务供应商和客户间的一份合同,其中定义了服务类型、服务质量和客户付款等术语[7-8]。云计算服务商为客户提供服务时会和用户签定SLA协议,以保证双方的利益最大化。

基于SLA的云计算资源调度模型中主要包括SLA管理、用户交互、虚拟资源调度、虚拟资源和物理基础设施5个模块。基于SLA的云计算资源调度模型如图1所示。

客户通过终端设备向云端发送请求,同时传送虚拟机的计算力、存储空间、网络带宽等SLA协议属性。SLA管理模块对SLA各项参数进行优化管理,包括SLA定义、SLA协商、SLA调整等方面;用户交互模块主要完成对用户的身份进行验证,并对其请求的虚拟资源类型、数量及其要求进行判断。资源调度模块包括调度算法、注册中心、监控中心和管理中心。注册中心的主要功能是负责云数据中心集群的管理,监控中心负责监控资源使用情况,资源管理中心负责对物理资源及虚拟资源进行管理,包括虚拟单元的创建、删除等。基于SLA的云计算资源调度模型的主要优点在于考虑了云服务提供商和用户双方的利益,有利于发挥云资源的利用效率。

图1 基于SLA的云资源调度模型

2 基于SLA的云计算资源调度过程建模

基于SLA的云计算智能资源调度模型中将SLA参数作为资源调度的开销参数,在满足服务企业和用户在服务质量、性能等方面达成的协议的前提下,使调度数据中心资源更高效,并且使系统的操作成本最小[9-11]。设用户请求R={uid,input,output,tn},uid表示用户标识符,input表示用户的输入参数,output表示用户的输出参数,tn表示任务数;虚拟资源VM={mid,type,cost},mid表示虚拟资源标识符,type表示虚拟资源类型,cost表示耗用虚拟资源花费成本;服务器资源P={pid,state,exp },pid表示服务器标识符,state表示服务器状态,exp表示服务器开销。则云服务供应商提供服务产生的总成本主要由以下3部分组成:

(1) 云服务供应商为客户分配虚拟机资源会产生的成本与服务器运行时开销、客户使用服务的时间等因素有关,其分配虚拟机资源成本为:

(1)

(2) 云服务供应商为客户提供服务的过程中,用户服务处于空闲状态时,可以通过虚拟机迁移技术,使虚拟机集中在少量的物理机上,使没有任何虚拟机的物理机处于低耗状态,另外当资源利用率超过上限阈值物理机上限时,通过虚拟机迁移技术使云服务符合SLA协议。虚拟机迁移产生的花费为

(2)

(3) 当云服务供应商因违反SLA协议规定会产生违约成本,违约成本由云服务供应商与用户协商确定,通过违约程度、违约费用相关,计算方法为

(3)

式中:β为违约程度;Timn为完成请求n的延迟时间,costn为违约费用。

在整个任务调度过程中主要目的是在满足用户需求的情况下要求开销成本值TotalCost最小,TotalCost的计算式为

TotalCost=ALcost+MIRcost+

VIOLcost

(4)

综合以上各种因素考虑,基于SLA的云计算资源调度转换为求TotalCost函数值的最小值。

3 云计算资源调度过程算法

资源智能调度算法采用蝙蝠算法实现,蝙蝠算法是剑桥大学学者Xin-she Yang通过模拟蝙蝠回声定位行为提出的一种新型优化算法,该算法是一种基于种群的随机寻优算法,蝙蝠个体是蝙蝠算法的基本单元,蝙蝠群体的运动是一个从无序到有序的演变过程,将蝙蝠的飞行移动过程类比为搜索目标最优解的过程,每个优化问题的解就是搜索可行空间的一个蝙蝠[12-14]。

3.1 任务划分和编码

(1) 任务划分。采用任务-资源方式编码,由最大子任务的数量决定编码长度,假定有n个任务,m个资源,每个任务又划分为多个小任务,其任务划分矩阵为

任务划分矩阵第1行代表第1个任务的划分,最后一行代表第n个任务的划分,子任务的编号表示为:

(5)

式中:sn(k)表示第k个任务划分的子任务数;i表示任务编号;j代表子任务编号。

(2) 任务编码。基于蝙蝠算法的云计算调度中对蝙蝠个体进行合理编码是解决问题的关键。对具有n个子任务的调度问题,采用2n维空间表示计算资源的分配及任务的执行顺序。假定有n个子任务,记为T={t1,t2,…,tn};m个计算资源,记为M={VR1,VR2,…,VRm},其中子任务总数大于计算资源数,编码规定1到n维分量表示子任务对应的计算资源,n+1~2n维表示该资源上子任务的执行顺序。采用2n维空间表示子任务的分配及执行顺序,子任务资源分配与执行顺序对应关系清晰,资源调度方便。例如,当存在8个子任务,3个计算资源,如果子任务编码为(1,1,1,2,2,2,3,3, 3,2,1,2,3,1,1,2),表示的含义前8位表示任务与资源的对应关系,后8位表示每个执行顺序,具体为:VR1:t3-t2-t1;VR2:t6-t4-t5;VR3:t7-t8。

3.2 适应度函数计算

蝙蝠的适应度函数评价蝙蝠位置的性能,根据开销代价设计适应度函数:

f(t)=Totalcost=ALcost+

MIRcost+VIOLcost

(6)

3.3 算法步骤

(1) 接收用户的任务,并划分成子任务,每个子任务的规模基本一致,生成蝙蝠种群,并确定目标函数f(x),初始化种群中每个蝙蝠的脉冲频率f、位置X、脉冲响度A、脉冲发射速率r和最大迭代数n等参数。

(2) 按照个体编码随机生成蝙蝠位置,并根据频度调整蝙蝠的位置X和速度v。

(3) 产生一个随机数rand,如果大于脉冲发射速率ri,则对当前群体中最佳蝙蝠位置进行随机扰动得到替换当前蝙蝠的位置。否则,如果小于脉冲发射速率,并且f(xi)

(4) 根据适应度函数对蝙蝠进行排列,获取蝙蝠当前最佳位置。

(5) 如果没有满足结束条件则返回(2),如果满足则输出开销代价最小的最优解。

4 实验结果及分析

为了验证基于SLA参数的云资源调度算法的有效性,采用Cloudsim3.0云平台软件进行模拟实验。Cloudsim是由澳大利亚墨尔本大学和Gridbus共同开发的云仿真平台,支持云平台的基础架构虚拟引擎和资源调度等功能,是当前常用的云仿真平台。实验环境为Windows7操作系统,处理器为Pentium Dual2.6 GHz,内存为3GB。对Cloudlet平台进行扩展,重写DatacenterBroker,Cloudlet等类。

4.1 实验参数设置

在本仿真实验中,对CloudSim模拟器参数进行设置,调度算法中的参数设置如表1所示。

表1 仿真实验参数表

4.2 结果对比

根据以上参数,从资源调度的执行成本和资源利用率两个性能指标,对比了粒子群调度算法和基于SLA的云计算资源调度方法的调度效果,对该两种方法分别进行50次测试,两个性能指标的实验结果取平均值,其具体对比效果分别如图2、3所示。

图2 执行成本对比

图2显示当任务量较少时,在执行同样的任务情况下,基于SLA的云计算资源调度方法执行成本明显优于粒子群调度方法。随着任务数量的增加,任务间竞争更加激烈,冲突概率变大,两种算法执行都有一定程度的增加,但资源调度方法具有明显的优势,说明通过基于SLA利于蝙蝠算法全局寻优,实现了云计算资源智能调度,降低了执行成本。

图3反映了在不同任务数时资源利用率对比情况,显示基于SLA的云计算资源调度方法比粒子群调度算法的资源利用率在不同任务数时都有一定程度的提高,说明云计算资源智能调度实验考虑了基于SLA云计算智能调度的分配成本、迁移成本和违约成本,有利于更充分的利用现有资源,提高资源的利用率。

图3 资源利用率对比

5 结 语

当前,云计算引发了医疗、商业、军事、教育领域的变革,发挥着越来越重要的作用,云计算资源调度问题研究受到了广泛的重视[15]。本文主要对云资源调度问题进行了研究,提出了基于SLA的云计算资源智能调度方法,提高了云计算系统的资源调度能力,达到资源调度执行成本最小的目的,仿真结果表明了该方法的有效性,下一步应进一步优化仿真实验方案,考虑迭代次数对结果的影响。

[1] 柴亚辉,涂春萍,刘觉夫,等.基于云计算的计算机与软件实验资源管理[J].实验室研究与探索,2010,29(10):254-256.

[2] 田宏伟,解 福,倪俊敏.云计算环境下基于粒子群算法的资源分配策略[J].计算机技术与发展,2011,21(12):22-25.

[3] 徐文忠,彭志平,左敬龙.基于遗传算法的云计算资源调度策略研究[J].计算机测量与控制,2015,23(5):1653-1656.

[4] 张翼飞,杨 斌.基于SLA和双向拍卖机制的云计算服务资源分配[J].计算机测量与控制,2014,22(4):1285-1290.

[5] 孙大为,常桂然,李凤云.一种基于免疫克隆的偏好多维QoS云资源调度优化算法[J].电子学报,2011,39(8):1824-1830.

[6] 徐 昕.基于博弈论的云计算资源调度方法研究[D].上海:华东理工大学,2015.

[7] 于珊珊,陈冬林,李 伟.基于SLA的云计算多数据中心任务调度算法[J].武汉理工大学学报(信息与管理工程版),2014,36(3):345-349.

[8] 赵聘婷,韩 臻,何永忠.基于SLA的云计算动态信任评估模型[J].北京交通大学学报,2013,37(5):80-88.

[9] 刘 飞,罗永龙,郭良敏,等.面向个性化云服务基于用户类型和隐私保护的信任模型[J].计算机应用,2014.34(4):994-998.

[10] 冯小靖,潘 郁.云计算环境下的DPSO 资源负载均衡算法[J].计算机工程与应用,2013,49( 6):105-108.

[11] 李 乔,郑 啸.云计算研究现状综述[J].计算机科学,2011,38(4):32-37.

[12] 李枝勇,马 良,张惠珍.蝙蝠算法在多目标多选择背包问题中的应用[J].计算机仿真,2013,30(10):350-353.

[13] 金伟健,王春枝.基于蝙蝠算法的云计算资源分配研究[J].计算机应用研究,2015,32(4):1184-1187.

[14] 李 煜,马 良.新型全局优化蝙蝠算法[J].计算机科学,2013,40(9):225-228.

[15] 李 强,郝沁汾,肖利民.云计算中虚拟机放置的自适应管理与多目标优化[J].计算机学报,2011,34( 12):2253-2264.

Design of Cloud Computing Resource Intelligent Scheduling Experiment Based on SLA

WANGYan

(Department of Education, Hanjiang Normal University, Shiyan 442000, Hubei, China)

In order to better improve the resources utilization rate of cloud computing,the resource intelligent scheduling experiment of cloud computing based on SLA is designed, and the cloud computing resources expensive function is structured on three aspects of distribution costs, migration costs and breach costs. Furthermore, the bat algorithm is applied to the cloud computing resource scheduling process for resource scheduling optimization, so as to achieve the minimum cost goal. Finally, the scheduling method is simulated in the CloudSim cloud platform, the experiment shows that the method is better than the traditional particle swarm scheduling algorithm , which is an effective cloud computing resource scheduling method.

cloud computing; service level agreement; scheduling; bat algorithm; virtualization

2016-03-24

湖北省教育厅重点科研项目(D20145001)

王 焱(1980-),女,甘肃天水人,硕士,副教授,现主要从事信息技术研究。

Tel.:15997827125; E-mail:wangyanwsr@163.com

TP 391

A

1006-7167(2017)01-0123-04

猜你喜欢
计算资源蝙蝠调度
基于模糊规划理论的云计算资源调度研究
《调度集中系统(CTC)/列车调度指挥系统(TDCS)维护手册》正式出版
基于强化学习的时间触发通信调度方法
改进快速稀疏算法的云计算资源负载均衡
一种基于负载均衡的Kubernetes调度改进算法
虚拟机实时迁移调度算法
基于Wi-Fi与Web的云计算资源调度算法研究
耦合分布式系统多任务动态调度算法
蝙蝠
蝙蝠女