作者:g9yuayon
from:http://blog.csdn.net/g9yuayon/article/details/1512851
从Jao的Programming Musing 看到的:Babar Kazar 整理了一堆经典论文。Jao强烈建议每个严肃的程序员读每篇论文,说它们都或多或少有意思。粗粗扫了一下,很多论文都没读过。挑了些俺多少知道一点的介绍。
作者:Leslie Lamport. 1978
原文:http://www.stanford.edu/class/cs240/readings/lamport.pdf
译者:phylips@bmy 2012-10-13
译文:http://duanple.blog.163.com/blog/static/709717672012920101343237/
[
序:时间是一个很抽象的概念,爱因斯坦说时间是幻觉,马赫(Ernst Mach)说:我们根本沒有能力以时间來测量事物的变化,相反的,我们是透过事物的变化因而产生时间流动的抽象概念。那么在分布式系统中是如何定义时序的呢?这篇论文进行了讨论,该论文首先通过定义一整套逻辑时钟系统对所有事件进行ordering,然后通过解决一个资源互斥访问问题说明了如何将此应用到分布式系统中,并引入了状态机复制的方法。之后又由逻辑时钟所存在的一个问题引出了物理时钟的使用,由于物理时钟本身会存在偏差,又给出了一个物理时钟同步算法,并给出了一个关于物理时钟同步的定理。
作者:dullgull
原文:http://www.dullgull.com/ 文章链接
源地址:http://research.microsoft.com/en-us/um/people/lamport/pubs/ds-interview.pdf
Dejan Milojicic: 你从事的许多具有想象力的问题都在实际应用中有成就,甚至在几十年之后仍有影响。你对研究方向的选择在时机上有什么特别么?
zz from:http://www.myoops.org/main.php?act=course&id=2165
翻譯:林家弘
編輯:朱學恒,陳盈
The honeycomb shown above is a common architectural metaphor for distributed algorithms. Similar to bees performing different functions to build a honeycomb, multiple computing devices depend on each other to accomplish a task. (Image by MIT OCW.)
IEEE 约翰·冯诺依曼奖由IEEE成立于1990年,目的是表彰在计算机科学和技术上具有杰出成就的科学家。虽不如图灵奖那样有名,但也绝对是计算机科学界非常重量级的奖项了,获奖者也都是世界上举足轻重的计算机科学家,其中很多人也同时是图灵奖得主。
Google内部的介绍
Spanner: Google’s Globally-Distributed Database 论文原文
Thread on G+ by Jeff Dean
Building Spanner 视频 keynote Google工程师 Alex Lloyd
Lessons and Advice from Building Large Distributed Systems 最早提到Spanner的,Jeff Dean在LADIS2009的keynote
作者:Grzegorz Malewicz, Matthew H. Austern .etc.Google Inc 2010-6
原文:http://people.apache.org/~edwardyoon/documents/pregel.pdf
译者:phylips@bmy 2012-09-14
译文:http://duanple.blog.163.com/blog/static/70971767201281610126277/
[说明:Pregel这篇是发表在2010年的SIGMOD上,Pregel这个名称是为了纪念欧拉,在他提出的格尼斯堡七桥问题中,那些桥所在的河就叫Pregel。最初是为了解决PageRank计算问题,由于MapReduce并不适于这种场景,所以需要发展新的计算模型去完成这项计算任务,在这个过程中逐步提炼出一个通用的图计算框架,并用来解决更多的问题。核心思想源自BSP模型,这个就更早了,是在上世纪80年代由Leslie Valiant(2010年图灵奖得主)提出,之后在1990的Communications of the ACM 上,正式发表了题为A bridging model for parallel computation的文章。目前实际上已经有针对Pregel这篇文章的翻译版本了,不过只翻译了出了前半部分关于Pregel的设计与实现部分。其实后半部分也很重要,有助于理解整个图计算的历史背景,以及Pregel本身的性能和项目本身的演化等,另外最近越来越多的人开始关注这一文章,所以还是抽出时间重新阅读了一遍,并重新翻译出来,以供参考]
from: http://blog.sina.com.cn/s/blog_5c57b5190102e0dx.html
英文版: http://www.wired.com/wiredenterprise/2012/08/google-as-xerox-parc/2/
从某种意义上讲,谷歌就是施乐PARC研究中心的当代继承人,只是在PARC理念基础上迈出了更远步伐。谷歌所制定的管理措施,能够使该公司在完成技术开发后迅速投入使用。
最近工作有些忙,所以文章少有更新,就算更新也基本上是一些原创性的内容。
虽然到目前,去翻译的内容会越来越少,按计划也还会翻译一些文章:诸如关于一致性hash之类的,顺便写两个综述:关于CAP和Join的。再就是LevelDB的分析,迄今已经写过几篇关于LevelDB的文章,但是关于LSM-tree的实现部分始终未写。写完这个,实际上就可以整理出一个类BigTable系统系列了,大概包含LSM-tree,BigTable,HBase,LevelDB相关的一些文章。
序:Sawzall的论文早在2006年就发表了,后来Google又推出了Tenzing,Dremel等数据分析系统,到了2010年就把Sawzall给开源了,项目主页:http://code.google.com/p/szl/。与Tenzing,Dremel相比, Sawzall所能做的事情还是比较有限,但是作为一种DSL,毕竟还是要比直接写MapReduce job要更易用些。本文就简单描述下其原理使用及扩展方法,转载请注明:
N年前写过的一篇文章,某些观点可能略显稚嫩,权当回忆
发信人: phylips (爱立佛), 信区: XJTUse
标 题: 写在大学边上……
发信站: 兵马俑BBS (Tue Dec 12 09:52:27 2006), 本站(202.117.1.8)
记得钱钟书先生写过这样一本书,《写在人生边上》。有些事情只有当人生走到尽头的时候,我们才明白,可是这时候我们只有留下一声叹息。而对于年轻的我们,很多事情也是只有当你已无法回头的时候才想到当初我应该这样做,人生中总会留下或多或少的遗憾吧。在大学的边上,我写下这样的文字,对于我们很多人来说已经没有回头的余地,只是希望可以留下一些启示吧
微博上看到的一篇文章,存储领域非常系统的介绍,尤其给出了各个部分的经典论文,需要翻墙,为方便阅读抄录如下
原文地址: http://dirkmeister.blogspot.com/2010/01/storage-systems-course-my-own-idea.html 作者:Dirk Meister
In my last post, I summarized some of the storage systems courses from international top universities with storage system labs.
如下内容是Sanjay发表在Google Groups leveldb 上的初始设计方案。实际实现可能与此不同。对于bloom filter的支持是在最新的1.4版本中加入的,在此之前的版本中并无此支持。
人们希望可以在LevelDB中加入bloom filter的支持。目前针对一次查询,LevelDB可能需要在每个level上进行一次磁盘随机访问。通过使用bloom filter可以大大减少所需要的随机访问操作次数。比如,假设调用者正在查找一个值为”Foo”的key,LevelDB会从每个level下选择相应的SSTable文件(那些range包含了该key的文件),之后会在这些SSTable文件上进行随机读。如果每个SSTable都有一个对应的bloom filter,那么查找时就可以很容易地通过检查bloom filter跳过那些不包含该key的SSTable文件。
本文基本上是对现有的图计算框架论文或文档的一个综述。由于附图较多,未上传至相册,此处有pdf版本:http://pan.baidu.com/s/1uvjHW。
转载请注明作者:phylips@bmy
出处:http://duanple.blog.163.com/blog/static/7097176720123215230365/
4.Concurrency and Recovery in the LSM-tree
本节我们来研究下用于LSM-tree并发访问和恢复的技术。为此,我们需要更深入地描述出rolling merge过程。我们将该并发访问和恢复算法正确性的形式化证明作为以后的工作,目前只是在此处简单地描述下它们的具体过程。
3.3 Multi-Component LSM-Trees
对于给定的LSM-tree,参数M代表了rolling merge过程中插入到每个C1树的叶子节点中的C0树的平均记录数。在merge到C1树的节点中之前,这些新记录会首先在C0中积累一段时间,因此通常我们认为M是大于1的。但是,通过公式(3.2){! M=(Sp/Se)·(S0/(S0+S1))}能够看出,如果与C0树相比C1树足够大,或者是单条记录非常大以至于单个page中只能放下很少的记录,那么M的值就可能会小于1。这样的一个M值意味着,为了能将C0中的一条记录移出内存将不得不读入多个C1的page。根据公式(3.4){! COST(LSM-ins)/ COST(B-ins)=K1·(COSTπ/COSTp)·(1/M)},在M< K1·(COSTπ/COSTp)的情况下,将会抵消掉multi-page的批处理效果,此时对于插入操作来说使用B-树要比使用LSM-tree更划算。
周六的早晨,下着雪,窗外一片雪白。
到而今来京已三个多年头,工作也已一年多了。工作之后大部分的时间都放在了工作和学习上,于是很少有时间去写下各种心情,如钟所言,我已经很久没写她能看懂的文字了。岁末年初,还是总结一番吧,为了追忆过去,也为了更好地把握未来。