没有合适的资源?快使用搜索试试~ 我知道了~
ACM Transactions on Storage,Vol.号134、第38条。出版日期:2017年12月驱动器管理的SMR性能建模MANSOUR SHAFAEI,MOHAMMAD HOSSEIN HAJKAZEMI,和PETER DESNOYERS,东北大学ABUTALIB AGHAYEV,卡内基梅隆大学准确地建模驱动器管理的叠瓦式磁记录(SMR)磁盘是一项挑战,需要一系列方法,包括现有的磁盘建模技术以及用于推断内部转换层算法的新技术在这项工作中,我们提出了第一个预测模拟模型的一般可用的驱动器管理的SMR磁盘。尽管在该设备中使用了未知的专有算法,但我们从外部测量中得出的模型能够在百分之几的范围内预测平均延迟,并且对于大多数测试工作负载,均方根(RMS)累积延迟误差为25%或更小这些变化虽然不小,但在大多数情况下,小于在看似相同的驱动器中看到的驱动器到驱动器变化的三倍CCS概念:·信息系统→磁盘;附加关键词和短语:叠瓦式磁记录(SMR),建模,性能。ACM参考格式:Mansour Shafaei,Mohammad Hossein Hajkazemi,Peter Desnoyers,and Abutalib Aghayev. 2017.驱动器管理SMR性能建模。ACM Trans. Storage13,4,Article 38(December 2017),22 pages.https://doi.org/10.1145/31392421介绍尽管固态存储技术发展迅速,但当今绝大多数虽然固态硬盘在密度和成本方面正在迅速提高,但旋转磁盘的改进速度也同样快,并且很可能在很长一段时间内成为高容量、低性能的存储介质这些密度的增加不仅是通过增量改进,而且还通过明显的变化来实现的;其中一个变化是叠瓦式磁记录(SMR)的引入SMR与相邻磁道重叠,以增加磁道密度,使其超过顺磁极限[23],而无需对磁头或盘片技术进行重大更改。由于现代读取头比写入头窄,因此读取这些窄轨道是直接的;然而,写入是复杂的,因为写入轨道可能导致数据在“向下写入”或重叠轨道上丢失。其结果是一种具有闪存某些特性的介质:写入必须在不适当的位置执行,如果覆盖不是高度定期的,则必须复制有效数据以释放空间用于新写入。与闪存一样,这种复杂性可以在块设备本身中处理这项工作得到了美国国家科学基金会CNS-1149232资助,并获得了美国科学院院士奖学金。作者Shafaei,M.H. Hajkazemi和P.Desnoyers,计算机科学学院,东北大学,波士顿,MA,02115;电子邮件:{shafaei,hajkazemi}@ece.neu.edu,pjd@ccs.neu.edu; A.Aghayev,计算机科学系,卡内基梅隆大学,匹兹堡,宾夕法尼亚州,15213;电子邮件:agayev@cs.cmu.edu。允许免费制作本作品的全部或部分的数字或硬拷贝,以供个人或课堂使用,前提是制作或分发副本的目的不是为了盈利或商业利益,并且副本的第一页上有本声明和完整的引用。必须尊重ACM以外的其他人所拥有的本作品组件的版权。允许使用学分进行摘要。以其他方式复制、重新发布、在服务器上发布或重新分发到列表中,需要事先获得特定许可和/或付费。从Permissions@acm.org请求权限。© 2017 ACM 1553-3077/2017/12-ART38 $15.00https://doi.org/10.1145/313924238ACM Transactions on Storage,Vol.号134、第38条。出版日期:2017年12月三十八:2M. Shafaei等人或者在块或文件系统级别的主机上。当在设备中处理时,叠瓦式转换层(STL)用于呈现可重写块抽象,非常类似于所使用的转换层在固态驱动器(SSD)中,在所谓的驱动器管理的SMR设备中。SMR约束也可以由主机端软件使用SMR特定的命令扩展到SATA[10]和SCSI [9]来寻址;但是,到目前为止(2017年第1季度在当前一代SMR驱动器中使用转换层会导致行为有时与传统驱动器的行为大不相同,这种情况下无法很好地理解,并且可能无法通过为非SMR设备开发的测试程序来执行随着现有的高容量存储系统开始向SMR设备转换[6],理解和预测这些设备的行为变得越来越重要。虽然先前的工作[1]已经表征了驱动器管理的SMR设备,描述了其在特定微基准和工作负载上的性能,但是迄今为止的工作还没有产生可以用于估计设备在新工作负载上的行为的任何种类的预测模型相反,我们提出- 针对两种不同硬盘(Seagate ST 5000 AS 0011(5 TB,3.5××)和ST 4000 LM 016(4TB,2.5××),均为硬盘管理的SMR设备)的准确高效的仿真模型(可在开源许可证下获得);- 模型与真实设备性能的跟踪重放评估,显示(对于5 TB驱动器)可忽略的吞吐量误差和尾部延迟的适度差异,如Ruemmler和Wilkes的[ 24 ] RMS延迟度量所测量的- 用于表征这些设备以产生模型的方法。1.1模型目标这些模拟模型可用于探索驱动器和存储堆栈行为。例如,在第5节中,我们研究了当一个基本的STL参数(清理带大小)改变时对不同工作负载的影响虽然这种实验可以在更通用的STL仿真上执行,但通过从针对真实驱动器管理的SMR设备验证的模型开始,我们能够更准确地量化更改此参数时开销和性能之间的权衡这些模拟模型的其他用途包括优化现有文件系统,以实现驱动器管理的SMR,或者(如第5节所示)使用实时跟踪机制(如blktrace)进行执行驱动跟踪,以实现研究和操作目的。与传统磁盘的现有模型一样[7],这些模型在某种程度上特定于特定的设备模型,并且它们的行为方面可能会随着新模型的发布或跨供应商而发生显着变化虽然大多数物理上确定的传统驱动器行为随着时间逐渐改变,但驱动器管理算法(很像传统驱动器缓存算法)可能会在型号之间和跨供应商发生重大变化我们断言,这种可变性不会消除我们的模型的价值,因为(a)它们仍然准确地模拟了它们所基于的驱动器的行为,并且(b)它们可以很容易地扩展到使用相关的内部算法来模拟未来驱动器的行为2方法现代非SMR驱动器和SMR驱动器在操作上的根本区别在于,当在SMR驱动器上写入一个扇区时,k−1个扇区上的n个oring扇区会重叠(驱动器管理的SMR性能建模三十八:3ACM Transactions on Storage,Vol.号134、第38条。出版日期:2017年12月−磁道可能遭受数据丢失,其中k是磁道中写入头的有效宽度,包括边缘场。(k是整数,因为磁道要么有数据丢失的风险,要么没有,并且在迄今为止看到的驱动器中是2。因此,对于N个扇区的写入,多达大约(N+2)(k -1)个其它扇区遭受数据丢失,并且必须小心以确保在执行写入之前没有有效数据保留在那些扇区中。可以使用一系列策略来避免由于SMR干扰而导致的数据丢失;然而,到目前为止,商业实现、标准化活动和专利申请都集中在分区SMR模型上:每个驱动器表面被划分为由全磁头宽度“保护磁道”分隔的区域,允许每个区域被顺序写入(和重写),而不会冒其他区域中的数据的其结果是一组写入限制,非常类似于NAND闪存:必须顺序写入单元(区域,擦除单元),之后可以回收(在闪存情况下擦除)并从头重新写入我们检查了2016年第二季度通常可用的驱动器代表具体如下:(1) 磁盘介质分为数据和日志或永久缓存区域,数据区域的大小等于驱动器的逻辑容量。(2) 静态时,所有数据都位于数据区中;此映射可以是固定的或静态的(类似于传统驱动器上的扇区布局),也可以是动态的,逻辑块地址(LBA)的数据区域位置可能会随着时间的推移而变化到目前为止检查的驱动器都使用静态映射。(3) 写入被暂存到持久性缓存,并维护LBA到物理位置的映射,以便在必要时重定向传入的读取(4) 写入在一次一个区域的清理过程中被转储,其中通过合并数据区域和持久性缓存内容来构建具有更新数据的区域价值,然后将合并的数据写回数据区域。在静态映射的情况下,该合并的数据必须首先被写入临时位置,以避免在静态数据带的更新期间发生故障时的数据丢失SMR驱动器的实际性能由转换算法的行为(将外部操作转换为内部读取和写入)以及驱动器本身执行内部操作的行为预测操作流的机制行为是一个长期研究的问题,尽管由于现代设备中驱动器到驱动器的变化而增加了复杂性[18];读者可以参考之前的工作,如Ruemmler和Wilkes [24]以获得更详细的描述。预测SMR驱动器性能的新问题是近似转换层本身的行为,而不精确了解转换算法和参数。我们表明,这种行为可以近似从以下可测量的特性:- 静态数据位置:当数据没有暂存在持久性缓存中时,它被放置在哪里?给定该信息,可以使用标准技术来确定 对转储数据的一系列读取。- 持久缓存写入行为:当前驱动器累积一个或多个写入(取决于队列深度和写入高速缓存设置),并将它们与元数据一起写入持久高速缓存,具有独特且可预测的性能配置文件。- 持久缓存读取行为:暂存数据的读取性能由其布局决定,其布局可以是密集的,传入数据加上顺序流中写入的其他元数据,也可以是稀疏的,记录从预定义的边界开始。三十八:4M. Shafaei等人ACM Transactions on Storage,Vol.号134、第38条。出版日期:2017年12月CDF1(p)−CDF 2(p)0表1. ST5000AS0011的特点参数值尺寸外形尺寸RPM轨道长度映射 类 型 SMR波段尺寸缓存位置5TB3.5××5,9801.8-0.9MB静态20轨道外径- 非清理中断:当前驱动器在写入时显示周期性的延迟峰值,可能是由于元数据操作。这些尖峰出现的频率是多少,它们的延迟是多少?- 清洁调度和性能:何时空闲(即,背景)清洁发生吗?前台清洁?给定一组写操作,从持久缓存中清除它们需要多长时间?- 清洁干扰:为了避免超高等待时间操作,主机读取和写入可以与清除交错--这种交错以什么粒度发生,以及所产生的等待时间是多少?在本文的其余部分,我们将根据测量和表征(第3节),为禁用写缓存的ST 5000 AS0011 3.5×× 5 TB驱动器开发一个模型;表1显示了该驱动器的基本特性摘要然后,我们通过将其应用于4TB 2.5×× ST 4000LM 016(第4节)来验证此方法,回顾之前的工作(第6节),并得出结论。3驱动建模我们开发了一个驱动器管理的SMR硬盘驱动器(HDD)的仿真模型,专注于建模翻译层算法的行为及其对性能的影响我们提出的模型分阶段,结合描述的驱动器特性需要开发每个连续的改进模型。我们只关注5 TB ST 5000 AS 0011;在下面的部分中,我们将通过将其应用于ST 4000 LM 016来验证我们的方法,ST 4000 LM 016是一款具有显著不同特性的4 TB 2.5××为了量化我们的模型与实际驱动行为的差异程度,我们使用了两个指标:平均延迟的相对误差,以及Ruemmler和WilkesR W缺点测量两个延迟累积分布函数(CDF)之间的匹配(或不匹配),并且是两个CDF之间的水平差的RMS平均值;即,给定时滞d上的测量累积微分函数CDF 1(d)和CDF 2(d),,1991.−1−1Σ2这可以直接以毫秒表示,或者表示为归一化到平均实际延迟的比率平均延迟的误差相当于总吞吐量的误差,这是延迟不敏感应用程序的一个重要参数。相比之下,Demerit是RMS平均值,因此对高尾延迟更敏感,提供了对延迟敏感应用的性能更有预测性的度量DP.驱动器管理的SMR性能建模三十八:5ACM Transactions on Storage,Vol.号134、第38条。出版日期:2017年12月表2.所用Microsoft MSR和Industrial Traces的特点微量写比率迹长最大写入LBA备份1 - 0 l149.39%127,680999,703,417,856备份1 - 6d 151.40%83,4537,392,460,800备份1 - 6l 152.00%150,429886,104,653,824备份2 - 0 l139.52%323,06549,571,168,256备份2 - 6d 145.33%596,034999,706,084,864备份2 - 6l 144.75%527,22059,485,192,192数据库1 - 6d 1百分之九十八点四三45,536765,591,552数据库1 - 6l 1百分之九十八点二六61,8917,273,447,424hadoop1-0l157.93%226,234918,266,970,112hadoop1-6d160.19%415,705791,370,399,744hadoop1-6l163.07%464,714999,705,080,320hm_064.49%3,993,31614,967,132,160hm_14.66%609,31127,310,669,824mds_088.11%1,211,03436,415,311,872mds_1百分之七点一二1,637,711509,852,941,824项目35.18%2,244,644236,649,852,416proj_41.48%6,465,639234,744,290,8163.1实验装置在运行Linux内核的系统上,使用fio[5]工作负载生成器在合成工作负载和跟踪回放模式下进行了表征和模型验证实验在AHCI模式下,使用Intel 8 Series/C220 Series板载SATA控制器除非另有说明,否则所有测试均在禁用驱动器写缓存和驱动器前瞻的情况下执行。一些实验使用了来自我们以前的kylight工作[ 1 ]的“风流“驱动,头部运动由高速摄像机以每秒1,000帧的速度观察。在评估我们的模型时使用了两组工作负载跟踪:从MSR Cambridge跟踪[22]中选择的跟踪,用于代表2007年在一系列Windows服务器上采集的涵盖广泛读/写比率的不同类型的工作负载,以及从工业合作伙伴处接收的最近RAID阵列跟踪;这些跟踪的特征如表2所示。合作伙伴跟踪表示RAID 0和RAID 6阵列中的多个设备在不同工作负载条件下(两个备份应用程序、一个数据库和一个Hadoop分布式文件系统(HDFS)群集)收到的流量。物理实验是通过fio [5]的重放来执行的,其中写缓存被禁用,队列深度为1,并且“平坦”-即,连续I/O之间无延迟;建模的驱动器配置相同。还需要做更多的工作来精确地建模异步I/O、预读和写缓存。该模型本身是用大约1,200行Python实现的,模拟了磁盘机制的基本操作以及翻译层的行为。13.2同型号性能差异为了判断我们的模型的准确性,我们首先需要知道SMR驱动器性能的预测情况。由于自适应格式化[18],名义上相同的现代驱动器具有实质性的驱动器到驱动器的变化,这导致扇区布局的微小变化,1该模型目前在https://github.com/sssl/SMR-simulation上的开源许可下可用。三十八:6M. Shafaei等人ACM Transactions on Storage,Vol.号134、第38条。出版日期:2017年12月表3.相同驱动器之间的性能差异(按WITTTrace)微量平均延迟(ms)记过驱动器1驱动器2毫秒比hm_19.979.920.73 7.3%mds_025.5325.350.98 3.9%mds_18.718.771.13 12.9%图1.一、常规与用于备份的驱动器管理SMR磁盘延迟2 - 0 l1,随时间变化,并作为CDF,扩展了尾部延迟CDF的视图(30- 500毫秒)。表4.代表性迹线的非SMR和SMR驱动器的性能微量平均延迟(ms)记过非SMRSMR毫秒比hm_17.339.9235.29 816.9%mds_010.6325.35138.28 522.2%mds_18.258.776.32 1173.2%单元之间的密度;这些差异可以通过SMR转换层进一步放大。这反过来又为模型预测任何磁盘行为的准确度设置了上限,而不是单独校准的磁盘。为了测量这种影响,我们在两个型号和固件版本相同的5TB驱动器上重放了几个跟踪,结果如表3所示。在所有情况下,平均延迟几乎是相同的;然而,延迟曲线的变化(通过扣分来衡量)要高得多,表3中的轨迹的相对误差为3.9%至12.9%。3.3常规驱动参数接下来,我们将5TB 3.5×× ST 5000 AS 0011的性能与机械性能相同的传统驱动器(希捷ST 4000 NC 001)的性能进行比较,这些驱动器具有相似或相同的转速、寻道时间曲线和数据传输速率。在图1和表4中,我们看到了合作伙伴备份2 - 0 l1跟踪中两个驱动器性能的时间序列和CDF虽然这两种CDF在大部分范围内都是相似的,但它们在最高带宽上存在很大差异,传统驱动器与SMR为335 ms;这些离群值在时间序列轨迹中很容易这种高延迟操作的增加反映在基线的缺点中:RMS误差为16.6ms,平均测量(SMR)延迟为18.0ms,缺点为驱动器管理的SMR性能建模三十八:7ACM Transactions on Storage,Vol.号134、第38条。出版日期:2017年12月≈图二、表5. 5TB 3.5××和4TB 2.5 ×× SMR驱动器的常规参数驱动RPM轨道大小OD ID寻道延迟5TB 3.5××5,9001.90MB0.99MB2.5-20ms4TB 2.5××5,4002.24MB1.06MB2.5-18ms百分之九十二点七两种驱动器之间的平均延迟和吞吐量也存在显著差异,在传统驱动器上完成跟踪需要4,838秒,而在SMR硬盘上有5个804我们接下来测量常规驱动参数,即,数据布局、磁道切换时间和偏移以及寻道时间分布。先前的工作[1]表明,5TB驱动器中的非缓存数据以与传统驱动器相同的方式布局,因此可以使用标准技术进行这些测量,注意仅使用读取操作并确保没有清理正在进行中。不同偏移量的磁道大小可以根据磁盘旋转速度(5,900rpm)和传输速率来确定,传输速率是根据大型但子磁道大小(512KiB)的顺序读取操作的最小延迟来计算的轨道切换时间,从相同的测量,用于估计轨道到轨道的歪斜。寻道时间曲线可以从随机读取延迟推断,如图2所示;对于每个寻道距离,最低数据点表示具有最小旋转延迟的该距离的寻道时间推断的特征见表5。3.4持久缓存读/写行为我们的第一个模型考虑缓存的写入和读取行为,基于持久性缓存的推断结构。先前的工作[1]已经表明,持久缓存中的数据存储在特定大小的“包”中,但是特定的报告值会导致预测性能的相当大的误差。为了更精确地确定这种结构,我们将从4TB数据区同步顺序读取32KB与顺序写入持久性缓存后对相同LBA的顺序读取进行比较,如图3所示。数据区读取需要单个旋转时间(10.17ms)加上32KiB传输时间(0.1ms),每个磁道(40次操作)额外延迟0.5ms对持久性高速缓存中的顺序分组的读取的延迟在4.05和4.5ms之间变化,每50次操作的峰值为5.15ms,指示每两次旋转读取五个分组(没有轨道切换的4.05ms和具有轨道切换的4.5ms),每20个轨道具有区域切换(即,该器件的先前测量的SMR区域尺寸三十八:8M. Shafaei等人ACM Transactions on Storage,Vol.号134、第38条。出版日期:2017年12月五、9·图3.第三章。从持久性缓存和数据区的顺序读取:4TB时读取100x32KB0.4-0.5ms的延迟尖峰是由于轨道变化,而较大的尖峰是由于跨越频带边界。图四、持久缓存数据布局。纯色表示数据包;阴影颜色表示元数据。 在右边(d,e),Skylight中提出的分组格式使用1/2轨道用于数据,2轨道用于元数据;改进的模型布局(a,b,c)对于每次写入使用0.4轨道数据,加上<1轨道到单独位置的元数据写入。这种时序与在叠瓦区域中组织的持久性缓存一致,每次写入需要2.4转,但占用的空间相当于0.4个磁道或760KiB。2推断的缓存结构可以在图4中看到。模型1基本驱动器参数(速度、寻道时间、磁道大小)加上写入永久缓存的时间以及基于推断的缓存布局读取缓存数据的时间由于清理没有建模,因此允许持久缓存增长到无限大小。缓存写入定时:写入持久缓存需要2.4次循环(即,二、460ms)用于数据包高达760KiB,此后以0.4转的增量增加由于SATA写入请求的最大值为128 KB,因此仅当多个写入排队时才使用大于2.4磁道的数据包高速缓存读取时序:写入数据包占用0.4磁道的倍数;假设数据在每个数据包的开头读取性能是由占寻找和旋转延迟。我们注意到,相邻磁道上的数据包以0.2磁道间隔开始,允许使用邻近I/O [26]在更高的队列深度下每次旋转读取5个而不是2.5个结果:在表6中,我们看到了合并持久缓存读写行为后三个伙伴跟踪的模型结果。由于该模型尚未包含清理或周期性高延迟操作(如图1所示),因此该模型的准确性相当差,错误预测平均延迟约5%,并给出超过100%的相对缺点2由于永久缓存中磁道大小的变化有限,因此这两种度量之间的差异可以忽略不计。驱动器管理的SMR性能建模三十八:9ACM Transactions on Storage,Vol.号134、第38条。出版日期:2017年12月表6. 模型1:缓存放置、完整跟踪和前22,800次写入(即,不清洗)微量平均延迟(ms)记过模型驱动归一化差分MS相对备份1 - 0 l117.4019.86百分之十二点三七20.761.05备份1 - 6d 118.5219.595.46%21.491.10备份1 - 6l 117.6920.9815.66%21.221.01备份2 - 0 l115.5917.96百分之十三点二二18.231.01备份2 - 6d 117.2519.62百分之十二点一二18.570.95数据库1 - 6d124.4725.805.16%18.240.71数据库1 - 6l 124.4426.758.63%20.190.75hadoop1-0l118.2821.87百分之十六点四20.680.95hadoop1-6d118.6023.05百分之十九点三二23.331.01hm_110.629.92百分之七点零二4.000.40mds_111.228.77百分之二十七点九三9.601.09项目310.219.537.21%9.681.02proj_410.039.604.53%3.840.403.5非清洁中断当写入队列深度为1时,对5 TB驱动器的每第240次写入都会导致对中间位置的寻道,并且延迟几乎恒定为330 ms,如图1所示。虽然确切的目的尚不清楚,但我们相信基于供应商的声明,这些是由于内部元数据操作。像这样的重复工件很容易建模,但很明显会在设备模型和固件版本之间进行任意更改模型2因此,第二个模型改进是引入周期性高延迟写入,周期为240次写入(在4TB设备的情况结果:如表7所示,这使得缺点得到适度改善,约为80%。由于清理直到大约23,000次写入后才开始,我们还比较了第22,800次写入的结果;在没有清理的情况下,对应关系几乎是精确的。3.6清除顺序写入接下来,我们描述和近似清理算法的一些行为。特别是,在顺序写入工作负载下,驱动器被视为定期定期清洁;它何时开始清洁,以及我们如何预测此间隔?我们通过使用不同的写入大小(16 KB和32 KB)和不同的偏移量(OD,0 TB; ID,5TB)向完全清理的驱动器写入30,000个顺序写入来强制清理;延迟结果如图5所示。清理表现为高写入延迟的爆发,32 KB写入超过1秒,16 KB写入超过2秒,这些延迟在22,987次操作后开始,并以固定的时间间隔重复可以看出,在清洗之间写入的数据量在每个磁盘位置处大致恒定,外径处约为73MiB,内径处约为40MiB,对应于每个20个磁道的两个SMR区在每个清理阶段中完成少量(12到14)写入,其中一些写入延迟较高,而另一些写入仅略微延迟,这表明每个清理阶段由多个原子阶段组成,在此期间延迟写三十八:M. Shafaei等人ACM Transactions on Storage,Vol.号134、第38条。出版日期:2017年12月入,并提供一个或多个I/O驱动器管理的SMR性能建模三十八:ACM Transactions on Storage,Vol.号134、第38条。出版日期:2017年12月表7.模型2:模型1加上周期性中断、全跟踪和前22,800次写入微量平均延迟(ms)记过模型驱动归一化差分MS相对备份1 - 0 l118.0619.869.06%15.879.61备份1 - 6d 119.2119.591.94%16.0882.09备份1 - 6l 118.3920.98百分之十二点三五16.578.67备份2 - 0 l116.1217.96百分之十点二四12.9372.04备份2 - 6d 117.8519.62百分之九点零二12.764.75数据库1 - 6d 125.7825.79百分之零点零四2.8411.03数据库1 - 6l 125.7526.743.70%5.1919.41hadoop1-0l119.0621.86百分之十二点八一14.9968.56hadoop1-6d119.423.05百分之十五点八四17.02373.84hm_110.689.927.66%2.2622.83mds_111.328.77百分之二十九点零八7.1781.8项目310.289.537.87%7.6580.35proj_410.059.64.69%2.7528.7备份1 - 0 l1(23 K)26.0225.780.94%2.140.08备份1 - 6d 1(23K)25.5025.380.50%1.920.08备份1 - 6l 1(23 K)25.3525.021.34%2.280.09备份2 - 0 l1(23 K)16.9817.19百分之一点二五2.100.12备份2 - 6d 1(23K)18.6318.72百分之零点四九2.690.14数据库1 - 6d 1(23K)25.7525.97百分之零点八四2.400.09数据库1 - 6l 1(23K)25.6426.182.06%2.370.09hadoop1-0l1(23K)19.0419.522.42%3.140.16hadoop1-6d1(23K)19.2219.943.62%2.570.13hm_1(23K)15.5814.11百分之十点四二2.800.20mds_1(23K)9.2711.32百分之十八点零六3.270.29proj_3(23K)11.0611.060.02%2.350.21proj_4(23K)10.9111.525.26%2.240.19三十八:M. Shafaei等人ACM Transactions on Storage,Vol.号134、第38条。出版日期:2017年12月图五、在内径和外径处连续写入16 KB和32 KB的写入延迟清理由高延迟指示;在清理之间写入的数据量指示清理粒度。驱动器管理的SMR性能建模三十八:ACM Transactions on Storage,Vol.号134、第38条。出版日期:2017年12月图六、对于起始偏移量为4TB和4.5TB且块大小为32KB的顺序写入区域,在清理过程中驱动器每一阶段之间为了更详细地探索这些阶段,我们在驱动器内径附近的两个偏移(4TB和4.5TB)处测量清洁期间的磁头位置,如图6所示。由此我们可以确定清洗算法的以下特征读-修改-写:对于每个清理片段,磁头在数据区上花费大约900 ms,或略高于两个20磁道区的数据传输时间,这表明在合并和写回之前完全读取数据区(即使对于顺序写入也是如此,其中不需要旧的数据区内容)。有限的缓冲区大小:在四种情况中的三种情况下,使用四个读取-修改-写入周期来清理两个区域。在4.0TB的情况下,这些周期的长度大致相等,而在4.5TB时(区域稍小),第二个周期和第四个周期较短。在外径(未示出)附近重复该实验显示每个清洁事件六个循环由此我们可以推断,清理是一次一个区域地执行的,每个区域都是分步清理的,所需的缓冲区空间不超过部分区域清理:由于在此实验中写入开始的偏移量未与数据区域边界对齐,因此写入将在第一个修改区域的中间某处开始。在4.5TB的第一次清理中,我们看到一个简短的第一次清理周期,这似乎表明只在第一个区域的“尾部”执行读取-修改-写入周期,从第一次修改的点重写数据区域直到结束。缓存读取、合并和检查点:对于顺序写入,每个周期中的大部分时间都花在持久缓存上。所花费的总时间与首先读取数据包的两个区域(每循环五个数据包),然后将合并数据的两个区域顺序地写入到持久性高速缓存附近的位置一致Model 3永久缓存大小是有限制的;当它填满时,整个缓存将被清理(停止主机I/O),直到缓存为空。清除时间的计算基于数据区读取(20个磁道/区)、持久性缓存读取(每次旋转5个写入数据包)、合并数据检查点(外径速度)和数据区回写(20个磁道/区)。三十八:M. Shafaei等人ACM Transactions on Storage,Vol.号134、第38条。出版日期:2017年12月表8.模型3:无交错I/O的清洗微量平均延迟(ms)记过模型驱动归一化差分MS相对备份1 - 0 l120.5819.863.67%654.4032.96备份1 - 6d 120.4919.594.61%369.1818.85备份1 - 6l 122.1620.985.62%870.5841.50备份2 - 0 l118.2317.961.50%569.6231.71备份2 - 6d 121.2119.628.08%849.7243.30数据库1 - 6d126.2625.79百分之一点八二101.383.93数据库1 - 6l 126.9426.74百分之零点七五209.797.84hadoop1-0l122.5021.862.91%743.5934.01hadoop1-6d123.9623.053.92%969.7642.07hm_110.709.927.83%18.991.91mds_111.718.7733.43%248.8628.37项目310.759.53百分之十二点八九314.3533.00proj_410.269.606.85%257.8539.18表9.模型4:一次两个区域的清理,无交错I/O微量平均延迟(ms)记过模型驱动归一化差分MS相对备份1 - 0 l119.9319.860.35%55.49279.45备份1 - 6d 120.4219.594.23%43.84223.79备份1 - 6l 120.9020.98百分之零点三六61.89295.01备份2 - 0 l118.0117.960.29%55.44308.66备份2 - 6d 119.9319.621.56%70.79360.75数据库1 - 6d125.8325.790.15%10.2639.79数据库1 - 6l 125.9626.742.92%17.2364.41hadoop1-0l121.4721.86百分之一点八二63.75291.57hadoop1-6d122.4923.052.44%86.56375.51hm_110.929.92百分之十3.900.39mds_111.488.7730.88%13.901.58项目310.499.53百分之十点一四16.561.74proj_410.119.605.35%11.491.23结果:在表8中,我们看到这个模型的平均延迟相当准确,但是延迟分布(通过扣分来衡量)非常不准确。这是由于在清理过程中排除了主机写入,导致少数异常大的延迟(对于大多数模拟的跟踪,模型3的最大延迟超过200 s模型4当持久性缓存中的写入次数达到23,000时开始清理,以两个区域的步骤进行清驱动器管理的SMR性能建模三十八:ACM Transactions on Storage,Vol.号134、第38条。出版日期:2017年12月理,直到它降至23,000以下在每个单独的清理步骤期间不提供主机I/O结果:在表9中,我们看到缺点从荒谬到非常糟糕的改善,因为清洁延迟分布在大量较短的清洁中断中。平均延迟略有改善,为许多跟踪提供了高度准确的估计三十八:M. Shafaei等人ACM Transactions on Storage,Vol.号134、第38条。出版日期:2017年12月图7.第一次会议。为顺序写入的数据推断的清洗算法图8.第八条。头部位置和写入延迟,4TB。进一步的改进需要了解主机操作如何与清洁过程交错图7显示了上面推断的一次两个区域的清理算法中的步骤,而图8显示了以4TB偏移量进行16 KB写入时,随着时间的推移的磁头位置和写入延迟,从而得出以下推断模型:模型5在图7中的每个编号步骤之后,在延迟该步骤的持续时间(假设队列深度=1;队列深度越大,延迟越长。)结果:在尾潜伏期估计中观察到显著改善;如表10所示,缺点从模型4中先前的70%至300%降低至20%至80%的范围3.7清洁干扰对于顺序写入的数据,从图8中的图表可以很容易地看到清理事件的持续时间:两个区域被清理,对应于持久性缓存中最旧的两个数据区域然而,对于随机或稀疏写入,获得的可用空间与清理的区域数量之间的对应关系不再成立。为了准确地对驱动器建模,我们需要在处理非顺序工作负载时确定清理事件的结束我们进行了一系列的随机写/读实验,不同的LBA跨度从操作选择。从从4 TB开始的大小为S的LBA跨度中选择30,000个32 KB数据块的随机序列;然后将这些数据块(a)写入设备,以及(b)在相同的设备中读回驱动器管理的SMR性能建模三十八:ACM Transactions on Storage,Vol.号134、第38条。出版日期:2017年12月微量平均延迟(ms)模型驱动器标准化差异MS记过相对表10. 模型5:一次两个区域清理,交错I/O备份1 - 0 l119.7219.860.70%7.410.37备份1 - 6d 120.2319.593.25%15.670.80备份1 - 6l 120.2720.983.35%14.400.69备份2 - 0 l117.2717.963.86%11.670.65备份2 - 6d 118.8919.623.74%10.720.55数据库1 - 6d 125.8325.790.15%1.740.07数据库1 - 6l 125.8626.74三点二九厘3.220.12hadoop1-0l120.7421.865.16%5.950.27hadoop1-6d121.4023.05百分之七点一五5.950.26hm_110.929.92百分之十2.320.23mds_111.408.77百分之二十九点九6.010.69项目310.209.53百分之七点零二5.950.63proj_410.079.604.91%2.150.22图9.第九条。写后随机读取(即,按高速缓存顺序读取)用于不同程度的变化(即,从LBA范围1GB、10GB、.. . ,1TB)。请注意读取和写入延迟的不同比例 X轴以10,000次操作为单位。(非连续)顺序。保留在永久缓存中的数据将以固定(4 ms)延迟的顺序数据包读取,而已移动到其主数据区的数据将因寻道而引起S= 1GB和10GB的结果见图9(a)和(b)。在23,000次写入后会出现一系列清理(高延迟),快速完成,然后是不受阻碍的写入。读取延迟表示写入的前23,三十八:M. Shafaei等人ACM Transactions on Storage,Vol.号134、第38条。出版日期:2017年12月000个块已移动到其主位置,而其余7,000个块中的大部分仍在永久缓存中在S=100 GB的情况下,清理在操作30,000之后继续,与读取交错;在清理完成之后,
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 十种常见电感线圈电感量计算公式详解
- 军用车辆:CAN总线的集成与优势
- CAN总线在汽车智能换档系统中的作用与实现
- CAN总线数据超载问题及解决策略
- 汽车车身系统CAN总线设计与应用
- SAP企业需求深度剖析:财务会计与供应链的关键流程与改进策略
- CAN总线在发动机电控系统中的通信设计实践
- Spring与iBATIS整合:快速开发与比较分析
- CAN总线驱动的整车管理系统硬件设计详解
- CAN总线通讯智能节点设计与实现
- DSP实现电动汽车CAN总线通讯技术
- CAN协议网关设计:自动位速率检测与互连
- Xcode免证书调试iPad程序开发指南
- 分布式数据库查询优化算法探讨
- Win7安装VC++6.0完全指南:解决兼容性与Office冲突
- MFC实现学生信息管理系统:登录与数据库操作
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功