2013年9月10日

近似最优缓存替换算法

摘要: 缓存替换算法有很多种,FIFO是最简单的,LRU是最常用的,最优缓存替换算法则是命中率最佳的。因为我们无法预知数据的未来访问模式,通常最优替换算法是无法实现的。然而数据恢复则是例外:在备份的过程中,我们已经知道数据恢复的顺序。既然如此,何不通过最优缓存替换算法进一步改善命中率。数据去重原型系统destor里面已经实现了LRU缓存,并且工作得还不错,尽管如此,我仍然想看看最优替换算法能获得怎样的效果。1.种子文件备份的过程中,我记录下container的访问顺序,称之为种子文件,每个种子代表访问一个container。种子文件会作为最优替换算法的输入。2.滑动窗口如果我们一次性读取整个种子文件, 阅读全文

posted @ 2013-09-10 16:22 OpenNaive 阅读(1371) 评论(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 阅读(1696) 评论(0) 推荐(1)

确保数据去重存储系统的读性能

摘要: 原文:Assuring Demanded Read Performance of Data DeduplicationStorage with Backup Datasets.这篇文章发表在MASCOTS 2012,它的作者2011年在HPCC发表了一篇CFL,提出CFL衡量去重系统的碎片程度,这篇文章可以看成是续集,基于CFL提出了一种碎片的解决方案。因为和我目前的研究点重叠,所以看了一遍。去重系统的读性能很重要,不仅仅是因为恢复操作,更多的情况是需要归档。1.新的CFL在2011年的基础上,作者修正了CFL的定义。旧版的CFL忽略了内部碎片的影响,这在我前面的博文《重复数据删除系统的碎片研 阅读全文

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

磁盘有时也不可靠

摘要: 实验服务器的磁盘是最近买的,当卖家问我要普通的还是高级的, 我选择了普通,现在追悔莫及。今天的分析更加详细。首先发现每次实验,出错的文件都不一样,所以应该不是临界条件的问题。下表总结了出错的位置,原始数据是数据的正确格式,第一次备份和第二次备份分别代表两次连续备份,我恢复出两次备份的数据与原始数据进行比较,发现错误都是某个字符发生了变化:文件名原始数据第一次备份第二次备份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 阅读(225) 评论(0) 推荐(0)

原型,磁盘还是内存

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

posted @ 2013-09-10 16:22 OpenNaive 阅读(202) 评论(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 阅读(350) 评论(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 阅读(628) 评论(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 阅读(2490) 评论(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 阅读(1480) 评论(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 阅读(2810) 评论(0) 推荐(0)

导航