论文学习- *Strata: A Cross Media File System
论文学习- Strata: A Cross Media File System
Motivation
从应用程序、文件系统、存储设备三个角度来看:
》当前应用程序的需求
- 数据集庞大(容量)
- 执行小的随机的IO(IO特性)
- low latency / high throughput (性能)
》目前多种存储介质的出现
- DRAM:延迟低、吞吐量高、易失性存储器
- NVM:非易失性存储器、可字节寻址、可直接通过load/store进行操作、性能接近于DRAM,但作为存储来用成本高
- SSD:具有写前擦除的特性
- HDD:机械设备,随机访问的性能差,成本低,容量大
因此,多种存储介质的混合式存储成为选择。
》目前文件系统存在多种问题
- 内核作为中介(开销大)
- 数据缓存在DRAM中(一致性问题)
- 目前的文件系统大都针对单一介质进行设计,提供统一的块设备接口,存在写放大问题:eg. NOVA(NVM)、F2FS(SSD)、EXT4(HDD)
Architecture
- 主要思想:重新划分用户态和内核态的职责,并通过digest联系起来。
- 所使用的存储介质包括:NVM、SSD、HDD
- NVM被划分为两个部分:日志区和共享数据区
- SSD和HDD均为共享数据区
- 日志区对每个进程来说是私有的,共享数据区对所有进程可见
LibFS**:进行同步读写IO,保证快速的崩溃一致性**
职责:将每个进行的写,在用户态以操作日志的方式写入NVM,对每个进行来说是私有的
KernelFS**:管理存储在不同存储介质中的数据**
职责:在内核中将日志应用到共享区域中(digest); 在不同存储介质中迁移数据
以个人理解,对上图论文中的Strata设计结构进行了转化,如下:
- 如上图所示,在用户态完成对IO的写操作,写直接写入到NVM中,绕过内核中的page cache,减少了系统调用所带来的开销
- 内核负责将日志中的数据写入到共享区域中,即digest操作,过程中先对日志进行合并再写入,从而减少写入量;根据在DRAM中维护的LRU list进行数据的迁移,使最近访问的数据保存在快速设备中,迁移中的粒度分别使用SSD擦除块的大小或disk shingle block大小
- DRAM中缓存元数据以及SSD和HDD的数据,并为每个inode缓存文件数据、更新数据指针、区段树,并以上述顺序检索数据所在的位置;同时维护LRU列表,供内核进行数据迁移
Advantage
- 在用户态完成对数据的写入操作,绕过了内核,减少了多次数据复制的开销,可以理解为是直接IO操作,但由于写入的设备是NVM,与传统的基于块设备上的直接IO操作相比,减少了延迟。
- 在digest操作中,通过合并日志,减少了不必要的数据写入(eg.先创建文件,再删除,此数据可以不用写入共享区域中),对于有大量临时数据产生的IO来说,优化了对存储设备的写入量。
- 对SSD和HDD的写入粒度,最大化了吞吐量,优化了GC进程。
论文学习- *Strata: A Cross Media File System相关推荐
- 论文学习:Ziggurat: A tiered File System for Non-Volatile Main Memories and Disks
Background NVMM的出现相比于传统磁盘来说,具有更高的吞吐量和更低的延迟,极大地提高了存储性能,目前针对NVMM设计的文件系统利用持久内存的直接访问(DAX)功能绕过页面缓存层,并为用户应 ...
- 论文学习-NOVA:A log-structured File System for Hybrid Volatile/Non-volatile Main
Background NVM出现,可以与DRAM一同出现在处理器内存总线上,提高带宽以访问持久性数据.DRAM和NVMM的混合存储系统给设计者带来许多机遇和挑战,如果要充分利用NVMM的高性能,并有效 ...
- 转:经典论文翻译导读之《Google File System》
首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 Java小组 工具资源 - 导航条 -首页所有文章资讯Web架构基础技术书籍教程Java小组工具资源 经典论文翻译导读之<Google ...
- 经典论文翻译导读之《Google File System》
[译者预读] GFS这三个字母无需过多修饰,<Google File System>的论文也早有译版.但是这不妨碍我们加点批注.重温经典,并结合上篇Haystack的文章,将GFS.TFS ...
- 论文学习笔记 Titanium: A Metadata-Hiding File-Sharing System with Malicious Security
该论文发表于NDSS 2022 在Titanium中,proxy接收用户的API请求,访问file storage,并返回API响应.这意味着Proxy知道所有的秘密信息,因此proxy的状态和执行对 ...
- 《EROFS: A Compression-friendly Readonly File System for Resource-scarce Devices》
一.原文摘要翻译: "智能手机通常存储和运行时内存有限.压缩只读文件系统可以显著减少只读系统资源使用的存储空间.然而,现有的压缩只读文件系统使用固定大小的输入压缩,这会导致显著的I/O放大和 ...
- 【Google论文】The Google File System 译文
The Google File System Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Google∗ [西周翻译] ABSTRACT 概 ...
- The Google File System(GFS)学习笔记
文章目录 引子 GFS的架构 读数据 写数据 流水线式的网络数据传输 记录追加 总结 引子 这篇文章是我学习极客时间徐文浩老师的<大数据经典论文解读>课程的学习笔记,大量的文字和图片来自专 ...
- MapReduce论文中文版--The Google File System
摘要 MapReduce是一个编程模型,也是一个处理和生成超大数据集的算法模型的相关实现.用户首先创建一个Map函数处理一个基于 key/value pair的数据集合,输出中间的基于key/valu ...
最新文章
- bzoj1174 Toponyms
- 如何解决pip更新问题
- java使用阿里云oss上传文件测试案例+上传策略包装类
- 牛客练习赛46 B	华华送奕奕小礼物 (预处理前缀和,二分)
- mysql 空位补0_MySQL-13(表的创建、数值类型整型、float/decimal、ZEROFILL、BIT(M))
- 猜数字小c语言游戏课程任务书,C语言课程设计猜数字游戏姚成.doc
- 程序员究竟还需要读书么?
- 拓端tecdat|【视频】Lasso回归、岭回归等正则化回归数学原理及R语言实例
- 【Python】导入类
- java 发送邮件怎么抄送,Java实现邮件发送(二)
- 2020华为软挑热身赛 个人总结
- java答题软件_非常实用的java自动答题计时计分器
- F.dropout()与nn.dropout()
- MySQL错误Got error -1 from storage engine
- mysql 主从1146_mysql 主从复制1146错误处理办法
- 用计算机判断函数单调性吗,高中数学函数单调性的判断方法(全)
- 对人工智能芯片的一些看法
- mysql 复制数据库
- android java 调试工具_调试应用 | Android 开发者 | Android Developers
- ES6新特性总结(2)解构赋值、模板字符串、Symbol