分布式存储
地中海蒲公英
这个作者很懒,什么都没留下…
展开
-
ceph的CRUSH数据分布算法介绍
CRUSH是ceph的一个模块,主要解决可控、可扩展、去中心化的数据副本分布问题。1 摘要随着大规模分布式存储系统(PB级的数据和成百上千台存储设备)的出现。这些系统必须平衡的分布数据和负载(提高资源利用率),最大化系统的性能,并要处理系统的扩展和硬件失效。ceph设计了CRUSH(一个可扩展的伪随机数据分布算法),用在分布式对象存储系统上,可以有效映射数据对象到存储设备上(不需要中心转载 2014-05-12 14:49:27 · 584 阅读 · 0 评论 -
Reed Solomon纠删码
纠删码是存储领域常用的数据冗余技术, 相比多副本复制而言, 纠删码能够以更小的数据冗余度获得更高数据可靠性。 Reed Solomon Coding是存储领域常用的一种纠删码,它的基本原理如下: 给定n个数据块d1, d2,..., dn,n和一个正整数m, RS根据n个数据块生成m个校验块, c1, c2,..., cm。 对于任意的n和m, 从n个原始数据块和m 个校验块中任取n块就转载 2014-08-27 16:01:51 · 1185 阅读 · 0 评论 -
初探GF-Complete(伽罗瓦运算库)
GF-Complete 是一个开源、综合性的伽罗瓦运算库,相应的文章发表在FAST13 中(见参考文献【1】)。作者是大名鼎鼎的Jim Plank 教授,作为开源纠错码库Jerasure 的开发者,在这个伽罗瓦运算库中创新地采用了SSE 指令集来加速纠错码运算的瓶颈---伽罗瓦运算中的乘法运算,并采用了其他运算方法,综合得到GF-Complete。该库可在Plank 主页中下载得到,下面就GF-C转载 2014-06-19 14:00:16 · 3987 阅读 · 0 评论 -
基于范德蒙矩阵的Erasure code技术详解
时间2014-05-04 20:57:31 存储之道 原文 http://alanwu.blog.51cto.com/3652632/1406312在传统存储领域,随着磁盘容量的不断增大, RAID 数据重构时间将会是一个非常严重的问题。大家知道,过长的数据重构时间意味着数据可靠性下降。所以,在RAID 设计的过程中,一定要考虑数据重构的时间,并且尽可能的将“无数据保护状态”的时间降到转载 2014-07-16 07:11:22 · 1239 阅读 · 0 评论 -
我所理解的Reed solomon 算法
在数据传输过程中难免会遇到部分数据丢失或者受到干扰而出错,因此利用算法来恢复错误的数据,reed Solomon(简称RS)便是其中的一种常用的算法。RS算法是以牺牲带宽为代价的,编码过程中会产生一定量的冗余数据。这种增加冗余数据来获得有效数据的方法在我们日常生活中其实经常会使用。举个很简单的例子,比如我们把重要资料保存在电脑硬盘里,但是现在电脑病毒非常厉害,为了防止资料丢失,通常都会把重要数转载 2014-06-24 05:10:33 · 7578 阅读 · 1 评论 -
matlab练习程序(radon变换)
radon变换就是图像在不同方向上的投影。下图f(x,y)可以代表图像,R(x')就是图像向右下方的投影。数学上是按投影方向进行线积分,在图像领域就是按照投影方向累加像素就行了。matlab中有radon函数,为了熟悉原理我又写了一个。通过旋转图像映射,效率不怎么样。canny后Lena:45度投影:代码如下:main.mclear all;转载 2014-05-13 05:37:01 · 4700 阅读 · 0 评论 -
我是这样学习Linux下C语言编程的-RPC远程调用编程
在查看libc6-dev软件包提供的工具(用 dpkg -L libc6-dev 命令)的时候,发现此软件包提供了一个有用的工具rpcgen命令。通过rpcgen的man手册看到此工具的作用是把RPC源程序编译成C语言源程序,从而轻松实现远程过程调用。下面的例子程序的作用是客户端程序取中心服务器上时间的,编程过程如下:先编写一个 “ RPC 语言 ” ( RPC Language (转载 2014-05-19 14:33:32 · 852 阅读 · 0 评论 -
ceph的CRUSH算法的源码分析
原文:http://way4ever.com/?p=1231 源文件分析分析的ceph版本是ceph-0.41。1.1 rule与bucket的关系http://ceph.newdream.net/wiki/Custom_data_placement_with_CRUSH1.2 crush目录下的文件builder.cbuilder.hcrush.c转载 2014-05-12 14:51:20 · 1114 阅读 · 0 评论 -
块存储的世界
在OpenStack中,存储是非常重要的一块,但是因为其提供方式的不同,即使是专业的工程师也会感到十分困惑。OpenStack的存储主要分为三大类,一是对象存储服务,Swift解决的问题,二是块设备存储服务,在OpenStack里主要是提供给虚拟机的作为“硬盘”的存储,这里又分为本地块存储和分布式块存储,Cinder项目正在解决相关的问题;第三类,数据库存储服务,Databases as a Se转载 2014-05-12 15:25:12 · 642 阅读 · 0 评论 -
基于柯西矩阵的Erasure Code技术详解
时间2014-05-12 22:16:47 存储之道 原文 http://alanwu.blog.51cto.com/3652632/1410132一、概述Erasure Code 可以应用于分布式存储系统中,替代多份数据拷贝的数据冗余方式,从而可以提高存储空间利用率。此外, Erasure code 还可以应用于传统 RAID系统中,增加数据冗余度,支持多块盘同时发生转载 2014-06-20 16:18:47 · 4835 阅读 · 0 评论