跳至主要内容

分布式系统领域的经典论文【转载】

作者:严林  编辑于 2015-05-08
链接:https://www.zhihu.com/question/30026369/answer/46476717
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

分布式系统在互联网时代,尤其是大数据时代到来之后,成为了每个程序员的必备技能之一。分布式系统从上个世纪80年代就开始有了不少出色的研究和论文,我在这里只列举最近15年范围以内我觉得有重大影响意义的15篇论文(15 within 15)。

1. The Google File System:
这是分布式文件系统领域划时代意义的论文,文中的多副本机制、控制流与数据流隔离和追加写模式等概念几乎成为了分布式文件系统领域的标准,其影响之深远通过其5000+的引用就可见一斑了,Apache Hadoop鼎鼎大名的HDFS就是GFS的模仿之作;

2. MapReduce: Simplified Data Processing on Large Clusters:
这篇也是Google的大作,通过Map和Reduce两个操作,大大简化了分布式计算的复杂度,使得任何需要的程序员都可以编写分布式计算程序,其中使用到的技术值得我们好好学习:简约而不简单!Hadoop也根据这篇论文做了一个开源的MapReduce;

3. Bigtable: A Distributed Storage System for Structured Data:
Google在NoSQL领域的分布式表格系统,LSM树的最好使用范例,广泛使用到了网页索引存储、YouTube数据管理等业务,Hadoop对应的开源系统叫HBase(我在前公司任职时也开发过一个相应的系统叫BladeCube,性能较HBase有数倍提升);

4. The Chubby lock service for loosely-coupled distributed systems:
Google的分布式锁服务,基于Paxos协议,这篇文章相比于前三篇可能知道的人就少了,但是其对应的开源系统zookeeper几乎是每个后端同学都接触过,其影响力其实不亚于前三篇;

5. Finding a Needle in Haystack: Facebook's Photo Storage:
facebook的在线图片存储系统,目前来看是对小文件存储的最好解决方案之一,facebook目前通过该系统存储了超过300PB的数据,一个师兄就在这个团队工作,听过很多有意思的事情(我在前公司的时候开发过一个类似的系统pallas,不仅支持副本,还支持Reed Solomon-LRC,性能也有较多优化);

6. Windows Azure Storage: a highly available cloud storage service with strong consistency:
windows azure的总体介绍文章,是一篇很好的描述云存储架构的论文,其中通过分层来同时保证可用性和一致性的思路在现实工作中也给了我很多启发;

7. GraphLab: A New Framework for Parallel Machine Learning:
CMU基于图计算的分布式机器学习框架,目前已经成立了专门的商业公司,在分布式机器学习上很有两把刷子,其单机版的GraphChi在百万维度的矩阵分解都只需要2~3分钟;

8. Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing:
其实就是 Spark,目前这两年最流行的内存计算模式,通过RDD和lineage大大简化了分布式计算框架,通常几行scala代码就可以搞定原来上千行MapReduce代码才能搞定的问题,大有取代MapReduce的趋势;

9. Scaling Distributed Machine Learning with the Parameter Server:
百度少帅李沐大作,目前大规模分布式学习各家公司主要都是使用ps,ps具备良好的可扩展性,使得大数据时代的大规模分布式学习成为可能,包括Google的深度学习模型也是通过ps训练实现,是目前最流行的分布式学习框架,豆瓣的开源系统paracell也是ps的一个实现;

10. Dremel: Interactive Analysis of Web-Scale Datasets:
Google的大规模(近)实时数据分析系统,号称可以在3秒相应1PB数据的分析请求,内部使用到了查询树来优化分析速度,其开源实现为Drill,在工业界对实时数据分析也是比价有影响力;

11. Pregel: a system for large-scale graph processing:
Google的大规模图计算系统,相当长一段时间是Google PageRank的主要计算系统,对开源的影响也很大(包括GraphLab和GraphChi);

12. Spanner: Google's Globally-Distributed Database:
这是第一个全球意义上的分布式数据库,Google的出品。其中介绍了很多一致性方面的设计考虑,简单起见,还采用了GPS和原子钟确保时间最大误差在20ns以内,保证了事务的时间序,同样在分布式系统方面具有很强的借鉴意义;

