当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Google 披露自己的成功技术秘诀

Unix/Linux
Linux基础知识99问(一)
剖析Linux系统启动过程
Linux日志式文件系统面面观
Linux的引导过程剖析
Linux环境下使用JFS文件系统
Linux环境下的ReiserFS文件系统
Linux环境中使用Ext3文件系统
Linux环境下使用XFS文件系统
解析Linux特殊文件
Linux操作系统内核编译详解
Linux中BSD套接口开发的基础介绍
Linux内核模块和驱动的编写
如何编写Linux设备驱动程序
编写Linux实用程序的艺术
分析Windows和Linux动态库
Linux环境下的高级隐藏技术
Linux操作系统发展简史
混合使用Linux和Windows
浅谈linux操作系统的优化及安全
轻松解决 Linux操作系统故障恢复技巧

Unix/Linux 中的 Google 披露自己的成功技术秘诀


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 41 ::
收藏到网摘: n/a

Google 成功的搜索引擎幕后的技术英雄非常简单:解决 PC 崩溃问题。
  美国加利福尼亚州伯林格姆当地时间本周三,Google 负责技术和运营的副总裁 Urs Hoelzle 在 EclipseCon 会议上透露了 Google 数据中心运行的一些秘密。许多人都认为, Google 在运行数据中心方面的经验比其搜索算法更宝贵。   
  Google 能够以数以百万美元计,而不是数以千万美元计的资金构筑其计算基础设施的秘密是:购买相对廉价的计算机。通过研究硬件成本,Google 的技术人员发现,购买一些高端服务器的成本要远高于数十台更简单的“大众化”服务器。这种策略的难题就在于使这些硬件协调地运行,确保一台计算机的故障不会影响任务的执行,例如返回搜索结果或显示广告。   
  Hoelzle 说,我们考虑到了家用 PC。家用 PC 因软件和硬件缺陷而造成的崩溃每 3 年才会发生一次。他说,如果拥有数千台 PC,每天有一台 PC 崩溃是很正常的。因此,最好是能够以自动的方式解决这一问题,否则服务肯定会出现问题。   
  Google 已经开发了大量的软件工具,来完成计算设备的安装。它开发了被称为“Google文件系统”的文件系统,能够处理 64MB 大小的数据块。更为重要的是,它能够应付随时可能发生的磁盘或网络故障。Hoelzle 说,我们开发了容错软件。如果有应付故障的措施,PC 就完全可以担负提供互联网服务的重任。Google 数以千计的 PC 服务器运行一种基于 Red Hat 版本的简化版 Linux,该版本只是针对 Google 专门修改的操作系统内核。  
  Google 还设计了一种能够处理海量数据、迅速响应查询的系统,它将整个 Web 划分为数以百万计的 Google 的技术人员称之为 shard 的小块儿。Google 创建了一个出现在 Web 上的词汇的索引,但它还有大量的文档服务器存储收集的网页。   
  据 Hoelzle 称,Google 另一个重要的技术创新是,使在数以千计的服务器上运行的软件的开发非常简单。通常情况下,开发在并行服务器上运行的应用软件需要专门的编程工具和技能。名为 MapReduce 的这款编程工具对于 Google 降低成本是非常重要的。Hoelzle 说,成本是购买设备的成本和编写软件的编程时间之和。从去年开始,Google 已经开始大面积使用 MapReduce 编程工具。

  Google 还开发了批量任务调度软件。名为 Global Work Queue 的这款软件能够将计算工作分解成许多更小的任务,并将它们分配给各台计算机完成。  
   Hoelzle 表示,尽管考虑了故障问题,但这还不能解决所有问题。在演讲中,它展示了用于应对 Google 数据中心发生的紧急事件的6辆救火车的照片。   
  在接受 CNET News.com 采访时,Hoelzle 表示,电力成本是 Google 的数据中心设计中的另一个重要因素。他说,不包括人力成本在内的运行成本直接与电力成本相关。电力是降低数据中心运行成本的一个因素,我们不但要降低设备采购费用,还需要降低运行成本。