SMR磁盘学习5---skylight
Shingled Skylight-A Window on Shingled Disk Operation
论文报告
第一部分:总述
Skylight 是一种新奇的可用来逆推SMR磁盘特性的方法。主要包括软件和硬件两个部分。软件方法是使用软件I/O操作的延时来推测drive-managed SMR 磁盘的特性的。主要包括磁盘类型,persistent cache的结构和大小,cleaning算法的类型,块映射的类型以及bands的大小。硬件方法是使用高速的摄像头来跟踪磁头的移动轨迹来确认软件方法分析出的磁盘性能,同事解决仅仅使用延时测量来推测磁盘性能的不确定性。
全文首先介绍了SMR磁盘,包括特性,特点,应用等。重点说明了SMR的结构特点,包括存在persistent cache用于随机写,使用guard regions来分割band,磁盘是以band为最小粒度映射的,persistent cache使用额外的映射等。然后全文重点讲了7个实验。第一个得出模拟测试磁盘的类型是SMR磁盘,persistent cache的类型是传统磁盘;第二个实验得出cache位于外盘;第三个实验说明SMR采用了激进的垃圾回收策略;第四个测试得出模拟磁盘的persistent cache大小是20GB;第五个实验得出band的大小是25M到40M;第六个实验得出SMR磁盘采用的是静态的映射方法;最后一个实验则得出SMR的zone的结构是横向的。
最后文章中介绍了有关SMR磁盘有关的工作。包括SMR磁盘在已有系统中的使用;STL的设计;SMR磁盘文件系统等等。并且总结了skyline方法的优缺点以及改进的方向。
全文的组织架构如图1所示。
图一 : 全文组织架构
第二部分:重难点详解
全文的重难点在实验的结果对比分析来推断SMR磁盘的结构特点,主要包括测试磁盘的类型,persistent cache的类型,是flash还是传统磁盘;cleaning策略,是比较积极的还是懒惰的;persistent cache的大小;band的大小;block mapping的策略,是静态的还是动态的;zone的结构是横向的还是纵向的,下面我们分别对这些来做重点分析。
1 SMR磁盘的结构总览。
磁盘是由一个个固定大小的band组成的,磁盘的外围是persistent cache,是由非瓦片结构的磁盘组成,用来随机读写操作。每个band由多个track组成,band之间由guard regions来分隔开,保证顺序写的时候,不会改变其他band内的数据。
2 测试磁盘的类型和persistent cache的类型
通过和已知的传统磁盘模的SMR结构的对比。如果操作延时是固定的,则磁盘就是SMR,否则是传统的磁盘CMR。图2所示,模拟的磁盘与希捷的磁盘的操作延时是一定的,说明模拟磁盘是满足需求的。同时,在图中显示的在240次,延时会突然增加到325ms,这是因为在经过一段时间的操作之后需要对磁盘进行cleaning操作,所以延时会突然的增大。通过比较在persistent cache上的读写操作,复合传统磁盘而非flash的特征,因此得出persistent cache的类型是普通disk类型。
图二:随机写延时
3 测试磁盘的cache位置和结构
如下图所示,揭示了cache的位置。
文章中采用不同量的数据块输入,然后根据不同量数据处理时候磁头所在的地方确定开始处理的时候,磁头地点。在图中,数据量很少的时候磁头实在OD,即外径的,随着数据量的增加,数据需要写到更多的地方,可以看出磁头会嘴贱向内径扫描,当数据量很大到几乎足以填满磁盘的时候,如上图的蓝色线,说明磁头此时需要寻址到内径。
为了排除存在多个cache的情况,文中将实践结果与模拟磁盘进行了对比,得到了如下图所示的结果。
模拟磁盘一采用cache存放在内径的策略,模拟磁盘3则是采用的是分布式cache,对希捷SMR磁盘的延时测试显示的是,磁盘的布局与模拟磁盘一的相似,但是图像的恰恰是相反的,而已模拟磁盘三则是完全不同的风格。我们得出结论,只有一个persistent,cache而且存放在外径,而且磁头开始读操作是从外径开始的。
4 测试SMR磁盘的cleaning策略
还是通过碎片写的方式来测试磁盘的cleaning策略。结果如下图示。
磁盘的cleaning策略有两种,一种是aggressive的,就是磁盘中只要存在碎片或者不需要的数据块就立马开始清理,所以在写的过程中,磁盘的延时则是固定的,不会存在数据块影响磁盘的操作,使得操作时延发生变化。相反,lazy的策略则会存在延时不均的情况。
5 测试SMR磁盘的persistent cache的大小。
测试磁盘大小主要思想是,在初始的时候,cache的大小是空的,然后测量多少数据可以被写入,在cleaning开始之前。得到的数据量就是persistent cache 的大小。值得注意的是,当extend map满了或者disk cache满了的时候都表示cache满了。具体的测量结果如下图所示。
第一个图是判断cache满的情况。第二个图则是进行测量得到的结果,比较贴近17G,由于cleaning机制会在数据达到某一阈值的时候,一般为95%的时候会强制进行cleaning操作,避免数据溢出或者系统障碍。通过对比分析,估计SMR磁盘persistent cache的大小为20GB。
6 测试SMR磁盘的band的大小。
实验的基本思想,实验基于cleaning操作的是一band为最小粒度的。选择一块区域然后随机写。等一段时间之后,进行cleaning操作。然后再这个局域进行顺序写。大多数的区域写操作延时都是不固定的,只有被清除的地方延时是固定的。通过测量固定部分的大小就可以得出band的大小。实验结果如下图所示。
7 测试SMR磁盘block的映射策略。
由于已经知道模拟盘的映射策略,通过比较模拟磁盘和希捷SMR磁盘cleaning前后的延时区别,得出映射的类型。测试结果如下图所示。
模拟SMR3号磁盘的映射策略是动态的,对比而言得出SMR磁盘的映射方式是静态的。
8 zone的结构特点。
在实验中,采用顺序读的方式来策略SMR磁盘的zone结构。水平结构的zone由上千个处于同一平面的track组成。不管磁头所处的地方,在读操作中,scan盘面一段时间之后,就会下降到其他 的盘面来得出zone的结构特点。测试如下图所示。
图中表明SMR磁盘zone采用的是水平的结构。
第三部分:总结
经过一系列的实验,得出了SMR磁盘的结构特点。SMR磁盘采用了persistent cache结构,disk的cache部分位于外径,SMR磁盘采用激进的cleaning方式。Persistent cache的大小是20GB,band的大小是25-40M,物理快和逻辑快的映射方式是静态映射,zone的结构是水平结构的。
未来的工作包括如何将SMR磁盘应用到已经存在的系统中,适用于SMR的文件系统或者数据组织形式。采取其他的方法去探测SMR磁盘的更精细的组织结构特点。
本来还做了一个详细的ppt的,可惜不能上传,就没办法了。