- 1 -
中国科技论文在线
云环境下资源评价模型的研究
陈雯*
(大连理工大学电信学部计算机学院,辽宁大连,116023)
摘要:云计算已发展为最有应用前景的商业计算模式之一,而云计算环境下的资源具有动态
性和异构性强的特点,且任务需求多变。针对这一问题,本文对云环境下资源和任务的属性
进行了研究,给出了一个综合任务完成时间、费用、负载均衡及可靠性的评价函数,并充分
考虑到用户 Qos需求,可对各子目标权重进行调节,为服务调度提供了可靠的依据和保障,
从而提高了服务调度的质量。
关键词: 云计算;任务调度;资源评价;多指标;Qos
中图分类号:TP393
Research on Resource Evaluation Mechanism in Cloud
Computing
CHEN Wen
(Computer Science School, Dalian University of Technology, Dalian, Liaoning 116023)
Abstract: Cloud computing, which is one of the most promising method in the area of business
computing, has become a research focus in business and academics. In cloud computing environment,
resources are massive, dynamic and heterogeneous; what’s more, requirements are various. Aiming at
this issue, a resource evaluation mechanism combined with task completion time, cost, load balancing
and reliability is proposed by study of resource and task attributes. This paper gives a comprehensive
objective function, which fully takes into account the needs of user Qos by adjusting the sub-goal
weights. This evaluation mechanism can provided a reliable basis for service scheduling, and improve
the quality of system..
Key words: Cloud computing; task scheduling; resource evaluation; multiple indicator; Qos
0 引言
随着互联网应用、电子商务、搜索服务等技术的发展,云计算作为一种新型商业计算模
式,已成为企业和学者的研究热点。Google、IBM、亚马逊等公司分别提出了自己的云计划,
学术界也在云平台基础设施及云服务应用方面进行了广泛的研究[1]。云计算依托于成熟的虚
拟化技术,在分布式计算、网格计算的基础上发展而来,有着良好的前景。而作为一种分布
式计算平台,云环境下的服务调度也是需要解决的问题之一。传统的分布式系统中,资源评
价功能往往集成在任务调度模块中,而且评价目标单一,缺乏对资源综合的、系统的评估,
已经不能适应云计算环境中资源指标多、数量大、动态性和异构性强的特点。本文对云环境
下资源评价模型进行了研究,以任务完成时间、费用、负载均衡及可靠性为目标对资源进行
多指标综合评价,将评价结果作为服务调度的依据,从而为用户提供更高效的服务。
1 资源评价模型
本文考虑云内资源调度模式,即云调度系统根据一定的策略对各计算节点资源进行评
价,将任务调度到最适合的节点执行。计算结点是异构的,可以是个人计算机、服务器或者
- 2 -
中国科技论文在线
工作站等。系统采用无中心分布式管理模式,即不存在中心调度节点,各节点需相互协商以
完成任务调度,这样可以有效避免单点失效问题。本文考虑的任务集为元任务[2],即任务是
相互独立的,且不可分解,表示为 }...,{ 21 mtttT = 。
模型体系结构
节点定义:节点集由集合 }...,{ 21 nNNNN = 表示。如图 所示。在每次调度协商中,
发布任务信息的节点 SN 称为责任节点,节点 ji NN ... 为参与协商的节点。
SN
iN jN
图 资源评价模型体系结构
Architecture of The Evaluation Model
模型的评价协商过程为:(1) 责任节点首先发布任务信息,发起协商;(2) 收到协商邀
请的节点收集本地资源信息,进行本地资源评价,以判定是否参与任务调度;(3) 责任节点
收集各参与协商节点的资源信息及其评价信息,并根据任务信息,对各节点资源进行综合评
价,找到最适宜调度节点。
资源及任务信息描述
资源信息描述
云计算结合了成熟的虚拟化技术,各计算结点节点的物理资源被虚拟化为影响任务调度
的各类资源,如计算能力、计算成本、负载等。调度问题即为任务与资源的优化匹配。定义
RS 为节点资源集合,包括 CPU、内存、数据存储、带宽 4 类资源,即
{ , , , }CPU mem stor commRS R R R R= ()
各节点需收集的资源信息集合定义为 RIS:
cos
{ , , , , , , }CPU mem stor comm load fault tRIS RI RI RI RI RI RI RI= ()
- 3 -
中国科技论文在线
其中, CPURI 为处理器计算能力,评价标准为指令执行速度,即单位时间内处理的指令
条数(MIPS); memRI 为内存大小; storRI 为数据存储空间; commRI 为通信能力,即节点间
网络带宽; loadRI 为节点负载,包括 CPU、内存和带宽使用率; faultRI 为节点故障率,即单
位时间内失效的次数,包括网络故障率 nλ 和服务故障率 sλ ; cos tRI 为使用各类资源所需成
本,包括处理器单位价格(每百万指令 MI),内存单位价格(每 1MB),数据存储单位价
格(每 1G),通信单位价格(每 1Mbps)。
任务信息描述
对于任务的描述可分为主观信息和客观信息。任务的主观描述,即用户的 Qos 需求,
包括用户期待完成时间 _ expT 、期待费用 _ expQ ,和时间限制 _ limT 、费用限制
_ limQ ,以及可靠性需求等。
任务客观信息包括任务对资源的硬性限制条件,如操作系统、内存、带宽限制等,以及
任务对各类资源的需求量 kRq 。其中 CPURq 为任务对处理器的需求量,表示为任务长度,即
指令数(MI),它影响任务执行时间; memRq 为任务所需内存大小(MB); storRq 为任务
所需数据存储空间,即数据文件大小(MB);此外,任务对网络传输的需求 commRq 由需传
输的数据文件大小表示,它影响了传输时间。
2 多指标综合评价
本地资源评价
各节点接收到责任节点发布的任务信息,进行本地资源评价,算法具体描述如下:
(1)根据任务的硬性限制条件判断,若不能满足该条件,则不参与协商;否则,进行
以下步骤。
(2)收集本节点各项负载值,并计算综合负载值。本文采用惩罚型代换合成法[3],该
方法加大了对落后指标的惩罚力度,即某个指标不合格将导致整个综合值不合格。
3
1
1 (1 ) Lkwk
k
Load Load
=
= − −∏ ()
其中负载值 kLoad 分别为 CPU 利用率 _Load CPU ,内存使用率 _Load mem和带宽
负载 _Load br; Lkw 为各项负载值相应的权重 LCw , Lmw , Lbw 。由公式 可以看出,
综合负载值在[0,1]区间内,若某单项负载为 1,则导致综合负载为 1。
为确定负载权重 Lkw ,本文对 _Load CPU , _Load mem和 _Load br对系统性能的
影响进行了测试。测试环境为 AMD Athlon 64 处理器,Linux 操作系统。测试算法为快速排
序算法和计算π 值算法。测试结果如图 所示。
- 4 -
中国科技论文在线
0
200
400
600
800
1000
1200
1400
1600
10% 30% 60% 90%
CPU Usage
Ti
me
(m
s) Quick Sort
Compute PI
0
200
400
600
800
1000
1200
1400
20% 40% 70% 90%
Mem Usage
Ti
me
(m
s) Quick Sort
Compute PI
图 CPU 利用率 图 内存利用率
CPU Usage Memory Usage
0
5000
10000
15000
20000
25000
10% 30% 50% 90%
Network Load
Ti
me
(m
s) 100M
10M
图 网络带宽
Network Usage
由上图可知,3 种负载对任务完成时间的影响比重大略为 4:3:15。因此,可以得到计算
系统综合负载的方式:
)_1()_1()_1(1 brLoadmemLoadCPULoadLoad −∗−∗−−= ()
计算任务的估计完成时间。任务 i 在节点 j 完成时间记为 ijCT ,需考虑到任务队列等待
时间 _ ijT wait ,计算时间 _ ijT process ,以及通信时间 _ ijT transmit ,即
ijijijij transmitTprocessTwaitTCT ___ ++= ()
其中, _ ijT wait 为节点 jN 的就绪队列执行时间,即
∑
=
=
jLengthQueue
k
kjij processTwaitT
_
1
__
()
这里, _ jQueue Length 为就绪队列长度,其中, _ ijT process 由任务 i 的长度 iLen(MI)
和 CPU 处理能力 jSpeed (MIPS)决定,即
_ /ij i jT process Len Speed= ()
_ ijT transmit 根据任务数据文件大小和节点 i 和节点 j 之间的通信能力得到,如下:
- 5 -
中国科技论文在线
delaycurrentBandRate
zeDatafileSitransmitT ij __ += ()
(3)计算任务执行的费用。任务 i 在节点 j 上的代价为
4
1
ij jk ik
k
Q c Rq
=
= ⋅∑ ()
其中 jkC 为节点 j 上第 k 类资源的单位代价, ikRq 为任务 i 对第 k 类资源的需求量。
(4)计算节点可靠性。可靠性,即节点在一定时间内正常工作的概率,它服从泊松分
布[4],即若节点 j 故障率为 jλ ,则节点 j 在时间 t 内正常工作的概率为exp( )jtλ− 。设网络
故障率为 nλ ,服务故障率为 sλ ,则有节点 j 可以正常完成任务的概率为
))_exp(1()))__(exp(1(1 ij
n
jijij
s
jij transmitTwaitTprocessTS ⋅−−⋅+⋅−−−= λλ ()
多指标综合资源评价
责任节点收到参与协商的各节点的本地资源评价信息,采用层次分析方法[5]进行多指标
综合评价。如图 所示。
定义 任务适宜分配度:计算节点的动态属性,表示该节点对完成任务的适宜度,是本
模型资源评价的最终目标。任务将被调度到任务适宜分配度最高的节点。
图 层次分析模型
Analytical Hierarchy Model
本模型评价目标为任务适宜分配度,将该目标分为 4 个子目标,包括完成时间,费用,
负载及可靠性。各子目标评估值由相应指标综合评价得出。本模型采用的合成方法为 TOPSIS
逼近理想解[6]的方法,该方法是多目标决策领域的著名方法,被很多文献应用在多指标综合
评价中。该方法的思想为求与理想点的贴近程度,详细思路如下:
(1)对各指标进行无量纲化处理。评估指标依性质和作用分为正指标和逆指标,指标
数值大小与最终目标一致的,是正指标,即收益型指标;反之,为逆指标,即成本型指标。
在本模型中,完成时间、费用、负载为逆指标,可靠性为正指标。对于正指标,无量纲化处
理方法为
)min()max(
)min(
ijij
ijij
ij XX
XX
Z −
−= ()
- 6 -
中国科技论文在线
对于逆指标,采用如下方法
)min()max(
)max(
ijij
ijij
ij XX
XX
Z −
−= ()
其中, ijX 为节点 i 的第 j 个指标的值, 1,2...i n= , 1, 2,3, 4j = 。处理后的数据范围
在[0,1]闭区间。
(2)建立规范化矩阵。
ij Qj ijY Zω= ⋅ ()
其中,子目标权重向量 { , , , }Qj Qt Qc Ql Qsw w w w w= ,分别为完成时间、费用、负载和可
靠性权重。该权重由任务类型和用户 Qos 需求确定。
(3)计算每个节点到最优点和最劣点的欧氏距离 *D 和D− 。
定义 最优点 )1,0,0,0(* ∗= QY ω ,即完成时间、费用及负载均最低,可靠性最高;
最劣点 (1,1,1,0)QY ω− = ∗ ,即完成时间、费用及负载均最高,可靠性最低。
于是得到欧氏距离计算公式
4
* * 2
1
( )i ij j
j
D Y Y
=
= −∑ ()
4
2
1
( )i ij j
j
D Y Y− −
=
= −∑ ()
(4)计算每个节点对理想点的相对贴近程度,即要求节点与最优解近,离最劣解远。
*
i
i
i i
DC D D
−
−= + ()
因此, iC 值最小的节点即为任务最适宜分配的节点。
3 仿真实验
本文通过仿真实验,对传统的 min-min 算法[7]和本文带有资源评价的调度算法进行了比
较。Min-min 算法的调度目标是得到最小的调度长度,即每次从任务集中选取估计完成时间
最早的任务,调度到相应计算节点上。本文通过评价算法进行任务分配,实验选取 3 种类型
的任务为例,即各子目标权重分别为:1)算法 E1: Qjw =(1,0,0,0);2)算法 E2: Qjw =
(,,,);3)算法 E3: Qjw =(0,0,0,1)。
图 为针对不同数量的任务集和节点集,min-min 算法和本文算法调度长度的实验结
果。由于云计算环境下资源数量大,计算节点往往远远多于待调度的任务,因此实验主要考
虑节点数比任务数大的情况。取节点数 100,任务数为[10,80]。将一批任务分配到多个节点
上并行执行,最终完成时间取决于计算时间最长的节点,因此定义调度长度:
max{ _ }imakespan CT node= ()
其中 _ iCT node 表示节点 inode 上所有任务的完成时间。
- 7 -
中国科技论文在线
图 调度长度比较
Comparison of Makespan
由图 可知,算法 E1,即当完成时间子目标的权重最大时,在调度长度上取得了比
min-min 算法略好的效果。随着该权重的减小,算法 E2、E3 的调度长度在逐渐增大。由于
本文算法着重考虑云环境下计算节点多于任务的情况,因此,当任务数增加并接近节点数时,
本文算法的优势逐渐变小。
图 为 min-min 与本文算法系统利用率的实验结果比较。定义系统利用率为执行任务
的节点数占所有节点数的比例,即:
_ / _utilization exe node all node= ()
图 系统利用率比较
Comparison of System Utilization
如图 所示,本文算法 E1、E2、E3 的系统利用率均优于 min-min 算法,且随着任务
数增加优势更加明显。
4 结论
本文根据云计算环境下资源的特点,以任务完成时间、费用、负载均衡及可靠性为目标,
结合用户 Qos 需求,对资源进行多指标综合评价,使得任务调度更为合理。仿真实验也表
明,本文的资源评价机制在调度长度、系统利用率方面均可达到良好效果,能够为任务调度
提供可靠依据。并且,可以对目标函数权重进行调节,以适应不同类型用户和任务的需求。
下一步工作是研究将资源评价机制与任务调度算法进行有效结合,包括任务分解等,并把该
调度模块加入已有分布式计算框架中进行验证。
- 8 -
中国科技论文在线
[参考文献] (References)
[1] 陈康,郑纬民. 云计算: 系统实例与研究现状[J]. 软件学报, 2009,20(5):1337-1348.
[2] 丁箐,陈国良,顾钧. 计算网格环境下一个统一的资源映射策略[J]. 软件学报,2002,13(7):1303-1308.
[3] 邱东. 多指标综合评价方法的系统分析[M]. 北京:中国统计出版社,1992 年.
[4] LEWIS E E. Introduction to Reliability Engineering[M]. John Wiley &Sons, 1987.
[5] 施建军. 层次分析法在统计综合评价中的应用[J]. 统计与决策,1992(1) :29-31.
[6] Hwang, . and Yoon . Multiple Attribute Decision Making[M]. Springer-Verlag,Berlin,1981.
[7] HE X S, SUN X H., Gregor von Laszewski. QoS guided min-min heuristic for grid task scheduling[J]. Journal
of Computer Science and Technology, 2003, 18(4):442-451.