用于大数据处理系统的内存数据集置换系统与置换方法技术方案

技术编号:13467532 阅读:44 留言:0更新日期:2016-08-04 23:35
本发明专利技术公开了一种用于大数据处理系统的内存数据集置换系统,包括分析模块、信息监测模块、决策模块。分析模块用于对上层用户程序进行逻辑分析,得出各运算阶段中生成内存数据集时的运算步骤集合;信息监测模块用于对运行中的用户程序进行监测,并收集生成内存数据集时的信息提交给决策模块;决策模块用于对收集到的信息进行分析和排序,判断当前阶段是否需要对系统中的内存数据集进行置换,在系统需要进行置换时确定需要移除的内存数据集并通知系统换入新的内存数据集。本发明专利技术在工作过程中,对上层用户层程序完全透明,能够灵活地根据系统实时状况决策内存数据集的置换方案,同时相比传统置换方法很好地降低了对系统性能的影响。

【技术实现步骤摘要】

本专利技术属于大数据分布式计算领域,更具体地,涉及一种用于大数据处理系统的内存数据集置换系统与置换方法
技术介绍
近年来,大数据分布式处理系统受到了广泛关注。工业界和学术界涌现了多个大数据分布式处理系统:Spark,Flink,Dryad,GraphX等。开发者利用此类系统提供的API描述大数据应用程序,通常情况下,此类应用程序处理的数据量远超过单机器的运算能力。因此实际中,通常在包含多个运算节点的集群中部署此类系统。大数据应用程序处理的输入数据通常位于集群共享的存储(如HDFS等)中,程序运行阶段大数据处理系统将程序划分为多个运算阶段对数据进行处理。同一运算阶段中,集群各节点同时处理分布式系统调度到该节点的部分输入数据;相邻阶段之间,分布式处理系统通过网络将前一阶段生成的结果数据序列化后传输到后一阶段,反序列化后在后一阶段中进行下一步处理操作,这一网络传输的过程在分布式系统中称为Shuffle操作,该操作需要使用大量的网络及运算资源,通常情况下消耗的时间占应用程序整体作业时间的相当大比例。由于大数据分布式处理系统所处理的数据量远大于运算节点的内存容量,处理系统无法一次性将数据读入内存,所以通常会利用数据分区方法将输入数据均分为多个分片,运算节点对各分片依次根据用户程序逻辑进行处理。从运算逻辑角度上看,处理系统在一个运算阶段中对输入数据、或经过Shuffle获得的数据进行一系列运算操作,生成一系列中间数据并最终得到运算结果,运算结果保留在本地或传送到其它节点供下一运算阶段使用。大数据处理系统面对的应用复杂度在逐渐增加,同时对运算速度的要求越来越高。由于内存的读取速度远高于机械硬盘或固态硬盘的读取速度,利用内存缓存部分数据是提升运算速度的一种常见策略。另一方面对大数据上进行具有多轮次的程序十分常见(如进行图处理或机器学习算法),此类程序中,后期运算阶段使用到前期阶段的计算数据的情况十分常见,在内存中缓存此类数据能够显著提升处理速度,因此大数据处理系统允许用户程序在内存中缓存部分数据集,后期阶段使用到这类数据时,可直接读取内存数据集,提升了系统的运行效率,其它数据作为临时数据集,在初次使用后可立即从内存中移除。大数据分布式处理系统运行时使用到的内存资源通常用于两个方面:一是用于应用程序的运算;二是用于缓存运算过程中生成的数据。为避免缓存数据过多,占用了大量的内存空间而影响应用程序的正常运算,系统通常会设置缓存空间的最大可用内存容量并设置阈值,如果在添加缓存数据时出现剩余内存空间小于阈值的情况,需要将部分数据从内存中移除。程序后期使用已经被移除的数据时,处理系统会运行必要的运算再次生成数据,该过程中的运算步骤与初次生成数据时一致,所需的时间也与初次生成时耗费的时间接近,重算引入的计算开销影响了程序运行所需的整体时间。当前大数据处理系统大多采用LRU(LeastRecentlyUsed)算法决策如何置换内存数据集,LRU算法在运行时会移除距离当前时间最久未使用的内存数据集,没有考虑数据重算的开销大小,导致具有高重算开销的数据被置换出内存,从而系统整体运行时间增长。其它常见的置换算法如FIFO(FirstInFirstOut)算法根据内存数据集的生成时间进行决策,LFU(LeastFrequentlyUsed)算法根据数据集的访问的频率进行决策,同样无法保证重算数据集时引入的开销最小。目前缺乏针对大数据分布式处理系统中内存数据集置换问题的,重算开销低的置换方法。
技术实现思路
针对现有技术的缺陷,本专利技术的目的在于提供一种用于大数据处理系统的内存数据集置换系统,旨在保证被移除的内存数据集在后期重新生成时引入的重算开销小,程序整体的运算时间少。为实现上述目的,按照本专利技术的一方面,提供了一种用于大数据处理系统的内存数据集置换系统,包括分析模块、信息监测模块、决策模块。分析模块用于对上层用户程序进行逻辑分析,得出各运算阶段中生成内存数据集的运算步骤集合;信息监测模块用于对运行中的用户程序进行监测,并收集生成内存数据集时的信息提交给决策模块;决策模块用于对信息监测模块收集到的信息进行分析,判断当前阶段是否需要对系统中的内存数据集进行置换,在系统需要进行置换时确定需要移除的内存数据集并通知系统换入新的内存数据集。分析模块在上层用户程序运行时在分布式系统的Master节点上对程序逻辑进行分析,确定用户程序中生成的内存数据集,并确定生成时所经历的运算步骤。分析功能的实现主要通过分析程序运行中的逻辑运算关系图,找出程序生成的需要放入内存的数据集,在逻辑运算关系图中搜索该内存数据集生成过程中经历的运算集合,搜索过程中在遇到其它内存数据集、或经过Shuffle操作得到的数据集时停止,以避免包含其它内存数据集的运算集合。Master节点将分析的结果传送到各Worker节点。信息监测模块在进行实际运算的Worker节点上对运算中的程序进行实时监控,监测信息包括生成内存数据集过程的运算集合中各运算消耗的时间,对消耗的时间进行加和作为整体消耗时间。内存数据集生成完毕后,将整体消耗时间和数据集大小传送到决策模块。信息监测模块同时监测节点的内存剩余状况,在剩余内存不足以存放新的内存数据集时,通知决策模块置换出部分已存在的内存数据集。监测功能的主要通过在运算集合中的各运算操作前后记录时间戳,在生成数据时记录数据集占用空间大小,动态更新内存剩余空间大小与内存阈值进行比较来实现。决策模块根据信息监测模块传送来的信息,以生成内存数据集时的整体消耗时间除以内存数据集的大小,得到的算术结果作为内存数据集的置换优先级,并放入TreeMap结构中进行排序。在监测模块监测到内存资源不足、需要置换出内存数据集时,选择并移除优先级最小的内存数据集。通过本专利技术所构思的以上技术方案,与现有技术相比,本专利技术的系统具有以下的优点和技术效果:1、由于采用了分析模块和信息监测模块,能够分析出生成内存数据集所必需的运算操作集合,能够实时地监测生成操作所需的开销大小;2、由于采用了决策模块,通过TreeMap结构动态地记录内存数据集的相关信息,能够高效地根据生成开销进行排序,置换发生时优先移除最小开销的内存数据集,有效降低了重算时带来的开销,切实提高了程序的整体运算效果;3、由于本专利技术无需对用户程序进行任何修改,对用户完全透明,用户无需知晓底本文档来自技高网
...

