面向大数据平台基于内存数据局部性的调度方法及系统技术方案

技术编号:13295866 阅读:35 留言:0更新日期:2016-07-09 13:58
本发明专利技术提出面向大数据平台基于内存数据局部性的调度方法及系统,涉及大数据处理分布式计算任务调度领域,该方法包括周期性获取数据节点内存中缓存的数据块,并周期性向存储管理节点汇报所述数据节点的内存数据块信息;获取用户提交的作业,计算节点对所述作业进行分片,当所述计算节点填写作业分片信息时,将所述内存数据块信息写入所述作业分片信息中;所述计算节点根据所述作业分片信息创建待执行任务,为所述待执行任务进行资源申请请求,所述计算节点根据所述资源申请请求,将资源节点分配给所述待执行任务。本发明专利技术能够加快整体作业执行速度,对于降低作业执行时间具有重要的实际意义,具有良好的市场前景和应用价值。

【技术实现步骤摘要】

本专利技术涉及大数据处理分布式计算任务调度领域,特别涉及面向大数据平台基于内存数据局部性的调度方法及系统
技术介绍
大数据时代,随着计算机和信息技术的迅猛发展和普及应用,行业应用系统的规模迅速扩大,行业应用所产生的数据呈爆炸性增长,大数据计算平台是针对海量数据的处理而产生的分布式计算系统(如图1所示),可以将用户作业(用户提交的一项工作的基本单位)分成不同的任务(用户作业的一部分工作)同时执行加快作业执行速度,当作业所在计算节点与其数据数据节点不同时会导致并发作业产生大量的并发读写操作,平台网络带宽因大规模数据搬运而导致高度拥塞,进而导致作业因数据获得不及时而大量延误。对任务调度的方法不合理可能会导致任务执行时间的延长,从而增加整个作业的执行时间,因此如何能够使任务在调度时快速读取所需数据,从而减少任务执行时间是最大化利用数据局部性原则和优化任务调度算法的关键问题之一。为此,大量研究集中在如何调度任务,减少任务执行时读取数据时间,从而降低任务执行时间,其中,数据局部性是重要的方法之一,现有大数据计算平台的数据局部性包括三级,分别是节点局部性、机架局部性和数据中心局部性。专利技术一种面向Hadoop的动态调度方法,提供一种面向大数据计算平台的动态调度方法,这个专利技术可以有效地解决现有调度算法在调度实时作业上响应时间方面的不足,并对实时作业进行资源控制,以此提高实时作业效率的能力,从而达到用户精细控制作业执行速度的功能。该专利技术仅仅解决了实时作业响应时间慢的问题,而本专利技术通过内存数据局部性加快了任务的执行速度。专利技术一种Hadoop调度法的优化方法,公开了一种大数据计算平台调度法的优化方法,属于计算机软件及并行计算
,这篇专利技术的一种大数据计算平台调度法的优化方法和现有技术相比,具有的有效果是:对任务各阶段的权值进行调整,根据不同的作业进行不同权值的设置,使其更接近真实值,能够帮助更准确地计算任务的进度值、进程速率与预计剩余完成时间。该专利技术仅仅对于任务本身的执行进度和剩余部分进行后续任务调度,而没有考虑到任务的数据分布情况。本专利技术通过加入根据内存数据调度,加快了任务执行速度和调度响应时间。上面几种方法都是在针对任务本身进行优化,针对不同任务执行速度不同,对落后的任务进行加速,使得没有某一任务远远落后于其他任务,从而降低了作业整体执行速度,并没有考虑到从内存中读取数据的速度要远高于磁盘读取速率,通过减少数据读取时间,加快任务执行速度,这使得不仅在节点选择方式上进行了改变,同时也改变了资源申请的策略,从而通过另外一种方式对任务的执行时间进行了加速。
技术实现思路
针对现有技术的不足,本专利技术提出面向大数据平台基于内存数据局部性的调度方法及系统。本专利技术提出一种面向大数据平台基于内存数据局部性的调度方法,包括:步骤1,周期性获取数据节点内存中缓存的数据块,并周期性向存储管理节点汇报所述数据节点的内存数据块信息;步骤2,获取用户提交的作业,计算节点对所述作业进行分片,当所述计算节点填写作业分片信息时,将所述内存数据块信息写入所述作业分片信息中;步骤3,所述计算节点根据所述作业分片信息创建待执行任务,为所述待执行任务进行资源申请请求,所述计算节点根据所述资源申请请求,将资源节点分配给所述待执行任务。所述步骤1包括所述存储管理节点收到各所述数据节点发送的所述内存数据块信息,将各所述数据节点的所述内存数据块信息进行汇总,保存在所述存储管理节点的内存中。所述步骤2包括用户提交作业,计算节点根据用户输入的文件路径,向所述存储管理节点请求文件所包括数据块的位置;所述存储管理节点根据所述文件路径,查找与所述文件路径相对应的文件,并查看所述文件与数据块的对应关系,并根据数据块的内存数据块信息查询数据块在内存中缓存节点位置,将包括起始位置、长度、磁盘节点位置、缓存节点位置的内存数据块信息返回给所述计算节点;所述计算节点根据所述缓存节点位置,以及大数据计算平台配置文件,创建作业分片信息,将所述缓存节点位置写入作业分片信息。所述步骤3包括所述计算节点读取作业分片信息,根据作业分片数量创建对应数量的所述待执行任务;根据所述待执行任务所需的内存中缓存节点位置,创建对应的资源申请请求,并发送给所述存储管理节点请求资源。所述步骤3还包括所述计算节点收到分配的资源节点,检查资源所在节点;根据所述待执行任务的优先级与资源类型获取对应的任务队列;依次查询所述待执行任务的所需数据所在的节点与分配的资源节点是否一致,若一致,则检查所需数据是否存放在所在节点的内存中,若是,则将资源节点分配给所述待执行任务,否则检查下一个所述待执行任务;若未发现任务所需数据存放在所在的节点的内存中,则从头开始检查所述待执行任务所需数据是否存放在所在的节点的磁盘中,将所述资源节点分配给匹配的第一个所述待执行任务;若未发现所述待执行任务满足节点匹配,则检查所有所述待执行任务所需资源节点是否与资源节点处于同一机架上,若是,分配资源节点给匹配的第一个所述待执行任务;若未发现所述待执行任务满足机架匹配,则检查所有所述待执行任务所需资源节点是否与资源节点处于同一数据中心,若是,则分配资源给匹配的第一个所述待执行任务,否则,资源节点分配给所述任务队列中的第一个所述待执行任务。本专利技术还提出一种面向大数据平台基于内存数据局部性的调度系统,包括:汇报内存数据块信息模块,用于周期性获取数据节点内存中缓存的数据块,并周期性向存储管理节点汇报所述数据节点的内存数据块信息;写入所述作业分片信息模块,用于获取用户提交的作业,计算节点对所述作业进行分片,当所述计算节点填写作业分片信息时,将所述内存数据块信息写入所述作业分片信息中;资源节点分配模块,用于所述计算节点根据所述作业分片信息创建待执行任务,为所述待执行任务进行资源申请请求,所述计算节点根据所述资源申请请求,将资源节点分配给所述待执行任务。所述汇报内存数据块信息模块包括所述存储管理节点收到各所述数据节点发送的所述内存数据块信息,将各所述数据节点的所述内存数据块信息进行汇总,保存在所述存储管理节点的内存中。所述写入所述作业分片信息模块包括用户提交作业,计算节点根据用户输入的文件路径,向所述存储管理节点请求文件所包括数据块的位置;所述存储管理节点根据所述文件路径,查找与所述文件路径相对应的文件,并本文档来自技高网
...

