CN111580950A - 一种提升云可靠性的自适应反馈资源调度方法 - Google Patents

一种提升云可靠性的自适应反馈资源调度方法 Download PDF

Info

Publication number
CN111580950A
CN111580950A CN202010546573.XA CN202010546573A CN111580950A CN 111580950 A CN111580950 A CN 111580950A CN 202010546573 A CN202010546573 A CN 202010546573A CN 111580950 A CN111580950 A CN 111580950A
Authority
CN
China
Prior art keywords
node
task
fast
rate
load
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010546573.XA
Other languages
English (en)
Inventor
郭晶
李发根
周雨阳
肖建飞
何亮
高攀
程卓
左正强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aostar Information Technologies Co ltd
University of Electronic Science and Technology of China
State Grid Information and Telecommunication Co Ltd
Original Assignee
Aostar Information Technologies Co ltd
University of Electronic Science and Technology of China
State Grid Information and Telecommunication Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Aostar Information Technologies Co ltd, University of Electronic Science and Technology of China, State Grid Information and Telecommunication Co Ltd filed Critical Aostar Information Technologies Co ltd
Priority to CN202010546573.XA priority Critical patent/CN111580950A/zh
Publication of CN111580950A publication Critical patent/CN111580950A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Abstract

本发明提出了一种提升云可靠性的自适应反馈资源调度方法,改进Hadoop平台下的LATE方法,设定快节点集Pf和慢节点集Ps,并根据初步划分出的快节点集Pf和慢节点集Ps计算出快慢节点计算能力差值,并根据快慢节点计算能力差值进一步划分为节点集计算能力优势处理模式、节点集计算能力弱势处理模式进行任务节点的处理;本发明通过上述操作提高资源利用率与负载均衡,同时利用节点的差异值提升备份任务选择的效率与可靠性,利用备份成功/负载比这一参数提升了云计算中任务备份成功执行的可靠性,减少了调度方法运行时间。

Description

