CN107220188A - 一种自适应缓冲块替换方法 - Google Patents
一种自适应缓冲块替换方法 Download PDFInfo
- Publication number
- CN107220188A CN107220188A CN201710405770.8A CN201710405770A CN107220188A CN 107220188 A CN107220188 A CN 107220188A CN 201710405770 A CN201710405770 A CN 201710405770A CN 107220188 A CN107220188 A CN 107220188A
- Authority
- CN
- China
- Prior art keywords
- distribution formula
- elasticity distribution
- data set
- actions
- formula data
- 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
Links
- 230000006978 adaptation Effects 0.000 title claims abstract description 7
- 238000000034 method Methods 0.000 title claims description 16
- 238000009826 distribution Methods 0.000 claims abstract description 124
- 230000008859 change Effects 0.000 claims abstract description 8
- 230000009471 action Effects 0.000 claims description 119
- 238000013480 data collection Methods 0.000 claims description 18
- 230000000875 corresponding effect Effects 0.000 claims description 8
- 238000005267 amalgamation Methods 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 6
- 238000000844 transformation Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 claims description 4
- 235000013399 edible fruits Nutrition 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 3
- 238000009825 accumulation Methods 0.000 claims description 2
- 238000001914 filtration Methods 0.000 claims description 2
- 239000008187 granular material Substances 0.000 claims description 2
- 230000000717 retained effect Effects 0.000 claims description 2
- 239000002245 particle Substances 0.000 claims 1
- 230000008901 benefit Effects 0.000 abstract description 3
- 101000932776 Homo sapiens Uncharacterized protein C1orf115 Proteins 0.000 description 5
- 102100025480 Uncharacterized protein C1orf115 Human genes 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 239000003638 chemical reducing agent Substances 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
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提供的弹性分布式数据集RDD上运行,弹性分布式数据集RDD为集群的分布式内存抽象,将步骤划分为六步,通过低内存开销的重计算开销的数据结构记录弹性分布式数据集RDD的重计算权重,为了结合应用特点优化数据块替换策略,结合RDD的血统关系判断属于某一RDD的所有数据块的重计算开销,动态地识别当前缓存替换策略下的数据块的读取延迟,当短时间内多个数据块被驱逐后又重新读入内存时,将数据块替换策略更改为LCC策略,之后在数据块恢复阶段,根据数据块的重计算开销设置新的阈值Threshold‑LCC,当重计算开销大于内存读取数据块的延迟后,将数据块的替换策略更改为LRU策略,本发明具有低内存开销、动态更改数据块替换策略,自适应负载特点等优点。
Description
技术领域
本发明涉及计算机系统结构领域,涉及一种自适应缓冲块替换方法。
背景技术
缓存替换算法的核心在于充分局部性原理提高缓存命中率,各种替换算法的主要不同在于如何量化局部性。常见的两种缓存替换策略包括:基于访问时间的LRU (LeastRecently Used)策略和基于访问频率的LFU(Least Frequently Used) 策略。LRU策略仅维护了缓存块的访问时间信息,没有考虑被访问频率等因素,在某些访问模式下无法获得理想命中率。与LRU策略的缺点类似,LFU策略仅维护各项的被访问频率信息,对于某缓存项,如果该项在过去有着极高的访问频率而最近访问频率较低,当缓存空间已满时该项很难被从缓存中替换出来,进而导致命中率下降。
Spark是UC Berkeley AMP lab(加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,主要特点是提供了一个集群的分布式内存抽象—弹性分布式数据集RDD,以支持需要工作集的应用。在Hadoop MapReduce 框架中,shuffle过程是连接Map和Reduce之间的桥梁,Shuffle过程会产生大量的中间文件,内存需求巨大,涉及到了磁盘的读写和网络的传输,它的性能高低直接影响到了整个程序的运行效率。随着大数据时代应用的规模不断增加,内存资源的需求量也随之增加,当内存大小无法满足应用的工作集的需求时,必然导致频繁的缓存块替换。若采用普通的LRU策略,驱逐被访问最少的数据块,那么很可能出现当某一个不在内存中的数据块需要被访问时,由于内存资源不够,必须先驱逐另一个之后很可能被访问的相邻数据块,再把该块读入内存,会导致不必要的开销。因此,需要一种全面的、效率高的缓冲块替换策略。
发明内容
有鉴于此,本发明提供一种解决或部分解决上述问题的一种自适应缓冲块替换方法。
为达到上述技术方案的效果,本发明的技术方案为:一种自适应缓冲块替换方法,在通用并行框架Spark提供的弹性分布式数据集RDD上运行,弹性分布式数据集RDD为集群的分布式内存抽象,步骤如下:
1)结合弹性分布式数据集RDD的变换序列关系判断并得到属于弹性分布式数据集RDD的所有数据块的重计算开销,初始化记录数据块的重计算开销的数据结构,为其分配内存空间,并将内存空间的内部所有位初始化为0;
2)根据分配方案为弹性分布式数据集RDD的动作分配权重,分配方案为:
首先,将弹性分布式数据集RDD的动作分为transformations动作类型和 actions动作类型,transformations动作类型为一种惰性操作,定义了一个新的弹性分布式数据集RDD,没有立即对其进行计算,actions动作类型则是对弹性分布式数据集RDD立即计算,并返回结果或者将结果写入到外部存储中;
将transformations动作类型分为Map动作、Flatmap动作、Filter动作、 Distinct动作、Union动作、Intersection动作、Subtract动作、Cartesian动作;Map动作表示对弹性分布式数据集RDD中的每一个元素进行一个操作,Map 动作的权重为T1;Flatmap动作表示弹性分布式数据集RDD中的当前元素,并生成新的元素集合,Flatmap动作的权重为T2;Filter动作表示过滤弹性分布式数据集RDD中的一些元素,Filter动作的权重为T3;Distinct动作表示对弹性分布式数据集RDD中元素去重,Distinct动作的权重为T4;Union表示返回弹性分布式数据集RDD1、弹性分布式数据集RDD2的合并结果,在这其中对合并结果不去重, Union动作的权重为T5;Intersection动作表示返回弹性分布式数据集RDD1、弹性分布式数据集RDD2的合并结果,在这其中对合并结果去重,Intersection动作的权重为T6;Subtract动作表示对弹性分布式数据集RDD1、弹性分布式数据集RDD2 的合并,合并后只保留在一个弹性分布式数据集RDD1中出现的元素而在另一个弹性分布式数据集RDD2不出现的元素,Subtract动作的权重为T7;Cartesian动作表示对对弹性分布式数据集RDD1、弹性分布式数据集RDD2进行笛卡尔积计算, Cartesian动作的权重为T8;
将actions动作类型分为Collect动作、Count动作、Take动作、Top动作、TakeOrdered动作、Fold动作、Foreach动作;Collect动作表示将弹性分布式数据集RDD转换为数组,Collect动作的权重为A1;Count动作返回弹性分布式数据集RDD中的元素数量,Count动作的权重为A2;Take动作表示获取弹性分布式数据集RDD中从0到指定标号的元素,指定标号用常量num表示,Take动作的权重为A3;Top动作表示从弹性分布式数据集RDD中,按照默认或给定的排序规则,返回其中的从0到指定标号的元素,Top动作的权重为A4;TakeOrdered动作表示按照与Top动作的排序规则相反的顺序返回从0到指定标号的元素,TakeOrdered动作的权重为A5;Fold动作表示将弹性分布式数据集RDD中的每个元素累积求和,Fold动作的权重为A6;Foreach动作表示遍历弹性分布式数据集 RDD中的每个元素,Foreach动作的权重为A7;
3)弹性分布式数据集RDD执行第2)步所分类的动作时,数据块的重计算开销的数据结构中对应的弹性分布式数据集RDD的记录位增加相应动作的权重;弹性分布式数据集RDD分为父弹性分布式数据集以及子弹性分布式数据集,数据块的重计算开销与弹性分布式数据集RDD的动作以及父弹性分布式数据集和子弹性分布式数据集的依赖关系有关,其中,父弹性分布式数据集和子弹性分布式数据集的依赖关系分为窄依赖、宽依赖两种;窄依赖表示子弹性分布式数据集中的每个数据块只依赖于父弹性分布式数据集中的有限个固定数据块,宽依赖表示子弹性分布式数据集可以依赖于父弹性分布式数据集中的所有数据块;
4)判断弹性分布式数据集RDD的缓存块替换开销,并调整其的阈值,并定义缓冲块替换策略,缓冲块替换策略分为LRU策略、LCC策略两种,LRC策略为驱逐最少访问的数据块策略,LCC策略为驱逐最小重计算开销的数据块策略,初始时默认缓存块替换策略为LRU策略,并设置其替换阈值为Threshold-LRU,其后根据替换条件判断是否将缓冲块替换策略修改为LCC策略,并设置其替换阈值为 Threshold-LCC;LCC策略的初始替换阈值Threshold-LCC=0;LRU策略的初始替换阈值Threshold-LCC=3;
5)动态地选择缓冲块替换策略;
初始时默认缓存块替换策略为LRU策略,并设置其替换阈值为Threshold-LRU,设置初始缓冲块替换策略的数据块读取开销C=0,当其的内存块在时间段t内,被驱逐后又重新被读入时,缓冲块替换策略的数据块读取开销 C=C+1,当连续三个缓冲块替换策略的数据块在时间段t内被驱逐并被重新读入时,缓冲块替换策略的数据块读取开销C的值超过Threshold-LRU,修改缓存块替换策略为LCC策略;选取权重最低的弹性分布式数据集RDD所对应的数据块,将根据LCC策略将其修改为驱逐重计算开销最小的数据块;当缓冲块替换策略为 LCC策略时,驱逐完属于权重最低的弹性分布式数据集RDD的所有数据块之后,权重最低的弹性分布式数据集RDD的重计算开销设置为无效,根据弹性分布式数据集RDD的重计算开销对弹性分布式数据集RDD重新进行排序,选择重计算开销最小的弹性分布式数据集RDD作为新的驱逐对象,当缓冲块替换策略的数据块读取时间小于Threshold-LRU,LCC策略替换开销过大,将缓存块替换策略修改为 LRU策略;
6)通过弹性分布式数据集RDD的容错特点恢复其的数据块;
弹性分布式数据集RDD的容错机制采用记录更新的方式,只支持粗颗粒变换,粗颗粒变换只记录弹性分布式数据集RDD上的单个数据块上执行的单个操作,然后将创建弹性分布式数据集RDD的变换序列存储下来,弹性分布式数据集RDD的变换序列为弹性分布式数据集RDD由其他弹性分布式数据集RDD变换的信息以及重建其中的数据的信息;当需要恢复弹性分布式数据集RDD中的数据块时,根据弹性分布式数据集RDD记录的动作以及与父弹性分布式数据集的依赖关系选择不同的恢复方法;窄依赖可以直接通过计算父弹性分布式数据集的某块数据计算得到子弹性分布式数据集对应的某块数据;宽依赖需要将父弹性分布式数据集中的所有数据块全部重新计算来恢复,并根据其的重新计算时间,设置新的缓存块替换策略转换阈值Threshold-LCC=T,其中T为CCB中权重最低的弹性分布式数据集RDD中数据块的重计算时间。
本发明的有益成果是:本发明结合弹性分布式数据集RDD自身特点,通过其的依赖关系恢复数据块,降低了内存的I/O需求;本发明采用低内存开销的重计算开销的数据结构记录弹性分布式数据集RDD的动作权重,属于同一RDD的所有数据块重计算开销相同,极大地降低了内存开销;本发明针对大数据应用的特点优化缓存替换策略,通过记录RDD的动作权重判断重计算开销,来驱逐重计算开销较小的数据块,避免了LRU策略导致的数据块重复驱逐与读入,能够显著减少内存开销;本发明涉及的缓存策略能够动态识别负载特征,自动切换缓冲块替换策略,实现了性能最大化。
附图说明
图1是本发明的流程示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,能实现同样功能的产品属于等同替换和改进,均包含在本发明的保护范围之内。具体方法如下:
实施例1:缓存替换算法的核心在于充分局部性原理提高缓存命中率,各种替换算法的主要不同在于如何量化局部性。常见的两种缓存策略包括:基于访问时间的LRU(LeastRecently Used)策略和基于访问频率的LFU(Least Frequently Used)策略。LRU算法维护一个缓存项队列,队列中的缓存项按每项的最后被访问时间排序。当缓存空间已满时,将处于队尾,即删除最后一次被访问时间距现在最久的项,将新的区段放入队列首部。但LRU算法仅维护了缓存块的访问时间信息, 没有考虑被访问频率等因素,在某些访问模式下无法获得理想命中率。LFU算法按每个缓存块的被访问频率将缓存中的各块排序,当缓存空间已满时,替换掉缓存队列中访问频率最低的一项。与LRU的缺点类似,LFU仅维护各项的被访问频率信息,对于某缓存项,如果该项在过去有着极高的访问频率而最近访问频率较低,当缓存空间已满时该项很难被从缓存中替换出来,进而导致命中率下降。
Spark是UC Berkeley AMP lab(加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,主要特点是提供了一个集群的分布式内存抽象,以支持需要工作集的应用。这个抽象就是RDD(Resilient Distributed Dataset),也被称为弹性分布式数据集。RDD一种有容错机制的特殊集合,可以分布在集群的节点上,以函数式编操作集合的方式,进行各种并行操作。可以将 RDD理解为一个具有容错机制的特殊集合,它提供了一种只读、只能有已存在的 RDD变换而来的共享内存,然后将所有数据都加载到内存中,方便进行多次重用。 Spark的特点总结如下:a.RDD是分布式的,可以分布在多台机器上,进行计算。 b.RDD是弹性的,计算过程中内存不够时它会和磁盘进行数据交换。c.这些限制可以极大的降低自动容错开销d.Spark实质是一种更为通用的迭代并行计算框架,用户可以显示的控制计算的中间结果,然后将其自由运用于之后的计算。
在MapReduce框架中,shuffle是连接Map和Reduce之间的桥梁,当Map的输出结果要被Reduce使用时,输出结果需要按key哈希,并且分发到每一个 Reducer上去,这个过程就是shuffle。Shuffle过程会产生大量的中间文件,内存需求巨大。由于shuffle涉及到了磁盘的读写和网络的传输,因此shuffle性能的高低直接影响到了整个程序的运行效率。随着大数据时代应用的规模不断增加,内存资源的需求量也随之增加,当内存大小无法满足应用的工作集的需求时,必然导致频繁的缓存块替换。若采用普通的LRU策略,驱逐被访问最少的数据块,那么很可能出现当某一个不在内存中的数据块需要被访问时,由于内存资源不够,必须先驱逐另一个之后很可能被访问的相邻数据块,再把该块读入内存,导致不必要的开销。
实施例2:本实施例基于Spark RDD的一种自适应缓存块替换策略的实施步骤如下:
1)根据主机内存资源和弹性分布式数据集RDD的数量,初始化重计算开销的数据结构,为其分配相应内存空间,为每个RDD建立权重信息,所有位初始化为 0。跳转执行步骤2);
2)根据弹性分布式数据集RDD经历的动作及其与父RDD的依赖关系,记录每个RDD的权重。跳转执行步骤3);
3)设置数据块的替换策略为LRU策略,监控短时间内是否有内存块被驱逐后又重新读入内存,若有则C+1。跳转执行步骤4);
4)若C的值超过替换策略转换阈值Threshold-LRU,且数据块的读取开销t0大于重计算开销阈值Threshold-LCC,则跳转执行步骤5),否则跳转执行步骤3);
5)数据块替换策略为LCC策略,驱逐重计算开销最小的数据块。当需要恢复数据块时,读取RDD血统关系,重新计算数据块,并根据重计算开销设置新的转换阈值Threshold-LCC。跳转执行步骤6);
6)比较数据读取开销与重计算开销。若数据块的读取开销t0大于重计算开销阈值Threshold-LCC,则跳转执行步骤5),否则跳转执行步骤3)。
本实施例设计一种基于Spark RDD的一种自适应缓存块替换策略,通过低内存开销的CBB记录RDD的重计算权重。为了结合应用特点优化数据块替换策略,本发明设计了一种动态缓存替换策略,结合RDD的血统关系判断属于某一RDD的所有数据块的重计算开销,动态识别当前缓存替换策略下数据块的读取延迟,当短时间内多个数据块被驱逐后又重新读入内存时,将数据块替换策略更改为LCC。之后在数据块恢复阶段,根据数据块的重计算开销设置新的阈值Threshold-LCC,当重计算开销大于内存读取数据块的延迟后,将数据块的替换策略更改为LRU。本实施例具有低内存开销、动态更改数据块替换策略,自适应负载特点等优点。
本发明的有益成果是:本发明结合弹性分布式数据集RDD自身特点,通过其的依赖关系恢复数据块,降低了内存的I/O需求;本发明采用低内存开销的重计算开销的数据结构记录弹性分布式数据集RDD的动作权重,属于同一RDD的所有数据块重计算开销相同,极大地降低了内存开销;本发明针对大数据应用的特点优化缓存替换策略,通过记录RDD的动作权重判断重计算开销,来驱逐重计算开销较小的数据块,避免了LRU策略导致的数据块重复驱逐与读入,能够显著减少内存开销;本发明涉及的缓存策略能够动态识别负载特征,自动切换缓冲块替换策略,实现了性能最大化。
以上所述仅为本发明之较佳实施例,并非用以限定本发明的权利要求保护范围。同时以上说明,对于相关技术领域的技术人员应可以理解及实施,因此其他基于本发明所揭示内容所完成的等同改变,均应包含在本权利要求书的涵盖范围内。
Claims (1)
1.一种自适应缓冲块替换方法,其特征在于,在通用并行框架上提供的弹性分布式数据集上运行,所述弹性分布式数据集为集群的分布式内存抽象,步骤如下:
1)结合所述弹性分布式数据集的变换序列,判断并得到属于所述弹性分布式数据集的所有数据块的重计算开销,初始化用于记录所述弹性分布式数据集的所有数据块的重计算开销的数据结构,并为其分配内存空间,并将所述内存空间的内部所有位都初始化为0;
所述弹性分布式数据集的变换序列由所述弹性分布式数据集与其他所述弹性分布式数据集之间变换的信息以及重建所述弹性分布式数据集中的数据的信息组成;
2)根据分配方案为所述弹性分布式数据集的动作分配权重,所述分配方案为:
首先,将所述弹性分布式数据集的动作分为transformations动作类型和actions动作类型;
所述transformations动作类型为一种惰性操作,定义了一个新的所述弹性分布式数据集,没有立即对其进行计算;
所述actions动作类型则是对所述弹性分布式数据集立即计算,并返回结果或者将结果写入到外部存储中;
将所述transformations动作类型被分为Map动作、Flatmap动作、Filter动作、Distinct动作、Union动作、Intersection动作、Subtract动作、Cartesian动作;
所述Map动作表示对所述弹性分布式数据集中的每一个元素进行一个操作,所述Map动作的权重为T1;
所述Flatmap动作表示返回所述弹性分布式数据集中的当前元素,并生成新的元素集合,所述Flatmap动作的权重为T2;
所述Filter动作表示过滤所述弹性分布式数据集中的一些元素,所述Filter动作的权重为T3;
所述Distinct动作表示对所述弹性分布式数据集中元素去重,所述Distinct动作的权重为T4;
所述Union动作表示返回两个所述弹性分布式数据集的合并结果,在这其中对合并结果不去重,所述Union动作的权重为T5;
所述Intersection动作表示返回两个所述弹性分布式数据集的合并结果,在这其中对合并结果去重,所述Intersection动作的权重为T6;
所述Subtract动作表示对两个所述弹性分布式数据集进行合并,合并后只保留在一个所述弹性分布式数据集中出现的元素而在另一个所述弹性分布式数据集不出现的元素,所述Subtract动作的权重为T7;
所述Cartesian动作表示在两个所述弹性分布式数据集之间进行笛卡尔积计算,所述Cartesian动作的权重为T8;
将所述actions动作类型分为Collect动作、Count动作、Take动作、Top动作、TakeOrdered动作、Fold动作、Foreach动作;
所述Collect动作表示将所述弹性分布式数据集转换为数组,所述Collect动作的权重为A1;
所述Count动作返回所述弹性分布式数据集中的元素数量,所述Count动作的权重为A2;
所述Take动作表示获取所述弹性分布式数据集中从0到指定标号的元素,所述指定标号用常量num表示,所述Take动作的权重为A3;
所述Top动作表示从所述弹性分布式数据集中,按照默认或给定的排序规则,返回其中的从0到所述指定标号的元素,所述Top动作的权重为A4;
所述TakeOrdered动作表示按照与所述Top动作的排序规则相反的顺序返回从0到所述指定标号的元素,所述TakeOrdered动作的权重为A5;
所述Fold动作表示将所述弹性分布式数据集中的每个元素累积求和,所述Fold动作的权重为A6;
所述Foreach动作表示遍历所述弹性分布式数据集中的每个元素,所述Foreach动作的权重为A7;
3)所述弹性分布式数据集执行第2)步所分类的动作时,所述弹性分布式数据集的所有数据块的重计算开销的数据结构中对应的所述弹性分布式数据集的记录位增加相应动作被分配的权重;所述弹性分布式数据集被分为父弹性分布式数据集以及子弹性分布式数据集,所述弹性分布式数据集的所有数据块的重计算开销与所述弹性分布式数据集的动作以及所述父弹性分布式数据集和所述子弹性分布式数据集之间的依赖关系有关,其中,所述父弹性分布式数据集和所述子弹性分布式数据集之间的依赖关系分为窄依赖、宽依赖两种;所述窄依赖表示所述子弹性分布式数据集中的每个数据块只依赖于所述父弹性分布式数据集中的有限个固定数据块,所述宽依赖表示所述子弹性分布式数据集可以依赖于所述父弹性分布式数据集中的所有数据块;
4)判断所述弹性分布式数据集的缓存块替换开销,并调整其的阈值,并定义缓冲块替换策略;所述缓冲块替换策略分为LRU策略、LCC策略两种,所述LRC策略为驱逐最少访问的数据块策略,所述LCC策略为驱逐最小重计算开销的数据块策略;初始时默认所述缓存块替换策略为所述LRU策略,并设置其替换阈值为Threshold-LRU,其后根据替换条件判断是否将所述缓冲块替换策略修改为所述LCC策略,并设置其替换阈值为Threshold-LCC;所述LCC策略的初始替换阈值为0;所述LRU策略的初始替换阈值为3;
5)动态地选择所述缓冲块替换策略;
初始时默认所述缓存块替换策略为所述LRU策略,并设置其替换阈值为Threshold-LRU,设置初始所述缓冲块替换策略的数据块读取开销C=0,当其的内存块在时间段t内,被驱逐后又重新被读入时,所述缓冲块替换策略的数据块读取开销C=C+1,当连续三个所述缓冲块替换策略的数据块在时间段t内被驱逐并被重新读入时,所述缓冲块替换策略的数据块读取开销C的值超过Threshold-LRU,修改所述缓存块替换策略为所述LCC策略;选取权重最低的弹性分布式数据集RDD所对应的数据块,将根据所述LCC策略将驱除最小访问数据块修改为驱逐重计算开销最小的数据块;当所述缓冲块替换策略为所述LCC策略时,驱逐完属于所述权重最低的弹性分布式数据集的所有数据块之后,所述权重最低的弹性分布式数据集的所有数据块的重计算开销设置为无效,根据所述弹性分布式数据集的所有数据块的重计算开销对所述弹性分布式数据集重新进行排序,选择重计算开销最小的所述弹性分布式数据集作为新的驱逐对象,当所述缓冲块替换策略的数据块读取时间小于Threshold-LRU,所述LCC策略的替换开销过大,将所述缓存块替换策略修改为所述LRU策略;
6)通过所述弹性分布式数据集的容错特点恢复其的数据块;
所述弹性分布式数据集的容错机制采用记录更新的方式,只支持粗颗粒变换,所述粗颗粒变换只记录所述弹性分布式数据集上的单个数据块上执行的单个操作,然后将创建所述弹性分布式数据集的变换序列并存储下来;所述弹性分布式数据集的变换序列由所述弹性分布式数据集与其他所述弹性分布式数据集之间变换的信息以及重建所述弹性分布式数据集中的数据的信息组成;当需要恢复所述弹性分布式数据集中的数据块时,根据所述弹性分布式数据集记录的动作以及所述父弹性分布式数据集和所述子弹性分布式数据集之间的依赖关系选择不同的恢复方法;所述窄依赖可以直接通过计算所述父弹性分布式数据集的某块数据计算得到所述子弹性分布式数据集对应的某块数据;所述宽依赖需要将所述父弹性分布式数据集中的所有数据块全部重新计算来恢复,并根据其的重新计算时间,设置新的缓存块替换策略转换阈值Threshold-LCC=T,其中T为所述弹性分布式数据集的所有数据块的重计算开销中所述权重最低的弹性分布式数据集RDD中数据块的重计算时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710405770.8A CN107220188B (zh) | 2017-05-31 | 2017-05-31 | 一种自适应缓冲块替换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710405770.8A CN107220188B (zh) | 2017-05-31 | 2017-05-31 | 一种自适应缓冲块替换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107220188A true CN107220188A (zh) | 2017-09-29 |
CN107220188B CN107220188B (zh) | 2020-10-27 |
Family
ID=59948794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710405770.8A Active CN107220188B (zh) | 2017-05-31 | 2017-05-31 | 一种自适应缓冲块替换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107220188B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108089998A (zh) * | 2017-12-13 | 2018-05-29 | 郑州云海信息技术有限公司 | 一种Linux分页替换方法及系统 |
CN109032970A (zh) * | 2018-06-16 | 2018-12-18 | 温州职业技术学院 | 一种基于lru算法的动态缓存方法 |
CN109032969A (zh) * | 2018-06-16 | 2018-12-18 | 温州职业技术学院 | 一种基于k值动态监测的lru-k算法的缓存方法 |
CN109471695A (zh) * | 2018-10-31 | 2019-03-15 | 北京字节跳动网络技术有限公司 | 用于更新数据的方法和装置 |
CN110162272A (zh) * | 2019-05-23 | 2019-08-23 | 北京邮电大学 | 一种内存计算缓存管理方法及装置 |
CN110580203A (zh) * | 2019-08-19 | 2019-12-17 | 武汉长江通信智联技术有限公司 | 一种基于弹性分布式数据集的数据处理方法、装置及系统 |
CN110704336A (zh) * | 2019-09-26 | 2020-01-17 | 北京神州绿盟信息安全科技股份有限公司 | 一种数据缓存方法及装置 |
CN111522506A (zh) * | 2020-04-03 | 2020-08-11 | 杭州迪普信息技术有限公司 | 一种数据读取的方法及装置 |
CN111538681A (zh) * | 2020-03-25 | 2020-08-14 | 武汉理工大学 | Spark平台下基于最大化缓存增益的缓存替换方法 |
CN112597076A (zh) * | 2020-12-22 | 2021-04-02 | 中国科学院软件研究所 | 一种面向Spark的基于数据感知的缓存替换方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101236530A (zh) * | 2008-01-30 | 2008-08-06 | 清华大学 | 高速缓存替换策略的动态选择方法 |
CN103150136A (zh) * | 2013-03-25 | 2013-06-12 | 中国人民解放军国防科学技术大学 | 基于ssd的大容量缓存中的lru策略实现方法 |
WO2013086689A1 (zh) * | 2011-12-13 | 2013-06-20 | 华为技术有限公司 | 替换缓存对象的方法和装置 |
CN103631730A (zh) * | 2013-11-01 | 2014-03-12 | 深圳清华大学研究院 | 内存计算的缓存优化方法 |
CN104881248A (zh) * | 2015-05-11 | 2015-09-02 | 中国人民解放军国防科学技术大学 | 面向ssd的文件系统中自适应直接io加速方法 |
CN104899156A (zh) * | 2015-05-07 | 2015-09-09 | 中国科学院信息工程研究所 | 一种面向大规模社交网络的图数据存储及查询方法 |
US9449096B2 (en) * | 2014-01-07 | 2016-09-20 | International Business Machines Corporation | Identifying influencers for topics in social media |
CN106126341A (zh) * | 2016-06-23 | 2016-11-16 | 成都信息工程大学 | 应用于大数据的多计算框架处理系统及关联规则挖掘方法 |
-
2017
- 2017-05-31 CN CN201710405770.8A patent/CN107220188B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101236530A (zh) * | 2008-01-30 | 2008-08-06 | 清华大学 | 高速缓存替换策略的动态选择方法 |
WO2013086689A1 (zh) * | 2011-12-13 | 2013-06-20 | 华为技术有限公司 | 替换缓存对象的方法和装置 |
CN103150136A (zh) * | 2013-03-25 | 2013-06-12 | 中国人民解放军国防科学技术大学 | 基于ssd的大容量缓存中的lru策略实现方法 |
CN103631730A (zh) * | 2013-11-01 | 2014-03-12 | 深圳清华大学研究院 | 内存计算的缓存优化方法 |
US9449096B2 (en) * | 2014-01-07 | 2016-09-20 | International Business Machines Corporation | Identifying influencers for topics in social media |
CN104899156A (zh) * | 2015-05-07 | 2015-09-09 | 中国科学院信息工程研究所 | 一种面向大规模社交网络的图数据存储及查询方法 |
CN104881248A (zh) * | 2015-05-11 | 2015-09-02 | 中国人民解放军国防科学技术大学 | 面向ssd的文件系统中自适应直接io加速方法 |
CN106126341A (zh) * | 2016-06-23 | 2016-11-16 | 成都信息工程大学 | 应用于大数据的多计算框架处理系统及关联规则挖掘方法 |
Non-Patent Citations (4)
Title |
---|
JIONG XIE 等: "Improving MapReduce performance through data placement in heterogeneous Hadoop clusters", 《2010 IEEE INTERNATIONAL SYMPOSIUM ON PARALLEL & DISTRIBUTED PROCESSING, WORKSHOPS AND PHD FORUM (IPDPSW)》 * |
MINGYUE ZHANG 等: "Intelligent RDD Management for High Performance In-Memory Computing in Spark", 《WWW "17 COMPANION: PROCEEDINGS OF THE 26TH INTERNATIONAL CONFERENCE ON WORLD WIDE WEB COMPANION》 * |
卞琛 等: "并行计算框架Spark的自适应缓存管理策略", 《电子学报》 * |
周恩强 等: "一种面向大规模数据密集计算的缓存方法", 《计算机研究与发展》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108089998A (zh) * | 2017-12-13 | 2018-05-29 | 郑州云海信息技术有限公司 | 一种Linux分页替换方法及系统 |
CN109032970A (zh) * | 2018-06-16 | 2018-12-18 | 温州职业技术学院 | 一种基于lru算法的动态缓存方法 |
CN109032969A (zh) * | 2018-06-16 | 2018-12-18 | 温州职业技术学院 | 一种基于k值动态监测的lru-k算法的缓存方法 |
CN109471695A (zh) * | 2018-10-31 | 2019-03-15 | 北京字节跳动网络技术有限公司 | 用于更新数据的方法和装置 |
CN110162272A (zh) * | 2019-05-23 | 2019-08-23 | 北京邮电大学 | 一种内存计算缓存管理方法及装置 |
CN110580203A (zh) * | 2019-08-19 | 2019-12-17 | 武汉长江通信智联技术有限公司 | 一种基于弹性分布式数据集的数据处理方法、装置及系统 |
CN110704336A (zh) * | 2019-09-26 | 2020-01-17 | 北京神州绿盟信息安全科技股份有限公司 | 一种数据缓存方法及装置 |
CN110704336B (zh) * | 2019-09-26 | 2021-10-15 | 绿盟科技集团股份有限公司 | 一种数据缓存方法及装置 |
CN111538681A (zh) * | 2020-03-25 | 2020-08-14 | 武汉理工大学 | Spark平台下基于最大化缓存增益的缓存替换方法 |
CN111522506A (zh) * | 2020-04-03 | 2020-08-11 | 杭州迪普信息技术有限公司 | 一种数据读取的方法及装置 |
CN111522506B (zh) * | 2020-04-03 | 2022-08-02 | 杭州迪普信息技术有限公司 | 一种数据读取的方法及装置 |
CN112597076A (zh) * | 2020-12-22 | 2021-04-02 | 中国科学院软件研究所 | 一种面向Spark的基于数据感知的缓存替换方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107220188B (zh) | 2020-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107220188A (zh) | 一种自适应缓冲块替换方法 | |
CN103577339B (zh) | 一种数据存储方法及系统 | |
CN109496300B (zh) | 一种存储介质垃圾回收方法、存储介质和程序产品 | |
CN102750317B (zh) | 数据持久化处理方法、装置及数据库系统 | |
CN104503703B (zh) | 缓存的处理方法和装置 | |
CN103995855B (zh) | 存储数据的方法和装置 | |
US20130103920A1 (en) | File storage method and apparatus | |
CN103150136B (zh) | 基于ssd的大容量缓存中的lru策略实现方法 | |
US20160253265A1 (en) | Using access-frequency hierarchy for selection of eviction destination | |
CN104090852A (zh) | 管理混合缓存的方法及设备 | |
CN110795363B (zh) | 一种存储介质的热页预测方法和页面调度方法 | |
CN110532200B (zh) | 一种基于混合内存架构的内存系统 | |
CN103473276B (zh) | 超大型数据存储方法、分布式数据库系统及其检索方法 | |
CN107391398A (zh) | 一种闪存缓存区的管理方法及系统 | |
CN103473298B (zh) | 数据归档方法和装置以及存储系统 | |
KR20080021623A (ko) | 메모리 페이지 관리 | |
CN103019887A (zh) | 数据备份方法及装置 | |
CN105045850B (zh) | 云存储日志文件系统中垃圾数据回收方法 | |
EP3835971A1 (en) | Data processing apparatus, data processing program, and data processing method | |
CN102999444A (zh) | 一种用于替换缓存模块中数据的方法及装置 | |
US20170097897A1 (en) | Information processing device, access controller, information processing method, and computer program | |
CN104050057B (zh) | 一种历史感知的数据去重碎片消除方法与系统 | |
US7058766B2 (en) | Method and system of adaptive replacement cache with temporal filtering | |
CN109189726B (zh) | 一种读写日志的处理方法及装置 | |
Carniel et al. | A generic and efficient framework for flash-aware spatial indexing |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200714 Address after: 510275 Xingang West Road, Guangdong, Guangzhou, No. 135, No. Applicant after: SUN YAT-SEN University Address before: 510006 Guangzhou University, Guangdong, Guangzhou, 132 East Ring Road, Zhongshan University Applicant before: Mo Qian |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |