首页 > 代码库 > SMR磁盘学习3---caveat-scriptor

SMR磁盘学习3---caveat-scriptor

Caveat-scriptor

Write anywhere  shingled disks

论文报告

 

第一部分:总述

全文主要介绍了基于host-managed SMR操作的两种模式:Strict-Append和caveat-scriptor

Strict-Append模式将磁盘分为固定大小,并且严格限制磁盘的写操作必须在band的尾部进行顺序写。只允许per-band-truncate-empty命令恢复空间。是一种从物理上实现日志文件系统的方法。它将调度和执行cleaning算法的权限交给了文件系统。

Caveat-scriptor使用到了几个磁盘参数,DNOR和DID。使用caveat-scriptor机制的SMR磁盘可以实现任意位置的写操作,而不需担心会因为瓦片结构对已经写入的数据造成影响。在文中展示了caveat-scriptor机制对于磁盘磁盘块的重复使用,介绍了其free cleaning的特性,并且还将其与strict-append方式使用后台推迟cleaning的方法比较,显示出这种方法的优势。

在文章中还介绍了基于host-managed caveat-scriptor的单一用户空间文件系统,和在文件系统aging工具上的两种模式的表现比较。全文的重难点在以下几点:首先是基于host-managed caveat-scriptor单一模式介绍;其次是基于host-managed caveat-scriptor的单一用户空间文件系统,最后是在文件系统aging工具上的两种模式的表现比较

全文的逻辑结构如图一所示:

技术分享

图一:caveat-scriptor文章结构

第二部分:重难点详解

1 host-managed caveat-scriptor单一模式

caveat-scriptor是一种不限制写地址的方法。主机根据磁盘参数能够知道磁盘的布局特征来决定安全的数据存放位置。

每一个LBA都有两个明显的参数:No overlap range 和isolation distanceNo overlap range是连续的不重复写的LBA的最小距离;isolation distance是可能存在重叠的LBA中的最大距离:如图2所示。

技术分享

           2 :drive parameters

另外还给出了一个参数DPID,作为最大数目的由一些特定的LBA块分解而来。并且要求对DPID LBA块的写操作最多不超过一次。

在给定的caveat scriptor模式中,所有的都有相同的DNOR和DID值,也就是caveat scriptor选择DNOR足够小,DID足够大以满足所有的磁盘。如图三所示。

技术分享

 

  在上图中,DNOR的大小是8,DID的大小是34.

 

基于host-managed caveat-scriptor的单一用户空间文件系统

A  :  SMRfs

SMRfs是一种单一的用户空间文件系统。在传统磁盘上实现了stric-append和caveat-scriptor模式。SMRfs假设每一个host-managed 瓦片磁盘有两种部分,一部分是非瓦片结构的用于支持随机读写并且用来存储元数据。在这一部分使用的是EXT4文件系统。而瓦片结构磁盘部分则用户大块数据的读写操作。

BSMRFS for caveat-scriptor

   基于caveat-scriptor的文件系统在实现磁盘地址分配的时候遵循这样的安全规章:保护潜在的读数据。任何刚被读过的数据很有可能会被再次读。

下面来分析caveat-scriptor操作实例如图所示

技术分享

 

1中,整个磁盘都是可写的,在2中,大损在LBAi处开始写,在i的前部分是not-writable的,在i的后面一定的LBA是write-once的。在3中,在写的部分继续进行,则WO部分继续向后移动。在4中,删除刚写入的数据,并且释放掉,由于后面的已经写过一次数据了,因此将WO 变成NW部分。在5中,最终,经过上述的几个过程将band分割成R,NW,WO,W部分,达到对数据随时写的目的。

我们再来分析caveat-scriptor上的free-cleaning机制

 技术分享

 

依旧从LBA为i的部分开始。删除LBA i部分,然后得到12所示,联通前部分的NW和后部分的WO部分也一起删除。然后如13所示的那样,将可写的部分连起来作为一个整体可写的部分。

 

 

 

 

 

 

文件系统aging工具上的两种模式的表现比较

在实验中使用aging工具参数化的使用不同大小的用户的文件数据填充磁盘。

 技术分享

 

上图1和2分别对应于测试文件大小的分布以及文件时间的可能性分布情况。重点在于3部分。蓝色表示的是strict-append方式。曲线很快达到95%磁盘的大小,因此快速执行cleaning方法,然后接着很快达到临界值,然后再执行,如此反复。而下面的3种情况,由于caveat scriptor的方法利用率比较高,已知没有达到临界值,相对于strict-append方法,磁盘空间增加的速度比较慢。在caveat scriptor方法内部3种情况比较,因为NW,WO部分都需要占据一定的空间,因此虽然三种情况下磁盘利用率的走势是一样的,但是纵向大小还是有一点的差距的。

 

 

 

 

再比较strict-append和caveat scriptor方法的性能差异

技术分享

 

从上图可以看出,由于caveat scriptor方法相对于strict-append方法有更少的数据移动,因此延时更少,单位时间内的吞吐率更大。

 

 

 

 

第三部分 : 总结与展望

SMR磁盘上caveat scriptor提供了另外一种思路。相对于之前提出的固定大小的band,减少移动次数,使用更适合的文件系统等,这里则是完全不同的另外一种方式,优化了写的方法。

SMR磁盘学习3---caveat-scriptor