【技术保护点】
一种用于大数据处理系统的内存数据集置换系统,包括分析模块、信息监测模块、决策模块,其特征在于,所述分析模块用于对上层用户程序进行逻辑分析,得出各运算阶段中生成内存数据集的运算步骤集合;所述信息监测模块用于对运行中的用户程序进行监测,并收集生成内存数据集时的信息提交给决策模块;所述决策模块用于对信息监测模块收集到的信息进行分析,判断当前阶段是否需要对系统中的内存数据集进行置换,在系统需要进行置换时确定需要移除的内存数据集并通知系统换入新的内存数据集。

【技术特征摘要】
1.一种用于大数据处理系统的内存数据集置换系统,包括分析模块、
信息监测模块、决策模块,其特征在于,
所述分析模块用于对上层用户程序进行逻辑分析,得出各运算阶段中
生成内存数据集的运算步骤集合;
所述信息监测模块用于对运行中的用户程序进行监测,并收集生成内
存数据集时的信息提交给决策模块;
所述决策模块用于对信息监测模块收集到的信息进行分析,判断当前
阶段是否需要对系统中的内存数据集进行置换,在系统需要进行置换时确
定需要移除的内存数据集并通知系统换入新的内存数据集。
2.根据权利要求1所述的内存数据集置换系统,其特征在于,所述分
析模块在上层用户程序运行时在分布式系统的Master节点上对程序逻辑进
行分析,确定用户程序中生成的内存数据集,并确定生成时所经历的运算
步骤。
3.根据权利要求2所述的内存数据集置换系统,其特征在于,所述分
析模块的分析功能是通过分析程序运行中的逻辑运算关系图,找出程序生
成的需要放入内存的数据集,在逻辑运算关系图中搜索该内存数据集生成
过程中经历的运算集合;Master节点将分析的结果传送到各Worker节点。
4.根据权利要求1或2所述的内存数据集置换系统,其特征在于,所
述信息监测模块在进行实际运算的Worker节点上对运算中的程序进行实时
监控,监测信息包括生成内存数据集过程的运算集合中各运算消耗的时间;
内存数据集生成完毕后,将消耗时间和数据集大小传送到决策模块。信息
监测模块同时监测节点的内存剩余状况,在剩余内存不足以存放新的内存
数据集时,通知决策模块置换出部分已存在的内存数据集。
5.根据权利要求4所述的内存数据集置换系统,其特征在于,所述信

\t息监测模块的监测功能是通过在运算集合中的各运算操作前后记录时间
戳,在生成数据时记录数据集占用空间大小,动态更新内存剩余空间大小
并与内存阈值进行比较来实现。
6.根据权...

【专利技术属性】
技术研发人员:石宣化金海耿元振王斐
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北;42

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

1