【技术保护点】
一种面向大数据平台基于内存数据局部性的调度方法,其特征在于,包括:步骤1,周期性获取数据节点内存中缓存的数据块,并周期性向存储管理节点汇报所述数据节点的内存数据块信息;步骤2,获取用户提交的作业,计算节点对所述作业进行分片,当所述计算节点填写作业分片信息时,将所述内存数据块信息写入所述作业分片信息中;步骤3,所述计算节点根据所述作业分片信息创建待执行任务,为所述待执行任务进行资源申请请求,所述计算节点根据所述资源申请请求,将资源节点分配给所述待执行任务。

【技术特征摘要】
1.一种面向大数据平台基于内存数据局部性的调度方法,其特征在于,包
括:
步骤1,周期性获取数据节点内存中缓存的数据块,并周期性向存储管理
节点汇报所述数据节点的内存数据块信息;
步骤2,获取用户提交的作业,计算节点对所述作业进行分片,当所述计
算节点填写作业分片信息时,将所述内存数据块信息写入所述作业分片信息中;
步骤3,所述计算节点根据所述作业分片信息创建待执行任务,为所述待
执行任务进行资源申请请求,所述计算节点根据所述资源申请请求,将资源节
点分配给所述待执行任务。
2.如权利要求1所述的面向大数据平台基于内存数据局部性的调度方法,
其特征在于,所述步骤1包括所述存储管理节点收到各所述数据节点发送的所
述内存数据块信息,将各所述数据节点的所述内存数据块信息进行汇总,保存
在所述存储管理节点的内存中。
3.如权利要求1所述的面向大数据平台基于内存数据局部性的调度方法,
其特征在于,所述步骤2包括用户提交作业,计算节点根据用户输入的文件路
径,向所述存储管理节点请求文件所包括数据块的位置;
所述存储管理节点根据所述文件路径,查找与所述文件路径相对应的文件,
并查看所述文件与数据块的对应关系,并根据数据块的内存数据块信息查询数
据块在内存中缓存节点位置,将包括起始位置、长度、磁盘节点位置、缓存节
点位置的内存数据块信息返回给所述计算节点;
所述计算节点根据所述缓存节点位置,以及大数据计算平台配置文件,创
建作业分片信息,将所述缓存节点位置写入作业分片信息。
4.如权利要求1所述的面向大数据平台基于内存数据局部性的调度方法,
其特征在于,所述步骤3包括所述计算节点读取作业分片信息,根据作业分片
数量创建对应数量的所述待执行任务;
根据所述待执行任务所需的内存中缓存节点位置,创建对应的资源申请请
求,并发送给所述存储管理节点请求资源。
5.如权利要求1所述的面向大数据平台基于内存数据局部性的调度方法,
其特征在于,所述步骤3还包括所述计算节点收到分配的资源节点,检查资源

\t所在节点;
根据所述待执行任务的优先级与资源类型获取对应的任务队列;
依次查询所述待执行任务的所需数据所在的节点与分配的资源节点是否
一致,若一致,则检查所需数据是否存放在所在节点的内存中,若是,则将资
源节点分配给所述待执行任务,否则检查下一个所述待执行任务;
若未发现任务所需数据存放在所在的节点的内存中,则从头开始检查所述
待执行任务所需数据是否存放在所在的节点的磁盘中,将所述资源节点分配给
匹配的第一个所述待执行任务;
若未发现所述待执行任务满足节点匹配,则检查所有所述待执行任务所需
资源节点是否与资源节点处于同一机架上,若是,分配资源节点给匹配的第一
个所述待执行任务;
若未发现所述待执行任务满足机架匹配,则检查所有所述待执行任务所需
资源节点是否与资源节点处于同一数据中心,若是,则分配资源给匹配的第一
个所述待执行任务,否则,资源节点分配给所述任务队列中的第一个所述待执
行任务。
6.一种面向大数据平台基于内存数据局部性的调度系统,其特征在...

【专利技术属性】
技术研发人员:王佳琪孙毓忠宋莹
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1