[发明专利]一种HDFS运行时数据块平衡方法有效
申请号: | 201210393176.9 | 申请日: | 2012-10-16 |
公开(公告)号: | CN102937918A | 公开(公告)日: | 2013-02-20 |
发明(设计)人: | 曹海军;伍卫国;董小社;樊源泉;魏伟;朱霍 | 申请(专利权)人: | 西安交通大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F17/30 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 徐文权 |
地址: | 710049 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 hdfs 运行 数据 平衡 方法 | ||
1.一种HDFS运行时数据块平衡方法,其特征在于,包括以下步骤:
1)节点本地任务列表预处理
1.1提出完全本地任务和非完全本地任务:当HDFS的各个数据块存在多个副本的时候,导致同一个任务会出现在不同节点的本地Map任务列表中,从而某个节点本地任务列表中剩余的map任务数n,意味着该节点能够分配执行的本地任务数是n;
1.2节点本地任务列表的预处理过程:当各个节点依次发出任务请求时,从节点的本地任务列表中获取当前可执行的任务加入到节点的完全本地任务列表中,而本地任务列表中未被分配的任务则加入到非完全本地任务列表中;
2)节点运行时信息统计
通过设计NodeEvaluateInfo类来实现:在该类中统计节点已经处理的数据块总数sum、节点已处理数据块总耗时cost和作业的执行进度tip,知道以上信息后计算节点平均块处理时间cost/sum、节点当前运行任务剩余时间(1-tip)/(cost/sum);
3)节点速率评估与任务请求序列预测
3.1节点速率的评估:由步骤2),采用COSTi/NUMi来表示各个节点的数据处理速率,即节点处理单个任务的平均耗时;其中,NUMi为某一时刻节点i已完成的本地map任务数,COSTi为处理这些本地任务所花费的总耗时;
3.2系统任务请求序列的预测:系统任务请求序列即从当前时刻开始到作业完成时为止,各个从节点向主节点申请任务执行的时刻序列;在T0时刻,节点i正处理任务的进度为Pi,通过前面速率评估公式得到的节点处理单个数据块平均耗时为Ti,则该节点的第K次任务请求时间点tik为T0+(1-Pi)×Ti+(k-1)×Ti k≥1;
其中k表示从当前时刻算起该节点第k次任务请求;获取各个节点的任务请求序列后,采用如下方式确定系统任务请求序列:记系统剩余任务数为m,系统中节点数为n,对每个节点i,取其从当前时刻算起m次任务请求的时间点,记为{ti1,ti2,…tim},n个节点将构成n×m个时间点{t11,t12,…t1m,t21,t22,…t2m,…,tn1,tn2,…tnm};将所有时间点按升序排列,取前m个,则可得到从当前时刻开始对系统中剩余m个任务的请求序列Rm.Rm(j)=tik即表明系统中第j个任务请求将由节点i在tik时刻发出,且该请求是节点i的第k个请求;
4)节点任务的分配分析与实现:在步骤3)预测的节点请求序列下提前确定各个节点的任务分配情况;
5)数据块移动节点对的选择:从任务请求序列中获取发出请求的节点,接着从该节点的本地任务列表中获取任务,如果任务为空,则认定该节点是待平衡节点,将其加入到待平衡节点列表中;数据块移动节点对选择过程的第一步是遍历allocate数组,构建映射表Map<node,List<Task>>,记录所有数据块源节点上的所有未分配任务;
6)节点间数据块的移动
确定好待平衡节点和数据块源节点后便可进行实际的数据块移动;由于数据块移动与节点任务执行相互独立且考虑到可能有多个数据块需要移动,为提高效率以及简化编程实现,采用JAVA线程池技术实现整个数据块移动。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210393176.9/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置