由于本文受到大家热烈的欢迎,所以今天根据其他人的一些笔记来对本文进行补充,并在最后附上相关的PPT。
本文是Google院士jeff dean在今年SOCC大会上的一次演讲的笔记,主要介绍了一些用于设计分布式系统的模式,原文地址,这次演讲的视频地址(需要安装Silverlight)。
分布式系统设计模式
- 系统失败是很平常的事情:每年有1-5%的硬盘会报废,服务器每年会平均宕机两次,报废几率在2-4%几率。
- 将一个大而复杂系统切分为多个服务:而且服务之间依赖尽可能的少,这样有助于测试,部署和小团队独立开发。例子:一个google的搜索会依赖100多个服务。ike:需要一套机制来确保服务的fault-tolerant,不能让一个服务的成败影响全局。
- 需要有Protocol Description Language:比如protocol buffers。ike:这样能降低通信方面的代码量。
- 有能力在开发之前,根据系统的设计来预测性能:在最下面有一些重要的数字。
- 在设计系统方面,不要想做的很全面,而是需要抓住重点。
- 为了增量做设计,但不为无限做设计:比如:要为5-50倍的增量做设计,但超过1000倍了,就需要重写和重新设计了。
- 使用备份请求来降低延迟:比如一个处理需要涉及1000台机器,通过备份请求这个机制来避免这个处理被一台慢机器延误。ike:这个机制非常适合MapReduce。
- 使用范围来分布数据,而不是Hash:因为这样在语义上比较简单,并且容易控制。ike:在大多数情况下语义比性能更重要,不要为了20%的情况hardcode。
- 灵活的系统,根据需求来伸缩:并且当需求上来的时候,关闭部分特性,比如:关闭拼写检查。
- 一个接口,多个实现。
- 加入足够的观察和调式钩子(hook)。
- 1000台服务器只需单一Master:通过Master节点来统一指挥全部的行动,但客户端和Master节点的交互很少,以免Master节点Crash,优点是,在语义上面非常清晰,但伸缩性不是非常强,一般最多只能支持上千个节点。
- 在一台机器上运行多个单位的服务:当一台机器宕机时,能缩短相应的恢复时间,并且支持细粒度的负载均衡,比如在BigTable中,一个Tablet服务器会运行多个Tablet。
未来的挑战
- 全球级(world-wide)系统的适应性方面:如何自动地分配和放置数据和计算来降低延迟和成本。
- 在弱一致性(weakly consistent)的存储上搭建应用:如何轻松使用抽象来解决多版本之间的冲突。
- 分布式系统的抽象:如何用同一个抽象来统一多个分布式系统。
分享到:
相关推荐
Jeff Dean本科学位论文,阐述了分布式ANN训练方案。对后续Tensor flow有参考。
Jeff Dean - Large Scale Deep Learning with TensorFlow
dean 大神 写的关于大规模服务系统的设计思路,来自于google实践,不得不看
计算机界神级人物、谷歌人工智能主管Jeff Dean发表了独自署名论文《The Deep Learning Revolution and Its Implications for Computer Architecture and Chip Design》,17页pdf论文,长文介绍了后摩尔定律时代的...
Jeff Dean是Google检索系统的架构师,在这个主题演讲中,Jeff讲述了Google在10年中,Google检索系统的演变和发展。本文档包含中英文,中文由银杏泰克有限公司 郝培强翻译。
jeff dean 的讲稿,精华中的精华
Google Jeff-Dean-Large Scale Deep Learning 大规模深度学习
Quote of Jeff Dean. Very easy easy to read and use.
Jeff Dean:智能计算机系统的大规模深度(中文版).pdf
Jeff Dean 2013年斯坦福大学技术讲座
谷歌大牛Jeff Dean经验分享,如何借助TensorFlow构建大规模智能深度学习系统。
2016 ScaledML会议演讲合辑:谷歌Jeff Dean讲解TensorFlow,微软陆奇解读FPGA(附PPT)
这个是Google Brain大牛Jeff dean讲课视频的ppt,讲述了目前google目前在人工智能方面的研究和进展。视频地址 https://www.youtube.com/watch?v=HcStlHGpjN8&feature=youtu.be
发布于 终端版本可从cheat.sh/latencies获得 $ curl cheat.sh/latencies 如果您接受了拉取请求,很高兴推出新版本!
DZ模板 迪恩资讯媒体课程干货(dean_flyi_170116)+商业版
多车队列控制算法,实现了三辆车的分布式模型预测控制
这是一个记录列表,用于记录日常学习和有关分布式系统和数据库的阅读。 Sanjay Ghemawat,Howard Gobioff,梁信德。 2003。Google。 谷歌。 杰弗里·迪恩(Jeffrey Dean),桑杰·格玛瓦(Sanjay Ghemawat)。 。 ...
专知之前报道过Google AI Jeff Dean独自撰文的关于AI时代芯片的历史发展趋势-【Google Jeff Dean独自署名论文】深度学习革命及其对计算机架构和芯片设计的影响,讲述AI芯片发展历程与未来,但学术业界一直缺乏对当前...
01迪恩资讯媒体课程干货(dean_flyi_170116)+商业版+X3.2+价值298元