[发明专利]MapReduce中任务的调度方法和流水化执行方法有效
| 申请号: | 201510607579.2 | 申请日: | 2015-09-22 |
| 公开(公告)号: | CN105117286B | 公开(公告)日: | 2018-06-12 |
| 发明(设计)人: | 李本超;陈琪;姚金宇;肖臻 | 申请(专利权)人: | 北京大学 |
| 主分类号: | G06F9/48 | 分类号: | G06F9/48 |
| 代理公司: | 北京万象新悦知识产权代理事务所(普通合伙) 11360 | 代理人: | 张肖琪 |
| 地址: | 100871*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 依赖关系 流水化 任务调度 上游 资源利用率 方法执行 关键路径 任务继续 任务完成 任务运行 任务执行 提升系统 运行性能 最大化 算法 队列 分发 调度 输出 | ||
本发明公布一种MapReduce系统中的任务调度方法和流水化执行方法,将有依赖关系的任务根据依赖关系和优先程度进行任务调度,使得有依赖关系的任务之间的执行重叠最大化:任务之间的依赖关系用DAG关系图表示,根据关键路径算法获得关键任务,通过流水化任务执行方法执行当前任务运行队列中的任务:执行上游map任务;进入上游reduce阶段;当输出第一个block时启动下游map阶段,分发一个map任务,同时设置下游任务map数量为最大数值;上游任务完成时设置下游任务map数量为正确数值;下游任务继续执行map任务和reduce阶段至执行完成。本发明方法可提高系统的资源利用率和程序的执行效率,提升系统运行性能。
技术领域
本发明属于计算机软件应用技术领域,涉及分布式计算框架MapReduce系统中的任务执行和调度,尤其涉及一种MapReduce系统中的有依赖关系的任务之间的任务调度方法和流水化执行方法。
背景技术
云计算是当前工业界和学术界关注的热点,它改变了传统上由用户提供和维护计算资源的模式,改由云计算厂商集中化管理计算资源,用户可以根据不同的应用场景,按需获取相应的资源。如何利用资源集中化带来的并行性、容错性等特性,高效的提供云计算服务,成为了云计算模式最重要的研究问题之一。
MapReduce分布式计算框架是Google公司提出的软件架构,借鉴了函数式编程的思想,高效地进行大规模数据集的分布式计算。MapReduce框架以其优异的容错性、计算的高效性和使用的便捷性,迅速成为云计算环境下应用最广泛的分布式计算架构。尤其是2005年Apache Software Foundation引入基于MapReduce框架开发的Hadoop开源系统以来,MapReduce架构得到了更大的发展,利用MapReduce思想构建的分布式计算系统已经被Google、微软、Facebook、Yahoo!以及国内的腾讯、百度、阿里云等软件公司和互联网公司在各自的私有云集群中深度采用,并且也成为了当前部署云计算集群进行分布式计算的首选软件架构,在科学计算、人工智能、数据挖掘、信息处理等各个领域都得到了广泛的应用。
一个典型的MapReduce系统中有一个Master节点和多个Worker节点。Master节点负责接收用户提交的任务,向Worker节点分发执行任务,并且管理所有的Worker节点。Worker节点是负责执行由Master下发的map和reduce任务。
MapReduce共分为三个阶段,分别为Map阶段、Shuffle阶段和Reduce阶段,其中,Map阶段是负责将所有的输入数据(键值对的形式)通过用户的map函数转化为中间结果(也是键值对的形式),这个过程是分布式进行的,由Master下发Map任务,Worker节点负责执行具体的Map任务。Shuffle阶段是在Map和Reduce中间的一个过程,因为reduce的处理的数据是按照键值分区的,所以需要shuffle阶段对map产生的中间结果的数据按照键值进行排序。每一个reduce都知道自己要处理的键值的区间,所以每一个reduce任务都会去每一个map任务处拉取属于自己键值区间的数据,这样每个reduce任务就会有对应map任务数量那么多的小的分区数据,然后全部拉取到reduce任务本地后,再将它们进行合并。这个拉取数据和合并数据的过程就是shuffle过程。Reduce阶段就是将map产生的中间结果(键值对)转化为最终的输出数据(键值对)。具体的转化方法是根据用户写的reduce函数。Reduce任务也是由Master下发的,由Worker节点进行分布式执行的。
一个具体的任务执行过程如下:
(一)用户上传数据到分布式文件系统中(一般是GFS,开源实现为HDFS),并且向MapReduce系统提交一个Job。
(二)MapReduce的Client将输入数据划分成多个分片(split,每个split默认是64M大小),并生成分片的信息(包括存储位置,开始位置,以及split的真实大小),然后把任务和分片信息提交给Master节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510607579.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种防寒式净水器
- 下一篇:一种药液箱及光刻胶剥离设备