一种提升云可靠性的自适应反馈资源调度方法
技术领域
本发明属于云计算领域,具体地说涉及一种提升云可靠性的自适应反馈资源调度方法。
背景技术
云计算采用了资源池的方式对计算、存储、网络、软件等资源进行统一管理和调度,能够有效解决并行计算与分布式存储的问题。Hadoop是当今主流的云计算平台,可以轻松开发与处理大数据程序。任务调度方法是在合理分配的计算资源与作业任务条件下,求得最优的作业整体执行时间。任务调度方法也与系统的可靠性紧密相关,如果任务调度算法可靠性降低,那么系统的可靠性也会降低。
Hadoop自带的调度方法有先进先出(First In First Out,FIFO)调度方法,公平调度方法,容量调度方法,以及改进的同样基于同构系统的方法,但是同构环境下的调度方法已经不能满足大集群应用的需求。
而最长近似结束时间(Longest Approximate Time to End,LATE)方法是针对异构环境而提出的一种调度方法,其通过预测任务的剩余完成时间,选择资源空闲的快节点为最长剩余完成时间的落后任务启动备份。
目前LATE方法被广泛应用在云平台的资源调度方面。主要有以下几种类型:
2011年,李丽英等人[李丽英,唐卓,李仁发.基于LATE的Hadoop数据局部性改进调度方法[J].计算机科学,2011,38(11):67-70.]提出了一个基于LATE的Hadoop数据局部性改进调度方法,该方法通过考虑数据局部性问题来提高了系统的吞吐率及任务的响应时间,但是因为没有考虑排队论,而要对整个系统进行两次排序会消耗一些时间。
2013年,Xie等人[J Xie,F J Meng,et al.Research on Scheduling Scheme forHadoop clusters[J].Procedia Computer Science,2013,18:2468-2471.]采取预取(Predictive schedule and prefeching,PSP)机制,在将任务分配给计算节点之前自适应地将一定量的数据预加载到内存,这种方式减少了作业响应时间。
2016年,张永等人[张永,贺言君.Hadoop平台下基于截至时间限制的动态调度方法的研究[J].计算机应用研究,2016,33(2):544-548.]提出了个基于截至时间限制的动态调度方法,该方法实时监控作业运行状况,并对作业运行时间进行动态估计,对作业进行优先级处理,从而提高了资源的利用率与吞吐量,但是该方法建立在同构集群环境下,未考虑异构情况。
2016年,王少娟[王少娟.异构环境下改进的LATE调度方法[J].计算技术与自动化,2016,35(4):66-70.]提出了一个异构的改进IR-LATE方法,该方法按负载不同对节点与任务进行分类,同时计算出负载最小且成功/负载比高的节点,该方法提高了备份执行的可靠性,但是作者对快慢节点的阈值没有相应的动态调整,并且在对负载进行分类时候只考虑了Map阶段,忽略了Reduce阶段。
但其也存在下列缺陷:
(1)LATE方法对落后任务采用了被动选择,即需要等待各节点心跳信息被读取分析、各落后任务被判别排序等一系列操作的完成之后,才能启动备份任务。其中,Map任务还需要按照失败任务、新任务、备份任务的顺序选择本轮任务。如果任务连续到来,则被动的选择方式将会影响所属作业的执行,也会影响到系统的可靠性;
(2)因为LATE方法采用备份任务的方法来解决异构环境下的作业调度问题,这导致备份任务越多系统浪费越大,备份任务的执行与正常作业的执行也会产生竞争关系;
(3)LATE方法也不曾考虑任务及节点的负载类型;
(4)同时,以上几种调度方法都没有反馈机制。
发明内容
本发明针对现有技术的上述缺陷,提出了一种提升云可靠性的自适应反馈资源调度方法,通过改进Hadoop平台下的LATE方法,设定快节点集Pf和慢节点集Ps,并根据初步划分出的快节点集Pf和慢节点集Ps计算出快慢节点计算能力差值,并根据快慢节点计算能力差值进一步划分为节点集计算能力优势处理模式、节点集计算能力弱势处理模式进行任务节点的处理;本发明通过上述操作,提高资源利用率与负载均衡,同时利用节点的差异值提升备份任务选择的效率与可靠性,减少了调度方法运行时间。
本发明的具体实现内容如下:
本发明提出了一种提升云可靠性的自适应反馈资源调度方法,首先初步划分出快节点集Pf和慢节点集Ps,并根据初步划分出的快节点集Pf和慢节点集Ps计算出快慢节点计算能力差值,并根据快慢节点计算能力差值进一步划分为节点集计算能力优势处理模式、节点集计算能力弱势处理模式进行任务节点的处理;
当处于节点集计算能力优势处理模式时,使用快节点集Pf进行任务处理,减少备份任务的启动;
当处于节点集计算能力弱势处理模式时,利用快节点集Pf和慢节点集Ps共同进行任务处理提高并行执行效率。
为了更好地实现本发明,进一步地,当处于节点集计算能力弱势处理模式时,包括以下处理步骤:
步骤S2.1.将任务负载分为CPU_bound和I/O_bound两类;
并采集得到Map的输入数据MID(Map Input Data)、Map的输出数据MOD(Map OnputData)、Shuffle的输入数据SID(Shuffle Input Data)、比例参数P、Map任务完成时间MTCT(Map Task Completed Time)、磁盘的I/O速度DIOR(Disk I/O Rate)、Map任务数量N;
所述比例参数P与Map的输入数据MID的乘积等于Map的输出数据MOD;
步骤S2.2.根据采集到的Map的输入数据MID、Map的输出数据MOD、Shuffle的输入数据SID、比例参数P、Map任务完成时间MTCT、磁盘的I/O速度DIOR、Map任务数量N来判断是采用CPU_bound任务负载类型还是I/O_bound任务负载类型进行进一步地轮询处理;
步骤S2.3.在进行轮询处理后,计算出任务执行时的节点负载workload和节点处理成功率;并进一步计算出节点成功/负载比;
步骤S2.4.在计算出节点成功率与节点负载比后,判断是否存在落后人物,若存在,则选择快节点集Pf中存在的空闲并且节点成功/负载比最高的快节点进行备份操作。
为了更好地实现本发明,进一步地,所述步骤S2.2.的具体操作包括:
步骤S2.2.1.计算Map的输入数据MID、Map的输出数据MOD、Shuffle的输入数据SID四个参数的和与Map任务数量N的乘积A,同时计算1与两倍比例参数P的和与Map的输入数据MID的乘积B,并进一步计算乘积B与Shuffle的输入数据SID相加的和与Map任务数量N的乘积C;
步骤S2.2.2.将乘积A乘积C分别与Map任务完成时间MTCT相除得到数值D、数值E;
步骤S2.2.3.判断数值D、数值E和磁盘的I/O速度DIOR之间的关系:
若数值D等于数值E且小于磁盘的I/O速度DIOR,则采用CPU_bound任务负载类型进行进一步地轮询处理;
若数值D等于数值E且大于或等于磁盘的I/O速度DIOR,则采用I/O_bound任务负载类型进行进一步地轮询处理。
为了更好地实现本发明,进一步地,所述步骤S2.3.的具体操作包括:
步骤S2.3.1.采集CPU使用率μc、内存使用率μm、磁盘使用率μd和网络使用率μn;并设定CPU资源权重Wrc、内存资源权重Wrm、磁盘资源权重Wrd、网络资源权重Wrn;
步骤S2.3.2.根据CPU使用率μc、内存使用率μm、磁盘使用率μd和网络使用率μn、CPU资源权重Wrc、内存资源权重Wrm、磁盘资源权重Wrd、网络资源权重Wrn计算I/O_bound任务负载类型的节点负载workload或者CPU_bound任务负载类型的节点负载workload:
步骤S2.3.3.当为CPU_bound任务负载类型时:首先计算节点执行任务总数CPUTaskNum和节点执行成功任务数CPUTaskSucc;并进一步计算出节点成功率CPUTaskSuccRate;所述节点成功率CPUTaskSuccRate为节点执行成功任务数CPUTaskSucc与节点执行任务总数CPUTaskNum之比;
当为I/O_bound任务负载类型时:首先计算节点执行任务总数IOTaskNum和节点执行成功任务数IOTaskSucc;并进一步计算出节点成功率IOTaskSuccRate;所述节点成功率IOTaskSuccRate为节点执行成功任务数IOTaskSucc与节点执行任务总数IOTaskNum之比;
步骤S2.3.4.使用节点成功率IOTaskSuccRate除以I/O_bound任务负载类型的节点负载workload得到在节点上执行CPU_bound任务负载类型时的成功/负载比CSW;
使用节点执行任务总数CPUTaskNum除以CPU_bound任务负载类型的节点负载workload得到在节点上执行I/O_bound任务负载类型时的成功/负载比为IOSW。
为了更好地实现本发明,进一步地,设定CPU_bound任务负载类型的链表BurdenForCPUList和I/O_bound任务负载类型的链表BurdenForIOList;在每次计算完成功/负载比CSW或者成功/负载比为IOSW后,将每个节点的CPU使用率μc、内存使用率μm、磁盘使用率μd和网络使用率μn和成功/负载比CSW或者成功/负载比为IOSW发送给JobTracker;然后重新计算对应任务负载类型的节点负载workload,并更新集群中执行节点为CPU_bound任务负载类型的链表BurdenForCPUList和集群中执行节点为I/O_bound任务负载类型的链表BurdenForIOList。
为了更好地实现本发明,进一步地,所述步骤S2.4.具体包括以下步骤:
步骤S2.4.1.计算节点的任务速率TSi,k和节点速率PSi(k)、快节点的执行时间、任务节点的剩余执行时间;
步骤S2.4.2.判断计算节点的任务速率TSi,k是否小于节点速率PSi(k),且快节点的执行时间是否小于任务节点的剩余执行时间;若节点的任务速率TSi,k小于节点速率PSi(k),且快节点的执行时间小于任务节点的剩余执行时间,启动备份。
为了更好地实现本发明,进一步地,在节点集计算能力优势处理模式或者节点集计算能力弱势处理模式进行节点任务处理后,还要通过计算快节点的负载率Li,进而判断快节点集Pf中的快节点性能的变化,判断快节点性能是否下降;
若快节点性能没有下降,则更新数据,任务完成进入结束阶段;
若快节点性能下降,则暂停新任务,在原有的落后任务被备份后,待快节点的性能上升后,再判断是否回归调度。
为了更好地实现本发明,进一步地,当所判断的快节点的负载率Li是否大于50%,且节点速率下降,则直接将所判断的快节点从快节点集Pf中退出并将节点负载workload标注为100%,并不再对所判断的快节点分配新任务。
为了更好地实现本发明,进一步地,所述划分出快节点集Pf和慢节点集Ps,具体操作包括:
步骤S1.1.采集无运行数据的初始状态下的CPU资源权重Wrc、内存资源权重Wrm、磁盘资源权重Wrd、网络资源权重Wrn、CPU资源PRci、内存资源PRmi、磁盘资源PRdi、网络资源PRni
步骤S1.2.根据CPU资源权重Wrc、内存资源权重Wrm、磁盘资源权重Wrd、网络资源权重Wrn、CPU资源PRci、内存资源PRmi、磁盘资源PRdi、网络资源PRni计算出在无运行数据的初始状态下的初始节点速率PSi(0);
步骤S1.3.使用节点资源和节点速率平均值定义快节点阈值Pthre;将节点速率大于快节点阈值Pthre的节点放入快节点集Pf中作为快节点,将节点速率小于或等于快节点阈值Pthre的节点放入慢节点集Ps中作为慢节点。
为了更好地实现本发明,进一步地,在集群运行之后,根据单位时间内处理的任务数量和资源量计算节点的当前数量,并将当前节点的平均节点速率更新为新的快节点阈值Pthre。
本发明与现有技术相比,具有以下优点及有益效果:
(1)提高了资源利用率与负载均衡;
(2)利用节点的差异值提升备份任务选择的效率与可靠性;
(3)利用备份成功/负载比这一参数提升了云计算中任务备份成功执行的可靠性;
(4)减少了调度方法运行时间。
附图说明
图1为本发明总体流程图;
图2为本发明处于节点集计算能力弱势处理模式时的处理流程图;
图3为本发明在快节点性能下降后的具体处理流程图。
具体实施方式
为了更清楚地说明本发明实施例的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,应当理解,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例,因此不应被看作是对保护范围的限定。基于本发明中的实施例,本领域普通技术工作人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
本发明提出了一种提升云可靠性的自适应反馈资源调度方法,如图1所示,包括以下步骤:
步骤S1.首先初步划分出快节点集Pf和慢节点集Ps,并根据初步划分出的快节点集Pf和慢节点集Ps计算出快慢节点计算能力差值,并根据快慢节点计算能力差值进一步划分为节点集计算能力优势处理模式、节点集计算能力弱势处理模式进行任务节点的处理;
具体步骤为:
步骤S1.1.采集无运行数据的初始状态下的CPU资源权重Wrc、内存资源权重Wrm、磁盘资源权重Wrd、网络资源权重Wrn、CPU资源PRci、内存资源PRmi、磁盘资源PRdi、网络资源PRni
步骤S1.2.根据CPU资源权重Wrc、内存资源权重Wrm、磁盘资源权重Wrd、网络资源权重Wrn、CPU资源PRci、内存资源PRmi、磁盘资源PRdi、网络资源PRni计算出在无运行数据的初始状态下的初始节点速率PSi(0);
步骤S1.3.使用节点资源和节点速率平均值定义快节点阈值Pthre;将节点速率大于快节点阈值Pthre的节点放入快节点集Pf中作为快节点,将节点速率小于或等于快节点阈值Pthre的节点放入慢节点集Ps中作为慢节点。
在集群运行之后,根据单位时间内处理的任务数量和资源量计算节点的当前数量,并将当前节点的平均节点速率更新为新的快节点阈值Pthre。
步骤S1.4.根据初步划分出的快节点集Pf和慢节点集Ps计算出快慢节点计算能力差值,并根据快慢节点计算能力差值进一步划分为节点集计算能力优势处理模式、节点集计算能力弱势处理模式进行任务节点的处理,判断快节点集Pf已用能力,根据已用能力判断进入节点集计算能力优势处理模式或者节点集计算能力弱势处理模式;
步骤S2.通过节点集计算能力优势处理模式使用快节点集Pf进行任务处理,减少备份任务的启动,或者通过节点集计算能力弱势处理模式,利用快节点集Pf和慢节点集Ps共同进行任务处理提高并行执行效率;
步骤S3.在进行处理时,进一步对快节点性能进行监测,判断快节点的性能是否下降;
步骤S4.完成任务,更新数据,结束。
工作原理:在无运行数据的初始状态,根据资源初始量判断节点速率PSi(0)=Wrc×PRci+Wrm×PRmi+Wrd×PRdi+Wrn×PRni。其中,Wrc+Wrm+Wrd+Wrn=1且Wrc,Wrm,Wrd,Wrn∈[0,1],Wrc,Wrm,Wrd,Wrn分别表示CPU、内存、磁盘、网络的等因素的资源权重。节点资源集为PR={(PRci,PRmi,PRdi,PRni)|i∈[1,np]},其中PRci、PRmi、PRdi、PRni表示CPU、内存、磁盘、网络等因素的资源。根据资源平均值定义初始的快节点阈值
Figure BDA0002540361680000071
超过阈值的节点进入快节点集Pf,反之进入慢节点集Ps。集群运行后,根据单位之间内处理的任务数与资源量计算节点Pi的当前速率如下所示。
Figure BDA0002540361680000072
同时,利用
Figure BDA0002540361680000073
更新快节点阈值。
任务完成一次将重新计算节点速率与阈值,更新快节点集Pf与慢节点集Ps,节点集按成功/负载比降序排序;
PAai=(Wrc×PRaci+Wrm×PRami+Wrd×PRadi+Wrn×PRani)×WA1×PSi(nt)×WA2表示节点的已用计算能力;
再由若当前快节点集已用计算能力
Figure BDA0002540361680000074
与差值
Figure BDA0002540361680000075
比较:
当节点集处于计算能力优势时,其负载率较低,所以落后任务所在的节点相对于整个集群的速率也不会很低,也没有必要进行落后任务的判断,减少备份任务的启动;当快慢节点集的计算能力相当时,可以利用慢节点资源提高并行执行效率,所以需要进行落后任务的判断,主动查找执行时间小于原节点上任务并为其备份,以此提高任务备份选择的效率与可靠性。
实施例2:
本发明在上述实施例1的基础上,为了更好地实现本发明,进一步地,如图2所示,当处于节点集计算能力弱势处理模式时,包括以下处理步骤:
步骤S2.1.将任务负载分为CPU_bound和I/O_bound两类;
并采集得到Map的输入数据MID(Map Input Data)、Map的输出数据MOD(Map OnputData)、Shuffle的输入数据SID(Shuffle Input Data)、比例参数P、Map任务完成时间MTCT(Map Task Completed Time)、磁盘的I/O速度DIOR(Disk I/O Rate)、Map任务数量N;
所述比例参数P与Map的输入数据MID的乘积等于Map的输出数据MOD。
步骤S2.2.根据采集到的Map的输入数据MID、Map的输出数据MOD、Shuffle的输入数据SID、比例参数P、Map任务完成时间MTCT、磁盘的I/O速度DIOR、Map任务数量N来判断是采用CPU_bound任务负载类型还是I/O_bound任务负载类型进行进一步地轮询处理:
步骤S2.2.1.计算Map的输入数据MID、Map的输出数据MOD、Shuffle的输入数据SID四个参数的和与Map任务数量N的乘积A,同时计算1与两倍比例参数P的和与Map的输入数据MID的乘积B,并进一步计算乘积B与Shuffle的输入数据SID相加的和与Map任务数量N的乘积C;
步骤S2.2.2.将乘积A乘积C分别与Map任务完成时间MTCT相除得到数值D、数值E;
步骤S2.2.3.判断数值D、数值E和磁盘的I/O速度DIOR之间的关系:
若数值D等于数值E且小于磁盘的I/O速度DIOR,则采用CPU_bound任务负载类型进行进一步地轮询处理;
若数值D等于数值E且大于或等于磁盘的I/O速度DIOR,则采用I/O_bound任务负载类型进行进一步地轮询处理。
步骤S2.3.在进行轮询处理后,计算出任务执行时的节点负载workload和节点处理成功率;并进一步计算出节点成功/负载比:
步骤S2.3.1.采集CPU使用率μc、内存使用率μm、磁盘使用率μd和网络使用率μn;并设定CPU资源权重Wrc、内存资源权重Wrm、磁盘资源权重Wrd、网络资源权重Wrn;
步骤S2.3.2.根据CPU使用率μc、内存使用率μm、磁盘使用率μd和网络使用率μn、CPU资源权重Wrc、内存资源权重Wrm、磁盘资源权重Wrd、网络资源权重Wrn计算I/O_bound任务负载类型的节点负载workload或者CPU_bound任务负载类型的节点负载workload:
步骤S2.3.3.当为CPU_bound任务负载类型时:首先计算节点执行任务总数CPUTaskNum和节点执行成功任务数CPUTaskSucc;并进一步计算出节点成功率CPUTaskSuccRate;所述节点成功率CPUTaskSuccRate为节点执行成功任务数CPUTaskSucc与节点执行任务总数CPUTaskNum之比;
当为I/O_bound任务负载类型时:首先计算节点执行任务总数IOTaskNum和节点执行成功任务数IOTaskSucc;并进一步计算出节点成功率IOTaskSuccRate;所述节点成功率IOTaskSuccRate为节点执行成功任务数IOTaskSucc与节点执行任务总数IOTaskNum之比;
步骤S2.3.4.使用节点成功率IOTaskSuccRate除以I/O_bound任务负载类型的节点负载workload得到在节点上执行CPU_bound任务负载类型时的成功/负载比CSW;
使用节点执行任务总数CPUTaskNum除以CPU_bound任务负载类型的节点负载workload得到在节点上执行I/O_bound任务负载类型时的成功/负载比为IOSW。
步骤S2.4.在计算出节点成功率与节点负载比后,判断是否存在落后人物,若存在,则选择快节点集Pf中存在的空闲并且节点成功/负载比最高的快节点进行备份操作:
步骤S2.4.1.计算节点的任务速率TSi,k和节点速率PSi(k)、快节点的执行时间、任务节点的剩余执行时间;
步骤S2.4.2.判断计算节点的任务速率TSi,k是否小于节点速率PSi(k),且快节点的执行时间是否小于任务节点的剩余执行时间;若节点的任务速率TSi,k小于节点速率PSi(k),且快节点的执行时间小于任务节点的剩余执行时间,启动备份。
工作原理:分别将任务负载分为CPU_bound和I/O_bound两类;如下表1给出了任务负载分类所用到的符号定义;
当满足如下公式的时候,为CPU_bound任务负载:
Figure BDA0002540361680000091
反之,当满足如下公式的时候,为I/O_bound任务负载:
Figure BDA0002540361680000092
其中,SID=RRN/WRN×SOR×nodes_number取决于分布集群中的Reducer,其数值由每个节点中正在运行着的Reducer数量(Running Reducer Number,RRN)与整个集群中的Reducer数量(Whole Reducer Number,WRN)的比例决定。
选取节点的CPU、内存、磁盘使用率和磁盘使用率来衡量其负载情况。同时,判断I/O_bound节点负载workload=Wrc×μc+Wrm×μm+Wrd×μd+Wrn×μn,Wrm>Wrc,Wrd,Wrn。其中,Wrc,Wrm,Wrd,Wrn分别表示CPU、内存、磁盘、网络的等因素的资源权重,μc,μm,μd,μn分别他们的使用率,Wrc+Wrm+Wrd+Wrn=1且Wrc,Wrm,Wrd,Wrn∈[0,1]。同理,判断CPU_bound节点负载workload=Wrc×μc+Wrm×μm+Wrd×μd+Wrn×μn,Wrc>Wrm,Wrd,Wrn
符号 描述
MID Map的输入数据,Map Input Data
MOD Map的输出数据,Map Onput Data
SID Shuffle的输入数据,Shuffle Input Data
SOD Shuffle的输出数据,Shuffle Onput Data
Ρ 比例参数,使得MOD=ρ*MID
MTCT Map任务完成时间,Map Task Completed Time
DIOR 磁盘的I/O速度,Disk I/O Rate
N Map任务数量
表1符号定义
定义TT集中Reduce任务执行时间子集为TTr:
TTr={TTri,j|TTri,j=Tci,j+Tsi,j+Tri,j,i∈[1,np],j∈∈[1,ntr]};
其中ntr为节点Pi上已经完成的Reduce任务数,Tci,j,Tsi,j,Tri,j分别为节点Pi上已经完成的Reduce任务的三个阶段所用时间。
同时我们定义节点Pi上Reduce任务:
进度比例为PP={PPi|i∈[1,np]};
任务已经运行时间为TA={TAi,k|i∈[1,np],k∈[1,nt]};
任务资源集为TR={(TRci,k,TRmi,k,TRdi,k,TRni,k)|i∈[1,np],k∈[1,nt]};
任务速率集为TS={TSi,k|i∈[1,np],k∈[1,nt]}。
这可得到公式:
Figure BDA0002540361680000101
上述公式给出了Reduce任务进度比例。其中,Wp1,Wp2,Wp3分别表示copy、sort、reduce完成全值,只能取0或者1。
在确定任务的进度比例后,任务的速率为:
TSi,k=[PPi×(Wrc×TRci+Wrm×TRmi+Wrd×TRdi+Wrn×TRni)]/TAi,k
当满足条件TSi,k<PSi(k)时,任务速率低于所在节点的速率,判断出现了落后任务。只有备份的快节点上的执行时间小于任务节点的剩余执行时间,即TRi,k/TSi,k-TAi,k>TRi,k/PSfi(k),才有必要启动备份;其中,PSfi(k)为本轮快节点速率。
本实施例的其他部分与上述实施例1相同,故不再赘述。
实施例3:
本发明在上述实施例1-2任一项的基础上,为了更好地实现本发明,进一步地,设定CPU_bound任务负载类型的链表BurdenForCPUList和I/O_bound任务负载类型的链表BurdenForIOList;在每次计算完成功/负载比CSW或者成功/负载比为IOSW后,将每个节点的CPU使用率μc、内存使用率μm、磁盘使用率μd和网络使用率μn和成功/负载比CSW或者成功/负载比为IOSW发送给JobTracker;然后重新计算对应任务负载类型的节点负载workload,并更新集群中执行节点为CPU_bound任务负载类型的链表BurdenForCPUList和集群中执行节点为I/O_bound任务负载类型的链表BurdenForIOList。
工作原理:CPU_bound任务的成功率为:
CPUTaskSuccRate=CPUTaskSucc/CPUTaskNum;
I/O_bound任务的成功率为:
IOTaskSuccRate=IOTaskSucc/IOTaskNum。
其中,CPUTaskNum和IOTaskNum分别为节点上执行两类任务的总数,CPUTaskSucc和IOTaskSucc分别为节点上成功的任务数。节点上执行CPU_bound任务的成功比为CSW=CPUTaskSuccRate/workload,节点上执行I/O_bound任务的成功比为IOSW=IOTaskSuccRate/workload。
每个节点将自身的使用率μc,μm,μd,μn和任务成功率/节点负载率发送给JobTracker,JobTracker在接收到这些信息后会重新计算workload值,更新集群中执行节点为CPU_bound负载的链表BurdenForCPUList和集群中执行节点为I/O_bound负载的链表BurdenForIOList。根据任务负载内型的不同,不同类型的节点遍历不同类型的负载链表,最后选择存在空闲并且成功/负载比最高的快节点进行备份,以此提升云任务备份成功执行的可靠性。
本实施例的其他部分与上述实施例1-2任一项相同,故不再赘述。
实施例4:
本发明在上述实施例1-3任一项的基础上,为了更好地实现本发明,进一步地,如图3所示,所述步骤S3.的具体步骤为:在节点集计算能力优势处理模式或者节点集计算能力弱势处理模式进行节点任务处理后,还要通过计算快节点的负载率Li,进而判断快节点集Pf中的快节点性能的变化,判断快节点性能是否下降;
若快节点性能没有下降,则更新数据,任务完成进入结束阶段;
若快节点性能下降,则暂停新任务,在原有的落后任务被备份后,待快节点的性能上升后,再判断是否回归调度。
为了更好地实现本发明,进一步地,当所判断的快节点的负载率Li是否大于50%,且节点速率下降,则直接将所判断的快节点从快节点集Pf中退出并将节点负载workload标注为100%,并不再对所判断的快节点分配新任务。
工作原理:判断节点性能变化:
如果节点负载率Li升高,可以得出节点性能下降,所述负载率Li的计算公式如下:
Figure BDA0002540361680000121
如果PSi(nt)>PSi(nt+1),则节点速率下降。对于性能的节点暂停新任务,其原有的落后任务被备份后,待节点性能提升后可通过反向条件公式判断节点是否回归调度,反向条件公式如下:
Figure BDA0002540361680000122
其中,在快节点的性能变化判断中,如果快节点的负载率Li≥50%且出现节点的速率下降,则可直接退出快节点集并将其负载标注为100%且不再分配新的任务。
本发明动态地区分快慢节点计算能力的差异,充分利用处于计算能力优势的快节点集执行任务,或者在快慢节点间无明显差异时,公平参与调度,以此提高任务并行度;调度过程中依据任务的负载类型,选择处于空闲并且成功/负载比高的节点备份落后任务以此提升资源调度的可靠性;同时通过获取任务、节点工作数据的反馈,自适应动态调整快慢节点集。
本实施例的其他部分与上述实施例1-3任一项相同,故不再赘述。
以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。