13. Dynamo: Amazon’s Highly Available Key-value Store:
Amazon的分布式NoSQL数据库,意义相当于BigTable对于Google,于BigTable不同的是,Dynamo保证CAP中的AP,C通过vector clock做弱保证,对应的开源系统为Cassandra;

14. S4: Distributed Stream Computing Platform:
Yahoo出品的流式计算系统,目前最流行的两大流式计算系统之一(另一个是storm),Yahoo的主要广告计算平台;

15. Storm @Twitter:
这个系统不多说,开启了流式计算的新纪元,几乎是所有公司流式计算的首选,绝对值得关注;

评论里边 提到的两篇论文也挺不错的,一并补充在这里。
1. Large-scale cluster management at Google with Borg
2. F1 - The Fault-Tolerant Distributed RDBMS Supporting Google's Ad Business
 

Popular posts from 产品随想的博客

Steve Jobs on the iTunes Music Store: The Unpublished Interview

A candid talk with Apple's CEO on a landmark day in its history. By Laura Locke  |  Wednesday, December 7, 2011 at 1:15 am Steve Jobs announces the iTunes Music Store. On April 28th, 2003, moments before I was about to interview Steve Jobs at San Francisco’s Moscone Center, I was jittery. Anticipation? Nerves? Excitement? You bet. All of those visceral emotions were firing. Knowing Jobs’ storied reputation as an irascible and exacting Silicon Valley CEO had me on edge. But I had prepared a tight set of questions. Secretly, I was hoping he might enjoy the line of inquiry. In turn, I would have a lively and candid report for my editors at TIME. What I didn’t know was that the interview was taking place on what would turn out to be one of the most important days in Apple’s history: The launch of the iTunes Music Store. Once again, Ste...

“真假难辨”的效果图如何打造,以一只笔为例(下)——渲染篇

原文地址 独家教程 | “真假难辨”的效果图如何打造,以一只笔为例(下)——渲染篇 上期独家教程,康石石带大家用Rhino完成了 COPIC MULTILINER 针管笔建模(复习请戳: 独家教程 | “真假难辨”的效果图如何打造,以一只笔为例(上)——建模篇 ),下面我们把它丢进Keyshot渲染器里,看看究竟Keyshot究竟能不能打造真实照片一般的既视感。 Keyshot虽为各家晚辈,但近年来突飞猛进。有的同学说Keyshot渲染效果不如V-Ray,但我们可以看下本期独家教程内容再作判断。 基础材质赋予 首先我们打开 Keyshot 基本导入参数 导入后 由于我们事先在Rhino中,对各个部件分过色,所以我们可以直接,尽情 把左边各种需要的材质球直接拖到需要的部件上 。 初步赋予材质后效果 特写效果 环境光赋予 Keyshot预设的材质显然不能够完全适合所需情况,且物体上的光线并不是很正确。因此同学们需要 将环境光换成更加接近真实摄影棚的灯光场景 。 选用 3 Panels Tilted 2k 作为的基本环境光,将环境光拖入环境里之后,效果如下: 模型各部材质赋予 由于光影的变化,整个模型已更加真实。 接下来 各部的材质还需根据实际的视觉情况 手工调整 。 以下是这次模型各部材质的参数:   笔身主要的金属材质 黑色塑料件部分以及笔头的黑色 笔夹与笔头所使用的金属材质 Tip:金属材质是将Keyshot预设的钢材质的粗糙度调整为0.01而成。 握柄处的塑料材质 Tip:因为塑料的视觉特点,此处特地选用了 半透明属性的材质 做调整,除了表面颜色的参数之外,剩余的三个颜色区域均使用了 R255,G255,B255的纯白 。 笔身标签渲染 在给各部赋予了材质之后,产品很重要的一个环节就是印刷于产品之上的各种商标与说明,在Keyshot中,这些效果可以很轻松的通过标签功能来实现。 首先对实物上的印刷效果进行观察, 可以看出实物上的印刷效果其实是比较立体的 。 Tip: 细节,往往是产品品质的一种体现。 在效果图的渲染中,也应该...

BIM江湖演义——ArchiCAD vs Revit

