基于alluxio内存文件系统的缓存策略

innkp innkp     2022-09-07     252

关键词:

Alluxio是一种基于内存的分布式文件系统,支持不同的缓存替换策略,来替换内存中的文件快。Alluxio中的文件时以文件块形式组织,其中文件通过自己实现的inode数据结构记录文件属性并索引。

下面首先介绍几种不同的缓存策略,这些缓存策略被广泛的应用在web,数据库,文件系统中。

1 基于访问频率的缓存策略

这种缓存策略是根据缓存单位的(在Alluxio中是文件块Block)访问频率来进行缓存调度,最常用的策略是LFU(Least Frequently Used)策略。该策略每次淘汰访问频率最低的缓存单位。但是如果一个文件块很早时被经常访问,但最近一段时间访问频率很低,那总访问频率依然很高,无法被淘汰。LIRS( Low Inter-Reference Set)策略淘汰具有最长访问间隔的单位,当缓存单位被访问时,会更新访问间隔,一般最近被频繁访问的文件块都具有较短的访问间隔。2Q与 LRU-2策略每次淘汰倒数第二次被访问的时间距离现在最久的缓存项。这些基于访问频率的缓存策略都考虑了访问时间对访问频率的影响,但这些策略对时间局部性良好的访问次序,效果不是很好。

2 基于访问时间的缓存策略

下面考虑访问时间对缓存策略考量的影响,这种缓存策略是考虑或主要考虑缓存单元的访问时间,被广泛使用的策略是LRU缓存策略,这种策略淘汰最久没被访问的缓存块。FIFO淘汰按先进先出策略淘汰,MRU则淘汰最近被访问的文件块。这些缓存策略未考虑访问频率的影响,所以效果也不是很好。

3 对访问时间和访问频率共同考虑的访问策略

LRFU( Least Recently Frequently Used)每次淘汰具有最小 CRF( Combined Recency and Frequency)值的缓存项,CRF值同时考虑了访问时间和访问频率,ARC( Adaptive Replacement Cache)使用了两个队列,其中一个队列管理访问顺序,另一个队列管理访问频率,队列大小可以自适应调整。但是,这两种策略在针对循环访问时,效果远差于MRU 与 LIRS。(未完)

 

alluxio增强spark和mapreduce存储能力

Alluxio的前身为Tachyon。Alluxio是一个基于内存的分布式文件系统;Alluxio以内存为中心设计,他处在诸如AmazonS3、ApacheHDFS或OpenStackSwift存储系统和计算框架应用ApacheSpark或HadoopMapReduce中间,它是架构在底层分布式文件系统和上层分布... 查看详情

如何更改操作系统文件缓存刷新策略?(代码片段)

..._ratio文件系统写缓冲区的大小,单位是百分比,表示系统内存的百分比,表示当写缓冲使用到系统内存多少的时候,开始向磁盘写出数据。增大之会使用更多系统内存用于磁盘写缓冲,也可以极大提高系 查看详情

meta(facebook):基于alluxioshadowcache优化presto架构决策

...支持标准的ANSISQL.包含查询、聚合、JOIN以及窗口函数等。Alluxio将其在数据层的创新作为Presto和各种分析应用程序和用例的关键支持技术。它创建了一个虚拟数据层,可以聚合来自任何文件或对象存储的数据,提供跨存储... 查看详情

meta(facebook):基于alluxioshadowcache优化presto架构决策

...支持标准的ANSISQL.包含查询、聚合、JOIN以及窗口函数等。Alluxio将其在数据层的创新作为Presto和各种分析应用程序和用例的关键支持技术。它创建了一个虚拟数据层,可以聚合来自任何文件或对象存储的数据,提供跨存储... 查看详情

uber实战案例:基于alluxio实现presto缓存

01Uber的业务场景如上图所示,在Uber,所有的决策都与数据有关。Presto以及其他各种查询引擎在Uber是被广泛使用的。例如,运营团队在Dashboard等服务中大量使用了Presto,而UberEats和市场团队也依赖于这些查询结果来... 查看详情

深入云原生ai:基于alluxio数据缓存的大规模深度学习训练性能优化(代码片段)