Claims (10)

1.一种提升云可靠性的自适应反馈资源调度方法,其特征在于,首先初步划分出快节点集Pf和慢节点集Ps,并根据初步划分出的快节点集Pf和慢节点集Ps计算出快慢节点计算能力差值,并根据快慢节点计算能力差值进一步划分为节点集计算能力优势处理模式、节点集计算能力弱势处理模式进行任务节点的处理;
当处于节点集计算能力优势处理模式时,使用快节点集Pf进行任务处理,减少备份任务的启动;
当处于节点集计算能力弱势处理模式时,利用快节点集Pf和慢节点集Ps共同进行任务处理提高并行执行效率。
2.如权利要求1所述的一种提升云可靠性的自适应反馈资源调度方法,其特征在于,当处于节点集计算能力弱势处理模式时,包括以下处理步骤:
步骤S2.1.将任务负载分为CPU_bound和I/O_bound两类;
并采集得到Map的输入数据MID(Map Input Data)、Map的输出数据MOD(Map OnputData)、Shuffle的输入数据SID(Shuffle Input Data)、比例参数P、Map任务完成时间MTCT(Map Task Completed Time)、磁盘的I/O速度DIOR(Disk I/O Rate)、Map任务数量N;
所述比例参数P与Map的输入数据MID的乘积等于Map的输出数据MOD;
步骤S2.2.根据采集到的Map的输入数据MID、Map的输出数据MOD、Shuffle的输入数据SID、比例参数P、Map任务完成时间MTCT、磁盘的I/O速度DIOR、Map任务数量N来判断是采用CPU_bound任务负载类型还是I/O_bound任务负载类型进行进一步地轮询处理;
步骤S2.3.在进行轮询处理后,计算出任务执行时的节点负载workload和节点处理成功率;并进一步计算出节点成功/负载比;
步骤S2.4.在计算出节点成功率与节点负载比后,判断是否存在落后人物,若存在,则选择快节点集Pf中存在的空闲并且节点成功/负载比最高的快节点进行备份操作。
3.如权利要求2所述的一种提升云可靠性的自适应反馈资源调度方法,其特征在于,所述步骤S2.2.的具体操作包括:
步骤S2.2.1.计算Map的输入数据MID、Map的输出数据MOD、Shuffle的输入数据SID四个参数的和与Map任务数量N的乘积A,同时计算1与两倍比例参数P的和与Map的输入数据MID的乘积B,并进一步计算乘积B与Shuffle的输入数据SID相加的和与Map任务数量N的乘积C;
步骤S2.2.2.将乘积A乘积C分别与Map任务完成时间MTCT相除得到数值D、数值E;
步骤S2.2.3.判断数值D、数值E和磁盘的I/O速度DIOR之间的关系:
若数值D等于数值E且小于磁盘的I/O速度DIOR,则采用CPU_bound任务负载类型进行进一步地轮询处理;
若数值D等于数值E且大于或等于磁盘的I/O速度DIOR,则采用I/O_bound任务负载类型进行进一步地轮询处理。
4.如权利要求2所述的一种提升云可靠性的自适应反馈资源调度方法,其特征在于,所述步骤S2.3.的具体操作包括:
步骤S2.3.1.采集CPU使用率μc、内存使用率μm、磁盘使用率μd和网络使用率μn;并设定CPU资源权重Wrc、内存资源权重Wrm、磁盘资源权重Wrd、网络资源权重Wrn;
步骤S2.3.2.根据CPU使用率μc、内存使用率μm、磁盘使用率μd和网络使用率μn、CPU资源权重Wrc、内存资源权重Wrm、磁盘资源权重Wrd、网络资源权重Wrn计算I/O_bound任务负载类型的节点负载workload或者CPU_bound任务负载类型的节点负载workload:
步骤S2.3.3.当为CPU_bound任务负载类型时:首先计算节点执行任务总数CPUTaskNum和节点执行成功任务数CPUTaskSucc;并进一步计算出节点成功率CPUTaskSuccRate;所述节点成功率CPUTaskSuccRate为节点执行成功任务数CPUTaskSucc与节点执行任务总数CPUTaskNum之比;
当为I/O_bound任务负载类型时:首先计算节点执行任务总数IOTaskNum和节点执行成功任务数IOTaskSucc;并进一步计算出节点成功率IOTaskSuccRate;所述节点成功率IOTaskSuccRate为节点执行成功任务数IOTaskSucc与节点执行任务总数IOTaskNum之比;
步骤S2.3.4.使用节点成功率IOTaskSuccRate除以I/O_bound任务负载类型的节点负载workload得到在节点上执行CPU_bound任务负载类型时的成功/负载比CSW;
使用节点执行任务总数CPUTaskNum除以CPU_bound任务负载类型的节点负载workload得到在节点上执行I/O_bound任务负载类型时的成功/负载比为IOSW。
5.如权利要求4所述的一种提升云可靠性的自适应反馈资源调度方法,其特征在于,设定CPU_bound任务负载类型的链表BurdenForCPUList和I/O_bound任务负载类型的链表BurdenForIOList;在每次计算完成功/负载比CSW或者成功/负载比为IOSW后,将每个节点的CPU使用率μc、内存使用率μm、磁盘使用率μd和网络使用率μn和成功/负载比CSW或者成功/负载比为IOSW发送给JobTracker;然后重新计算对应任务负载类型的节点负载workload,并更新集群中执行节点为CPU_bound任务负载类型的链表BurdenForCPUList和集群中执行节点为I/O_bound任务负载类型的链表BurdenForIOList。
6.如权利要求2所述的一种提升云可靠性的自适应反馈资源调度方法,其特征在于,所述步骤S2.4.具体包括以下步骤:
步骤S2.4.1.计算节点的任务速率TSi,k和节点速率PSi(k)、快节点的执行时间、任务节点的剩余执行时间;
步骤S2.4.2.判断计算节点的任务速率TSi,k是否小于节点速率PSi(k),且快节点的执行时间是否小于任务节点的剩余执行时间;若节点的任务速率TSi,k小于节点速率PSi(k),且快节点的执行时间小于任务节点的剩余执行时间,启动备份。
7.如权利要求1所述的一种提升云可靠性的自适应反馈资源调度方法,其特征在于,在节点集计算能力优势处理模式或者节点集计算能力弱势处理模式进行节点任务处理后,还要通过计算快节点的负载率Li,进而判断快节点集Pf中的快节点性能的变化,判断快节点性能是否下降;
若快节点性能没有下降,则更新数据,任务完成进入结束阶段;
若快节点性能下降,则暂停新任务,在原有的落后任务被备份后,待快节点的性能上升后,再判断是否回归调度。
8.如权利要求7所述的一种提升云可靠性的自适应反馈资源调度方法,其特征在于,当所判断的快节点的负载率Li是否大于50%,且节点速率下降,则直接将所判断的快节点从快节点集Pf中退出并将节点负载workload标注为100%,并不再对所判断的快节点分配新任务。
9.如权利要求1所述的一种提升云可靠性的自适应反馈资源调度方法,其特征在于,所述划分出快节点集Pf和慢节点集Ps,具体操作包括:
步骤S1.1.采集无运行数据的初始状态下的CPU资源权重Wrc、内存资源权重Wrm、磁盘资源权重Wrd、网络资源权重Wrn、CPU资源PRci、内存资源PRmi、磁盘资源PRdi、网络资源PRni
步骤S1.2.根据CPU资源权重Wrc、内存资源权重Wrm、磁盘资源权重Wrd、网络资源权重Wrn、CPU资源PRci、内存资源PRmi、磁盘资源PRdi、网络资源PRni计算出在无运行数据的初始状态下的初始节点速率PSi(0);
步骤S1.3.使用节点资源和节点速率平均值定义快节点阈值Pthre;将节点速率大于快节点阈值Pthre的节点放入快节点集Pf中作为快节点,将节点速率小于或等于快节点阈值Pthre的节点放入慢节点集Ps中作为慢节点。
10.如权利要求9所述的一种提升云可靠性的自适应反馈资源调度方法,其特征在于,在集群运行之后,根据单位时间内处理的任务数量和资源量计算节点的当前数量,并将当前节点的平均节点速率更新为新的快节点阈值Pthre。
CN202010546573.XA 2020-06-15 2020-06-15 一种提升云可靠性的自适应反馈资源调度方法 Pending CN111580950A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010546573.XA CN111580950A (zh) 2020-06-15 2020-06-15 一种提升云可靠性的自适应反馈资源调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010546573.XA CN111580950A (zh) 2020-06-15 2020-06-15 一种提升云可靠性的自适应反馈资源调度方法