原文 地址 江湖中历来不缺乏传奇。在建筑软件的这片江湖中,风云变幻,豪杰辈出,有两大世家始终屹立不倒——一个来自欧罗巴,名字低调:“图形软件”(Graphisoft),却继承了一身的艺术家气质,手握长剑白衣胜雪;一个来自美利坚,人称“自动桌子”(Autodesk),性格豪放不羁,七种武器样样精通。本文所说的,就是这两大世家的代表人物:ArchiCAD与Revit之间的较量。 这个论题本是老生常谈了,谈到BIM绕不过的就是Revit与ArchiCAD。两者的对比许多帖子都讨论过,但往往大而化之,原则性的东西多,细节的东西少,因此我想再作一次比较,希望能深入一点,具体一点,力争较为全面地反映两者的真实面貌。但这种对比往往两面都不讨好,你懂的,因此本文也多用戏说的语气,我姑妄说之,列位看官也就姑妄听之吧,有不当之处还请多多包涵! 先介绍一下本人对这两个软件的熟悉程度。我用ArchiCAD有4年了,出过几套施工图,都已竣工,编过一系列向日葵图库,颇受好评,对ArchiCAD的认识偏重于施工图;用Revit一年半,出过四个工程的土建及MEP模型,也用其API编了若干插件,对Revit的认识偏重于建模(包括结构及MEP建模)。应该说对ArchiCAD与Revit的认识都算深入了。 当然两者的深度比较是一个庞大的工程,而且个人看法难免有偏见,技术上也多有误解之处,因此希望各位能指正与补充。 1 软件的思想、架构对比 从软件的历史来说,无疑是ArchiCAD悠久得多,Revit是Autodesk在2002年才收购回来的,但Revit有一个强有力的东家,马上推出“BIM”这个很炫的口号,一下把ArchiCAD沿用多年的“虚拟建筑”这个老老实实的口号给打败了,于是ArchiCAD也只好宣称自己是个BIM软件,搞得在外人看来,倒像是Revit占了先机。 从软件设计的角度来看,两者也是差别巨大的。ArchiCAD从20多年前就致力于三维建筑设计,在这方面积累了足够多的经验,多年来也是沿用其架构做一些小更新、小完善、小整合。从我接触的7.0到最新的14.0,感觉比较大的变动就是10.0版整合PlotMaker、12版支持多核计算提升速度、12版新增幕墙工具、13版团队工作大幅改进。在界面上、使用习惯上一直差别不大,这也在一个侧面反映了ArchiCAD软件设计的一个“精英思路”——我本来就...

产品随想 | 周刊 第75期:2023.1.8 君民共主之国

Products 各大高校课程资源汇总   https://github.com/nwuzmedoutlook/university 120+国内高校课程资源纯手工整理,欢迎补充、修订 Ideas Marc Andreessen   https://www.theobservereffect.org/marc.html 关于阅读,工作计划 Design The biggest auction sales of 2022   https://insider.hagerty.com/trends/the-biggest-auction-sales-of-2022/ 非常精美的老车集合 它可能是個人電腦史上最重要的一張椅子:Herman Miller 和科技怎麼共同演化的?   https://blog.starrocket.io/posts/herman-miller-mother-of-invention/ 「如果說 Engelbart 是透過 科技 推動心智發展(他稱之為 bootstrap),那 Herman Miller 就是透過 家具 提升人類智識。」 Every Default macOS Wallpaper – in Glorious 6K Resolution   https://512pixels.net/projects/default-mac-wallpapers-in-5k/ Mac原始壁纸 Citizenship Consciousness & Privacy 豆瓣9.0分以上的社会学好书,你看过几本?   https://www.sohu.com/a/536977365_565460 读懂中国 史料搬运工 | 一生事业付诸流水后的反思   https://chinadigitaltimes.net/chinese/666961.html 「李鸿章是个谨小慎微之人。他没有在信函中说要如何做才能实现上下一心。但在郭、曾、薛三人的日记里,这个问题有一个共同的答案,那就是:将清廷变革为“君民共主之国”。」 Economy & Business & Market data 中国软件三十年:烟尘隐入,夹缝重生   https://mp.weixin.qq...

