NCCloud 实现

之前就写了博文就FAST12 的NCCloud 进行了分析,今天写了个NCCloud 的一个修复部分的实现,只对相应的编、解码矩阵进行操作,不涉及具体的文件读、写和传输操作。

NCCloud 的失效节点修复特点有两个:一是不需要节点内部的计算,对一般的云存储具有通用性;二是修复是功能性修复(functional repair),即修复的节点数据和失效的节点数据不必相同。
继续阅读

NCCloud: Applying Network Coding for the Storage Repair in a Cloud-of-Clouds

该文出现在FAST12 会议上,介绍了在多个云存储服务提供商之上,利用随机网络编码(RNC)搭建一个可靠存储系统,实现了功能性最小存储再生码(F-MSR)来减少修复数据的带宽。

优点:提供了一种实现MSR 的简单方法。

问题:在已经非常可靠的云存储之上做编码是否得不偿失,而且文中实现的(4,2) 编码实用性有待讨论。

继续阅读

zfec 源码分析

zfec 是Tahoe(一个基于云的文件系统)中纠删码的一个模块,其中的fec 模块是核心部分,实现了基于范德蒙矩阵的系统纠删码,对外提供以下接口:

  1. fec_t :这是一个结构,通过fec_new() 返回可以得到,不用自己初始化。fec->k 是数据块的数目,fec->n 是所有块总数(数据块+校验块)
  2. fec_new():初始化,生成fec_t 结构,并给定了k,m(需要重建数据块数,总数据块数)
  3. fec_free():释放初始化的空间
  4. fec_encode():编码 (具体参数如下)
  5. fec_decode():解码 (具体参数如下)

继续阅读