logo好方法网

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


技术摘要:
本发明提出了一种提升云可靠性的自适应反馈资源调度方法,改进Hadoop平台下的LATE方法,设定快节点集Pf和慢节点集Ps,并根据初步划分出的快节点集Pf和慢节点集Ps计算出快慢节点计算能力差值,并根据快慢节点计算能力差值进一步划分为节点集计算能力优势处理模式、节点  全部
背景技术:
云计算采用了资源池的方式对计算、存储、网络、软件等资源进行统一管理和调 度,能够有效解决并行计算与分布式存储的问题。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  for  Hadoop  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阶段。 但其也存在下列缺陷: 5 CN 111580950 A 说 明 书 2/10 页 (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  Onput  Data)、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中存在的空闲并且节点成功/负载比最高的快节点进行备份操作。 6 CN 111580950 A 说 明 书 3/10 页 为了更好地实现本发明,进一步地,所述步骤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),且快节点 7 CN 111580950 A 说 明 书 4/10 页 的执行时间是否小于任务节点的剩余执行时间;若节点的任务速率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为本发明在快节点性能下降后的具体处理流程图。
下载此资料需消耗2积分,
分享到:
收藏