Steve Jobs: Rolling Stone’s 2003 Interview

  When Steve Jobs cruises into the airy reception area on the Apple Computer campus in Cupertino, California, on a recent morning, nobody pays much attention to him, even though he’s the company’s CEO. He’s wearing shorts, a black T-shirt and running shoes. Tall and a little gawky, Jobs has a fast, loping walk, like a wolf in a hurry. These days Jobs seems eager to distance himself from his barefoot youth – who was that crazy kid who once called the computer “a bicycle for the mind”? – and driven to prove himself as a clear-thinking Silicon Valley capitalist. Jobs punches the elevator button to the fourth floor, where his small office is located. For a man who is as responsible as anyone for the wonder and chaos of Silicon Valley, Jobs’ view of it all is surprisingly modest: shrubby treetops extending out toward San Francisco Bay, the distant whoosh of the freeway below. There is nothing modest, however, about Apple’s recent accomplishments. In the past few months,...

Steve Jobs talks about the difference between art and technology

  When asked by   Time   magazine about the difference between art and technology, Jobs said, “I’ve never believed that they’re separate. Leonardo da Vinci was a great artist and a great scientist. Michelangelo knew a tremendous amount about how to cut stone at the quarry. The finest dozen computer scientists I know are all musicians. Some are better than others, but they all consider that an important part of their life. I don’t believe that the best people in any of these fields see themselves as one branch of a forked tree. I just don’t see that. People bring these things together a lot. Dr. Land at Polaroid said, ‘I want Polaroid to stand at the intersection of art and science,’ and I’ve never forgotten that. I think that that’s possible, and I think a lot of people have tried.”

产品随想 | 周刊 第117期:He saw the intersection of art and science and business and built an organization to reflect that.

He disliked biography attempts. “I regard my scientific papers as my essential biography,’’ Land said. “I pour my whole life into the scientific project I’m investigating. I leave behind the things I’ve done in the past to do the work in the present.’’ “The purpose of inventing instant photography was essentially aesthetic,’’ Land said in 1947, announcing the process’s invention. “We live in a world changing so rapidly that what we mean frequently by common sense is doing the thing that would have been right last year.” — Edwin Land, Statement to Polaroid Corporation employees (25 June 1958) The worldview he was describing perfectly echoed Land’s: “Market research is what you do when your product isn’t any good.” And his sense of innovation: “Every significant invention,” Land once said, “must be startling, unexpected, and must come into a world that is not prepared for it. If the world were prepared for it, it would not be much of an invention.” Thirty years later, when a reporter ask...

《深度学习推荐系统》By 王喆

  推荐序言 深度学习/机器学习,爆发于2015年 算法能力+工程能力 1992年,施乐创建了应用协同过滤算法的推荐系统 本书for:推荐、广告、搜索领域的从业者/爱好者 第1章 互联网的增长引擎──推荐系统 不同业务模式的公司定义的具体推荐系统优化目标不同,例如,视频类公司更注重用户观看时长,电商类公司更注重用户的购买转化率(Conversion Rate,CVR ) YouTube推荐系统的主要优化目标就是观看时长,而不是CTR 工程论文:Deep Neural Networks for YouTube Recommenders 大致流程:构建深度学习模型,预测用户观看某候选视频的时长,按照预测时长进行候选视频的排序,形成最终的推荐列表 淘宝首页:千人千面(即使是1%的CTR提高,也会到来数十亿元收入增加) 推荐系统逻辑框架:f(U,I,C), User, Item, Context 推荐系统数据部分:实时数据、准实时数据、离线数据 推荐系统模型部分:召回层、排序层、补充策略与算法层(排序层是工业界与学术界研究的核心) 第2章 前深度学习时代──推荐系统的进化之路 UserCF: 基于用户相似度进行推荐的协同过滤算法 互联网用户数的增长会导致矩阵维护复杂度急剧上升 用户的历史数据可能稀疏(导致UserCF不适用于酒店预订、大件商品购买等低频应用) 适用于发现热点、以及跟踪热点的趋势 ItemCF:基于物品相似度进行推荐的协同过滤算法 更适用于兴趣变化较为稳定的应用 协同过滤的天然缺陷:推荐结果的头部效应较明显 其它模型:矩阵分解、逻辑回归、FM、FFM、GBDT+LR、LS-PLM (细节已经要看不懂了) 第3章 浪潮之巅──深度学习在推荐系统中的应用 Google Play的推荐团队,基于对业务场景的深刻理解,提出了Wide&Deep模型 这张属于看不懂那种类型 第4章 Embedding技术在推荐系统中的应用 Not Interested 第5章 多角度审视推荐系统 从7个不同的角度切入推荐系统 推荐系统如何选取和处理特征 召回层的主要策略有哪些? 实时性的重要性体现在哪里?有哪些提高实时性的方法? 如何根据具体场景构建推荐模型的优化目标 如何基于用户动机改进模型结构 冷启动问题的解决方法有哪些 什么是探索与利用问题?有哪些主流的解决方法 第...

