CN105824737B - 用于大数据处理系统的内存数据集置换系统与置换方法 - Google Patents

用于大数据处理系统的内存数据集置换系统与置换方法 Download PDF

Info

Publication number
CN105824737B
CN105824737B CN201610196543.4A CN201610196543A CN105824737B CN 105824737 B CN105824737 B CN 105824737B CN 201610196543 A CN201610196543 A CN 201610196543A CN 105824737 B CN105824737 B CN 105824737B
Authority
CN
China
Prior art keywords
data set
memory
memory data
module
size
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610196543.4A
Other languages
English (en)
Other versions
CN105824737A (zh
Inventor
石宣化
金海�
耿元振
王斐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201610196543.4A priority Critical patent/CN105824737B/zh
Publication of CN105824737A publication Critical patent/CN105824737A/zh
Application granted granted Critical
Publication of CN105824737B publication Critical patent/CN105824737B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/885Monitoring specific for caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

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

Claims (6)

1.一种用于大数据处理系统的内存数据集置换系统,包括分析模块、信息监测模块、决策模块,其特征在于,
所述分析模块用于对上层用户程序进行逻辑分析,得出各运算阶段中生成内存数据集的运算步骤集合;
所述信息监测模块用于对运行中的用户程序进行监测,并收集生成内存数据集时的信息提交给决策模块;
所述决策模块根据信息监测模块传送来的信息处理后作为内存数据集的置换优先级,即将生成的内存数据集的各运算所需的时间间隔进行加和得到整体消耗时间T,将当前深成的内存数据集的大小记为size,以T/size作为内存数据集的置换优先权,将置换优先权放入TreeMap结构中进行排序;在监测模块监测到内存资源不足、需要置换出内存数据集时,选择并移除优先级最小的内存数据集。
2.根据权利要求1所述的内存数据集置换系统,其特征在于,所述分析模块在上层用户程序运行时在分布式系统的Master节点上对程序逻辑进行分析,确定用户程序中生成的内存数据集,并确定生成时所经历的运算步骤。
3.根据权利要求2所述的内存数据集置换系统,其特征在于,所述分析模块的分析功能是通过分析程序运行中的逻辑运算关系图,找出程序生成的需要放入内存的数据集,在逻辑运算关系图中搜索该内存数据集生成过程中经历的运算集合;Master节点将分析的结果传送到各Worker节点。
4.根据权利要求1或2所述的内存数据集置换系统,其特征在于,所述信息监测模块在进行实际运算的Worker节点上对运算中的程序进行实时监控,监测信息包括生成内存数据集过程的运算集合中各运算消耗的时间;内存数据集生成完毕后,将消耗时间和数据集大小传送到决策模块;信息监测模块同时监测节点的内存剩余状况,在剩余内存不足以存放新的内存数据集时,通知决策模块置换出部分已存在的内存数据集。
5.根据权利要求4所述的内存数据集置换系统,其特征在于,所述信息监测模块的监测功能是通过在运算集合中的各运算操作前后记录时间戳,在生成数据时记录数据集占用空间大小,动态更新内存剩余空间大小并与内存阈值进行比较来实现。
6.一种用于大数据处理系统的内存数据集置换方法,其特征在于,包括以下步骤:
(1)分析模块分析当前运算阶段内部各中间数据集之间的依赖关系图,对于本阶段生成的需要在内存中进行保存的数据集,利用深度优先搜索或广度优先搜索算法在逻辑运算关系图中搜索生成过程中经历的运算集合C;如果生成过程中需要Shuffle运算,则还需将Shuffle运算集合添加到运算集合C中,将运算集合C传送到信息监测模块,并跳转步骤(2);
(2)信息监测模块运行在各Worker节点,首先记录节点上可用于内存数据集存储的最大内存大小,确定内存阈值,在当前剩余的可用于内存数据集使用的内存低于该阈值时则需要进行置换操作;计算当前节点上可用于内存数据集存储的内存大小,在程序生成内存数据集时,根据步骤(1)传入的运算集合C,记录集合中各运算的起始及结束时间间隔,对各运算所需的时间间隔进行加和得到整体消耗时间T,记录当前生成的内存数据集的大小size,更新节点上当前可用于内存数据集存储的内存大小;当当前可用于内存数据集存储的内存大小小于阈值时,认为当前需要清除出部分内存数据集,转入步骤(3);否则,判断程序是否需进入下一运算阶段,如进入下一运算阶段则转入步骤(1);
(3)决策模块接收步骤(2)传入的内存数据集的信息,以内存数据集的唯一id为Key,以该内存数据集的(T,size)信息为Value放入TreeMap结构中;TreeMap内部以T/size为依据对数据进行排序,在信息监测模块通知需要进行内存数据集清除时,优先清除T/size值最小的内存数据集。
CN201610196543.4A 2016-03-31 2016-03-31 用于大数据处理系统的内存数据集置换系统与置换方法 Active CN105824737B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610196543.4A CN105824737B (zh) 2016-03-31 2016-03-31 用于大数据处理系统的内存数据集置换系统与置换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610196543.4A CN105824737B (zh) 2016-03-31 2016-03-31 用于大数据处理系统的内存数据集置换系统与置换方法

Publications (2)

Publication Number Publication Date
CN105824737A CN105824737A (zh) 2016-08-03
CN105824737B true CN105824737B (zh) 2018-08-17

Family

ID=56526555

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610196543.4A Active CN105824737B (zh) 2016-03-31 2016-03-31 用于大数据处理系统的内存数据集置换系统与置换方法

Country Status (1)

Country Link
CN (1) CN105824737B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108153587B (zh) * 2017-12-26 2021-05-04 北京航空航天大学 一种针对大数据平台的慢任务原因检测方法
CN111258785B (zh) * 2020-01-20 2023-09-08 北京百度网讯科技有限公司 数据洗牌方法和装置
CN112463389B (zh) * 2020-12-10 2024-06-18 中国科学院深圳先进技术研究院 分布式机器学习任务的资源管理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019962A (zh) * 2012-12-21 2013-04-03 华为技术有限公司 数据缓存处理方法、装置以及系统
CN103631730A (zh) * 2013-11-01 2014-03-12 深圳清华大学研究院 内存计算的缓存优化方法
CN104111896A (zh) * 2014-07-30 2014-10-22 云南大学 大数据处理中的虚拟内存管理方法及其装置
CN104834608A (zh) * 2015-05-12 2015-08-12 华中科技大学 一种异构内存环境下的缓存替换方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019962A (zh) * 2012-12-21 2013-04-03 华为技术有限公司 数据缓存处理方法、装置以及系统
CN103631730A (zh) * 2013-11-01 2014-03-12 深圳清华大学研究院 内存计算的缓存优化方法
CN104111896A (zh) * 2014-07-30 2014-10-22 云南大学 大数据处理中的虚拟内存管理方法及其装置
CN104834608A (zh) * 2015-05-12 2015-08-12 华中科技大学 一种异构内存环境下的缓存替换方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Resilient distributed datasets:a fault-tolerant abstraction for in-memory cluster computing";Matei Zaharia等;《NSDI’ 12 Proceedings of the 9th USENIX conference on Networked Systems Design and Implementation》;20120427;第1-15页 *

Also Published As

Publication number Publication date
CN105824737A (zh) 2016-08-03

Similar Documents

Publication Publication Date Title
CN101296114B (zh) 基于流的并行模式匹配方法和系统
CN105824737B (zh) 用于大数据处理系统的内存数据集置换系统与置换方法
CN111309976B (zh) 一种面向收敛型图应用的GraphX数据缓存方法
US20110167149A1 (en) Internet flow data analysis method using parallel computations
Lu et al. Scalable computation of stream surfaces on large scale vector fields
CN104601562B (zh) 游戏服务器与数据库的交互方法和系统
Patwary et al. Window-based streaming graph partitioning algorithm
CN101459560A (zh) 长流的识别方法、数据流量的测量方法及其设备
CN110334157B (zh) 一种云计算管理系统
CN106897458A (zh) 一种面向机电设备数据的存储及检索方法
CN106681830B (zh) 一种任务缓存空间监测方法和装置
CN112597076B (zh) 一种面向Spark的基于数据感知的缓存替换方法及系统
CN106407226A (zh) 一种数据处理方法、备份服务器及存储系统
CN116662412B (zh) 一种电网配用电大数据的数据挖掘方法
CN106326400A (zh) 基于多维数据集的数据处理系统
Ismaeel et al. A systematic cloud workload clustering technique in large scale data centers
CN114219165A (zh) 一种用电大数据存储系统、预测算法及可视化展示平台
CN114401496A (zh) 一种基于5g边缘计算的视频信息快速处理方法
CN104820693B (zh) 一种数据搜索的方法及装置
Lian et al. The optimization of cost-model for join operator on spark SQL platform
Li et al. WSGP: A window-based streaming graph partitioning approach
CN103970679A (zh) 一种动态缓存污染防治系统及方法
Kalamatianos et al. Domain independent event analysis for log data reduction
Lefebvre Indexed bloom filters for web caches summaries
US11977488B2 (en) Cache prefetching method and system based on K-Truss graph for storage system, and medium

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant