2013年9月10日

试用Sublime Text2

摘要: 用久了Vim敲代码,难免有些审美疲劳,所以决定试用一下黄博推荐的Sublime Text2。ST2是一个共享软件,标价$59,不过作者很厚道地允许免费使用,只是很罕见地会出现需要购买的提示。ST2支持Windows、Linux、OS X多种平台。1. Vim模式ST2支持Vim模式,打开preferences->setting-User。输入{ "ignored_packages": []}保存文件后,就可以使用常用的Vim命令了。2. 包管理ST2提供了比较丰富的包,用于功能扩展,类似于Vim的插件。比Vim方便地是,ST2提供了一个包管理模块Package Con 阅读全文

posted @ 2013-09-10 16:23 OpenNaive 阅读(943) 评论(0) 推荐(0) 编辑

在SAE搭建wordpress

摘要: SAE更新以后似乎没有免费的wordpress4sae了,而且有诸多限制,所以我尝试手动将wordpress当做普通应用建在SAE上。可以自由安装模板、主题,可以导入日志数据。1.准备工作本地安装svn,下载wordpress的源码;在SAE上创建新应用,开发语言为php;初始化应用的代码库;初始化应用的mysql,并且创建一个新的storage domain,比如就叫wordpress。账号最好要通过实名认证,否则应用租金很贵,通过实名认证后,得到2000云豆,按每天5个计算,可用400天。2.上传代码首先从服务器上将初始化的代码checkout下来,仓库地址为https://svn.sin 阅读全文

posted @ 2013-09-10 16:23 OpenNaive 阅读(524) 评论(0) 推荐(0) 编辑

使用capping和assembly提高去重系统的读性能

摘要: 原文:Improving Restore Speed for Backup Systems that Use Inline Chunk-Based Deduplication, FAST‘13。2013年的FAST会议开完了,HP实验室的研究员发表了一篇关于数据去重系统读性能的论文,与sparse index是同一作者。这篇文章主要有三个贡献,如下:提出衡量碎片程度和读性能的量化指标,mean containers read per MB and speed factor。Nam等人曾提出CFL来衡量碎片程度,但是CFL忽略了数据集内部引用情况。mean containers read MB的 阅读全文

posted @ 2013-09-10 16:23 OpenNaive 阅读(547) 评论(0) 推荐(0) 编辑

去重系统的recipe压缩

摘要: 原文:File Recipe Compression in Data Deduplication Systems, FAST’13.在去重系统中,需要为数据流保存一个指纹序列(recipe)用于重新构造数据流,一般来存储recipe并不是问题。但是当全备份很频繁,数据有效期很长,去重率又很高时,recipe在系统中的比重就上来。这篇文章就是解决这个问题。文章使用了四种压缩技术,零块压缩、分页索引页内压缩和两种统计方法。1.零块压缩这是魏建生博士提出的方法,数据流中通常存在一些全是0的块,存储这些块和它们的指纹都是一种浪费,因此可以为它们分配更短的编码。此方法的压缩率依赖于数据集的特性。2.分页 阅读全文

posted @ 2013-09-10 16:23 OpenNaive 阅读(420) 评论(0) 推荐(0) 编辑

HYDRAstor:可扩展的二级存储

