缓存放置文章调研

对缓存系统中的数据放置问题做简单的调研,展示几篇相关性比较强的论文

数据放置问题一般产生于分布式存储系统中,多节点之间的数据均衡问题

对于文件系统而言,一般的负载均衡策略都基于文件级(还有块级、目录级别、客户端请求级别、混合级别等)

文件级别的负载均衡大概分为两类,基于哈希 的负载均衡和基于启发式策略的负载均衡,后期一般需要结合机器学习

2010

A data placement strategy in scientific cloud workflows

利用数据依赖矩阵表示数据之间的依赖关系,尽量将相互依赖的数据放置在同一个数据节点上,从而使得应用在请求数据时,能够快速获取当前需要的数据以及与其相关的数据。

2015 基于分布式哈希/数据放置

Adaptive Data Placement For Staging-Based Coupled Scientific Workflows

根据特定应用的动态数据访问模式调整数据放置,并应用访问模式驱动和位置感知机制来降低数据访问成本,支持多个工作流组件之间的高效数据共享。

2018 分层存储/数据迁移

Stacker: An Autonomic Data Movement Engine for Extreme-Scale Data Staging-Based In-Situ Workflows

  • Burst Buffers的使用:论文研究了如何有效地使用Burst Buffers(突发缓冲区)。Burst Buffers是一种快速的存储层,通常位于内存层和磁盘存储层之间,用于加速数据访问和传输。
  • 数据分层存储:Burst Buffers被用作内存层次结构中的持久化存储层。这意味着它们在整个存储体系结构中起到持久存储的作用,可以在需要时快速存取数据。
  • 机器学习预取技术 :论文还研究了使用机器学习的预取技术,在不同的存储层之间自动移动数据。预取技术可以预测未来可能需要的数据,并提前将其从较慢的存储层移动到较快的存储层,从而提高数据访问的效率。
  • Stacker原型系统:论文介绍了一个名为Stacker的原型系统,该系统在DataSpaces数据分层服务中实现了上述的解决方案。DataSpaces是一种用于数据分层和管理的服务,Stacker通过在其中实现新的功能来测试和展示论文提出的解决方案。
2018 针对倾斜负载/通用框架/数据放置

Towards Adaptive Parallel Storage Systems

  1. 磁盘I/O瓶颈:磁盘I/O是限制数据密集型应用程序性能和可扩展性的主要瓶颈。为了应对磁盘I/O瓶颈,通常使用并行存储系统,利用独立存储组件的并发操作。
  2. 并行存储系统的挑战:虽然并行存储系统可以解决部分I/O瓶颈问题,但由于配置的静态性,实现一致的高并行I/O性能仍然具有挑战性。现代并行存储系统(尤其是云、企业数据中心和科学集群中的存储系统)通常被多个应用程序共享,这些应用程序会生成动态且共存的数据访问模式。然而,这些系统通常采用"一种布局适用于所有"的数据放置策略,导致I/O并行性次优。
  3. 自适应并行存储框架:本文提出了一个通用框架,用于自适应并行存储系统,旨在持续提供高程度的I/O并行性。该框架受到关联规则挖掘、图着色、装箱问题和网络流技术的指导。评估结果表明,该框架在调整偏斜的并行访问模式方面非常成功,适用于基于硬盘驱动器(HDD)的传统存储阵列和基于固态驱动器(SSD)的全闪存阵列。
  4. 框架的通用性:除了存储阵列外,该框架具有足够的通用性,可以根据不同的并行存储场景进行定制,包括但不限于键值存储、并行/分布式文件系统以及SSD的内部并行性。

总结来说,这段文字描述了一项通过自适应并行存储系统来提高I/O并行性和整体性能的研究,并介绍了一个可以应用于多种存储环境的通用框架。评估结果表明,该框架在应对不同存储设备和访问模式时具有显著的效果。

该方法的特征

  1. 对于倾斜负载(skewed parallel access workload)非常有效
  2. 需要搞清楚该论文提出的框架的方法,理解"受到关联规则挖掘、图着色、装箱问题和网络流技术的指导"的含义
2019 分层存储/机器学习/数据放置

Optimizing Data Placement on Hierarchical Storage Architecture via Machine Learning

利用机器学习挖掘数据放置和系统I/O性能之间的关系,提出了一个数据放置学习器(ASL)。ASL可以感知不同工作流的特征与系统状态,将数据放置到合适的存储层中,最大程度保证系统I/O性能。

2020 分层存储/强化学习/数据放置

An Intelligent Data Placement Strategy for Hierarchical Storage Systems

WorkflowRL通过提取与I/O性能相关的特征,如工作流特性和系统信息,进行学习。

在多层分层存储系统中,它通过与存储环境的交互,使用强化学习算法找到最佳的数据放置策略。

2021 机器学习/持久化内存文件系统/机器学习

A machine learning assisted data placement mechanism for hybrid storage systems

本质上也是通过机器学习的方式动态学习文件的访问模式

设计了一个基于PMFS(Persistent Memory File System)的跟踪器,用于收集文件的访问特征。

基于对数据访问模式的预测结果,本文提出了一种线性数据放置算法。该算法旨在优化混合存储介质上的数据访问性能,使系统能够根据预测的访问模式,将文件放置在最佳位置。

相关推荐
Together_CZ8 小时前
DeepSeek-V4.1-Flash:Pushing the Limits of KV Cache Compression——推动 KV 缓存压缩的极限
缓存·llm·compression·kv cache·deepseek·v4.1-flash·推动 kv 缓存压缩的极限
Pioneer0000118 小时前
我用 Redis + 网关做多模型 API 路由:缓存命中率 95%+ 的工程实践
人工智能·redis·后端·缓存·性能优化·架构
hweiyu001 天前
Redis命令:MSETNX
redis·缓存
wdfk_prog1 天前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros
是Dream呀2 天前
Harness 工程:让 Agent 真正把任务做完
人工智能·分布式·缓存·agent
努力努力再努力wz2 天前
【Redis进阶系列】:从主从复制到 Sentinel,一文建立故障检测、Leader 选举与 Failover 的完整心智模型
数据库·redis·缓存
wdfk_prog3 天前
ROS教程10:从 gtest 到 rostest——Unit Test、Node 集成测试、rosbag 与 rqt 验证闭环
运维·缓存·docker·容器·ros
程序猿乐锅3 天前
【黑马点评 | 第四篇】Redis缓存雪崩
java·数据库·spring boot·redis·缓存
HanhahnaH3 天前
Redis单线程和Tair多线程架构设计对比
分布式·缓存
wdfk_prog4 天前
ROS教程07:从 ros::start() 顺着源码读懂 Master、XML-RPC 与 Topic 注册发现
运维·缓存·docker·容器·ros