收稿日期:20160228;修回日期:20160411 基金项目:国家公益性科研专项项目(201310162,201210022);连云港科技支撑计划资
助项目(SH1110)
作者简介:帅仁俊(1962),男,上海人,副教授,主要研究方向为卫生信息化、智能建筑(srjwhy@163.com);沈阳(1991),男,硕士研究生,主
要研究方向为医学图像处理、云计算;陈平(1960),男,高工,主要研究方向为卫生信息化;潘静(1984),男,硕士,主要研究方向为实验室技术与
管理;董亚楠(1990),女,硕士研究生,主要研究方向为云计算.
基于 logistic回归模型的
Hadoop本地任务调度优化算法
帅仁俊
1
,沈 阳
1
,陈 平
2
,潘 静
1
,董亚楠
1
(1.南京工业大学 计算机科学与技术学院,南京 211816;2.南京市卫生信息中心,南京 210003)
摘 要:当一个工作节点有多个本地任务可执行时,默认情况下,调度器都是按照任务被发现的先后顺序来进
行执行,效率低下。为了优化对本地任务的调度,提出了一种基于机器学习的 Hadoop本地任务调度优化算法。
选取定义与任务相关的特征向量,然后基于 logistic回归模型的机器学习方式得到各向量的作用权值,将任务进
行优先级排序,并通过过载规则不断更新模型。通过实验证明,提出的算法在改善 map任务的数据本地性的同
时,降低了作业运行时间。
关键词:Hadoop;MapReduce;本地调度;任务优先级;过载规则;logistic回归模型
中图分类号:TP393;TP3016 文献标志码:A 文章编号:10013695(2017)03072703
doi
:10.3969/j.issn.10013695.2017.03.020
Hadooplocaltasksschedulingoptimization
algorithmbasedonlogisticregressionmodel
ShuaiRenjun
1
,ShenYang
1
,ChenPing
2
,PanJing
1
,DongYanan
1
(1.SchoolofComputerScience&Technology,NanjingTechUniversity,Nanjing211816,China;2.NanjingHealthInformationCenter,Nan
jing210003,China)
Abstract:ForataskTrackerhasmultiplelocaltasksavailable,bydefault,theschedulerexecutesthosetasksinsuccession
withtheorderofthetaskstobefound,thisisinefficient.Inordertooptimizethelocaltasksscheduling,thispaperpresented
Hadooplocaltasksschedulingoptimizationalgorithmbasedonmachinelearning.First
,itselectedanddefinedrelatedfeature
vectorsofthelocaltasks.Then,basedonthewayofmachinelearningwithlogisticregressionmodel,ittrainedthesevectors
togettheweightofeachvectortodecidethetaskpriority,andupdatedthemodelconstantlybytheoverloadrules.Theexperi
mentalresultsshowthattheproposedalgorithmimprovesmaptaskdatalocality,atthesametimeitreducesjobrunningtime.
Keywords:Hadoop;MapReduce;localtasksscheduling;taskpriority;overloadrules;logisticregressionmodel
0 引言
随着互联网向互联网加新形态的转变,产生了海量的数据
量,互联网迎来了大数据时代。对大数据的处理与应用的意义
不言而喻,由此云计算应运而生。
Hadoop
[1]
作为一种开源的
云计算平台近年来得到了急速的发展。Hadoop继承和发展了
Google的 GFS和 MapReduce,分别为 HDFS(Hadoopdistributed
filesystem)
[2]
和 HadoopMapReduce。其 中 HadoopMapRe
duce
[3]
作为平台的核心部分,是一种新型的并行计算模型,具
有高效、简单等诸多优点,因而得到了广泛的商业应用与科学
研究;而调度算法作为
MapReduce的核心部分,它的优劣成为
了直接影响
MapReduce性能的关键因素,因此得到了很多国
内外学者专家的关注
[4~6]
。
李克强总理提出的提速提宽政策说明了互联网加作为机
遇的同时也给网络带宽带来了挑战,而网络带宽作为 Hadoop
平台的稀缺资源得到了越来越多的关注,所以在对 MapReduce
调度算法的研究中,基于提高任务本地化是当下的热点。相关
算法包括文献[7]提出的基于流的任务分配调度算法;文献
[
8]提出的 BAR算法;文献[9]提出的延迟调度算法(delay
schedulingalgorithm)以及相关改进的算法,如文献[10]提出的
nextKnode算法;文献[11]提出的 ThreeQueue调度算法。这
些算法都是在尽量提高本地化,没有考虑本地任务本身的特
征,忽略了任务所处理数据的分布情况,导致丢失了从可执行
本地任务列表里选择更优的任务来调度带来的收益,而对于一
个大数据应用来说,这个列表中的任务在数量上是非常庞大
的,优化本地任务的执行对于提高任务本地化有显著的作用。
文献[
12]提出了 optimaltaskselectionscheme,对于可执行
的本地任务,选择更优的任务来调度是根据相关特征向量求权
值和的大小来决定,提高了任务的本地化执行,但是模型中对
特征向量的选取太过简单,不适合复杂的大数据应用;尤其在
对权值的获取中,需要根据经验然后通过复杂的验证计算来求
得,得到的结果过于主观不够准确。基于对文献[
12]的改进,
第 34卷第 3期
2017年 3月
计 算 机 应 用 研 究
ApplicationResearchofComputers
Vol34No3
Mar.2017