没有合适的资源?快使用搜索试试~ 我知道了~
软件定义数据中心硬盘驱动器的系统辅助位成本降低设计
ACM Transactions on Storage,Vol.号153、第十八条。出版日期:2019年5月软件定义数据中心硬盘驱动器尹丽,陈旭斌,美国伦斯勒理工学院Ning Zheng,Scaleflux,Inc.美国JINGPENG HAO,TONG ZHANG,Rensselaer Polytechnic Institute,USA本文提出了一种旨在降低数据中心海量数据存储成本的设计框架其基本原理很简单:假设可以显著地降低HDD制造成本(即,至少几个数量级),放松了原始HDD的可靠性,这确保了最终的数据存储,通过低成本的系统级冗余实现年龄完整性。 这被称为系统辅助HDD位成本降低。 18为了更好地利用HDD的容量和随机IOPS,需要将数据与互补的对每个HDD中的容量和随机IOPS的要求。然而,不同的容量和随机IOPS要求可能需要不同的原始HDD可靠性与位成本的权衡,因此需要不同形式的系统辅助位成本降低。本文提出了一种以软件为中心的设计框架,以实现数据自适应系统辅助降低数据中心HDD的位成本。实现完全由文件系统处理,只需要对HDD内部的纠错编码(ECC)模块进行微小的更改因此,它对软件栈中的所有其他组件(例如,应用程序、OS内核和驱动程序)并保持基本的HDD设计实践(例如,固件、介质、磁头和伺服)完好。通过分析和实验验证了该方法的可行性和有效性.我们将设计技术集成到ext4中,以进一步定量测量其对系统速度性能的影响CCS概念:·信息系统→分级存储管理; ·硬件→系统级容错;附加关键词和短语:可靠性,容错,文件系统设计,本地擦除编码ACM参考格式:Yin Li,Xubin Chen,Ning Zheng,Jingpeng Hao,and Tong Zhang. 2019.软件定义数据中心硬盘驱动器的探索性研究。ACM Trans. Storage15,3,Article 18(May 2019),22 pages.https://doi.org/10.1145/33194051介绍本文重点介绍如何降低数据中心磁记录硬盘驱动器(HDD)的位成本虽然闪存已经迅速渗透到数据中心,但HDD的巨大位成本优势和爆炸性的数据存储需求将使HDD继续成为技术这项工作得到了美国国家科学基金会(NSF)的支持,资助号为CNS-1814890。作者地址:Y。Li,X. Chen,J. Hao,and T.张,伦斯勒理工学院,电气系,计算机系统工程,110第8街,特洛伊,纽约,12180;电子邮件:liyin1985@gmail.com,chenx22@rpi.edu,tzhang@ecse.rpi.edu,haoj@rpi.edu; N。Zheng , Scaleflux , Inc. 97 East Brokaw Road Suite 260 , San Jose , CA , 95112; 电 子 邮 件 :ningzhengrpi@gmail.com。允许制作本作品的全部或部分数字或硬拷贝供个人或课堂使用,无需付费,前提是复制品不以营利或商业利益为目的制作或分发,并且复制品在第一页上带有此通知和完整的引用。版权的组成部分,这项工作所拥有的其他人比ACM必须尊重。允许用信用进行提取。复制,或重新发布,张贴在服务器上或重新分发到列表,需要事先特定的许可和/或费用。从permissions@acm.org请求权限。© 2019计算机协会。1553-3077/2019/05-ART18 $15.00https://doi.org/10.1145/3319405ACM Transactions on Storage,Vol.号153、第十八条。出版日期:2019年5月十八:2Y. Li等人至少在可预见的未来,它是数据中心海量数据存储的首选[8]。在过去的几十年里,稳定的HDD钻头成本降低仅仅是由于不断的进步,底层器件技术[11,26],例如,更薄的磁介质、更好更小的写入和读取磁头、更强大的读取通道信号处理和纠错编码(ECC)以及更精确的磁头定位伺服。然而,由于这些设备级技术正在接近其物理极限,HDD行业越来越难以独自保持历史位成本降低趋势。最近,数据中心HDD[8]的概念已被提出作为继续降低数据中心HDD位成本的选项。关键是重新思考HDD和I/O软件堆栈的设计和架构,结合利用数据中心和磁记录技术的特点。数据中心HDD的一个重要方面是利用比特成本与原始HDD存储可靠性权衡。在这项工作中,我们假设HDD制造商可以显著降低HDD位成本(即,几个数量级)放松其可靠性规格(即,读重试率和扇区读失败率)[3]。通过在系统级应用某些数据冗余,数据中心可以在不牺牲最终数据存储完整性的情况下接受每个HDD的数量级可靠性下降。如果系统级冗余不会覆盖每个HDD的成本节省,同时不会导致无法忍受的系统性能影响,那么它可能是一个可行的选择,以补充HDD技术的进步,以推动位成本降低信封。这被称为系统辅助比特成本降低。最近的一项研究[20] 一种称为本地擦除编码的设计技术,用于在文件系统级实现系统辅助的位成本降低。它的基本思想是将长擦除码应用于存储在一个HDD中的数据,它试图用现有的冗余来修复扇区读取失败,而不是立即触发HDD内部的缓慢内部读取重试。本文研究了系统辅助的数据比特成本降低的实际实现中心硬盘。为了更好地利用HDD的容量和随机IOPS两者,期望将数据与对每个HDD中的容量和随机IOPS的互补要求混合。资源(例如,HDD存储空间、CPU等)分配给专用工作负载的资源大多数时候都没有得到充分利用。因此,通过在更少的服务器上整合多个工作负载,有很大的潜力来提高资源利用率(从而降低整体系统成本)。先前的研究[10]表明,可以实现绝对固结比范围-对于某些特定的工作负载,介于5.5:1和17:1之间。即使在将整个HDD专用于特定工作负载(例如,大型Hadoop集群中的HDFS),仍然存在不同的读取请求特征(例如,64KB小请求与1MB的大请求)。因此,这项工作假设实际上需要将具有不同IO模式的工作负载整合到同一HDD上。然而,这将使系统辅助的比特成本降低的实现复杂化,因为不同类型的数据可能需要不同的原始HDD可靠性与比特成本的权衡。本文提出了一个以软件为中心的设计框架来解决这一挑战。为了最大化其实际可行性,该设计框架具有以下特性:(1)在软件栈内,它仅需要文件系统的适度改变并且对所有其他组件(例如,应用程序、OS内核和驱动程序)。(2)在HDD内部,它只需要对ECC模块进行微小的更改,并且对所有其他组件(例如,固件、介质、磁头和伺服)。(3)它对HDD I/O协议是完全透明的(即,它不需要对现有I/O协议进行任何改变)。所提出的设计框架基于一个简单的事实:假设一个段(例如,512B)是全零,并且HDD内的ECC模块可以检测该全零段的位置。然后,HDD内ECC模块可以在ECC解码期间简单地强制该扇区为全零,这可以降低解码失败概率,从而提高该扇区的存储可靠性这被称为每扇区迫零,软件定义数据中心硬盘驱动器的探索性研究十八:3ACM Transactions on Storage,Vol.号153、第十八条。出版日期:2019年5月全零段称为迫零数。该设计框架的基本思想是将逐扇区迫零和局部擦除编码相结合。通过动态配置每个扇区的迫零和本地擦除编码参数,可以实现对不同容量和随机IOPS要求的数据自适应的为了便于实际实现,我们建议将每个HDD上的所有文件分为三个不同的类别:(1)主要通过顺序读取访问的不可变文件(例如,图像和视频),(2)主要(或至少明显地)通过随机读取访问的不可变文件(例如,BigTable和HBase中的32KB或64KB数据块),以及(3)基本上包括所有其他文件的可变文件通过固定每个类别的扇区迫零和局部擦除编码的参数在这种设计框架下,一个主要的设计挑战是如何在对现有软件和硬件基础设施进行最小更改的情况下实际实现每个扇区的零强制。为了应对这一挑战,我们开发了一套设计技术,仅对文件系统和HDD内ECC模块进行适度更改,同时保持整个软件和硬件堆栈中的其他所有内容不变。我们进行了各种分析和实验,定量研究所提出的设计框架对系统速度性能和整体系统级冗余的影响。我们的研究目标是硬盘的存储可靠性规格放宽了三到四个订单与今天的商用HDD相比,为了研究对系统速度性能的影响,我们将所提出的设计技术集成到ext4文件系统中,并使用合成工作负载和代表性应用程序(包括HBase和大数据基准测试套件HiBench 3.0 [2])进行实验。我们的结果表明,所提出的设计技术引起非常小的速度性能下降(即,4%及以下)。我们的分析结果进一步表明,所提出的设计框架引起小的系统级冗余(即,小于 9%和低至2%),这很可能很容易被原始存储可靠性的数量级放松所实现的HDD制造成本降低所抵消。2背景和理由2.1硬盘扇区读取失败HDD基本上受到写/读磁头的运行时位置偏移的影响,即,写/读头的位置没有很好地与目标轨道的中心对准磁头偏移主要是由环境振动引起的,在数据中心尤为严重磁头偏移与HDD扇区读取故障强烈相关(即,HDD内部ECC无法解码一个扇区)。在正常操作期间,一旦发生扇区读取失败,HDD就从正常模式切换到所谓的重试模式。在重试模式下,HDD通过调整各种操作配置/参数(特别是写/读磁头的位置)重复读取故障扇区读重试操作将继续,直到成功解码扇区或达到超时限制在前一种情况下(即,读重试成功),主机接收到正确的数据但遭受(长得多的)更长的读等待时间,这会显著降低HDD随机IOPS和读尾等待时间;而在后一种情况下(即,读重试失败),HDD将报告扇区读失败(即,扇区数据丢失)到主机。在这篇文章中,我们定义软扇区读取失败率的概率,硬盘遇到一个部门读取失败,在正常操作(注意,今天先前的研究[33]表明,十八:4Y. Li等人ACM Transactions on Storage,Vol.号153、第十八条。出版日期:2019年5月−2.2系统辅助的钻头成本降低随着常规磁记录技术接近其在大约1 Tb/in2的极限,HDD行业一直在探索几种新的记录技术,包括热辅助磁记录(HAMR)[32,36]、叠瓦式磁记录(SMR)[21,25]和二维磁记录(TDMR)[17,34,38]。不幸的是,尽管多年来进行了大量的投资,但这些新的记录技术中没有一种这自然为更积极地参与计算系统,以协助HDD位成本降低的持续性打开了大门。基本概念非常简单:任何存储技术从根本上都会受到比特成本与可靠性的权衡,HDD当然也不例外。如果我们显著地放宽HDD扇区故障率(例如,至少三到四个数量级)超过今天这种成本降低可以以不同的方式实现,扩大面存储密度并放宽磁头/介质制造的规格和要求 HDD测试/鉴定。为了不损害数据存储的完整性,每个HDD的可靠性降低必须由系统级冗余来补偿。这被称为系统辅助HDD位成本降低。显然,系统级冗余的额外成本不应压倒HDD的成本降低;并且相关联的系统级操作(例如,纠删码解码)不应对系统性能造成不可容忍的影响参考文献[8]的作者指出,现有的冗余分布在数据中心内甚至跨数据中心(例如,以副本和分布式擦除编码的形式)可以被利用来实现系统辅助的HDD比特成本降低。然而,当使用分布式系统级冗余来恢复每个HDD扇区读取故障时,它会导致额外的网络流量。结果,它可能仅允许相对适度的每HDD可靠性降级(例如,将软扇区读取失败率从10−6放宽到10−4 10−5),以避免大量网络流量开销。为了推动系统辅助HDD位成本降低的极限,参考文献[20]的作者提出了一种称为本地擦除编码的方案,其适用于由大块顺序HDD写/读操作支配的系统。2.3本地擦除编码如第3节稍后所述,局部擦除编码[20]是我们提出的设计解决方案中不可或缺的组成部分。我们选择在软件级别的文件系统内而不是在硬件级别的RAID控制器内实现本地擦除编码,原因如下:首先,RAID正在被数据中心的分布式擦除编码所取代,因此数据中心服务器内可能没有专用的硬件RAID控制器。第二,给定运行时工作负载特性,我们可能需要动态地调整局部纠删编码配置(即,由一个局部擦除编码组保护的扇区的数目,以及一个局部擦除编码组中的冗余扇区的数目)。因此,优选的是在软件级实现本地时代确定编码。最后,最近的一项研究[20]表明,本地擦除编码/解码的软件级实现可以在一个CPU内核上实现超过1GB/s。因此,我们预计软件级实现可能不会导致过高的CPU使用开销。本小节介绍其基本设计理念,供读者参考。给定an(ln,lm)擦除码(例如,RS码),其中每个码字用1m个冗余符号保护1n个用户数据符号,文件系统应用(1n,1m)擦除码以1m个冗余扇区为代价保护每组1n个连续用户数据扇区,其中每个编码组中的所有1n+1m个扇区驻留在同一HDD中。在正常HDD操作期间,当扇区读取失败时,文件系统首先尝试通过擦除码解码来恢复故障扇区,并且仅当软件定义数据中心硬盘驱动器的探索性研究十八:5ACM Transactions on Storage,Vol.号153、第十八条。出版日期:2019年5月.擦除码解码失败,HDD切换到重试模式以恢复失败的扇区。设p表示扇区读取失败率。我们可以将纠删码解码失败率表示为:P(ln,Im,p)=lm+lni=lm+1. ln+lm我pi·(1 − p)(ln+lm−i)。(一)当HDD在正常操作期间无法解码一个扇区时,会发生软扇区读取故障。这种故障将触发HDD从正常操作模式切换到重试模式,以通过调整某些配置和参数(例如,读取头位置)来重复读取故障扇区。在当今10- 6及以下)。即使在长延迟HDD读取重试之后也不能正确读取一个扇区的概率被称为硬扇区故障率,其必须极低(例如,10- 14及以下)。假设我们可以显著降低硬盘的位成本,软扇区读取失败率ps>>10−6,硬扇区读取失败率ph>>10−12。由于每次HDD读取重试涉及很少(甚至很多)额外的盘旋转,因此其导致非常长的读取延迟开销(例如,几十或几百ms)。相比之下,本地擦除码解码具有更少的延迟开销,特别是在顺序读取请求的情况下。使用(ln,lm)纠删码可以将HDD读重试率从ps降低到P(ln,lm,ps),其中P(ln,lm,ps)可以是比ps低的数量级。同时,硬扇区故障率从Ph降低到P(ln,Im,Ph)。然而,本地擦除编码本身存在两个问题:(1)在小读取期间扇区读取失败的情况下,其必须从HDD读取大量额外扇区以用于擦除码解码。(2) 在小更新的情况下,它必须执行读取-修改-编码-写入操作。这两种情况都可能严重降低HDD随机IOPS和读尾延迟,因为这会大大降低可靠性规格。2.4硬盘上的混合数据存储为了最大限度地降低存储系统的TCO(总拥有成本),不仅要充分利用每个HDD的容量,还要充分利用每个HDD的随机IOPS。因此,希望在每个HDD中混合具有对容量和随机IOPS的互补要求的数据。在数据中心,不可变数据占据了基于HDD的存储系统的容量,这并不罕见。根据它们的读访问特性,不可变数据可以被分类为:(1)主要通过顺序读访问的不可变数据(例如,图像和视频):它们对容量的要求最高,但对IOPS的要求最低。如参考文献[8]中所指出的,视频数据量的爆炸式增长是数据中心中HDD容量的主要驱动力。(2)大多数(或至少明显地)通过随机读取来访问的不可变数据(例如,BigTable和HBase中的32 KB或64 KB数据块随着大数据分析在数据中心的广泛部署,它们变得越来越普遍。除了不可变数据之外,HDD还存储大量可变数据,这些可变数据通常比可变数据占用少得多某些可变数据可能对IOPS要求很高。通过将数据与对容量和随机IOPS的互补要求相结合,每HDD容量和每HDD随机IOPS的利用率然而,由于不同的数据可能有利于不同的原始硬盘的可靠性,成本权衡,可能难以实际实现系统辅助HDD位成本降低。例如,由于处理扇区读取故障(特别是对于小读取)引起的延迟开销,具有较高随机IOPS需求的数据不能容忍具有高扇区读取故障率的HDD,而具有较低随机IOPS需求的数据可以更容易地容忍这样的HDD。不幸的是,现有的解决方案(例如,如上所述的局部擦除编码设计技术)仅适合于单个可靠性,位成本权衡点,因此对于同一HDD中的不同数据的混合可能不太有效十八:6Y. Li等人ACM Transactions on Storage,Vol.号153、第十八条。出版日期:2019年5月−–3建议的设计解决方案为了包含每个HDD中不同类型数据的混合,本节提出了一种设计策略,以数据自适应方式实现系统辅助的HDD位成本降低。为了提高其实际可行性和适应性,该设计策略的开发具有以下目标:软件栈中的最小和孤立的更改:它应该约束文件系统中的所有更改(例如,ext4和XFS),并使OS和I/O层次结构软件堆栈中的所有其他组件完全保持不变。HDD内部的最小和孤立的变化:HDD应保持其当前的同质设计实践,即,一个HDD内的所有扇区具有相同的容量(例如,4KB),并由具有相同编码冗余量的相同ECC保护,整个磁盘上的区域/磁道/扇区结构专为最大化区域存储密度而设计我们不应该要求对HDD内部的所有主要组件进行任何更改,包括固件、伺服、介质和磁头以及读取通道。如后所述,我们只需要对HDD内的ECC模块进行微小更改I/O协议中没有变化:它不应该要求对现有I/O协议进行任何更改(例如,SATA和SAS)。特别是,它不应该要求任何新的I/O命令。3.1基本设计理念在目前的实践中,所有4KB扇区都受到HDD内相同固定数量的ECC冗余的保护当读取一个部门,硬盘控制器试图利用内部ECC冗余,dancy重建整个4KB的用户数据。为了便于演示,表1总结了本文中使用的重要符号和定义。所提出的设计解决方案基于以下观察:假设HDD内部使用(n,m)ECC码来保护每个扇区,其中n和m表示用户数据的量(例如,4KB)和编码冗余(例如,400B)。如果一个扇区内的某个段被强制为全零,则令nz(nzn)表示全零段的长度,这被称为每个扇区的迫零数。<结果,当读取扇区时,HDD控制器仅需要重构剩余(n nz)量的真实用户数据(即,4KB 512B= 3.5KB)使用内部ECC冗余,而不是整个扇区中的大小为n的在需要重构的用户数据较少的情况下,相同数量的ECC冗余可以实现更强的纠错强度。因此,ECC解码器可以通过在ECC解码期间在某些位置上强制零来利用该属性来降低解码失败概率。每扇区迫零数nz可以用于配置比特成本和扇区故障率之间的权衡:随着nz增加,每扇区用户数据存储容量(即,n nz)降低,而ECC解码失败率降低,因此存储可靠性提高。迫零空间可用于在HDD内存储额外的ECC冗余,这可以实现更强的纠错强度,从而进一步降低扇区故障率。然而,这要求HDD内部的ECC引擎必须能够支持多种码率,这可能会显著增加硅实现成本和功耗。因此,我们在这项工作中选择了简单的迫零策略为了便于验证,我们构造了一种码率为0.9的低密度奇偶校验码(LDPC)代码[39]。码率被定义为用户数据长度与码字长度之间的比率。对于关于LDPC编码和基本ECC操作的进一步细节,感兴趣的读者参考参考文献[22]。我们还注意到,所提出的每扇区迫零适用于任何线性分组码,例如Red-Solomon码、BCH码和LDPC码。本工作选择LDPC码仅仅是因为现代HDD几乎普遍使用LDPC码作为ECC。我们进行···软件定义数据中心硬盘驱动器的探索性研究十八:7ACM Transactions on Storage,Vol.号153、第十八条。出版日期:2019年5月−表1.数学符号及其定义符号定义(单位)P纠删码解码失败率。p扇区读取失败率。Ln在一个本地擦除编码组中的连续用户数据扇区数Lm号在一个局部擦除编码组中的连续冗余扇区的nz迫零数(Zero-forcingnumber)。D一个迫零组中的主要扇区数。f1HDD上结束长度- n z段内1的百分比CA:CB:CM所有A/B类不可变文件和可变文件的容量比。不服务一个请求的延迟(ms)。f(T)用概率质量函数(PMF)计算了T.L读取请求队列深度。Q每个读取请求中的扇区数。τ重试在机械读重试模式下恢复一个扇区的平均延迟τuHDD在正常模式下读取一个扇区的延迟τ搜索重新调整读磁头位置的平均等待时间图1. 模拟BER与在四个不同的nz值下的解码失败率,其中扇区大小n为4KB。在不同的nz值下的解码模拟,包括0、256B、512B和1KB。图1显示了模拟的原始误比特率(BER)与LDPC码解码失败率的关系,假设比特噪声遵循白高斯分布。为了获得每个数据点,我们运行LDPC解码,直到发生至少20个扇区解码失败。结果清楚地表明, 迫零数nz对解码失败率的影响由于可以使用相同的ECC冗余来保护(4KBnz)用户数据而不是一个码字中的4KB,因此解码失败率降低了几个数量级。十八:8Y. Li等人ACM Transactions on Storage,Vol.号153、第十八条。出版日期:2019年5月××SHH图2. 组合迫零和局部擦除编码的图示,其中不同的参数集合(nz,ln,lm)实现不同形式的系统辅助HDD比特成本降低。我们进一步研究了迫零方法与减小局部擦除编码中的码字长度相比的益处。让我们考虑nz=512B的迫零情况,p=10−3,以及ln=7,lm=1的局部纠删编码情况。根据等式(1),局部擦除解码失败率为2。2 10−5;然而,如果使用迫零,基于图1中的LDPC仿真结果,软扇区读取失败率远低于1 10−8。作为所提出的迫零策略的一种替代方案,我们可以在用户数据部分中使用全零段来存储额外的ECC编码冗余,这可以实现甚至更高的纠错强度。然而,这种方法要求HDD内部的ECC引擎必须能够支持多种码率,这可能会显著增加硅实现成本。上述观察表明,我们可以动态配置每个扇区的比特成本与通过调整每个扇区内的迫零数nz来权衡原始HDD可靠性。同时,为了保持相同的HDD数据存储完整性(例如,扇区损失概率低于10−12),我们可以进一步在每扇区迫零之上应用局部擦除编码,如图2所示。回想一下,ln和lm表示一个局部纠删编码组内的用户数据和冗余扇区的数量。通过调整设计参数(nz,ln,lm)的集合,我们可以在同一HDD上实现不同形式的系统辅助HDD位成本降低,以适应对存储容量和随机IOPS具有不同需求的数据。有人可能会说,HDD制造商可以实现异构HDD,其中同一磁盘上的不同区域表现出不同的位成本与原始可靠性权衡。虽然这在理论上是可能的,但其实际可行性非常值得怀疑,因为它需要对HDD内部的主要组件进行重大更改(例如,固件、介质和伺服器)。因此,这项工作假设,硬盘制造成本将显着降低,允许所有部门,受到相同的软扇区读取失败率ps>>10- 6和硬扇区读取失败率ph>>10−12。给定每扇区迫零数nz,令p(nz)和p(nz)表示对应的Sh软扇区和硬扇区读取失败率。显然,我们有p(0)=ps>>10−6和p(0)=ph>>10−12。Sh给定局部擦除编码参数(ln,lm),并使用第2.3节中的等式(1),我们可以计算HDD读重试率为P(ln,lm,p(nz)),其是本地擦除码不能恢复软扇区读失败的概率。类似地,我们可以将最终扇区数据丢失概率计算为P(ln,lm,p(nz)),其是本地擦除码未能恢复硬扇区读取故障的概率为了确保整体存储完整性,我们应该有P(ln,lm,p(nz))<10-12在这项工作中,我们假设部门的错误率遵循一个独立的二项分布。我们注意到先前的工作[5,31]已经很好地研究了HDD中的潜在扇区错误,并试图将潜在扇区错误模式拟合到某些众所周知的统计分布中(例如,几何、威布尔、瑞利、帕累托和对数正态)。与此形成鲜明对比的是,这项工作提出了在很大程度上放宽硬盘扇区读取失败率积极推动面存储密度。结果导致软件定义数据中心硬盘驱动器的探索性研究十八:9ACM Transactions on Storage,Vol.号153、第十八条。出版日期:2019年5月图3. 说明了所提出的策略,以简化HDD上所有数据的设计参数(nz,ln,lm)的配置。HDD扇区故障主要是由HDD内部的原始BER降级而不是潜在扇区故障引起的。由于HDD内部原始BER的随机性,我们预计扇区故障之间的空间相关性较小。因此,对于我们设想的具有显著放松的原始BER的未来HDD,随机和独立扇区错误将在很大程度上主导潜在扇区错误。设计参数(nz,ln,lm)直接决定了位成本与IOPS之间的权衡:通过增加每个扇区的迫零数nz和减小码字长度ln,可以减少HDD读重试的发生,减少本地擦除编码引起的延迟,这有助于减少对随机IOPS的影响。然而,较大的nz和较小的ln带来更多的冗余,导致更高的有效比特成本。此外,由于本地擦除编码必须执行读取-修改-写入操作来处理数据写入,因此其对写入请求的影响往往比读取请求显著得多。尽管它的设计概念很简单,但这种设计策略的实际实现并不简单。在本节的其余部分中,我们将提出设计解决方案来解决以下两个主要问题:(1)配置在整个HDD上的设计参数(nz,ln,lm),以及(2)修改文件系统和HDD以支持每扇区迫零。3.2设计参数根据上面第2.4节中的讨论,我们建议将每个HDD上的所有文件放入三个不同的类别中,其中每个文件类别与一组固定的设计参数(nz,ln,lm)相关联。文件可以被静态地或动态地分类,例如,将整个HDD划分为不同类别的静态分区。我们还可以动态地对文件进行分类,并使用少量元数据(例如,inode中的2位标志),以在创建文件时指示它们的类别如图3所示,三种不同类别的文件及其相应设计参数的配置如下所述:Type-A不可变文件:它们只包含主要通过顺序读取访问的不可变数据(例如,图像和视频)。这些文件往往占存储容量使用的主导地位,对随机IOPS的要求最低。因此,为了最小化有效比特成本,我们简单地禁用每扇区迫零的使用(即,nz=0)到完全·十八:Y. Li等人ACM Transactions on Storage,Vol.号153、第十八条。出版日期:2019年5月SSHS−利用每个扇区中的4KB存储容量。因此,我们完全依赖于本地擦除编码来补偿原始HDD存储可靠性。我们构造具有足够大的ln值的(ln,Im)局部擦除码(例如,大于1000),因此它可以恢复每个HDD的存储完整性(例如,数据丢失概率低于10- 12)且具有足够小的编码冗余Lm/Ln(例如,3%及以下)。B型不可变文件:它们只包含最常访问的不可变数据(或最不明显地)通过随机读取(例如,每次读取32KB或64KB这些文件往往会占用大量的存储容量,同时对随机IOPS有很高的要求。为了在比特成本和随机IOPS之间取得平衡,我们结合了每扇区迫零和本地擦除编码。由于本地擦除码解码开销取决于码字长度,因此我们应该使用适度的码字长度。我们建议设置ln(远)小于HDD中每个磁道的扇区数,因此本地擦除码解码只会导致最多一次额外的磁盘旋转。在今天的HDD中,每个磁道的扇区数平均为200-300。因此,我们设置迫零数nz的值以实现足够低的软扇区读取失败率p(nz)(例如,低于10- 4),并构造(ln,lm)本地擦除码以确保HDD重试率P(ln,lm,p(nz))10- 6和硬擦除率P(l n,l m,p(nz))10 -6。<扇区故障率P(ln,lm,p(nz))<10−12。可变文件:为了简化实际实现,我们将所有其他文件视为对随机IOPS要求最高的可变文件。我们不对这些文件使用本地擦除编码,只依赖于每个扇区的迫零来恢复其存储可靠性。ity,即,迫零数nz应该足够大,以确保p(nz))10−6,
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功