2013年9月10日

伯克利的云计算报告(上)

摘要: 云计算并不是个新想法,但是谁也说不清楚什么是云计算。因此伯克利的一帮家伙花了6个月的时间,对云计算进行了思考,最终形成了"Above the Clouds: A Berkeley View of Cloud Computing"这篇文章。这篇文章的目的是明确云计算的术语,用简单的公式量化比较云计算和传统计算,指出云计算最突出的技术和非技术障碍,以及对应的机遇。归纳一下,文章分为下面八点:1.什么是云计算云计算应该既包括网络上的应用服务,也包括数据中心支撑应用服务的系统软件和硬件。应用服务很早就被称为SaaS,而我们现在所说的云指的是数据中心的系统软件和硬件。当云通过pay- 阅读全文

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

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

摘要: 原文: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 阅读(469) 评论(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 阅读(1573) 评论(0) 推荐(1) 编辑

如何产生数据集

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

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

iDedup,一个主存储系统的在线重删技术

摘要: FAST’12, iDedup: Latency-aware, inline data deduplication for primary storage.二级存储是重删技术的主要应用场景,少量主存储使用了离线重删技术。二级存储要求高吞吐率,主存储要求低延迟。下图是重删技术的分类,和iDedup所处的位置。0.介绍主存储环境下,在线重删最大的挑战是不能增加前台操作的延迟。但是,重删元数据的管理和访问会增加写延迟;碎片导致逻辑连续读被拆分为随机IO增加读延迟;管理数据块的引用次数增加删除延迟。iDedup尝试解决这些问题,仅仅增加了5%的CPU开销和2-4%的操作延迟,重删率达到理想情况的60- 阅读全文

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

重复数据删除系统的碎片研究

摘要: 大部分重复数据删除研究集中在备份的指纹索引上,大家都认为这是最关键的问题。的确,不解决磁盘瓶颈问题,备份窗口过大将导致重删不实用。重删系统的恢复性能一直处于被忽略的状态,原因是相对备份,恢复是小概率时间,而且体系结构最重要的Amdahl定律讲的就是重视大概率事件。但是我们也要明白一点,备份就是为了恢复的,如果备份的工作做得很充足,到了关键时刻不能快速恢复,一切都是白费力气了。或者说,备份就是一个不断投入的过程,而一次恢复就是赎回成本的过程,我们总是在研究如何减少备份的投入,而忽视了如何赎回更多的成本:恢复的越快,赎回的成本就越高!备份最关键的部分是指纹索引,恢复最关键的部分是数据块存储。重删的 阅读全文

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

内存拷贝的陷阱

摘要: 内存拷贝经常需要使用memcpy和strcpy:/*both defined in string.h*/void * memcpy ( void * destination, const void * source, size_t num );char * strcpy ( char * destination, const char * source );;二者主要的区别是strcpy将内存看作字符串,遇到0('')就结束。二者在使用时都存在一个不易发觉的陷阱。看下面这两行代码:memcpy(buf+off, buf, len);memcpy(buf, buf+off, le 阅读全文

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

斯坦福的MapReduce

摘要: MapReduce是由google首先提出来的编程模型(介绍点击这里),专为数据密集型任务而设计。不论是google还是hadoop,都是将MapReduce应用在大规模集群下的。那么它是否适共享内存环境呢?斯坦福的Phoenix项目做出了回答。相关的论文发表在HPCA’07(最佳论文)和MapReduce’11上。Phoenix适合于共享内存的多处理器计算机(SMP和ccNUMA),以及多核计算机。07年释出第一个版本Phoenix;后经过了大量修改,Phoenix 2在可扩展性和移植性方面得到加强,支持Linux;Phoenix++是Phoenix的C++实现。目前Phoenix只支持x8 阅读全文

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

p2p网络备份系统:Pastiche

摘要: 这篇文章有几个特点:第一是难懂,所谓Pastiche就是东拼西凑,涉及到很多别的技术,作者又没有一一详细解释,因此理解这篇文章俺是费了不少劲的;第二是“新颖”,其实这是篇古董文章,02年发表在OSDI,作者既没有完整实现一个系统,也没有很系统的实验,却能发表在A类会议上,我只能说作者的观察很独特。Pastiche描绘的是一个廉价的、p2p网络备份系统,它利用用户的剩余磁盘空间互相提供数据保护。遗憾的是,直到10年后的今天我也没有看到一个成熟的实现(也许是我孤陋寡闻)。但是因为很喜欢这个idea,还是决定发一篇博文。关于整个系统如何运转涉及太多细节,不一一描述,只在此记录下几个关键点。1. 观察 阅读全文

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

Linux C操作超过2GB大小的文件

摘要: 使用普通的open、lseek操作文件,当文件达到2GB的时候写数据就会失败。这也是显然的,lseek的原型是long lseek(int handle, long offset, int fromwhere);long在32位操作系统上只有4个字节,只能寻址正负2GB的数据。lseek64是用于读写大文件的API,原型是off64_t lseek64(int fd, off64_t offset, int whence);通过这个函数就可以寻址超过2GB的大文件了。最后不要忘了为open加上O_LARGEFILE标记,或者直接使用open64函数打开文件,这二者是等价的。参考资料[1] ls 阅读全文

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

导航