论文学习- 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

  1. 在用户态完成对数据的写入操作,绕过了内核,减少了多次数据复制的开销,可以理解为是直接IO操作,但由于写入的设备是NVM,与传统的基于块设备上的直接IO操作相比,减少了延迟。
  2. 在digest操作中,通过合并日志,减少了不必要的数据写入(eg.先创建文件,再删除,此数据可以不用写入共享区域中),对于有大量临时数据产生的IO来说,优化了对存储设备的写入量。
  3. 对SSD和HDD的写入粒度,最大化了吞吐量,优化了GC进程。

论文学习- *Strata: A Cross Media File System相关推荐

  1. 论文学习:Ziggurat: A tiered File System for Non-Volatile Main Memories and Disks

    Background NVMM的出现相比于传统磁盘来说,具有更高的吞吐量和更低的延迟,极大地提高了存储性能,目前针对NVMM设计的文件系统利用持久内存的直接访问(DAX)功能绕过页面缓存层,并为用户应 ...

  2. 论文学习-NOVA:A log-structured File System for Hybrid Volatile/Non-volatile Main

    Background NVM出现,可以与DRAM一同出现在处理器内存总线上,提高带宽以访问持久性数据.DRAM和NVMM的混合存储系统给设计者带来许多机遇和挑战,如果要充分利用NVMM的高性能,并有效 ...

  3. 转:经典论文翻译导读之《Google File System》

    首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 Java小组 工具资源 - 导航条 -首页所有文章资讯Web架构基础技术书籍教程Java小组工具资源 经典论文翻译导读之<Google ...

  4. 经典论文翻译导读之《Google File System》

    [译者预读] GFS这三个字母无需过多修饰,<Google File System>的论文也早有译版.但是这不妨碍我们加点批注.重温经典,并结合上篇Haystack的文章,将GFS.TFS ...

  5. 论文学习笔记 Titanium: A Metadata-Hiding File-Sharing System with Malicious Security

    该论文发表于NDSS 2022 在Titanium中,proxy接收用户的API请求,访问file storage,并返回API响应.这意味着Proxy知道所有的秘密信息,因此proxy的状态和执行对 ...

  6. 《EROFS: A Compression-friendly Readonly File System for Resource-scarce Devices》

    一.原文摘要翻译: "智能手机通常存储和运行时内存有限.压缩只读文件系统可以显著减少只读系统资源使用的存储空间.然而,现有的压缩只读文件系统使用固定大小的输入压缩,这会导致显著的I/O放大和 ...

  7. 【Google论文】The Google File System 译文

    The Google File System Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Google∗ [西周翻译] ABSTRACT 概 ...

  8. The Google File System(GFS)学习笔记

    文章目录 引子 GFS的架构 读数据 写数据 流水线式的网络数据传输 记录追加 总结 引子 这篇文章是我学习极客时间徐文浩老师的<大数据经典论文解读>课程的学习笔记,大量的文字和图片来自专 ...

  9. MapReduce论文中文版--The Google File System

    摘要 MapReduce是一个编程模型,也是一个处理和生成超大数据集的算法模型的相关实现.用户首先创建一个Map函数处理一个基于 key/value pair的数据集合,输出中间的基于key/valu ...

最新文章

  1. bzoj1174 Toponyms
  2. 如何解决pip更新问题
  3. java使用阿里云oss上传文件测试案例+上传策略包装类
  4. 牛客练习赛46 B 华华送奕奕小礼物 (预处理前缀和,二分)
  5. mysql 空位补0_MySQL-13(表的创建、数值类型整型、float/decimal、ZEROFILL、BIT(M))
  6. 猜数字小c语言游戏课程任务书,C语言课程设计猜数字游戏姚成.doc
  7. 程序员究竟还需要读书么?
  8. 拓端tecdat|【视频】Lasso回归、岭回归等正则化回归数学原理及R语言实例
  9. 【Python】导入类
  10. java 发送邮件怎么抄送,Java实现邮件发送(二)
  11. 2020华为软挑热身赛 个人总结
  12. java答题软件_非常实用的java自动答题计时计分器
  13. F.dropout()与nn.dropout()
  14. MySQL错误Got error -1 from storage engine
  15. mysql 主从1146_mysql 主从复制1146错误处理办法
  16. 用计算机判断函数单调性吗,高中数学函数单调性的判断方法(全)
  17. 对人工智能芯片的一些看法
  18. mysql 复制数据库
  19. android java 调试工具_调试应用  |  Android 开发者  |  Android Developers
  20. ES6新特性总结(2)解构赋值、模板字符串、Symbol

热门文章

  1. php实现TXT小说章节解析、小说章节在线阅读
  2. 淘宝无货源店群模式和亚马逊无货源店群模式有什么不同?
  3. 工业工程和计算机哪个专业好,工业工程考研的科目和推荐学校
  4. iOS 添加字体库 —— HERO博客
  5. Beaglebone Black LED驱动
  6. 电脑双网卡配置,同时连接内外网
  7. 在Linux中安装Adoboflashplayer
  8. 九城全资子公司NBTC Limited与链游平台DPK正式签署投资协议
  9. 直播、视频会议、屏幕共享—RTC实时音视频各大平台如何选择
  10. 2021帆软杯一等奖 | 《游乐园综合管理系统》