基于负载均衡的云计算任务调度算法的研究
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
总完成时间, 但是该算法会导致系统的负载不均 衡[7]。 Sufferage 算法先计算出每个任务在所有资源 上的最早完成时间的最小值 a 和次最小值 b 的差 值即 sufferage 值 ,然后 通过 比较 选择 Sufferage 值 较大的任务分配到相应的资源上, 该算法的不足 之 处 就 是 增 加 了 算 法 本 身 的 时 间 复 杂 度 。 文 献 [11] 为了缩短任务的总完成时间提出了一种具有双适 应度的遗传算法 [8]DFGA (Double-Fitness genetic algorithm),但是该算法的运行时间远远大于 MinMin 算法和 Sufferage 算法。 文献[12]提出了一种改 进 蚁 群 算 法[9]的 云 环 境 任 务 调 度 算 法 ,该 算 法 跟 DFGA 调 度 算 法 同 属 于 智 能 启 发 式 调 度 算 法 ,它 们都具有运行时间过大的缺点。 在云计算任务调 度算法中, 都是以任务的执行时间跨度 (makespan)、 资源负载均衡度、 任务平均完成时 间、任务完成效率等指标作为优化目标,为了弥补 以上所提到算法的不足之处, 完成任务调度的优 化目标, 本文提出了一种基于系统整体负载均衡 与 最 小 完 成 时 间 (LB-ECT)算 法 。
基金项目: 2012 年度河南省教育厅科学技术研究重点项目(12A520010)
2012 年第 12 期
福建电脑
9
CT)为m*n矩阵:
?? c11
c1n ??
PMCT ? ?
cij
?
??cm1
cmn −?
ÁÂÃ其中, 元素cij表示任务ti在资源rj上的预测最
小完成时间。
在云计算的任务队列中, 每个用户都希望自
1、LB-ECT 算法 本算法的基本定义如下: 定 义 1 m个 相 互 独 立 的 任 务 的 集 合 ,T={t1,t2, …,tm}。 定义2 n个计算资源的当前负载的集合,L={l1, l2,…,ln}。 定义3 m个任务在n个资源上的预测最小完成 时间 (Predict the Minimum Completion Time, PM-
8
福建电脑
2012 年第 12 期
基于负载均衡的云计算任务调度算法的研究
汪国安 1,2, 杨 焕 1 ( 1.河南大学 计算机与信息工程学院 河南 开封 475001
2. 河南大学 网络信息中心 河南 开封 475004 )
【摘 要】: 本文针对当前云计算系统负载不均衡和任务完成效率有待提高的问题, 提出了 一种基于系统整体负载均衡与最小完成时间 LB-ECT 算法。 根据云计算环境下资源需求动态变 化,利用任务在虚拟机上执行时间的预测进行任务到虚拟机上的分配、调度,优化系统的整体效 率。 采用云计算仿真平台 CloudSim 对本算法进行仿真实验与分析,实验仿真结果表明,LB-ECT 算法能够有效提高系统的整体负载均衡能力,明显缩短任务的总完成时间。
中找到最小完成时间的任务cmin, 并在集合L中找
到
其
所Байду номын сангаас
在
资
源
上
对
应
的
负
载
l ; cmin
j
cmin cilj
−
lmin
l
c j
(4)
己的任务能够在预期的时间内执行完成, 而从任
务的调度方面, 最好的结果是把每个任务都调度
到预测最小完成时间的资源上, 兼此资源是负载
最小的。 本算法就是从系统的整体负载均衡与任
务的总的完成时间尽量缩短的角度出发, 通过下
面的公式使任务调度在二者之间寻求到一个互
补。 首先我们应初始化矩阵PMCT,同时还要初始
【关键词】: 云计算;最小完成时间;负载均衡;任务调度
0、引言 云计算是当前计算机技术发展的前沿, 而负 载均衡问题则是云计算相关研究的一个热点问 题。 Zhang bo,Gao ji[1]等通过分 析对 比常 见的 集群 负载均衡算法,提出针对云计算中服务器、云之间 的云负载均衡算法 CBL, 该算法在负载均衡度和 任务加载时间上都有良好的表现, 但是复杂度较 高;Yi Zhao 和 Wenlong Huang[2]提出了基于虚拟机 的实时迁移的分布式负载均衡算法;Zehua Zhang 和 Xuejie Zhang[3]采 用 Max-Min 负 载 均 衡 机 制 思 想,最大负载量与最小负载量之差小于某一值,再 结合复杂网络理论, 提出了基于复杂网络的负载 均衡算法,但是本文中应用的 Max-Min 算法思想 只能使资源负载大致均衡, 因此对实现负载均衡 的考虑不够全面。 任务调度是云计算的核心技术, 其调度算法 性能的优劣对系统整体运行效率有重要的影响。 众所周知, 云计算的任务到资源的映射在大部分 情况下都是一个 NP 问题, 研究云计算任务调度 算法对提高整个云计算系统的性能有着重要的意 义 。 任 务 调 度[4]是 把 不 同 的 任 务 以 最 合 理 的 方 式 分 配到相应的资源上去完成。 任务调度算法的好坏 直接影响到整个云环境的工作性能。 本文研究 批模式下的启发式调度算法, 并假定各个任务 相 互 独 立 , 经 典 的 启 发 式 调 度 算 法 包 括 Min min 算 法[5]、Sufferage[6]算法、GA 算法和 SA 算法。 Min-min 调度算法总是把最早完成时间最小 的任务分配到相应的资源上, 以尽量缩短任务的
化集合L,然后遍历矩阵中的所有元素找出一个最
小的预测最小完成时间值
cmin ? Min(ci j )
(1)
其中,1≤i≤m,1≤j≤n。
在集合L中找到一个最小的负载
lmin ? Min(l j )
(2)
本算法在任务调度过程中, 通过以下公式来
选择任务与资源的配对:
cmin cilj
−
lmin
l
c j
(3)
图1 LB-ECT算法流程
PMCT矩阵和集合L已知,集合T非空,根 据以
上定义,下面是算法流程的详细步骤:
(1)初 始 化 集 合 T和 集 合 L;
(2)初始化矩阵PMCT;
(3)While T 非空 , 循环 执行 步骤 (4)~步骤
(7);
(4)%For i=1 to n,For j=1 to m, 在PMCT矩 阵