存储系统容错编码简介课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《存储系统容错编码简介课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 存储系统 容错 编码 简介 课件
- 资源描述:
-
1、存储系统容错编码简介内容mRAID、容错编码mReed-Solomon编码m二进制线性码m阵列码m利用组合数学工具构造容错编码内容mRAID、容错编码mReed-Solomon编码m二进制线性码m阵列码m利用组合数学工具构造容错编码RAIDmRedundant Arrays of Inexpensive DisksRedundant Arrays of Independent Disksq容量q性能q可靠性mChen,P.M.,Lee,E.K.,Gibson,G.A.,Katz,R.H.,and Patterson,D.A.“RAID:high-performance,reliable sec
2、ondary storage.”ACM Computing Surveys 26(2),pp.143-185,June 1994.RAID结构mData Stripingstripe unitstripe04KB-14KB8KB-18KB12KB-112KB16KB-116KB20KB-1RAID结构mRedundancy04KB-1RAID结构m编码:d1 XOR d2 XOR XOR dn=pm解码:di=p XOR d1 XOR XOR di-1 XOR di-1 m解码:pnew=p XOR diold XOR dinewRAID结构mdata unit、parity unitmRAI
3、D5:更新负载均匀分布RAID结构RAID5的读写RAID5的读写RAID5布局mEdward K.Lee,Randy H.Katz,“The Performance of Parity Placements in Disk Arrays”,IEEE Transactions on Computers,vol.42 no.6,pp.651-664,1993.RAID5布局RAID5布局RAID0mHui-I Hsiao and David J.DeWitt,“Chained declustering:A new availability strategy for multiprocessor
4、database machines”,Technical Report CS TR 854,University of Wisconsin,Madison,June 1989.RAID0mGang Wang,Xiaoguang Liu,Sheng Lin,Guangjun Xie,Jing Liu,“Constructing Double-and Triple-erasure-correcting Codes with High Availability Using Mirroring and Parity Approaches”,ICPADS2007.What is an Erasure C
5、ode?mJ.S.Plank,“Erasure Codes for Storage Applications”,Tutorial of the 4th Usenix Conference on File and Storage Technologies,San Francisco,CA,Dec,2005.When are they useful?mAnytime you need to tolerate failures.When are they useful?mAnytime you need to tolerate failures.When are they useful?mAnyti
6、me you need to tolerate failures.When are they useful?mAnytime you need to tolerate failures.When are they useful?mAnytime you need to tolerate failures.When are they useful?mAnytime you need to tolerate failures.When are they useful?mAnytime you need to tolerate failures.Terms&DefinitionsmNumber of
7、 data disks:nmNumber of coding disks:mmRate of a code:R=n/(n+m)mIdentifiable Failure:“Erasure”The problem,once againIssues with Erasure CodingmPerformanceqEncodingTypically O(mn),but not always.qUpdateTypically O(m),but not always.qDecodingTypically O(mn),but not always.Issues with Erasure CodingmSp
8、ace UsageqQuantified by two of four:Data Devices:nCoding Devices:mSum of Devices:(n+m)Rate:R=n/(n+m)qHigher rates are more space efficient,but less fault-tolerant.Issues with Erasure CodingmFlexibilityqCan you arbitrarily add data/coding nodes?q(Can you change the rate)?qHow does this impact failure
9、 coverage?Trivial Example:ReplicationmMDSmExtremely fast encoding/decoding/update.mRate:R=1/(m+1)-Very space inefficientmThere are many replication/based systemsm(P2P especially).Less Trivial Example:Simple ParitymPatterson D A,Gibson G A,Katz R H,“A case for redundant arrays of inexpensive disks(RA
10、ID)”,ACM International Conference on Management of Data,Chicago,ACM Press,1988,pp.109-116.mP.M.Chen,E.K.Lee,G.A.Gibson,R.H.Katz,and D.A.Patterson.RAID:High-performance,reliable secondary storage.ACM Computing Surveys,26(2):145185,June 1994.Evaluating ParitymMDSmRate:R=n/(n+1)-Very space efficientmOp
11、timal encoding/decoding/update:qn-1 XORs to encode&decodeq2 XORs to updatemExtremely popular(RAID Level 5).mDownside:m=1 is limited.UnfortunatelymThose are the last easy things youll see.mFor(n 1,m 1),there is no consensus on the best coding technique.mThey all have tradeoffs.Why is this such a pain
12、?mCoding theory historically has been the purview of coding theorists.mTheir goals have had their roots elsewhere(noisy communication lines,byzantine memory systems,etc).mThey are not systems programmers.m(They dont care)内容mRAID、容错编码mReed-Solomon编码m二进制线性码内容mRAID、容错编码mReed-Solomon编码m二进制线性码m阵列码m利用组合数学
13、工具构造容错编码Reed-Solomon CodesmThe only MDS coding technique for arbitrary n&m.mThis means that m erasures are always tolerated.mHave been around for decades.mExpensive.J.S.Plank.A tutorial on Reed-Solomon coding for fault-tolerance in RAID-like systems.Software Practice&Experience,27(9):9951012,Septemb
14、er 1997.Reed-Solomon CodesmOperate on binary words of data,composed of w bits,where 2w n+m.Reed-Solomon CodesmOperate on binary words of data,composed of w bits,where 2w n+m.Reed-Solomon CodesmThis means we only have to focus on words,rather than whole devices.mWord size is an issue:qIf n+m 256,we c
15、an use bytes as words.qIf n+m 65,536,we can use shorts as words.Reed-Solomon CodesmCodes are based on linear algebra.qFirst,consider the data words as a column vector D:Reed-Solomon CodesmCodes are based on linear algebra.qNext,define an(n+m)*n“Distribution Matrix”B,whose first n rows are the identi
16、ty matrix:Reed-Solomon CodesmCodes are based on linear algebra.qB*D equals an(n+m)*1 column vector composed of D and C(the coding words):Reed-Solomon CodesmThis means that each data and coding word has a corresponding row in the distribution matrix.Reed-Solomon CodesmSuppose m nodes fail.mTo decode,
17、we create B by deleting the rows of B that correspond to the failed nodes.Reed-Solomon CodesmSuppose m nodes fail.mTo decode,we create B by deleting the rows of B that correspond to the failed nodes.mYoull note that B*D equals the survivors.Reed-Solomon CodesmNow,invert B:Reed-Solomon CodesmNow,inve
18、rt B:mAnd multiply both sides of the equation by B-1Reed-Solomon CodesmNow,invert B:mAnd multiply both sides of the equation by B-1mSince B-1*B=I,You have just decoded D!Reed-Solomon CodesmNow,invert B:mAnd multiply both sides of the equation by B-1mSince B-1*B=I,You have just decoded D!Reed-Solomon
19、 CodesmTo Summarize:EncodingqCreate distribution matrix B.qMultiply B by the data to create coding words.mTo Summarize:DecodingqCreate B by deleting rows of B.qInvert B.qMultiply B-1 by the surviving words to reconstruct the data.Reed-Solomon CodesmTwo Final Issues:q1:How to create B?All square subm
20、atrices must be invertible.Derive from a Vandermonde MatrixJ.S.Plank and Y.Ding.Note:Correction to the 1997 tutorial on Reed-Solomon coding.Software Practice&Experience,35(2):189194,2005.q#2:Will modular arithmetic work?NO!(no multiplicative inverses)Instead,you must use Galois Field arithmetic.Reed
21、-Solomon Codesm(n+m)n的范德蒙矩阵m基本变换q任意两列可交换 q任何一列可以乘以一个非0数 q任意两列可做如下变换:Ci=Ci+c*Cj,c非0 Reed-Solomon PerformancemEncoding:O(mn)qMore specifically:mS (n-1)/BXOR+n/BGFMult qS=Size of a deviceqBXOR=Bandwith of XOR(3 GB/s)qBGFMult=Bandwidth of Multiplication over GF(2w)GF(28):800 MB/sGF(216):150 MB/sReed-Sol
22、omon PerformancemUpdate:O(m)qMore specifically:m+1 XORs and m multiplications.Reed-Solomon PerformancemDecoding:O(mn)or O(n3)qLarge devices:dS (n-1)/BXOR+n/BGFMult qWhere d=number of data devices to reconstruct.qYes,theres a matrix to invert,but usually thats in the noise because dSn n3.Reed-Solomon
23、 Bottom LinemSpace Efficient:MDSmFlexible:qWorks for any value of n and m.qEasy to add/subtract coding devices.qPublic-domain implementations.mSlow:qn-way dot product for each coding device.qGF multiplication slows things down.Cauchy Reed-Solomon CodesJ.Blomer,M.Kalfane,M.Karpinski,R.Karp,M.Luby,and
24、 D.Zuckerman.An XOR-based erasure-resilient coding scheme.Technical Report TR-95-048,International Computer Science Institute,August 1995.m#1:Use a Cauchy matrix instead of a Vandermonde matrix:Invert in O(n2).m#2:Use neat projection to convert Galois Field multiplications into XORs.mKind of subtle,
25、so well go over it.Cauchy Reed-Solomon Codesm取GF(2w)中m+n个不同元素,构成X=x1,xm,Y=y1,ym mCauchy矩阵:元素(i,j)为1/(xi+yj)GF(2w)上运算Cauchy Reed-Solomon Codesm例:X=1,2,Y=0,3,4,5,6 Cauchy Reed-Solomon CodesCauchy Reed-Solomon Codesmn、m固定,w增长,GC的优势明显参考文献m参考资料qJ.S.Plank.Enumeration of optimal and good Cauchy matrices fo
展开阅读全文