[发明专利]基于BP神经网络的任务完成时间预测方法在审
申请号: | 201410464900.1 | 申请日: | 2014-09-12 |
公开(公告)号: | CN104239194A | 公开(公告)日: | 2014-12-24 |
发明(设计)人: | 唐飞龙;栾志坤;张杨;张健桐;房新宇;王玉凤;过敏意 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F11/34 | 分类号: | G06F11/34;G06N3/02 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 郭国中;樊昕 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 bp 神经网络 任务 完成 时间 预测 方法 | ||
技术领域
本发明涉及一种分布式系统作业优化、数据分析技术领域,具体地,涉及一种通过BP神经网络预测分布式系统中任务完成时间,从而实现推测执行的方法。
背景技术
在分布式系统中,通常通过许多计算机结点同时工作以便能够在一个可以接受的时间内完成一项任务或计算。具体来说,分布式系统通常将一个任务拆分成多个子任务,然后分配到不同的结点执行,最后将结果汇总,从而得出最终结果。在执行子任务的过程中,可能由于某一结点性能不佳或出现故障,使得这一结点执行分配给其的子任务的进度缓慢,而整个任务将会等待最慢的子任务完成后才算完成。因此,如何判断子任务在某一结点的执行速度,即如何预测子任务的完成时间,将是判断慢结点的关键,对于改进分布式系统的效率有着关键的作用。
以当前流行的MapReduce并行计算框架为例:对于一个传统的MapReduce作业(job),主结点(master)根据输入文件的数据拆分出许多任务(task),然后将Map任务和Reduce任务分配给集群中的不同结点(node)。当有结点用了不正常的长时间完成分配给其的任务——将该结点称为掉队者(straggler)——将会延长整个作业的执行时间,降低集群的吞吐量。针对这一问题,主结点会将执行缓慢的任务再分配给其他结点,这个过程称作备份执行。通过一定机制推测出掉队者,对执行缓慢的任务备份执行的过程被称作推测执行(speculative execution)。
Hadoop是基于HDFS、MapReduce和Hbase组成的一个分布式系统基础架构,是MapReduce应用最广泛的开源实现。当前版本Hadoop中的推测执行主要基于Zaharia M等(Zaharia,Matei,et al.Improving MapReduce Performance in Heterogeneous Environments.OSDI.Vol.8.No.4.2008.)提出的LATE(Longest Approximate Time to End)算法。该算法通过进度率(进度/时间)计算剩余时间(剩余进度/进度率),从而推断出任务的完成时刻。该算法计算备份执行后备份任务的完成时刻与当前任务的完成时刻的差值,对差值最大的几个任务备份执行,以达到最大的备份任务启动价值。
然而,该算法使用所有已经成功完成的任务的平均时间作为备份任务的完成时间,不仅无法反映成功执行任务节点的系统情况,导致当系统性能变化时对任务完成时间的预测不准确,而且还并未考虑到不同任务处理的数据量不同导致的完成时间差异。
BP(Back Propagation)神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。利用BP神经网络的这一特性,可以在只确定影响任务完成时间的因子的基础上进行预测,从而简化建立相关映射关系的过程。
发明内容
本发明针对上述的现有技术中的不足,提供一种基于BP神经网络的任务完成时间预测方法,该方法通过建立与系统信息及任务数据量相关的BP神经网络模型,使得对于任务完成时间的预测更加准确,从而改进推测执行的效率,使得整个系统的响应时间缩短,吞吐率上升。
为达到上述目的,本发明是通过以下技术方案实现的:
一种基于BP神经网络的任务完成时间预测方法,包括步骤如下:
步骤1、建立BP神经网络模型,在任务成功完成后保存对应的完成时间,数据量以及执行节点的系统信息,用于BP神经网络模型的训练;
步骤2、每隔一段时间,将该时间段的相关数据对建立的BP神经网络模型进行增量训练;
步骤3、当有任务需要备份执行时,收集当前所有可用节点的系统信息,结合该任务的数据量,通过已建立的BP神经网络模型进行预测,比较所有可用节点的预测值,选取预测值最小的节点进行备份执行。
所述步骤1的BP神经网络模型包括输入层、隐藏层及输出层,其中,输入层单元为4,输出层单元为1,输入层单元分别表示任务的数据量,执行节点的系统信息,输出层单元表示任务完成时间通过归一化处理后的值,隐藏层单元数是经公式推算和试凑调整确定,完成BP神经网络模型的建立。
所述执行节点的系统信息是能够反映节点当前系统状态,决定当前节点处理能力的参数,包括CPU占用率,I/O占用率以及内存占用率。
所述归一化处理是将原始数据的值转换到[0,1]区间内,使用的函数为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410464900.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:金属大气腐蚀曝晒试验架
- 下一篇:岩石滴定试验用试验台