云计算环境下基于改进遗传算法的任务调度算法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
云计算是并行计 算、网格计算 [5- 6] 的发展, 是分布式 计算 的一种, 其最基本的思想是 透过网 络将庞 大的计 算处理 程序 自动分拆成无数个较 小的子 程序, 再交由 多部服 务器所 组成 的庞大系统, 经搜寻、计算分析 之后将 处理结 果回传 给用户, 提供这些资 源的网 络被 称为 云 。云计 算所提 供的 服务 面 向的用户群是 庞大 的, 因此 云 中的 任务数 量是 巨大 的, 系 统每时每刻都要处理 海量的任务, 所以 任务调 度 [ 7] 是云 计算 中的重点与难 点。本文 对如 何充分 利用 云 中 的资 源使 其 中的任务进行高效合 理的调 度进行 了研究, 提出 了一种 基于 双适应度 遗传 算法 ( D oub le F itness G enetic A lgo rithm, DFGA ) 的任务调度算法, 并通过了仿真实验, 验证了其良好的性能。
图 1 M ap /R educe的具体执行过程 从图 1可以看出, M ap /R educe有 6个 过程 , 可分 为两 个 主要阶段。 M ap阶段 把一个较大 的任务 通过 M ap/R educe 函数 分 割为 M 个较小的子任务, 然 后配给 多个 w orker( 被分 配为 执 行 M ap操作的 wo rker)并行执行, 输 出处理后的中间文件;
第 1期
李建锋等: 云计算 环境下基于改进遗传算法的任务调度算法
Baidu Nhomakorabea
18 5
R educe阶段 将 M ap 阶段处 理后的 结果进行 汇总分 析 处理, 输出最后的结果: R 个输出文件 (R 为 R educe任务 的个 数 )。
在 M ap /R educe编程模 型 下, 如何 对 众多 的子 任 务进 行 调度是个复杂的问 题。在云计 算中, 同时 向许多用 户提供 服 务, 要考虑到每个用户的响应时间, 不能 让有些用户等待的时 间太长。同时也要考 虑用户的 综合满 意度, 这就要 用任务 的 平均完成时间来衡量。而目前的一些任 务调度算法只关注了
1 云计算中的编程模型
目前的 云 计算 环 境 中 大部 分 采 用 G oog le 提 出 的 M ap / R educe的编程模式 [8] , 大部分信息技术厂 商提出的 云 计划
中采用的编程 模型, 都 是 采用 基于 M ap /R educe 的 思想 开 发 的编程工具, 它特别适用于 产生和 处理大 规模的 数据集。 其 执行过程如图 1 所示。
W 1: { 3, 8, 9, 10} W 2: { 1, 4, 5, 7} W 3: { 2, 6} 通过解码后的序列和 ETC ( Expected T ime to Com pute) 矩
阵 ( ET C [ i, j ] 表示 第 i个 subT ask在第 j个资源上执 行完成所 要用的时间 ) 可以计算出每个资源执行该资源上 的所有子 任 务所用的时间, 则完成所有任务的总时间函数为:
源 任务的间 接编 码方 式。染 色体 的 长度 为子 任 务的 数
量, 染色体中每个基因的取 值为该 位置号 对应的 子任务 分配
到资源上的资源编号 。
设有 TASK 个任务 ( task), W ORKER 个 w orker资 源, 第 t
个任务被分为的子任务 ( subT ask) 的数量为: taskN um ( t)。则
关键词: 云计算; 遗传算法; 双适应度; 任务调度 中图分类号: T P393 文献标志码: A
Task scheduling algorithm based on improved genetic algorithm in cloud computing environm ent
L I Jian feng, PENG Jian
(C ollege of Compu ter S cience, S ichuan Un iversity, Chengd u S ichuan 610065, Ch ina )
Abstract: T he number of users is huge in c loud computing, and the number o f tasks and the am ount of da ta are also huge. H ow to schedule tasks efficiently is an im portant issue to be reso lved in c loud computing env ironm ent. A Doub le F itness G enetic A lgor ithm ( DFGA ) w as brought up for the prog ramm ing fram ew ork o f c loud computing. T hrough th is a lgor ithm, the be tter task scheduling no t only sho rtens to tal task comp le tion time and a lso has shorter average com pletion tim e. T he re is a contrast between DFGA and Adaptive G ene tic A lgor ithm (AGA ) through simu lation exper iment, and the resu lt is: the DFGA is be tter, it is an effic ient task schedu ling a lgo rithm in c loud com puting env ironm ent.
i- 1
m = taskN um ( k ) + j
( 2)
k= 1
染色体的长度为 10, 每个 基因的 取值 为 1~ 3, 如产生 下
面的一个染色体:
{ 2, 3, 1, 2, 2, 3, 2, 1, 1, 1} 则这条染色体代 表第 1个 subT ask 在第 2个 w orker上 执行,
分为: t2. 1, t2. 2; task3被分为: t3. 1, t3. 2, t3. 3, t3. 4, t3. 5。则 总共有 10个 subT ask, 再对这 些 subT ask 进行编号, 其中 较简
单的一种编 法是: 依 次 按任 务 顺序 子 任务 顺 序编 码法。 即第 i个 task中的第 j 个 subT ask的序号为 m:
收稿日期: 2010- 07- 15; 修回日期: 2010- 09- 06。 基金项目: 四川省科技支撑计划项目 ( 06K JT 013; 2009GZ0153 ) 。 作者简介: 李建锋 ( 1987- ) , 男, 河南项城人, 硕士研究生, 主要研究方向: 网格计算、云计算; 彭舰 ( 1970- ) , 男, 四川成都人, 教授, 博士, 主要研究方向: 分布式系统、移动计算。
第 31卷第 1期 2011年 1月
计算机应用 Journal o f Computer A pp lications
V o.l 31 N o. 1 Jan. 2011
文章编号: 1001- 9081( 2011) 01- 0184- 03
do:i 10. 3724 /SP. J. 1087. 2011. 00184
W ORKE R n
F1(x ) =
m ax w orker( w, i)
w= 1 i= 1
( 3)
其中: wo rk er (w, i) 为 第 w 个 w orker执行该 w o rker上第 i个子
任务所用的时间, n为分配到 该 wo rke r上的子 任务数量。 同时通过解码 后的 序列 和 ETC 矩 阵可 以计 算 出第 t 个
云计算环境下基于改进遗传算法的任务调度算法
李建锋, 彭 舰
( 四川大学 计算机学院, 成都 610065 ) ( jianpeng@ scu. edu. cn )
摘 要: 在云计算中面对的用户群是 庞大的, 要处 理的任 务量与 数据量 也是十 分巨大的 。如何对 任务进 行高效 的调度成为云计算中 所 要解 决的 重 要问 题。针 对云 计算 的 编程 模型 框 架, 提出 了 一种 具有 双 适应 度 的遗 传 算法 ( DFGA ), 通过此算法不但能找 到总任务完成时间较短的调度结果, 而且此调度结果 的任务平 均完成时间 也较短。通 过仿真实验将此算法与自适应遗传算法 ( AGA )进行比较, 实验结果表明, 此算 法优于自适 应遗传算法, 是一 种云计算 环境下有效的任务调度算法。
总任务的完成时间, 即用户的最大等待时间, 没有太多地关注 任务的平均完成时间 , 这样 会造成 许多潜 在的优 良基因 的丢 失, 因为当任务的平均完成时间较小时, 使找到更小的任务总 完成时间成为了可能 ; 并且 在云计 算中又 把一个 用户程 序分 为许多子任务来执行 , 这样 就更容 易造成 总的任 务完成 时间 较为理想, 而任务的平均 完成时 间较大 的情况。因 此本文 提 出了 DFGA 对云计算中 的任务 调度策 略进行改 进, 通过对 任 务的优化调度来最大 限度地提高云计算环境的效率。
R educe模型 [ 8] , 并且为了能得到总 任务执行时 间和任务 平均
执行时间都较短的任 务调度 结果, 本文对 遗传算 法作了 一些 改进, 增加了一个适应度, 用两 个适应 度来选 择种群, 即双 适
应度遗传算法 ( DFGA ) 。 2. 1 染色体编码与解码
染色体编码有很多种方式 , 可以采用直接编码, 即直接对 任务的执 行 状 态编 码, 也 可 以采 用 间 接编 码。 本 文采 用 资
子任务的总数量为 subT askN um:
TASK
subT a skN um = taskN um ( t)
( 1)
t= 1
如假设有 3 个大任 务 ( task ), 3 个 w orker资 源, 每个 task
又分为若干个 subT ask:
如 task1被 分 为: t1. 1, t1. 2, t1. 3三 个 subT ask; task2 被
2 采用 DFGA 进行 云 中任务调度
遗传算 法 ( G enetic A lgo rithm, GA ) 是 H o lland于 1975年受 生物进化论的启发而 提出的, 并行性和全局解空间搜索是 GA
的两个最显 著的 特点 [9] 。针 对云 计算 环境 下的 任务 调度 问
题, 用遗传算法进行任务调度能得到较好的效果。参 照 M ap /
task的 完成时间:
taskNum ( t ) k
taskT im e( t) = m ax W ( j, i)
第 2 个 subT ask 在 第 3 个 w orker 上 执 行, subT ask在第 1个 w orker上执行。
, 第 10 个
之后就是对 染色 体解 码, 得到 wo rker上 的 subT ask分 布 情况。生成多组以资源编 号的 subT ask序列。如 将上述 染色
体解码为:
K ey words: cloud com puting; G ene tic A lgo rithm (GA ); doub le fitness; task schedu ling
0 引言
近几年云计 算 [ 1- 2] 成为 了人们 讨论 的热 点。目前 IBM、 G oog le、Am azon、M icroso ft等纷 纷 涉足 云计 算, 提 供 了 众多 基 于 云 计 算 的 服 务, 如 Gm a il、Goog le E arth、G oog le Ana ly tics、 G oog le 搜索、G oog le 文 档 [ 3] ; Am azon 的弹 性云 计 算 ( EC2) 服 务和存储服务 ( S3); M icrosoft的 W indow s L ive W eb 应用 套件 及 H otm ail等 [ 4]。
相关文档
最新文档