您的位置:首页 > 其它

Generalizing RDP Codes Using the Combinatorial Method

2016-05-06 17:32 393 查看

摘要

本文提出了PDHLatin,它是一种基于列汉密尔顿拉丁方(CHIS-column hamiltonian Latin squares)构造的校验块独立的2容错水平码。通过证明它是MDS码。 本文也提出了一种新的基于CHIS的校验块独立的2容错混合编码-PIMLatin。 这两种编码具有良好的扩展性以及结构多样性。 同时本文也讨论编码缩减技术,以及它所带来的参数扩展性,结构可变性和可靠性的提升。 基于垂直缩减的思想,本文利用非汉密尔顿拉丁方的方式提出了一种2容错阵列码的构建方式。

简介

磁盘容量的增大,以及存储系统规模的增大导致多故障频发。 因此,多容错纠删码变得流行起来,但是当前的多容错纠删码具有一些内在的局限性。Plank在Fast05上tutorial对存储系统的纠删码给出了一个详细的介绍。纠删码是一种编码容错机制。 它将n个数据磁盘编码成m个校验磁盘,并且可以容错任意的t个磁盘的故障,但是并没有一种针对n, m,t>1情况下的一致公认的最优编码技术。

广为人知的多容错编码技术主要分为三种类别: Reed-Solomon码, 二进制线性码和阵列码。

1. RS码是仅有的一种适用于任意n, m(=t)MDS码。 这意味着最优的存储效率以及更新效率。 但是由于它使用Galois Field进行编解码运算(虽然一些优化的方法提出来),计算复杂性是一个很严重的问题。

2. 二进制线性码是基于XOR的编码,具有较优的计算复杂性,但是存储效率比较低。 图1展示了一种2维线性码,其中数据单元Dij同时参与了两个校验块Pi和Qi的计算。 这个例子说明了线性码的核心观点: 将数据单元分配到多个校验组中,也就是说一个数据单元参与到多个组,保证了多容错特性。

3. 阵列码将数据或者校验单元组织到一个array中。 EVENODD是第一种MDS阵列码,其他随后的一些阵列码像X-COde, RDP, STAR-code等都与它有思想上相似的地方。

图论知识

又找了一篇相关的论文:Combinatorial Constructions of Multi-Erasure-Correcting Codes with

Independent Parity Symbols for Storage Systems 依然卡在了P1F以及拉丁方上,因此着眼于这些知识的理论搭建。

P1F相关

所谓一个图G的因子Gi,是指至少包含G的一条边的生成子图。

所谓一个图G的因子分解,是指把图G分解为若干个边不重的因子之并。

所谓一个图G的n因子,是指图G的n度正则因子。

生成子图: 与图G的顶点相同,边是子集。

正则图: 图的所有顶点的度都相同,例如孤立的一群点是0-度正则图

n度正则因子: 首先得满足因子Gi,然后满足正则的概念。



例如这个五边形内部的红色五角形就是图的一个2因子。

匹配: 图的一个匹配是图的一些边的集合,这些边没有公共的顶点。

最大匹配: 首先是图的一个匹配,然后边的数目最多

完美匹配: 是图的一个匹配,且能囊括所有的顶点。

例如,下图就是一个完美匹配



图的一因子分解:图可以分解为若干个边不重复的完美匹配的导出子图。

例如具有2n个顶点的完全图K2n可进行一因子分解,K4可分解为3个1因子。



完美1因子分解: 如果一个图可以进行一因子分解,且对于任意的两个因子Fi和Fj,有FiUFj产生了汉密尔顿回路,那么这种1因子分解就是完美1因子分解,简写为P1F。

汉密尔顿回路: n个顶点,n条边组成了一个环路,这样的环路只要删除其中任意一条边就不会再有回路,这种环路叫做汉密尔顿回路。 通过图G的每个结点一次,且仅一次的通路(回路)。

具有偶数个节点的完全图都有P1F。

拉丁方相关

对于k≤n,一个k∗n的拉丁矩阵是1个k∗n的矩阵,而且矩阵的每一行和每一列都没有重复的元素。 通常我们使用Zn=0,1,⋯,n−1作为元素集合,用L(k,n)叫做k∗n的拉丁矩阵,L(k,n)中的第r行,第c列的元素是Rrc。 我们称L(n,n)叫做拉丁方阵,且可以使用具有n2个条目的3元组(row,column,symbol)来表示它。

拉丁矩阵R的每一行都是上述Zn的一个排列。如果拉丁方L的两行组成一个单一的环,那么L叫做行汉密尔顿拉丁方,本文关注列汉密尔顿拉丁方(CHIS),也就是两列组成一个环,如下图的C5。



CHIS和P1F的相互转换

CHIS和P1F具有紧密的联系。n阶CHIS可以转换为一个P1F(V, W, E),过程如下:使顶点V={vi|0≤i≤n−1},使顶点W={wi|0≤i≤n−1},对于所有的(i,j,k)∈L, 使边(vi,wk)∈Fj, 同样这个过程也可以反向进行。

如下图的例子,P1F和CHIS一一对应:





转换过程

首先由K5,5生成一个完美1因子匹配(即每一个子图的顶点的度都是1),每一对因子Fi, Fj都可以形成汉密尔顿环路。 下面的是一个5阶列汉密尔顿拉丁方。 这两个图可以相互转换(C5和K5,5)。

将P1F中的Fj对应于C5的第j列;将C5第j列的元素的行号i作为Fj中V顶点的下标, 即vi; 将C5第j列的元素的值k作为Fj中W顶点的下标, 即wk。 举例说明: j=1,对应于K5,5的F1和C5的第1列,即1,2,3,4,0; 在C5中,当i=0时,k=1(第0行,第1列的元素值为1),因此在F1中v0与w1相连, 同样当i=1时,k=2(第1行,第1列的元素值为2),因此F1中v1与w2相连。

对于C5中的第1,3列形成环路,其实就是说对于K5,5中的P1F, F1和F3形成了环路,这两个是等价的。

如果Kn+1具有P1F,Kn,n也具有,由于已知偶数节点的完全图具有完美1因子,因此当n为奇数(n=2也可以)时,Kn,n 具有P1F。

新的编码

PDHLatin codes

未完待续

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: