由于本文受到大家热烈的欢迎,所以今天根据其他人的一些笔记来对本文进行补充,并在最后附上相关的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的名字是如雷贯耳的存在,作为Google技术的高级副总裁,他不仅在分布式系统和大规模计算领域有着深厚的研究,而且亲自参与了多个重要系统的构建,其中包括Google的搜索引擎、大...
Jeff Dean本科学位论文,阐述了分布式ANN训练方案。对后续Tensor flow有参考。
综上所述,Jeff Dean在WSDM09的主题演讲中涵盖了构建大规模信息检索系统所面临的各种挑战,包括分布式计算、数据存储、索引构建、实时性以及机器学习的运用。这些内容对于理解现代搜索引擎的工作原理和技术趋势具有...
6. 算法设计:文档提到了Jeff Dean创建了一个O(1/n)算法,这可能是一种创新的算法设计思想,实际上并不存在这样的时间复杂度,这可能是在强调算法优化的重要性。 7. 产品维护与质量:Jeff Dean度假时,Google的生产...
本文将基于谷歌高级研究员Jeff Dean的一次演讲内容,深入探讨谷歌在构建大规模分布式系统中的设计思路、遇到的问题以及相应的解决方案。 #### 系统架构概述 在构建大规模分布式系统时,硬件基础设施的选择至关重要...
杰夫·迪恩(Jeff Dean)的演讲稿深入探讨了构建大规模分布式系统的设计、教训与建议,这份资料堪称是IT领域内精华中的精华。作为谷歌的一位资深研究员,Jeff Dean在分布式计算领域的经验和见解对业界有着深远的影响...
### Jeff Dean - 大规模深度学习与TensorFlow #### 背景介绍 Jeff Dean是一位在人工智能领域享有盛誉的专家,他在Google Brain团队中担任重要角色。本篇演讲主要聚焦于利用大规模数据集和计算资源推动神经网络技术...
Jeff Dean 智能计算机系统的大规模深度学习 Jeff Dean 是 Google.ai 的副总裁兼研究员,他在深度学习领域具有极高的权威性。他的演讲“智能计算机系统的大规模深度”(中文版)为我们带来了极为宝贵的信息。在该...
计算机界神级人物、谷歌人工智能主管Jeff Dean发表了独自署名论文《The Deep Learning Revolution and Its Implications for Computer Architecture and Chip Design》,17页pdf论文,长文介绍了后摩尔定律时代的...
在本段节选自Google工程师Jeff Dean与同事们合作研究的《大规模深度学习》文章中,描述了构建更智能计算机系统的复杂性以及大数据、机器学习、深度学习在其中扮演的角色。Jeff Dean是Google的高级研究员和副总裁,他...
杰夫·迪恩(Jeff Dean)在2013年的斯坦福大学技术讲座中深入探讨了大规模数据与计算领域面临的挑战与机遇,特别是在谷歌的计算环境背景下的分布式系统架构。讲座内容围绕着如何应对大数据中心的全球分布、硬件资源...
Jeff Dean分享了他在谷歌工作期间使用TensorFlow框架构建大规模智能深度学习系统的经验。TensorFlow是谷歌开发的开源机器学习库,广泛用于训练和部署深度学习模型。它支持多种语言,并且可以在多种平台上部署,包括...
在2016年的Scaled Machine Learning (ScaledML)会议上,两位业界巨擘——谷歌的Jeff Dean和微软的陆奇——带来了关于最新技术的精彩演讲。这次会议的重点是探讨大规模机器学习的发展与应用,特别是深度学习领域的...
这个是Google Brain大牛Jeff dean讲课视频的ppt,讲述了目前google目前在人工智能方面的研究和进展。视频地址 https://www.youtube.com/watch?v=HcStlHGpjN8&feature=youtu.be
"interactive_latencies"项目由杰夫·迪恩(Jeff Dean)提出,他是一位知名的Google工程师,以其在分布式系统和大数据处理方面的贡献而闻名。这个项目专注于研究和可视化网络应用的交互延迟,帮助开发者更好地理解和...
标签还可能暗示文章会包含关于云计算、大数据处理和分布式系统设计的深刻见解。 文章内容部分的片段提供了关于谷歌底层系统软件设计的实例。首先,提到了分布式文件系统Google FileSystem(GFS)的设计概念。GFS是...
基于云计算平台的分布式KNN分类算法的设计与实施 本文提出了一种基于云计算平台的分布式KNN分类算法,旨在解决传统KNN算法无法处理大规模数据的问题。该算法基于Hadoop分布式计算平台的MapReduce框架,能够高效地...
标题"multi_car_dean.rar_分布式预测_车控制_队列 车_预测控制"揭示了一个与多车控制系统相关的项目,它利用了分布式预测控制策略来管理车队的行驶。描述中的"多车队列控制算法,实现了三辆车的分布式模型预测控制...
本演讲的核心在于解释为什么减少延迟对于提供高效的服务至关重要,并提出了几种处理大型分布式系统中延迟问题的方法。 ### 更快就是更好 Jeff Dean强调,对于用户而言,更快的响应时间总是更受欢迎的。这是因为更...