基于负载均衡的任务调度优化算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2017年6月计算机工程与设计June2017
第 38 卷第 6 期 COM PUTERENGINEERINGANDDESIGN Vol.38 No.6
基于负载均衡的任务调度优化算法
樊程,苏若凡
(南京邮电大学信息化建设与管理办公室,江苏南京210000)
摘要:针对当前任务调度算法的资源利用率低、负载严重失衡等难题,为提高分布式系统性能,提出基于负载均衡的任
务调度优化算法。
对当前常用分布式系统任务调度优化算法进行分析,指出它们存在的不足$考虑节点资源的异构性,根
据节点的性能指标实现任务重新分配和调度,使节点负载尽可能合理。
采用对比实验对性能进行分析,分析结果表明,相
比当前经典分布式系统任务调度算法,该算法提高了节点资源的利用率,加快了任务完成的速度,具有一定实际应用价值。
关键词:任务调度;负载均衡;性能指标;节点利用率;分布式系统
中图法分类号:TP393 文献标识号:A 文章编号:1000-7024 (2017) 06-1532-04
d o i:10. 16208/.. issnl000-7024. 2017. 06. 024
T a sk scheduling optim ization alg o rith m based on load balancing
FA N C heng,SU Ruo-fan
(Office of Informatizition Construaction and Management, Nanjing University of Posts
and Telecommunications,Nanjing 210000,China)
A b stract:To i mprove the performance of distributed systems and solve the problem of low resources utilization ratio and serious load imbalance in t he current task scheduling algorithms,a task scheduling algorithm based on load balancing was proposed. Current task scheduling optimization algorithms of distributed system were analyzed,and their deficiencies were pointed out. Considering heterogeneity of node resources,task allocation and scheduling were realized according to the the nodes? keeping nodes load as reasonable as possible. The performance was analyzed by contrast show that compared with the current distributed system task scheduling algorithms >the proposed algorit tion rate of node resources , greatly accelerates the task completion speed,and
K ey w ord s:task scheduling;load balancing;performance index;node utilization;distributed system
〇引言
任务调度优化[13]实际是将任务合理分配到节点资源上,尽可能使优化的目标达到最优[4]。
分布式系统任务可划分为两类.独立任务和依赖任务,大量研究结果表明,分布式系统的任务调度优化问题是一种典型的N P问题,]。
针对分布式系统的任务调度优化问题,许多学者进行了广泛的研究,到目前为止,针对不同优化目标和应用环境,涌现了大量有效的任务调度优化算法,]。
传统经典任务调度优化算法主要有遗传算法等[79],但是也存在不足,无法进行于大规模任务调优化问题的求解[10]。
近年来,有学者提出基于网格理论的任务调度优化算法,如Mm-Mm、Max-Mm、QoSM m-M m以及轮询调度算法等[11-13],相对
收稿日期.2016-03-22%修订日期.2016-11-14
基金项目:江苏省教育厅重点科研基金项目(2013JSJG069)于传统算法,它们收敛速度更快,任务调度优化问题的求解效率更高。
在实际应用中,分布式系统节点资源的性能不同,节点处理能力有差异性,基于网格理论的任务调度优化算法忽略了节点资源的异构性,存在一定的局限性[14]。
为了获得更优的分布式系统任务调度方案,提出了基于负载均衡的任务调度优化算法,结果表明,本文算法可以快速找到任务调度优化方案,减少了任务完成的时间,且性能要优于其它任务调度优化算法。
1经典分布式系统任务调度优化算法
任务调度常用3元组描述:{T,K,£TC},了为任务集合$1 $,…,5,R为节点集合<1,<2,…,<6;
作者简介:樊程(1973-),男,江苏南京人,硕士,高级工程师,研究方向为分布式处理以及网络管理;苏若凡(1976-),男,江苏南京人,硕士,工程师,研究方向为网络技术与管理。
E-mail:cfan84007@
第38卷第6期樊程,苏若凡:基于负载均衡的任务调度优化算法•1533 •
E T C为r n X n的矩阵,表示第z个任务在第7个节点资源上 完成的时间[15]$Min-M in算法是一种经典的分布式系统任 务调度优化算法,工作思路为:首先计算全部节点完成每 一个任务的时间,并找出最优节点;然后计算全部任务完 成的总时间,并找出完成总时间最少的任务,最后将完成 时间最少的任务分配到最优节点上,具体如下:
步骤1查找任务集合中的任务数量,如果没有任务,那么就跳到步骤H不然执行步骤2;
步骤2计算任务z在每个节点7上的完成时间£T C(z,7),找到每一个任务的最小E T C Z,7),记£T C(z,%
步骤3在全部任务中找出最小E T C",的任务,其对应时间记为ETCO n,々);
步骤4将E TC",々)分配到n上,从任务集合中删 除 E TC(,々);
步骤5对节点n就绪时间进行更新操作;
步骤6更新其它任务在节点n上完成时间,返回步骤1%步骤H全部任务分配完成。
Min-M in算法任务完成的理论时间少,执行效率高,然而在实际应用中,分布式系统任务复杂,具有动态性,任务完成时间不确定,因此预先计算任务时间,由于任务 重要程度不同,导致一些完成时间较短的任务先得到执行,一些重要任务却延迟执行,性能良好的节点负载过重,部 分节点一直空闲,对分布式系统工作效率产生负面影响。
2本文算法
2.1工作思路
为了解决分布式系统的工作效率低,节点资源利用率 低的缺陷,本文设计一种基于负载均衡的任务调度优化算法。
分布式系统各节点的C P U频率、R A M内存大小、网络带宽多参数都是不同的,节点呈现异构状态,而且不同 时刻节点性能也有差异,因此进行任务分配时,需求综合 考虑节点的性能差异,尽可能使各节点的负载均衡。
基于 负载均衡的任务调度优化算法的工作思路为:首先对待分 配任务进行重新组合,将任务划分为多个子任务;然后根 据当前节点的性能分析子任务数量,具体如图1所示。
图1本文算法的工作思路
2.2选择可调度节点
进行分布式系统的新任务分配时,分析当前全部节点上的任务数量,考虑当前节点的性能,根据这些值动态分配任务。
当一个节点目前未完成的任务数目太多,那么此时不给该节点分配新的任务,不然会现节点负载过重现象;本文定义了一个平均负载参数L,其描述一定时间段内平均进程数,只给平均负载低的节点分配任务,不然即使分配了任务,那么难以正常完成任务,导致分布式系统的工作效率低;综合考虑性能指标,节点的综合性能为
Q=7[11%12
1 2 "1)
7;=l o g(M)
式中:Q—分配任务的阈值,当满足Q<Q条件时,节点才能分配任务;M----为节点待完成任务数量;11、1---性能指标权重。
2.3任务重组
在任务执行过程中,需根据节点的当前性能对任务进 行动态、合理重组。
相关研究结果表明,节点性能与RAM 利用率(C)和C PU利用率(M)直接联系,节点性能直 接决定可以完成任务的数量,任务数量的动态变化形式为
N=(1-C)*+(1-M),
⑵
0<C<10<M<1
式中.*和,—CPU和RA M的权值。
从式")可以知道,N<*G,始终成立,它们关系与 CPU利用率和RAM利用率密切相关。
在实际应用中,任务调度优化方案还需要考虑任务调度 的时间(T s)和服务器计算节点性能的时间(T A)。
设T/为 完成N个任务的时间,那么T/、T A、T s之间的关系为
T n»T A %T s")基于负载均衡的任务调度算法工作流程如图2所示。
图2本文算法的工作流程
3算法的性能对比与分析
3.1实验环境
为了测试基于负载均衡任务调度算法的性能,构建一 个分布式系统,其中l台服务器(主节点),3台普通个人
给最优节点分配任务
将该节点加入可调度节点队列
任务队列
计算节点综合性能指标
第〃批任务
任
务
分
配
各
节
点<
任
务
进
行
重
组
•1534 •计算机工程与设计2017 年
计算机(节点#它们系统配置具体见表1$服务器主要用于
管理节点和任务调度,而普通个人计算机主要用于完成任
务。
分布式系统的工作效率与阈值Q直接相关,如果Q值
过大,空闲节点就多,反之,节点的负载过重,负载极不均
衡,根据具体应用环境,本文Q =3.0。
为了测试本文算法
的优越性,在相同条件下,选择经典M n-M n算法进行了对
比实验,参数 〇=10,/?= 10,々1=2,々2 = 1. 5。
表1分布式系统的节点配置
节点类型CPU RAM操作系统网络带宽
主节点4核Intel 3. 0 GHz16 GB Unix1000 M
普通节点12核Intel 2. 65 GHz8 GB W in7100 M
普通节点22核Intel 2. 65 GHz8 GB W in7100 M
普通节点32核Intel 2. 65 GHz8 GB W in7100 M
3.2结果与分析
3.2.1任务完成时间对比
为了体现公平性,Min-Min算法和本文运算法均执行3
次仿真实验,任务的完成时间如图3所示,相对于Min-
M in算法,本文算法的任务完成时间平均要减少10%左右,
大幅度提高了分布式系统的工作效率,这主要是由于本文
算法对任务采用动态重组方式,加快了任务完成的速度。
3.2.2节点资源利用率对比
统计Min-Min算法和本文运算法CPU、RAM利用率
以及系统平均负载,具体如图4所示。
从图4可以看出,
相对于Min-Min算法,本文算法降低了C P U利用率和
RAM使用率,使得系统资源得到了充分利用,同时有效降
低了系统的平均负载,能够保证分布式系统的正常工作。
3.2.3负载均衡分析
为了全面分析各个节点之间负载均衡性,统计本文算
法的3个节点CPU利用率、RAM利用率以及系统负载值,
具体如图5所示。
如图5所示,CPU利用率在55%左右波 动,RAM利用率在65%左右波动,系统平均负载处于65%〜80%范围内,结果表明验证了本算法的有效性。
4结束语
为了解决当前分布式系统任务调度过程中节点资源浪
第38卷第6期樊程,苏若凡:基于负载均衡的任务调度优化算法•1535 •
费严重的难题,本文算法充分考虑各节点的异构性,根据 节点性能分配合理的任务数量,并进行了具体的仿真对照 实验,结果表明,本文算法有效减少了任务完成时间,节 点负载十分均衡,具有一定的实际应用价值。
参考文献:
[1] TIAN Guozhong,XIAO Chuangbai. Scheduling DAG-based
tasks in distributed system:A survey [J], Journal of Computers Engineering T Science,2015,37 (5): 882-894 (in Chinese).[田国忠,肖创柏.分布式系统下的DAG任务调度研究综述[J],计算机工程与科学,2015,37 (5): 882-894.]
[2] Delavar AG,Aryan Y HsGA. A hybrid heuristic algorithm for
workflow scheduling in cloud systems [J], Cluster Computing,2014,17 (1):129-137.
[3] Shokripour A,Othman M,Ibrahim H,et af New method
for scheduling heterogeneous multi-installment systems [J], Future Generation Computer Systems,2012, 28 ( 8 ): 1205-1216.
[4] WANG Xiaoping,MENG Kun. New genetic algorithm for d--
visible load scheduling in heterogeneous distributed systems [J], Journal of Chinese Computer Systems,2015,36 (4): 797-800 (in Chinese).[王晓萍,孟坤.异构分布式系统的可分任务调度算法[].小型微型计算机系统,2015,36 ():
797-800P]
[5] ZHU Hongyu,LI Ting,YAN Jianen,et al. Research on dis
tributed task scheduling algorithm based on dynamic load balancing [J]. Chinese High Technology Letters,2014, 24 (12): 1261-1267 (inChinese).[朱虹宇,李挺,闫健恩,等.基于
动态负载均衡的分布式任务调度算法研究[].高技术通讯,2014,24 (2): 1261-1267.]
[6] Ll K. New divisible load distribution methods using pipelined
communication technique son tree and pyramid networks [J], Transactions on Aerospace and Electronic Systems,2011,47
(2): 806-919.
[7] WANG Wenhao,YAN Yunyang,ZHOU Jingbo. Optimiza
tion of Min-Min task scheduling algorithm based on load balance [J], Journal of Nanjing University of Science and Technology,
2015,39 (4): 398-404 (inC hinese).[王文豪,严云洋,周静波.基于负载均衡的Min-Min任务调度算法优化[].南京理工大学学报,2015,39 (4): 398-404.]
[8] LIU Li,JIANG Minghua. Research of task scheduling algo-
rithmon heterogeneous cluster [J]. Journal of Application Research of Computers,2014, 31 (1): 80-84 (in Chinese).
[刘莉,姜明华.异构集群下的任务调度算法研究[].计算机应用研究,2014,31 (1): 80-84.]
[9] WANG Xin. A load balancing grid task scheduling algorithm
[J], Journal of Computers Engineering T Science,2008, 30
(9): 86-88 (inChinese).[王鑫.一种负载均衡的网格任务
调度算法[J].计算机工程与科学,2008, 30 (9): 86-88.] [10] Sonmez 0, Mohamed H,Epema D. On the benefit of proces
sor co-allocation in multi-cluster grid systems [ J ]. IEEE Transactions on Parallel and Distributed Systems,2009,21
(6): 778-789.
[11] Chang YS,Zou CJ,Chang CI. RARS: A resource-aware
replica selection and co-allocation scheme for mobile grid [J],
International Journal of Ad Hoc and Ubiquitous Computing,2010,6(2): 99-113.
[12] ZHAO Guoliang,LI Yunfei,WANG Chuan. Research on
task scheduling in heterogeneous multi-core system [J], Jour
nal of Computer Engineering and Design,2014, 35 (9):
3099-3106 (inC hinese).[赵国亮,李云飞,王川,异构多
核系统任务调度算法研究[].计算机工程与设计,2014,
35 (9): 3099-3106.]
[13] LI Bo, ZHOU Enwei,SHEN B in. A simulating system for
scheduling co-allocation tasks in distributed computing environ
ments [J], Computer Engineering T Science,2012, 34
(2): 82-86 (inChinese).[李波,周恩卫,沈斌.分布式计
算环境中的协同分配任务调度仿真系统[].计算机工程与
科学,2012,34 (2): 82-86.]
[14] WAN Benting,CHEN Ming,LU Qiang. QoS guided task
schedule strategy in heterogeneous distributed system [J],
Computer Engineering,2007, 33 (11): 50-52 (in Chinese).
[万本庭,陈明,鲁强.一种QoS Min-Min异构分布式系统
任务调度策略[],计算机工程,2007, 33 (1): 50-52.] [15] Huang Y,BessisN,Norrington P,et al. Exploring decen
tralized dynamic scheduling for grids and clouds using the com
munity-aware scheduling algorithm [J], Future Generation Computer Systems,2013,29 (1): 402-415.。