2012年3月18日

主文件系统 vs 二级文件系统 (微软篇)

摘要: 本文主要基于FAST11和FAST12的两篇论文:A study of practical deduplication和Characteristics of backup workloads in production systems。前者来自微软,主要分析的是用于主存储系统的文件系统;后者来自EMC,分析的是用于二级存储系统(如备份、归档)的文件系统。两篇论文共同的特点是实验的数据集都非常庞大,因此分析的结果对于系统设计具有参考价值。而且从数据中我们也可以发现主存储系统和二级存储系统在使用方式等方面有很多区别。先来看看微软的实验。1. 实验方法作者的数据来源是微软员工(包括开发、测试、管理、 阅读全文

posted @ 2012-03-18 11:02 OpenNaive 阅读(433) 评论(0) 推荐(0) 编辑

2011年12月26日

最佳论文:构建高性能的重复数据删除系统

摘要: USENIX年度会议(USENIX Annual Technical Conference)是计算机体系结构的顶级会议之一,每年举办一次。2011年ATC会议的最佳论文奖被来自赛门铁克的一篇论文摘得:Building a High-performance Deduplication System。最近几年关于重复数据删除的研究达到了高潮,2011年FAST的最佳论文是一篇来自微软的关于重复数据删除的论文。1 引子评价一个重复数据删除系统,有三个标准:重删率,可扩展性和吞吐率。重删率说明了这个系统能挖掘出多少重复的数据,这是重删系统的主要目标,没有重删率,重删系统就没有意义;可扩展性指的是重删系 阅读全文

posted @ 2011-12-26 15:05 OpenNaive 阅读(494) 评论(0) 推荐(0) 编辑

2011年12月22日

磁盘分区

摘要: 有台服务器的分区不太合理,今天重新给分了一下,顺便整理一下资料。1 概念通常新买回来的电脑,都习惯先对磁盘进行分区。磁盘分区就是将一块物理磁盘分为好几个逻辑存储单元,这几个单元之间互相独立,从外部看就好像有多块物理磁盘。分区编辑软件(比如fdisk)可以对磁盘执行创建、删除分区等操作。每个分区都可以有自己的文件系统。对磁盘进行分区有很多的好处。保护和孤立数据,一个分区损坏了并不会影响其它分区,因此也可以很容易重装一个已损坏的文件系统而不影响其它文件系统;可以将不同类型的数据放在不同的分区中,方便备份和管理,比如将重要的资料都放在一个分区,每次只需要备份这个分区的文件系统;分区还有一个有趣的用法 阅读全文

posted @ 2011-12-22 15:57 OpenNaive 阅读(306) 评论(0) 推荐(0) 编辑

2011年12月9日

大话存储

摘要: 这本书买了一年了,最近终于比较完整的读了一遍,感觉收获不少,应该写一篇读后感吧。首先这本书是讲存储的,市面上关于存储的书少之又少,好书就更是稀缺资源,这本书可以说一定程度上弥补了资料的缺失。书里几乎涉及到了存储的方方面面,涵盖了磁盘、RAID、FC、SAN、NAS、备份等各个方向。这本书里不仅对各个技术的概念、原理进行了讲解,还包括了一些产品的实践,就称它为理论联系实际吧。入学的时候,自己是完全的存储门外汉,对于FC、SAN这些东西是云里雾里,因此看这本书的时候抱着“关注概念、思想,忽略产品、细节”的心态,纯粹是为了扩展知识面。看完这本书后,如果能对各个存储技术都说上一两句,就算是成功了。总之 阅读全文

posted @ 2011-12-09 21:11 OpenNaive 阅读(241) 评论(0) 推荐(0) 编辑

2011年12月8日

关联规则挖掘(二):Apriori算法

摘要: 1 算法简介在数据挖掘领域,Apriori算法是挖掘关联规则的经典算法。Apriori算法采用的是自底向上的方法,从1-频繁集开始,逐步找出高阶频繁集。它的基本流程是:第一次扫描交易数据库D时,产生1-频繁集。在此基础上经过连接、修剪产生2-频繁集。以此类推,直到无法产生更高阶的频繁集为止。在第k次循环中,也就是产生k-频繁集的时候,首先产生k-候选集,k-候选集中每一个项集都是对两个只有一个项不同的属于k-1频繁集的项集连接产生的,k-候选集经过筛选后产生k-频繁集。2 理论基础首先来看一个频繁集的性质。定理:如果项目集X是频繁集,那么它的非空子集都是频繁集。根据定理,已知一个k-频繁集的项 阅读全文

posted @ 2011-12-08 21:11 OpenNaive 阅读(701) 评论(0) 推荐(0) 编辑

2011年12月7日

关联规则挖掘(一):基本概念

摘要: 本文主要来自《数据仓库和数据挖掘》一书,这本书讲的和维基百科里的非常相似,怀疑是从某本外文书籍里翻译过来的。关联规则挖掘(Association rule mining)是数据挖掘中最活跃的研究方法之一,可以用来发现事情之间的联系,最早是为了发现超市交易数据库中不同的商品之间的关系。这里有一则沃尔玛超市的趣闻。沃尔玛曾今对数据仓库中一年多的原始交易数据进行了详细的分析,发现与尿布一起被购买最多的商品竟然是啤酒。借助数据仓库和关联规则,发现了这个隐藏在背后的事实:美国的妇女经常会嘱咐丈夫下班后为孩子买尿布,而30%~40%的丈夫在买完尿布之后又要顺便购买自己爱喝的啤酒。根据这个发现,沃尔玛调整了 阅读全文

posted @ 2011-12-07 11:04 OpenNaive 阅读(633) 评论(0) 推荐(0) 编辑

2011年12月6日

Linux文件系统

摘要: 从图书馆借的《Linux文件系统》,作者是Moshe Bar,他还写了另一本书叫《Linux internals》,应该说还是挺牛的。但是翻看了几页后,终于忍不住给还了回去,因为翻译太烂了,而且有些古老。首先说说翻译,除了有些不流畅外,最让人不能忍受的是通篇充斥了缓冲区、缓冲区缓存、缓存这样的模糊不清的翻译,不了解的人很难区分这些词语的意思。抱怨一下,国内有很多翻译过来的经典书籍(谁让经典书都是老外写的呢),翻译实在不敢恭维呀!其次是这本书有点老了,以2.4内核为基础,讲解当时流行的几种文件系统,包括ext2。2.4内核和现在的内核相比还是有很大差距的,拿head_buffer结构体为例。书上 阅读全文

posted @ 2011-12-06 14:16 OpenNaive 阅读(258) 评论(0) 推荐(0) 编辑

2011年11月28日

谁养鱼(四):遗传算法的实现

摘要: 1 简介根据达尔文的进化论,生物种群从低级、简单的类型逐渐发展成为高级、复杂的类型。各种生物要生存下去就必须进行生存斗争,具有较强生存能力的生物个体容易存活下来,并有较多的机会产生后代;具有较低生存能力的生物则被淘汰,或者产生后代的机会越来越少,直至消亡。遗传算法借鉴了生物界自然选择、遗传变异机制,将种群代表一组问题的解,通过对当前种群施加选择、交叉和变异等一系列遗传操作,从而产生新一代的种群,并逐渐使种群进化到包含近似最优解的状态。遗传算法能够解决传统方法感到困难的许多复杂优化问题。遗传算法很有趣,上过生物课的人很容易理解它,但是要设计一个好的遗传算法却并不容易。当看到谁养鱼这个问题时,觉得 阅读全文

posted @ 2011-11-28 19:13 OpenNaive 阅读(317) 评论(0) 推荐(0) 编辑

2011年11月25日

谁养鱼(三):如何让计算机认识线索

摘要: 在谁养鱼问题中给出了15条线索,如何让计算机识别这些线索,并作出正确的判断呢?因为房子的顺序是固定,给它们编号1、2、3、4、5。每个房子都有五种类型的属性,分别是颜色、国籍、饮料、宠物、香烟,并且不同的房子之间相同类型的属性是不同的。通过观察可以发现,线索可以分为三类:固定线索,绑定线索和相邻线索。固定线索指的将某个属性固定在某个序号的房子,比如线索8和线索9,分别将牛奶固定在中间房子,将挪威人固定在第一个房子;绑定线索指的是,如果房子A具有属性B,那么也有属性C,比如线索2,瑞典人和狗这两个属性是绑定的;相邻线索指的是两个属性位于相邻的房子里,这种相邻可以是左相邻、右相邻或者左右相邻(简称 阅读全文

posted @ 2011-11-25 21:52 OpenNaive 阅读(189) 评论(0) 推荐(0) 编辑

2011年11月23日

谁养鱼(二):如何将排列映射到整数域

摘要: 今天又考虑了一下谁养鱼的问题,觉得用遗传算法来解题值得一试,但是主要的难点有三:如何让计算机理解线索?即如何表示绑定、相邻等关系?比如丹麦人喝茶的绑定关系,绿房子在白房子左边的左相邻关系等。问题空间和遗传空间如何转换?问题空间是红黄蓝绿白这样的排列,如何将其转换成遗传空间的二进制编码?也就是编码问题。遗传算法如何设计?包括种群规模,初始化,适应度函数,选择、交差、变异算子,终止条件等。遗传算法本身是很好理解的,今天首先是给出第二个问题的解决办法。房子1房子2房子3房子4房子5颜色颜色A颜色B颜色C 颜色D 颜色E 国籍饮料宠物香烟要使用遗传算法,就必须先给出一个问题空间到遗传空间的编码方案。如 阅读全文

posted @ 2011-11-23 14:59 OpenNaive 阅读(343) 评论(0) 推荐(0) 编辑

导航