CN112597076A - 一种面向Spark的基于数据感知的缓存替换方法及系统 - Google Patents

一种面向Spark的基于数据感知的缓存替换方法及系统 Download PDF

Info

Publication number
CN112597076A
CN112597076A CN202011525754.0A CN202011525754A CN112597076A CN 112597076 A CN112597076 A CN 112597076A CN 202011525754 A CN202011525754 A CN 202011525754A CN 112597076 A CN112597076 A CN 112597076A
Authority
CN
China
Prior art keywords
data block
memory
weight
data
memory space
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.)
Granted
Application number
CN202011525754.0A
Other languages
English (en)
Other versions
CN112597076B (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.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
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 Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN202011525754.0A priority Critical patent/CN112597076B/zh
Publication of CN112597076A publication Critical patent/CN112597076A/zh
Application granted granted Critical
Publication of CN112597076B publication Critical patent/CN112597076B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0653Configuration or reconfiguration with centralised address assignment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种面向Spark的基于数据感知的缓存替换方法,属于软件技术领域,通过分析Spark框架的应用数据依赖关系和历史执行信息,获取数据块的被依赖次数、占用内存空间大小、计算用时和被引用次数,基于这些因素建立权重模型,计算出数据块的权重;将数据块权重值从小到大排序,选择权重值较小数据且与待缓存的数据块不属于同一个RDD的数据块进行缓存替换。本发明针对现有应用负载特征多样性,应用对内存资源需求的持续变化性,动态感知用户负载特征,并根据历史运行信息,计算得到的权重值,衡量缓存替换最合适的数据,并实时结合当前内存资源情况作出替换决定,实现Spark框架缓存管理机制的优化。

Description

一种面向Spark的基于数据感知的缓存替换方法及系统
技术领域
本发明涉及一种面向Spark框架的基于数据感知的权重模型缓存替换方法及系统,属于软件技术领域。
背景技术
伴随海量数据递增及业务日益复杂,人们对数据处理的要求日益增加。相对于早期的通用并行分布式计算框架(例如Hadoop),基于内存的分布式计算框架Spark在处理机器学习、图计算等领域中的迭代计算、交互式数据查询、并行计算等方面非常高效。尤其是基于内存的大数据处理平台往往通过缓存有效的数据在内存中以备复用来提高应用速度。面对CPU密集型应用场景时,创建对象过多会容易填满内存,引起GC(Garbage Collection)问题,系统会寻找不再使用的对象进行回收,降低程序执行性能。同时,当缓存的分区数据占满了内存,系统将启用缓存替换对分区数据作出替换决定:剔除旧数据缓存新数据。维持有价值的数据缓存在内存中,及时剔除不必要数据释放内存空间是提升应用程序执行性能的重要手段之一。缓存替换策略丰富多样,根据不同的历史信息(时间或者频率)预测未来数据的访问模式。LRU(Least Recently Used)表示基于最少最长时间未被访问的缓存数据块进行淘汰;LRU作是一种常用的缓存置换算法,被广泛应用系统设计中,同时也应用到各个计算框架或者平台上。Spark计算框架中的LRU算法核心思想就是当缓存空间被占满时,如果再次发生缓存失效,就将最近最少使用的数据从缓存空间中剔除以增加可用的缓存空间来缓存新数据。LRU仅仅考虑内存中的数据被访问的时间因素,将长期未被访问的数据被剔除。缓存数据的有效性除了考虑被访问时间的单一因素外,还需要考虑更多其他因素。
Spark提供抽象弹性分布式数据集RDD,并通过谱系图(lineage graph)来记录这些不同RDD之间的依赖关系。用户具体的应用逻辑表现为一系列数据的RDD转换处理。可以动态获取用户应用程序本身的RDD依赖关系,以及其他历史执行信息等。其他传统的缓存替换策略如LFU(Least Frequency Used)缓存的数据块基于最少频率未被访问进行淘汰,决策缓存数据有效性时仅仅考虑被访问频率这一单一因素;LRFU(L.Donghee et al.,"LRFU:a spectrum of policies that subsumes the least recently used and leastfrequently used policies,"IEEE Transactions on Computers,vol.50,no.12,pp.1352-1361,2001)算法考虑到了数据块的计算成本和大小,但并没有考虑到数据块的使用次数。根据单一维度(时间或频率或使用次数)的缓存替换策略难以适应各种工作负载场景。通过上述分析,LFU、LRFU等机制做出替换决定选择的有效缓存数据优势不明显。
大数据应用的负载特征往往是动态的,面对复杂应用时,尤其在有限的内存资源中,集成在Spark框架中的缓存替换策略LRU未考虑分区数据计算代价、数据依赖关系、分区依赖次数等因素,从而难以选择合理的数据持久化在内存中以备后续作业计算所复用。
用户程序提交到集群,应用执行表现为对各个节点上的数据进行处理,并且诸多分布式应用很多都是重复地对不同数据进行相同的运算步骤,结合Spark的编程特性,可以基于执行前生成的谱系图进行来评估合理的数据在内存中,以获得更好的性能。因此,由于应用负载的动态变化特性,以及Spark特殊的编程特性,面向Spark分布式计算框架,设计高效的缓存替换方法及系统十分重要并具有技术可实现性。
发明内容
本发明为克服现有技术的不足,提供一种面向Spark的基于数据感知的缓存替换方法及系统,通过数据块的计算用时、占用内存空间大小、被依赖次数和已被使用次数等影响因素来建立权重模型,根据权重值来定性衡量数据块的缓存重要性程度,权重值越大,缓存的意义越大,权重值越小的数据块更有可能被替换出去。
为实现上述目的,本发明的技术方案为:
一种面向Spark的基于数据感知的缓存替换方法,包括以下步骤:
分析Spark框架的应用数据依赖关系和历史执行信息,获取数据块的被依赖次数、占用内存空间大小、计算用时和被引用次数;
根据数据块的被依赖次数、占用内存空间大小、计算用时和被引用次数,计算内存中数据块的权重;
对于待缓存的新数据块,选择与该新数据块不属于同一个抽象弹性分布式数据集RDD的内存中数据块进行缓存替换,替换步骤包括:
按照内存中数据块权重值从小到大,选出权重值最小且非0的一个内存中数据块并释放,若释放出的内存空间小于该新数据块的占用内存空间大小,则继续释放下一个内存中数据块,直至释放出的内存空间大于等于该新数据块的占用内存空间大小,再将该新数据块缓存至内存,替换掉释放的上述内存中数据块;
若依次释放出全部内存中数据块后,其释放的内存空间仍小于该新数据块的占用内存空间大小,则放弃缓存该新数据块,并将全部原内存中数据块返回至内存。
进一步地,从Spark框架的有向无环图中获取数据块的被依赖次数、占用内存空间大小、计算用时和被引用次数。
进一步地,通过插桩方法获取数据块的被依赖次数、占用内存空间大小、计算用时和被引用次数。
进一步地,对于数据块的计算用时,将计算用时更久的数据块缓存在内存中。
进一步地,对于数据块的被依赖次数,若数据块只被一个作业计算所依赖,则不进行缓存;若数据块被两个或两个以上的不同作业计算所依赖,则进行缓存。
进一步地,通过一权重表维护内存中数据块的权重值,权重表中的数据块权重的初始值为0。
进一步地,向内存中缓存新数据块后,计算出其权重值,并更新权重表中的值;将内存中数据块释放后,其在权重表中的值置为0;将原内存中数据块返回至内存后,恢复该数据块的权重。
进一步地,权重表中按照权重值从小到大排序。
进一步地,当释放出多个内存中数据块时,这些内存中数据块属于同一个RDD或属于不同的RDD。
进一步地,释放内存中数据块时,先将该内存中数据块从内存中取出,临时存放在等候区列表中,若释放出的内存空间大于等于新数据块的占用内存空间大小,则将该内存中数据块从等候区列表中移除。
一种面向Spark的基于数据感知的缓存替换系统,包括:
分析器,分析Spark框架的应用数据依赖关系和历史执行信息,获取数据块的被依赖次数、占用内存空间大小、计算用时和被引用次数;
控制器,根据数据块的被依赖次数、占用内存空间大小、计算用时和被引用次数构建数据块的权重模型,通过该权重模型计算内存中数据块的权重;
决策器,按照内存中数据块的权重值从小到大,选择与待缓存的新数据块不属于同一个抽象弹性分布式数据集RDD的内存中数据块作为替换对象,决定替换的步骤包括:按照数据块权重值从小到大,选出权重值最小且非0的一个内存中数据块决定释放,若释放出的内存空间小于该新数据块的占用内存空间大小,则决定继续释放下一个内存中数据块,直至释放出的内存空间大于等于该新数据块的占用内存空间大小,再决定将该新数据块缓存至内存,替换掉释放的上述内存中数据块;若依次释放出全部内存中数据块后,其释放的内存空间仍小于该新数据块的占用内存空间大小,则决定放弃缓存该新数据块,并决定将全部原内存中数据块返回至内存;
执行器,根据决策器的决策结果对内存中数据块进行释放或返回操作,对待缓存的新数据块进行缓存替换操作。
本发明与现有技术相比的优点在于:本发明针对现有应用负载特征多样性,甚至同一应用不同阶段对内存资源需求的持续变化性,动态感知用户负载特征,并根据历史运行信息,根据计算得到的权重值,衡量缓存替换最合适的数据。本申请可以有效的提高内存资源使用率,为基于内存的大数据框架平台在应用执行过程中,识别更有价值的分区数据在内存中,结合Spark框架编程特性,提供更高效的基于数据感知的缓存替换方法及系统。
附图说明
为了更清楚的说明本发明实施例的工作方式和现有技术的技术方案,下面将本发明现有技术的附图作一个简单说明:
图1为本发明的缓存替换实现的技术路线图;
图2为本发明的缓存替换流程图;
图3为本发明的实施例的缓存替换示意图。
具体实施方法
下面将结合本发明的附图,进一步说明本发明的技术方案。
本实施例提供一种面向Spark的基于数据感知的缓存替换方法及系统(LPW,LeastPartition Weight),如图1-2所示,包括以下步骤:
步骤1:分析器分析应用数据依赖关系和历史执行信息;分布式计算框架中,数据分布在各个节点上,数据处理转换为一个有向无环图(Directed Acyclic Graph)的任务集。DAG描述了数据的依赖关系,同时,数据块计算的历史执行信息诸多,包括数据块被依赖次数、数据块占用内存空间大小、数据块的计算用时、数据块被引用次数等。通过插桩方法获取数据依赖关系以及历史执行信息。
步骤2:控制器根据缓存数据块的被引用次数、占用内存空间大小、计算用时和被引用次数等因素建立权重模型,计算数据块的权重;
为识别更合理更有价值的数据块,实现最佳替换目标,使用Weighti来表示该数据块的重要程度,值越小,重要程度较低;当内存不足时,该数据块在替换决定时,极有可能作为更合理的替换对象,优先从内存中替换出。基于影响数据块计算等各个因素,构建出数据块的权重模型。公式如下:
Figure BDA0002850752070000041
Weighti表示第i个数据块的权重。权重越大说明该数据块在应用执行过程中更有价值,更有可能作为新的数据缓存在内存中。costi为第i个数据块的计算用时,即处理该数据块的作业(task)计算用时。refi为第i个数据块的被依赖次数,即被作业计算所依赖次数。sizei为第i个数据块的占用内存空间大小。pastmodi为第i个数据块的被引用次数,即在已完成的作业中被引用过的次数。
1)数据块的计算用时
若计算数据块Pi的耗时1小时,计算数据块Pj的耗时1秒,显然将Pi缓存在内存中,更有利于提升程序执行效率。在用户提交应用执行整个作业过程中,为提升性能需缓存计算耗时时间久的数据块。costi表示第i个数据块的计算用时,即处理该数据块的计算用时。该值越大,数据块被缓存的权重值也随之增长。
2)数据块的被依赖次数
若某个数据块ri只被一个作业计算所依赖,后续不会被其他作业计算所依赖,则无需将其缓存;某个数据块被两个不同作业计算所依赖,ri∈τp&ri∈τq,需要将ri缓存;因此,ri被多个作业计算所依赖,则需要将其缓存。在用户提交应用执行整个作业过程中,为提升性能需缓存被作业依赖次数多的数据块。refi为第i个数据块表示该数据块被作业计算所依赖次数。该值越大,数据块被缓存的权重值也随之增长。
3)数据块的占用内存空间大小
需要缓存的数据块空间大小不宜过大,过大的数据可能占用大量的存储内存空间造成内存资源的浪费,甚至会占用执行内存,造成应用程序因为计算内存不足效率低下。sizei为第i个数据块的占用内存空间大小。该值越大,数据块被缓存的权重值也随之减小。
4)数据块的被引用次数
pastmodi表示第i个数据块在已完成的作业中被引用过的次数,该因子表示过往被用到的数据块可能在之后会被用到。该值越大,数据块被缓存的权重值也随之增长。
步骤3:决策器根据计算出的数据块的权重值大小,定量评估该数据块缓存价值,权重值越大,表示该数据块缓存的必要性越高,即将该数据块保持在内存中;当权重值越小,表示该数据块缓存的必要性越低,当内存不足时,优先将该数据块从内存中替换出,并对权重值的大小进行降序排列。
步骤4:执行器根据权重值大小对数据块进行缓存替换操作。
更进一步地,对缓存在内存中的数据块是否换出的判定,具体实施过程如下:构建一张权重表Weight和等候区列表waitingList,维护每个数据块权重,初始值为0。现有新的数据块Pjk,当需要将该数据块缓存时,首先判断内存是否有足够空间。
①如果有足够的空间,直接将Pjk放入内存中,并更新权重表中该数据块的权重值(即Weight(Pjk))。如果没有足够的空间,则开始缓存置换决定,详细步骤如下:
②按权重值从小到大顺序查找权重表中与该Pjk不同属一RDD的数据块Pqw(即Weight(Pqw)≠0,
Figure BDA0002850752070000061
设置该数据块的值为0并将其取出,加入列表waitingList中,使得将其释放来存储新的数据块Pjk,若释放Pqw有足够空间,则将Pqw从waitingList删除并同时将其从内存中移除,更新权重表中Pjk的权重。
③若将内存中所有与Pjk不同属一个RDD的数据块加入列表waitingList中,释放后仍未有足够内存缓存Pjk,则放弃对该Pjk的缓存,并恢复权重表的值。注意的是,当某个数据块被替换出去,会直接从权重表中移除。
下面再以一个实例验证本发明的缓存替换,如图3所示。
Apache Spark是专为大规模数据处理而设计的基于内存的快速计算引擎,Spark框架中的缓存替换策略是LRU。如图3所示,权重表的初始值为0,当节点剩余内存大于待缓存节点内存大小时,直接将数据块缓存到内存中;当节点剩余内存不足以缓存新数据块时,缓存替换流程如下:如图3的(a)图所示P13表示待缓存的新数据,数据块占用内存空间为Sp13=180M,节点内存大小Totalmem=500M,内存中已经缓存序列P={P11,P12,P21,P22,P23},剩余内存Freemem=Totalmem-SR1-SR2=150M,通过计算发现Freemem<Sp13,未能有足够内存存放P13,遍历分区数据权重表,选择和P13不属于同一个RDD的数据块P22放到waitingList中,并将该数据块的权重值设为0,剔除P22,剩余内存Freemem=Totalmem-SR1-Sp21-Sp23+Sp22=200M,足以缓存P13,利用本发明的技术方案将P22从内存中剔除,缓存P13到内存,得到新的缓存序列P={P11,P12,P13,P21,P23},节点剩余内存Freemem=20M。
如图3的(b)图所示,P13表示待缓存的新数据,数据块占用内存空间为Sp13=400M,节点内存大小Totalmem=500M,内存中已经缓存序列P={P11,P12,P21,P22,P23},剩余内存Freemem=Totalmem-SR1-SR2=150M,通过计算发现Freemem<Sp13,未能有足够内存存放P13,遍历分区数据权重表,选择和P13不属于同一个RDD的数据块且权重值最小且非0的P22放到waitingList中,并将该数据块的权重值设为0,剔除P22,剩余内存Freemem=Totalmem-SR1-Sp21-Sp23+Sp22=200M,仍未有足够内存缓存P13,继续遍历权重表,得到最小权重且非0的P23,P21,依次剔除,剩余内存Freemem=Totalmem-SR1+Sp22+Sp23+Sp21=350M,通过计算Freemem<Sp13,可见释放所有分区数据仍未有足够内存缓存P13,则放弃对P13的缓存,恢复权重表中的值。
以上实施例当中,对于本领域的技术人员来说,一些公知技术可能未进行详细阐述。另外,数据块又称分区数据块、分区数据,本发明不刻意区分之间的含义区别。
以上对于本发明实施例的具体实施方法的描述只是举例说明,所描述的实施例是本发明一部分实施例,而不代表全部的实施例。本发明的保护范围由所述权利要求书阐述。本领域的技术人员在理解了上述说明的基础之上,进行的任何形式的变化和改动均落入本发明的保护范围之内。

Claims (10)

1.一种面向Spark的基于数据感知的缓存替换方法,其特征在于,包括以下步骤:
分析Spark框架的应用数据依赖关系和历史执行信息,获取数据块的被依赖次数、占用内存空间大小、计算用时和被引用次数;
根据数据块的被依赖次数、占用内存空间大小、计算用时和被引用次数,计算内存中数据块的权重;
对于待缓存的新数据块,选择与该新数据块不属于同一个抽象弹性分布式数据集RDD的内存中数据块进行缓存替换,替换步骤包括:
按照内存中数据块权重值从小到大,选出权重值最小且非0的一个内存中数据块并释放,若释放出的内存空间小于该新数据块的占用内存空间大小,则继续释放下一个内存中数据块,直至释放出的内存空间大于等于该新数据块的占用内存空间大小,再将该新数据块缓存至内存,替换掉释放的上述内存中数据块;
若依次释放出全部内存中数据块后,其释放的内存空间仍小于该新数据块的占用内存空间大小,则放弃缓存该新数据块,并将全部原内存中数据块返回至内存。
2.如权利要求1所述的方法,其特征在于,通过插桩方法获取数据块的被依赖次数、占用内存空间大小、计算用时和被引用次数。
3.如权利要求1所述的方法,其特征在于,计算内存中数据块权重的公式如下:
Figure FDA0002850752060000011
其中,Weighti表示第i个数据块的权重,costi表示第i个数据块的计算用时,refi表示第i个数据块的被依赖次数,sizei表示第i个数据块的占用内存空间大小,pastmodi表示第i个数据块的被引用次数。
4.如权利要求1所述的方法,其特征在于,对于数据块的计算用时,将计算用时更久的数据块缓存在内存中。
5.如权利要求1所述的方法,其特征在于,对于数据块的被依赖次数,若数据块只被一个作业计算所依赖,则不进行缓存;若数据块被两个或两个以上的不同作业计算所依赖,则进行缓存。
6.如权利要求1所述的方法,其特征在于,通过一权重表维护内存中数据块的权重值,权重表中的数据块权重的初始值为0。
7.如权利要求6所述的方法,其特征在于,权重表中按照权重值从小到大排序。
8.如权利要求6所述的方法,其特征在于,向内存中缓存新数据块后,计算出其权重值,并更新权重表中的值;将内存中数据块释放后,其在权重表中的值置为0;将原内存中数据块返回至内存后,恢复该数据块的权重。
9.如权利要求1所述的方法,其特征在于,释放内存中数据块时,先将该内存中数据块从内存中取出,临时存放在等候区列表中,若释放出的内存空间大于等于新数据块的占用内存空间大小,则将该内存中数据块从等候区列表中移除。
10.一种面向Spark的基于数据感知的缓存替换系统,其特征在于,包括:
分析器,分析Spark框架的应用数据依赖关系和历史执行信息,获取数据块的被依赖次数、占用内存空间大小、计算用时和被引用次数;
控制器,根据数据块的被依赖次数、占用内存空间大小、计算用时和被引用次数构建数据块的权重模型,通过该权重模型计算内存中数据块的权重;
决策器,按照内存中数据块的权重值从小到大,选择与待缓存的新数据块不属于同一个抽象弹性分布式数据集RDD的内存中数据块作为替换对象,决定替换的步骤包括:按照数据块权重值从小到大,选出权重值最小且非0的一个内存中数据块决定释放,若释放出的内存空间小于该新数据块的占用内存空间大小,则决定继续释放下一个内存中数据块,直至释放出的内存空间大于等于该新数据块的占用内存空间大小,再决定将该新数据块缓存至内存,替换掉释放的上述内存中数据块;若依次释放出全部内存中数据块后,其释放的内存空间仍小于该新数据块的占用内存空间大小,则决定放弃缓存该新数据块,并决定将全部原内存中数据块返回至内存;
执行器,根据决策器的决策结果对内存中数据块进行释放或返回操作,对待缓存的新数据块进行缓存替换操作。
CN202011525754.0A 2020-12-22 2020-12-22 一种面向Spark的基于数据感知的缓存替换方法及系统 Active CN112597076B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011525754.0A CN112597076B (zh) 2020-12-22 2020-12-22 一种面向Spark的基于数据感知的缓存替换方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011525754.0A CN112597076B (zh) 2020-12-22 2020-12-22 一种面向Spark的基于数据感知的缓存替换方法及系统

Publications (2)

Publication Number Publication Date
CN112597076A true CN112597076A (zh) 2021-04-02
CN112597076B CN112597076B (zh) 2022-10-14

Family

ID=75200046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011525754.0A Active CN112597076B (zh) 2020-12-22 2020-12-22 一种面向Spark的基于数据感知的缓存替换方法及系统

Country Status (1)

Country Link
CN (1) CN112597076B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115145841A (zh) * 2022-07-18 2022-10-04 河南大学 一种应用于Spark计算平台中的降低内存争用的方法
CN115718767A (zh) * 2022-11-26 2023-02-28 河南大学 一种面向大数据平台的远程缓存替换方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107220188A (zh) * 2017-05-31 2017-09-29 莫倩 一种自适应缓冲块替换方法
CN108614738A (zh) * 2018-05-14 2018-10-02 北京工业大学 一种面向交互式Spark应用的数据动态放置方法
CN111538681A (zh) * 2020-03-25 2020-08-14 武汉理工大学 Spark平台下基于最大化缓存增益的缓存替换方法
CN112015765A (zh) * 2020-08-19 2020-12-01 重庆邮电大学 基于缓存价值的Spark缓存淘汰方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107220188A (zh) * 2017-05-31 2017-09-29 莫倩 一种自适应缓冲块替换方法
CN108614738A (zh) * 2018-05-14 2018-10-02 北京工业大学 一种面向交互式Spark应用的数据动态放置方法
CN111538681A (zh) * 2020-03-25 2020-08-14 武汉理工大学 Spark平台下基于最大化缓存增益的缓存替换方法
CN112015765A (zh) * 2020-08-19 2020-12-01 重庆邮电大学 基于缓存价值的Spark缓存淘汰方法及系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
HUI LI 等: "Detecting Cache-Related Bugs in Spark Applications", 《ISSTA ’20》 *
刘恒 等: "并行计算框架Spark中一种新的RDD分区权重缓存替换算法", 《小型微型计算机系统》 *
卞琛 等: "并行计算框架Spark的自适应缓存管理策略", 《电子学报》 *
魏赟 等: "Spark中一种高效RDD自主缓存替换策略研究", 《计算机应用研究》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115145841A (zh) * 2022-07-18 2022-10-04 河南大学 一种应用于Spark计算平台中的降低内存争用的方法
CN115145841B (zh) * 2022-07-18 2023-05-12 河南大学 一种应用于Spark计算平台中的降低内存争用的方法
CN115718767A (zh) * 2022-11-26 2023-02-28 河南大学 一种面向大数据平台的远程缓存替换方法及装置

Also Published As

Publication number Publication date
CN112597076B (zh) 2022-10-14

Similar Documents

Publication Publication Date Title
US7890488B2 (en) System and method for caching posting lists
US9063982B2 (en) Dynamically associating different query execution strategies with selective portions of a database table
JP2720910B2 (ja) データ処理システムの作業負荷を管理するための装置及び方法
US8019704B1 (en) Scaling machine learning using approximate counting
CN112597076B (zh) 一种面向Spark的基于数据感知的缓存替换方法及系统
CN109634744B (zh) 一种基于云平台资源分配的精确匹配方法,设备及存储介质
EP2122502A1 (en) Automated and dynamic management of query views for database workloads
CN112015765B (zh) 基于缓存价值的Spark缓存淘汰方法及系统
CN106959928B (zh) 一种基于多级缓存结构的流式数据实时处理方法及系统
US20140195771A1 (en) Anticipatorily loading a page of memory
CN114358267A (zh) 一种降低深度神经网络训练过程中gpu内存占用的方法
Villalba et al. Constant-time sliding window framework with reduced memory footprint and efficient bulk evictions
CN116107754A (zh) 一种面向深度神经网络的内存管理方法及系统
CN106681830B (zh) 一种任务缓存空间监测方法和装置
CN117234710A (zh) 一种采用强化学习实现ai模型训练内存优化的方法
CN112667170B (zh) 一种面向滑动窗口数据分析的Spark数据缓存方法
CN111061565A (zh) 一种Spark环境下的两段式流水线任务调度方法及系统
CN117194502B (zh) 一种基于长短期记忆网络的数据库内容缓存替换方法
Wang et al. An Improved Memory Cache Management Study Based on Spark.
CN111538681B (zh) Spark平台下基于最大化缓存增益的缓存替换方法
CN117539835A (zh) 一种图数据的分布式缓存方法及装置
CN108334532A (zh) 一种基于Spark的Eclat并行化方法、系统及装置
Zhu et al. MCS: memory constraint strategy for unified memory manager in spark
Li et al. LPW: an efficient data-aware cache replacement strategy for Apache Spark
CN112269947A (zh) 空间文本数据的缓存方法、装置、电子设备及存储介质

Legal Events

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