我爱编程程序员

论文学习:Strata: A cross media file

2018-05-28  本文已影响0人  桔子满地

SOSP(操作系统原理大会)自1967年创办以来,两年一届,已经有50个年头了。从1969年的UNIX系统到21世纪初的MapReduce、BigTable、GFS,系统领域一系列最有影响的工作都是发表在SOSP以及与它隔年举行的兄弟会议OSDI上。

overview

如今文件系统存在的一些问题:

Motivation

  1. 存储介质的多样化为混合文件系统提供了可能。
  2. 应用程序对文件系统的依赖和需求(一致性):当系统崩溃时能快速恢复到一致性状态,块设备(SSD/HDD)太慢,如果log/journal存放在NVM上可以加速恢复
  3. 当前文件系统几乎只是针对某一种特定的存储介质:NOVA for NVM、F2FS for SSD、Ext4 for HDD;多种存储介质并存时存在写入放大的问题,因为不同存储介质特性不同;当前文件系统大多只是一个block store interface,没有丰富的语义(针对应用程序)

Strata设计目标

LibFS

LibFS.png
  1. 用户态的库直接拦截系统调用,避免了进入内核态的开销,在应用程序这一层实现file I/O.
  2. 提供快速同步的持久化。 可以绕过page cache,直接写NVM,消除了内存复制的写入延迟。
  3. Log的一致性。Strata将一次持久化粒度定义为一个transaction。
  4. 快速读。LibFS将(SSD/HDD)数据缓存在DRAM中,NVM中数据不用缓存。

KernelFS

KernelFS.png

Kernel FS主要负责在内核中管理可能存在于任何存储介质层的共享数据。为了做到这一点,Kernel FS将LibFS中的log digest进来,并转化为per-file extent tree的形式。

Sharing (leases)

Evaluation

环境

对比

  1. PMFS
  2. NOVA
  3. EXT4-DAX
  1. F2FS
  1. EXT4

Filebench测试

Data Migration

总结

上一篇下一篇

猜你喜欢

热点阅读