摘要: 原文:HYDRAstor: a Scalable Secondary Storage.HYDRAstor(官网)是NEC推出的二级存储系统,先后有多篇关于HYDRAstor的论文发表在FAST(包括后来9livesdata发表的论文)。HYDRAstor是一个完整的存储解决方案,因此涉及的方面很多,包括文件系统、DHT、dedup、erasure code等。这类论文往往是多种技术的汇聚点,可以帮助扩展自己的领域。看这篇文章只能了解有这样的东西,太多技术细节没有说明。HYDRAstor的目标是商用产品,支持可扩展容量和性能,垃圾回收,负载均衡,高可靠性、可用性等特性。本文关注的是其后端(bac 阅读全文

posted @ 2013-09-10 16:23 OpenNaive 阅读(362) 评论(0) 推荐(0) 编辑

无窗生活

摘要: 工欲善其事,必先利其器!要在Linux环境下工作,就得找到与windows环境同等分量的工具才行。先前已有一些统计,Linux下几个比较好用的软件。0.ubuntu[官网]我是ubuntu的忠实粉丝。ubuntu 12.04 64bit配上4GB内存跑起来非常流畅,unity桌面能充分利用笔记本不大的屏幕空间。自带的ibus感觉是Linux环境最好的中文输入法了。基本能胜任所有的工作,可能office方面的软件不如MS Office方便是一大短板吧。另外,机子休眠后,有时桌面会失去响应,这时我只能切换到tty1,kill掉Xorg进程,这会重启桌面。1.GoldenDict[官网]以前都是用s 阅读全文

posted @ 2013-09-10 16:23 OpenNaive 阅读(229) 评论(0) 推荐(0) 编辑

Linux文件系统的进化

摘要: 原文:A study of Linux file system evolution, in FAST'13.这是会议的最佳论文,分析了8年时间内六个主流Linux文件系统(Ext3,Ext4,XFS, Btrfs, ReiserFS, JFS)的5079个补丁,详细解答了什么补丁最多,什么bug最多等问题。这里将几个有意思的结论列出来。1. 维护型补丁最多维护型补丁包括改善代码的可读性,简化代码结构等等,此类补丁占了60%之多,足见良好的可维护性对于一个复杂的开源项目是十分重要的。2. bug修复型补丁第二多,并且伴随着软件的整个生命周期有40%的补丁是bug修复型补丁。对于像Btrf 阅读全文

posted @ 2013-09-10 16:23 OpenNaive 阅读(407) 评论(0) 推荐(0) 编辑

Sparse Index实验

摘要: sparse index是一篇老论文,出现在FAST’09。当时,数据去重的主流研究方向是索引设计,一个好的索引必须有高吞吐率,低内存,高重删率等特点。我希望destor能支持所有的主流索引,因此近期实现了sparse index,并对索引模块的接口做了比较大的改动。sparse index首先使用传统的分块算法将数据流分块,为数据块计算哈希;根据哈希值选取segment边界(比如数据块的哈希取摸后等于某个预定义的值,就认为这个块是segment的边界,这里segment相当于超级块),到此数据流被分割为变长的segment;针对每个segment,为其抽样一定数量的hook(抽样的方法是:若 阅读全文

posted @ 2013-09-10 16:23 OpenNaive 阅读(629) 评论(0) 推荐(0) 编辑

primary dedup能节约成本吗?

摘要: dedup已经被广泛应用于二级存储系统(备份、归档:高冗余、高吞吐率、延迟不敏感、写多读少);但是主存储系统(低冗余、延迟敏感、读多)仍然很少采用dedup,虽然已有一些尝试(iDedup、ZFS、opendedup等)。我们从成本的角度来分析这个问题。dedup的目的是节约成本:节约的是磁盘的成本,当重删率(=原始数据大小/重删后的数据大小)达到10倍时,意味着原来需要10块磁盘的数据,现在只要1块磁盘了。另一方面,dedup会增加内存的成本,因为它需要额外维护一个称为指纹索引的内存数据结构(将索引放在磁盘会导致磁盘瓶颈问题)。因此,dedup最终能节约多少成本,等于节约的磁盘成本减去增加的 阅读全文

posted @ 2013-09-10 16:23 OpenNaive 阅读(375) 评论(0) 推荐(0) 编辑

去重系统的垃圾回收

摘要: 用户一般会为备份数据设置一个retention time,过时的数据应该被回收再利用。数据去重复杂化了垃圾回收,因为每个数据块都可能被多个备份所引用。如何进行引用管理仍是很有挑战的问题。最近的一些论文讨论了这些问题,包括ATC’11的best paper,FAST’13,我想简单总结下它们的思想。垃圾回收可以分为两阶段:第一阶段是标记可回收的数据块,称为标记阶段;第二阶段是回收数据块,称为回收阶段。回收阶段的设计与数据组织格式有关,比如大多数去重系统使用container组织数据,它们就需要一个合并稀疏容器的操作来回收空间。关于回收阶段的讨论目前还不多。现在的相关论文讨论的问题实际上都属于第一 阅读全文

posted @ 2013-09-10 16:23 OpenNaive 阅读(542) 评论(0) 推荐(0) 编辑

如何产生数据集

摘要: 原文:Generating Realistic Datasets for Deduplication Analysis.本文的作者首先在FAST12做了poster,然后全文发表在ATC12。本文针对目前数据去重领域缺少公认数据集的情况,提出了一种仿真真实数据集的方法,并开源了代码。传统的存储研究使用的trace都是无真实数据的,比如disksim接受的trace只有IO本身的特点,而数据去重依赖真实的数据,因此研究者通常使用自己的私有数据集,这使得无法公平比较各种数据去重方法。这个主题的意义还是很大的。1.框架想象一下真实的环境,我们的系统总是从一个起点开始(安装操作系统),不断发生演变,本 阅读全文

posted @ 2013-09-10 16:22 OpenNaive 阅读(720) 评论(0) 推荐(0) 编辑

64位环境编译DiskSim 4.0

摘要: DiskSim没有64位版本,即使侥幸编译成功,运行时也会出现段错误。因此需要对源码进行一些修改,才能在64位环境使用,下文总结了在Ubuntu 64bit上编译DiskSim的全过程。1.安装bison和flexDiskSim需要bison和flex,如下:apt-get install bison flex2.math库的依赖问题在链接libmems_internals.a时,提示mems_hong_seek.c中的sqrt、acos等引用未定义,这个错误的原因是未链接math库。检查memsmodel/Makefile,发现:mems_seektest: mems_seektest.o 阅读全文

posted @ 2013-09-10 16:22 OpenNaive 阅读(1574) 评论(0) 推荐(1) 编辑

磁盘有时也不可靠

摘要: 实验服务器的磁盘是最近买的,当卖家问我要普通的还是高级的, 我选择了普通,现在追悔莫及。今天的分析更加详细。首先发现每次实验,出错的文件都不一样,所以应该不是临界条件的问题。下表总结了出错的位置,原始数据是数据的正确格式,第一次备份和第二次备份分别代表两次连续备份,我恢复出两次备份的数据与原始数据进行比较,发现错误都是某个字符发生了变化:文件名原始数据第一次备份第二次备份linux-2.6.34.1.tar;;?linux-2.6.34.5.taraaelinux-2.6.35.1.tar(space)(space)$linux-2.6.35.2.taruuwlinux-2.6.35.3.ta 阅读全文

posted @ 2013-09-10 16:22 OpenNaive 阅读(217) 评论(0) 推荐(0) 编辑

原型,磁盘还是内存

摘要: 这几天一直在找bug。我的测试数据集是116个linux源码的打包文件(未压缩),116个文件差不多50GB的数据。原型系统是完美重删,应该可以发现所有的重复数据。但是我连续备份两次数据集(分别称为job1和job2),发现总会漏掉很小一部分(50GB的数据量,漏掉若干KB,大概就是几个数据块)的重复数据。到底是哪里出现了问题?在检查了几遍原型的逻辑后,没有发现错误,对几个小数据集的测试也显示完全正确(重删率和恢复出的数据都是对的);将哈希表和SHA1全部改用成熟的Gnome Library和openssl后,问题依旧;重复试验,出问题的文件会变化,说明和数据集本身无关。于是开始使用md5su 阅读全文

posted @ 2013-09-10 16:22 OpenNaive 阅读(188) 评论(0) 推荐(0) 编辑

Linux优质软件

摘要: 工欲善其事,必先利其器!要在Linux环境下工作,就得找到与windows环境同等分量的工具才行。先前已有一些统计,Linux下几个比较好用的软件。0.ubuntu[官网]我是ubuntu的忠实粉丝。ubuntu 12.04 64bit配上4GB内存跑起来非常流畅,unity桌面能充分利用笔记本不大的屏幕空间。自带的ibus感觉是Linux环境最好的中文输入法了。基本能胜任所有的工作,可能office方面的软件不如MS Office方便是一大短板吧。另外,机子休眠后,有时桌面会失去响应,这时我只能切换到tty1,kill掉Xorg进程,这会重启桌面。1.GoldenDict[官网]以前都是用s 阅读全文

posted @ 2013-09-10 16:22 OpenNaive 阅读(340) 评论(0) 推荐(0) 编辑

安装Gnome Library

摘要: GLib(Gnome Library)是linux下最常用的c库,是gnome和gtk的基础。它提供了很多常用的数据结构,比如哈希表。linuxfromscratch上面有源码下载链接。官网上有各种数据结构的详细文档。基本的安装步骤是:./configure make make install配置的时候可能会遇到依赖包找不到的问题,比如:Working zlib library and headers not found解决办法: apt-get install zlib1g-dev接着又遇到了:checking for LIBFFI... noconfigure: error: Packag 阅读全文

posted @ 2013-09-10 16:22 OpenNaive 阅读(592) 评论(0) 推荐(0) 编辑

openssl命令行入门

摘要: openssl是一个开源的加密工具箱,实现了SSL和TLS协议,并提供了通用的加密库。除了将libssl.so链接到自己的程序使用,还可以通过命令行使用openssl的所有功能。1.入门openssl提供了一个命令行工具,可以使用命令行直接使用openssl,比如计算某个文件的MD5、SHA-1等摘要。openssl sha1 /home/fumin/textopenssl md5 /home/fumin/text此外openssl还提供了SHA224、SHA256、SHA512等强度更高的摘要。此类命令被称为消息摘要命令(message digest command)。很奇怪的是,opens 阅读全文

posted @ 2013-09-10 16:22 OpenNaive 阅读(2396) 评论(0) 推荐(0) 编辑

SSD去重:建模和量化分析

摘要: 原文:J. Kim. Deduplication in SSDs: Model and Quantitative Analysis.数据去重技术可以有效减少写负载,节约存储空间,进而减少垃圾回收的次数,增加垃圾回收和损耗均衡算法的效率,对SSD的寿命有很好的改进。这篇来自MSST’2012的文章站在了CAFTL和CA-SSD的肩膀上,进一步探讨了数据去重对SSD性能的影响,也就是探讨数据去重是否可以改进SSD的写延迟。数据去重为SSD带来了很多的好处,但是存在两大挑战:1.数据去重的开销问题,通常SSD的资源有限,只有ARM7或ARM9等低端CPU和少量内存,这和备份归档环境有很大不同;2.S 阅读全文

posted @ 2013-09-10 16:22 OpenNaive 阅读(1393) 评论(0) 推荐(0) 编辑

CAFTL和CA-SSD的比较

摘要: FAST'11同时收录了这两篇几乎相同主题的文章,分别用CAFTL(Feng Chen等)和CA-SSD(A. Gupta等)表示,下表比较了它们的主要特点。CAFTLCA-SSD工作位置FTLFTL去重单元pagepage映射表二级映射表,元数据区反向映射映射表LPT和逆向映射表iLPT指纹索引基于热度的LRULRU哈希计算取样法、预哈希专用硬件逻辑垃圾回收二级映射表记录引用次数iLPT记录逻辑地址集合它们都是在FTL集成数据去重,不需要修改上层应用;因为缺少上层文件系统语义信息,并且SSD的读写单元是page,所以很自然使用page作为去重单元;指纹的计算是性能瓶颈,因此二者都提倡 阅读全文

posted @ 2013-09-10 16:22 OpenNaive 阅读(2726) 评论(0) 推荐(0) 编辑

利用value locality优化SSD

摘要: 原文:A. Gupta et al. Leveraging Value Locality in Optimizing NAND-Flash based SSDs.这篇文章和DFTL是同一作者。时间局部性。当前访问了某个数据(某个逻辑地址),那么不久的将来很可能还会访问这个数据;空间局部性。当前访问了某个数据(某个逻辑地址),那么不久的将来与其逻辑地址相邻的数据很可能会被访问。利用时间局部性和空间局部性可以减少SSD的负载,但是仍有另一种局部性可以挖掘,即value locality。value locality的意思就是某个数据(数据的内容,不仅仅是逻辑地址)被访问地更频繁。value loc 阅读全文

posted @ 2013-09-10 16:22 OpenNaive 阅读(1050) 评论(0) 推荐(0) 编辑

导航