功能性修复再生码循环修复的一些性质

在我的开源的编码库中有一些判断功能性修复再生码(Regenerating Codes with Uncoded Repair)循环修复的一些性质,这里mark 一下。

前提:所有性质的判断都是针对通过随机线性码实现再生码的生成矩阵(generator matrix,GM),矩阵GM 有αn 行和c 列,相应的每个存储节点i 对应着矩阵GM 中连续的α 行,所以将每个节点的子矩阵(sub-GM)记作GMi 。每失效并修复一个节点时,相应的sub-GM 失效,并通过从d 个剩余sub-GMs 中获取dβ 个向量,随机线性组合为新的sub-GM。

继续阅读

Analysis and Construction of Functional Regenerating Codes with Uncoded Repair for Distributed Storage Systems

原文

本文作者是NCCloud 作者在INFOCOMM13 上发表的短文。作为NCCloud 的理论基础,证明了n = k+2 = d+1 情况下,FMSR 的存在性,并给出了这类编码的一个确定的编码方式。NCCloud 和本文提到的FMSR 具有三点重要性质:

  1. FMSR 码存储效率和容错效率与MDS 相同
  2. FMSR 达到最小修复带宽
  3. FMSR 使用非编码修复(uncoded repair/repair-by-transfer)

继续阅读

两种最小带宽再生码(MBR)

[1] 和[2] 都是有Rashmi K.V. 提出的精确修复最小带宽再生码。精确修复(exact repair)指的是修复的存储节点数据和节点丢失的数据是完全一致的。RAID 和RS 码都是精确修复,NCCloud 中提出的F-MSR 就不是精确修复。相对于精确修复是功能性修复(functional repair),这种修复只保证了一定的数据冗余性,使得数据可以被恢复出来,并且在下一次丢失一定量数据时可以功能性修复该数据并继续保持数据冗余性。相比精确修复,功能性修复更具不可控性。

早在[1] 中就提出了一种精确修复的再生编码,更重要的是证明了两点:1. 精确修复的最小带宽再生码(exact repair MBR)码率R 大于等于 1/2;2. 精确修复的最小带宽再生码只有一种文中提出的构造方式,所有其他构造的精确修复的最小带宽再生码都是和这种方法同构的。

继续阅读

Screaming Fast Galois Field Arithmetic Using Intel SIMD Instructions(FAST 13′)

PDF     Slide     Video

这是FAST13 中一篇关于通过Intel SSE3 指令集加速伽罗瓦域上计算的短文。纠错码广泛用于存储系统中,可分为XOR(异或)码和Reed-solomon(RS) 码。前者(LDPC, RAID5, X-code)在编码时仅进行异或运算,速度快;后者编码运算基于伽罗瓦域/有限域GF(2w),速度相对较慢(XOR 可看做是GF(2) 上的运算)。该文旨在提出基于处理器128 比特指令集加速编码时的乘法运算。

继续阅读

初探GF-Complete(伽罗瓦运算库)

GF-Complete 是一个开源、综合性的伽罗瓦运算库,相应的文章发表在FAST13 中(见参考文献【1】)。作者是大名鼎鼎的Jim Plank 教授,作为开源纠错码库Jerasure 的开发者,在这个伽罗瓦运算库中创新地采用了SSE 指令集来加速纠错码运算的瓶颈—伽罗瓦运算中的乘法运算,并采用了其他运算方法,综合得到GF-Complete。该库可在Plank 主页中下载得到,下面就GF-Complete 库做简要分析,详细可参考文档【2】。

继续阅读

伽罗瓦域上的乘法

一、前言

伽罗瓦域上的乘法在包括加/解密编码和存储编码中经常使用,常见的AES 和Reed-Solomon 编码就使用了伽罗瓦域GF(28) 中的运算。以2 或者2w 形式的伽罗瓦域来说,加减法都是异或运算,乘法相对较复杂一些,本文就GF(2w) 上有限域的乘法运算和优化进行分析。现代计算机是为二进制普通运算所设计,对伽罗瓦域计算最多仅有指令集上的优化,而且仅限于某些处理器,因此在更高层次上优化伽罗瓦域上的乘法显得尤为重要。

继续阅读