Publications (1)

Publication Number Publication Date
CN111580950A true CN111580950A (zh) 2020-08-25

Family

ID=72114636

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010546573.XA Pending CN111580950A (zh) 2020-06-15 2020-06-15 一种提升云可靠性的自适应反馈资源调度方法

Country Status (1)

Country Link
CN (1) CN111580950A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112199164A (zh) * 2020-10-19 2021-01-08 国网新疆电力有限公司信息通信公司 一种保证容器镜像一致性的方法
CN113821313A (zh) * 2020-12-28 2021-12-21 京东科技控股股份有限公司 一种任务调度方法、装置及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107656805A (zh) * 2017-10-20 2018-02-02 广东电网有限责任公司电力调度控制中心 一种基于Hadoop平台的电力数据作业调度方法
CN107832153A (zh) * 2017-11-14 2018-03-23 北京科技大学 一种Hadoop集群资源自适应分配方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107656805A (zh) * 2017-10-20 2018-02-02 广东电网有限责任公司电力调度控制中心 一种基于Hadoop平台的电力数据作业调度方法
CN107832153A (zh) * 2017-11-14 2018-03-23 北京科技大学 一种Hadoop集群资源自适应分配方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
严炜: "混合云中面向数据密集型应用的服务选择和任务调度方法研究", 《信息科技辑》 *
朱洁,等: "基于节点集计算能力差异的Hadoop自适应任务调度算法", 《计算机应用》 *
王少娟: "异构环境下改进的LATE调度算法", 《计算技术与自动化》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112199164A (zh) * 2020-10-19 2021-01-08 国网新疆电力有限公司信息通信公司 一种保证容器镜像一致性的方法
CN113821313A (zh) * 2020-12-28 2021-12-21 京东科技控股股份有限公司 一种任务调度方法、装置及电子设备

Similar Documents

Publication Publication Date Title
CN102063336B (zh) 一种分布式计算多应用功能异步并发调度方法
CN104317658A (zh) 一种基于MapReduce的负载自适应任务调度方法
US20100125847A1 (en) Job managing device, job managing method and job managing program
CN111381950A (zh) 一种面向边缘计算环境基于多副本的任务调度方法和系统
US20080282267A1 (en) Dynamic Application Instance Placement in Data Center Environments
CN114138486A (zh) 面向云边异构环境的容器化微服务编排方法、系统及介质
CN103257896B (zh) 一种云环境下的Max-D作业调度方法
WO2015100995A1 (zh) 一种智能服务调度方法
CN103412794A (zh) 一种面向流计算的动态调度分配方法
CN111580950A (zh) 一种提升云可靠性的自适应反馈资源调度方法
CN105867998A (zh) 一种虚拟机集群部署算法
CN114900525B (zh) 一种偏斜数据流的双层协作负载均衡方法及存储介质
CN116467076A (zh) 一种基于集群可用资源的多集群调度方法及系统
CN111782627B (zh) 面向广域高性能计算环境的任务与数据协同调度方法
CN110084507A (zh) 云计算环境下分级感知的科学工作流调度优化方法
CN107656805A (zh) 一种基于Hadoop平台的电力数据作业调度方法
Li et al. New improvement of the Hadoop relevant data locality scheduling algorithm based on LATE
Abba et al. Deadline based performance evaluation of job scheduling algorithms
CN103268261A (zh) 一种适用于大规模高效能计算机的层次式计算资源管理方法
Mao et al. A fine-grained and dynamic MapReduce task scheduling scheme for the heterogeneous cloud environment
Weihua et al. Analysis of information management and scheduling technology in Hadoop
Du et al. OctopusKing: A TCT-aware task scheduling on spark platform
Guo et al. Improved Adaptive Feedback Scheduling Algorithm based on LATE in Hadoop Platform
CN111880923A (zh) 一种云环境下的资源调度策略方法
CN111367653A (zh) 一种流计算任务管理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20200825

RJ01 Rejection of invention patent application after publication