...里云高级技术专家)、顾荣(南京大学副研究员)导读:Alluxio项目诞生于UCBerkeleyAMP实验室,自开源以来经过7年的不断开发迭代,支撑大数据处理场景的数据统一管理和高效缓存功能日趋成熟。然而,随着云原生人工智能(CloudN... 查看详情

深入云原生ai:基于alluxio数据缓存的大规模深度学习训练性能优化(代码片段)

...里云高级技术专家)、顾荣(南京大学副研究员)导读:Alluxio项目诞生于UCBerkeleyAMP实验室,自开源以来经过7年的不断开发迭代,支撑大数据处理场景的数据统一管理和高效缓存功能日趋成熟。然而,随着云原生人工智能(CloudN... 查看详情

云知声atlas超算平台:基于fluid+alluxio的计算加速实践(下)

业务适配Fluid+Alluxio为集群引入了全新的架构,但是在具体场景适配方面我们还是遇到了一些问题,这些问题我们第一时间与社区反馈,社区都第一时间解决了我们的需求,这里主要讲下几个比较重要的特性支... 查看详情

架构设计|缓存管理模式,监控和内存回收策略(代码片段)

本文源码:GitHub·点这里||GitEE·点这里一、缓存设计1、缓存的作用在业务系统中,查询时最容易出现性能问题的模块,查询面对的数据量大,筛选条件复杂,所以在系统架构中引入缓存层,则是非常必要的,用来缓存热点数据,... 查看详情

alluxio架构场景与部分配置参数详解(代码片段)

Alluxio架构、场景与部分配置参数Alluxio:架构及数据流-简书(jianshu.com)Alluxio-基于内存的虚拟分布式存储系统_机器爱上学习的博客-CSDN博客_alluxio1架构1.1概述​Alluxio作为大数据和机器学习生态系统中的一个新的数据访问层࿰... 查看详情

如何用alluxio加速云上深度学习训练?

...容将结合阿里、微软等实际应用案例,分享如何通过Alluxio加速云上深度学习。内容主要围绕两个部分展开:内容概要:Alluxio及其POSIXAPI简介>>Alluxio是一个java开源项目,是云上的关于数据分析以及深度学习训... 查看详情

imageloader在listview中的使用

...2)支持随意的配置ImageLoader,例如线程池,图片下载器,内存缓存策略,硬盘缓存策略,图片显示选项以及其他的一些配置 3)支持图片的内存缓存,文件系统缓存或者SD卡缓存 4)支持图片下载过程的监听 5)根据控件(ImageView)... 查看详情

深入云原生ai:基于alluxio数据缓存的大规模深度学习训练性能优化(代码片段)

...里云高级技术专家)、顾荣(南京大学副研究员)导读:Alluxio项目诞生于UCBerkeleyAMP实验室,自开源以来经过7年的不断开发迭代,支撑大数据处理场景的数据统一管理和高效缓存功能日趋成熟。然而,随着云原生人工智能(CloudN... 查看详情

深入云原生ai:基于alluxio数据缓存的大规模深度学习训练性能优化(代码片段)

...里云高级技术专家)、顾荣(南京大学副研究员)导读:Alluxio项目诞生于UCBerkeleyAMP实验室,自开源以来经过7年的不断开发迭代,支撑大数据处理场景的数据统一管理和高效缓存功能日趋成熟。然而,随着云原生人工智能(CloudN... 查看详情

应用级缓存

基于空间:指缓存设置了存储空间,如果设置为10MB,当达到存储空间上限时,按照一定的策略移除数据。基于容量:指缓存设置了最大大小,当缓存的条目超过最大大小时,按照一定的策略移除旧数据。基于时间TTL(TimeToLive):... 查看详情

shuttle+alluxio加速内存shuffle起飞

00前言Shuttle[1]是OPPO大数据团队开源的高可用高性能的SparkRemoteShuffleService,文章[2]中详细介绍了Shuttle的架构和设计理念。Shuttle在设计之初选用分布式文件系统作为存储Shuffle数据的基座,灵活利用多种分布式存储的优势。... 查看详情

缓存策略

...越高越好缓存的位置浏览器中反向代理服务器中应用进程内存中分布式存储系统中缓存实现的要点缓存Key生成策略,表示缓存数据的范围,业务含义缓存失效策略,如 查看详情

华为拥抱开源alluxio:内存将成重要战略平台

华为公司近日宣布将利用自家FusionStorage产品与Alluxio开源软件实现大数据分析加速;此举相信能够为令人昏昏欲睡的缓慢数据分析流程带来一股新风。华为拥抱开源Alluxio:内存将成重要战略平台Alluxio此前曾名为TachyonNexus,是一家... 查看详情