写给大家看的中文排版指南

作者:Hindy 原文地址: http:// zhuanlan.zhihu.com/uici rcle/20506092 前言:很遗憾,我们的周围充斥着大量排版丑陋的文章。我国的字体排印与日本、美国等设计强国差距实在太大。我希望能够做些力所能及的小事,让更多人意识到“设计”的价值和其必要性,创造更美好的视觉环境。本文旨在帮助普及、提升大家对文字排版的认识,让大家在平时的学习工作中能有更专业的文字排版素养。 必看人群: 设计师、编辑、作家、撰稿人、教师、学生 目录: 1. 中文排版 1.1 引号 1.2 省略号与破折号 1.3 行首行尾禁则 2. 西文排版基础 2.1 西文撰写基础 2.2 西文标点相关 2.3 斜体的用法 2.4 大小写的区别 3. 中西文混排 3.1 基础原则 3.2 标点相关 1. 中文排版 1.1 引号 我国国家标准要求弯引号,个人建议使用直角引号。 示例:你竟然喜欢“苹果表”? 引号中再用引号使用双直角引号。 示例:我问他,“你竟然喜欢‘苹果表’?” 当引号表示讽刺、反语暗示时,使用弯引号(用法参考“西文排版”部分)。 示例:说真的,我也很 “喜欢”“苹果表”哦。 1.2 省略号(删节号)与破折号 省略号占两个汉字空间,包含六个点。 正确示例:中国设计还有太长路要走…… 错误示例:中国设计还有太长路要走… 破折号占两个汉字空间。 示例:中国设计还有太长路要走──加油罢。 1.3 行首行尾禁则 点号(顿号、逗号、句号等)、结束引号、结束括号等,不能出现在一行的开头。 错误示例: 排版时注意某些 符号不能在行首 ,别弄错了。 正确示例: 排版时注意某些 符号不能在行首, 别弄错了。 开始引号、开始括号、开始双书名号等,不能出现在一行的结尾。 错误示例: 她对我们说:“ 这书太赞了。” 正确示例: 她对我们说: “这书太赞了。” 2. 西文排版基础 2.1 西文撰写基础 句首字母大写。 单词间留空格。 示例:Have a question? 2.2 西文标点相关 点号后加一个空格(如逗号、句号等)。 示例:Hello everyone! Welcome to my blog....

产品随想 | 周刊 第52期:HP家的Linux笔记本

Products 腾讯柠檬清理   https://github.com/Tencent/lemon-cleaner 腾讯开源,那基本意味着不再维护了...... (据专业人士看,代码写的烂) Teclis   https://teclis.com/ 一个比较窄,但质量非常高的搜索引擎 Ina La Revue Des Médias   https://larevuedesmedias.ina.fr/ 挺小众的法语网站,对于媒体,对于新闻热点的解读,还挺好 Dashy   https://github.com/Lissy93/dashy A self-hostable personal dashboard built for you. Includes status-checking, widgets, themes, icon packs, a UI editor and tons more! 全定制化的看板,非常酷 OpenSnitch   https://github.com/evilsocket/opensnitch OpenSnitch is a GNU/Linux port of the Little Snitch application firewall 好用的Linux网络状态监控软件,帮助盯住不老实的App 这个工具的创作者,Simone Margaritelli,evilsocket,非常高产 emoji-supply   https://github.com/alcor/emoji-supply 把 Emoji 组合成漂亮的壁纸、封面图 Vue Color Avatar   https://github.com/Codennnn/vue-color-avatar 一个纯前端实现的头像生成网站 itty.bitty   https://github.com/alcor/itty-bitty Itty.bitty is a tool to create links that contain small sites Administrative-divisions-of-China   https://github.com/modood/Administrativ...