谷雪梅:Google在云计算方面成绩和思考

  作者:谷雪梅
2010/12/16 13:33:48
今天非常高兴能够我来到这个场合和大家一起分享一下Google在云计算技术方面的一些成绩还有一些思考

本文关键字: 谷雪梅 Google 云计算

大家好!今天非常高兴能够我来到这个场合和大家一起分享一下Google在云计算技术方面的一些成绩还有一些思考,我今天演讲的提纲主要涉及到几方面:

一、云计算的规模与极端

二、云计算平台设计挑战

三、Google云计算基础技术

四、Google云计算新技术

我们讲到云计算且不管是什么样的商业要求,回归基本的话,三个要求一是要有数据存储、二是要有计算的能力,三是工作的调度,怎么在几万台机器之间的进行任务的调度及时最后的结果达到额快和最好。

Google在存储方面做了Google文件系统,这个工作是比较早期的,是2000年左右开发,2003年在国际上SOSP上面发表,它的基本理念是我们不介意用非常差的硬件,但是要用可以承受所有软件来管理这些硬件,为了满足这个要求,我们会把所有的数据分三份存在所有的机器上面,同时在比较高级的机器上会存Master,会让Master来管理。最后会和Master交流得到所需要的数据。这个文件系统虽然看上去很简单,但是事实上它是对于传统文件系统的革命,因为在之前比较常用的NSI备份不会做这么多,而这个备份维度可以满足大规模系统的需求。除了存储我们有了进一步的要求,希望存储能够像数据库一样,这就是Google的Big Table,就是一个网站,怎么存在一个Big Table里面,就是我们做一个网站的名字,后面存储相关的内容。所以大家可以看到,如果全世界有100亿个网页的话,这个大表格应该有多大呢?所以在Google的Big Table系统里面主要涉及到两个重大问题,一个是内存管理,因为你是不可能把这个表格放到一个数据中心里面,我们怎么样把几十万台机器的内存用很有效地方式管理起来,这是非常大的技术挑战。但是这个Big Table也是在几年前向全世界计算机界进行了发表,大家有兴趣可以看一下。我们讲了数据的存储以后,下面就是计算,Google传统的做法就是是MapReduce,大家想一想Map就是对每一行进行操作,Reduce就是对最后结果的列进行操作,这个概念不是新概念,已经有二、三十年的历史,但是Google在这方面的贡献就是把它变大,可以让它在很大的数据中心量级上进行运行,同时Google对于硬件的要求很低,所以它需要用软件实行。

在刚才讲到的MapReduce里面我们Google要进行什么样的计算,比如说这是月球的距离、太阳系、银河系等等,最后Google可以做的计算里面,现在可以到达千万亿级的计算。所以,我们如果对于计算做一个比较,一般来讲科学计算是很少、精确度很高,但是数据量很小,大家一步一步往下排可以搜索到非常大的用户,Google现在在全世界支持了10亿以上的用户,它精确度要求并不是非常高,因为有的时候如果一个用户不能被满足的话,用户可以重新申请一次,刚才银联的郝先生和华胜天成的杨总讲的情况不太一样,因为在刚才的情况里面如果你需要金融服务操作的话,可能会对精确度要求更高一点,所以有时候我们做云计算系统设计的时候也要考虑到你所需要提供的服务是什么样子的,根据这个服务可以反过来设计你的系统,有的时候精确度需要高,可靠度需要高,这个问题就不那么严重。对Google来说,精确度、可靠度并不是那么高,但是用户数和每秒钟需要处理的量级是很大的。

下面稍微介绍一下在Google这种做搜索引擎的公司,Google如果做云计算平台涉及的挑战和基础技术。首先,看一下样本平台,一个计算机可以提供多么大的Rack,一个计算中心可以有多少,刚才讲过Google有36个数据中心,这个数据可能不是准确的,但是我觉得可以讲的是Google的数据只要有需要就可以随时用,如果在世界某个地方有用户请求过来,我们就可以非常方便的去调整我们的计算中心。

我们来看一下,如果对计算机的单机来说,它对存储和网络用户的要求反映是怎么样的?随着从单机变成计算机机架的话,对用户请求的能力会成倍的增长,但是对于Latency的要求变化不会太大,计算中心会达到下一个层次的水准,所以我们认为在云计算中主要的能力,尤其是对搜索引擎来说最大的好处还是对用户请求能力成倍的增长。虽然我们有这样的要求,可是在设计方面随着计算机数量的增长,会有非常多的挑战,下面我也想在几方面跟大家分享一下。

首先是能耗,刚才两位嘉宾也在讲,随着世界对IT更多的要求,在过去30多年里面对能源的消耗已经增长了两倍,亚太区是增长的非常快的,有两个原因:一个是经济的增长速度;另外一个是对能源方面的理解,还有一些工作没有达到世界上最好的水准。比如说拿油当量作为一个单位,如果用你的电脑一个小时会需要20克,就是说用电脑一个小时可以做100次query,是非常耗能源。如果你喝一瓶啤酒需要500多克query,可见喝啤酒还是非常耗费query的。电源的使用效率,的确在大多数的云计算数据中心里面使用效率基本上是2.0,其中有50%的能源是消耗在IT正常计算上,另外50%消耗在必需或者无用的工作上,比如说冷却等等。Google经过十年的发展基本上可以做到1.16,就是说其中有86%的能源是用来做和用户query相关的计算,这1.16亿是不是所有的云计算中心都可以做到的?答案是不是。原因是有的时候你要根据自己的应用,比如说像金融类的应用就不应该一位的追求PUE,因为你对用户的可靠性和精确性的要求,远远比搜索引擎要高,所以当我们做系统设计的时候应该把这个考虑进去。另一方面来讲,假如说如果需要做离线的处理,比如说像计费,就可以用比较高的PUE,因为不必再白天用户请求高峰期的时候请求处理,可以放到夜里没有什么用户的时候去做,这样就可以保持比较平均的峰值。

在电源处理方面我们还有很多创新,比如说在Google现在新的数据中心的设计方面,有的时候会考虑把数据中心放在比较冷的地方,像放在欧洲的北部,在做冷却的时候就不需要用冷却水进行,而是可以利用当地的气温让它自然的冷却。比如说在比利时的数据中心就用了这种方式,可是有一年比利时夏天很热,在这种情况下数据中心不能够支持所有的计算,因为机器的温度已经太高了,这时候也需要用云计算的软件,用工作的调度来把比利时数据中心所有的query调到另外一个数据中心区,这是设计架构的考量,我们公司内部在这方面做了很多的优化。

故障恢复,刚才两位演讲人都有提到,因为当数据中心大了以后故障是不可避免的。我给大家举一个数字,比如说任何一台机器SOA是99.9,如果一个计算中心里面有1万台这样的机器,它的意义是什么呢?意义就是至少一年有1000次的计算机故障,折合每一天有3次故障,针对这些故障我们应该怎么办?我们如何用软件的方式、用自动的方式把它处理。其实故障恢复是一个比较传统的计算的话题,所以我们能够做的是在下面几方面:

一是数据的复制,刚才我也稍微提到了。

二是Checkpoint,当你完成一个任务以后,就把之前所有的数据进行备份,如果之后计算机再发生故障的话,可以恢复到前面的Checkpoint,重新进行计算。

另外,对搜索引擎的处理,比如说所有的机器不需要完全的一致,只要有差不多一样的结果就可以了。

最后是新程式设计模型,这个主要和我们的业务相关,因为我们需要对全世界所有的网站进行处理,所有的Query更多的是并行计算,而不是像一些非常复杂的业务逻辑,需要进行串行处理。

最后跟大家分享一些新的技术,在我讲这页以前跟大家探讨一下,公有云和私有云,Google是一个公有云的系统,不做私有云,这个跟我们的业务模式相关。虽然Google可以卖自己的数据存储,可以卖计算能力,甚至我们可以卖DaTa,我们可以知道今年在法国热卖的东西是什么,我们可以知道在海地自然灾害以后当地人最大的需求是什么,我们都可以知道。这是因为我们业务模式的关系,不太可能跟所有的用户或者各大企业进行分享。因为我们能够做的是什么呢?我们能够做的是一个平台,在这个平台上面所有的互联网的用户,或者各个企业可以把自己的业务模式建立在上面,可以使用Google的后台为他们提供技术的支持。跟Google做一个比较类似的对比是亚马逊,他们愿意卖存储、卖计算,在这方面两家公司的理念也稍有不同,我不是说谁对谁错,只是各自的理念不同,Google的理念是做一个非常坚实的基础架构,在这个架构之上可以为所有的用户和企业提供应用级的云计算支持,而不是直接卖基础架构。

刚才讲到新的技术思考,最新的文件系统叫Colossus,在这里进行下一代集群级文件系统的分布,使用新的数据读写的技术,主要是算法方面的改进,可以进行数据移动的预测,进行优化和移动。所以针对这个文件系统我们就有能力服务下一代的互联网,因为互联网在过去十年里面数据的量级有了成倍和几十倍的增长。

另外,随着云计算中心的开发,随着我们拥有越来越多的数据,这些数据到底能够给我们提供什么样的智慧?这也是Google思考很多的问题,有的时候一个非常精确非常先进的算法,并不一定能给人们带来非常好的结果。原因是它可能在小一点的数量级的情况下会表现的很好,但是随着数量的增长,有的时候看上去很笨很简单的算法,反而会得到很不错的结果。举个例子,这五条线是五个算法,小数据量是黄线指示的算法,随着数据量的增长,大家可以看到星星的部分迅速的会超越其他所有的算法。

比如说Google的翻译,当我们有全世界1/10的互联网数据量的时候,翻译的准确度大概在52—54%之间,当你有了全世界50%的数据量的时候,准确率就可以超过60%,这个自动算法可以帮助全世界的人用自动的翻译机制做前人做不了的工作。

Google的趋势,比如说无论在中国还是在美国,每年大家要想知道这个社会上发生了什么事情,健康领域发生了什么事情,可能需要等卫生部每个季度的季度报告告诉大家过去三个月在全国范围内什么地方发生了什么病,可是有了搜索引擎之后就不用那么麻烦了,比如说今天互联网上很多人在搜流感,第二天搜索引擎会看到昨天搜索流感的Query数据量有了快速的增长,实际上这是给我们一个暗示,说明流感这种病最近准备爆发。所以,我们看到这张图,这2009到2010年间搜索流感的词在美国的分布,很明显在2009年10、11月间达到高峰,说明在那个时候美国流感很流行,而美国卫生部什么时候可以告诉大家这个信息,可能需要在圣诞节之后才可以。所以大家比较关心自己的健康,可以看一下Google的趋势,看一下是不是北京正在爆发流感。

我今天的演讲到这里就结束,最后给大家总结一下Google的思考,Google是公有云技术背景,我们希望建立全世界最大的互联网云计算平台,这个平台不光是可以给我们的搜索引擎提供服务,同时希望在上面做一个应用引擎,这个应用引擎可以让用户、企业发挥自己的创造性,在很大的互联网平台上做一些创造性,或者为你的客户或者世界上其他的用户提供更好的服务应用。

谢谢大家!

责编:张欢
vsharing微信扫一扫实时了解行业动态
portalart微信扫一扫分享本文给好友

著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
最新专题
IT系统一体化时代来了

2009年Oracle 用Exadata服务器告诉企业,数据中心的IT服务一体化解决方案才是大势所趋,而当前企业对大数据处理的..

高性能计算——企业未来发展的必备..

“天河二号”问鼎最新全球超级计算机500强,更新的Linpack值让世界认识到了“中国速度”。但超算不能只停留于追求..

    畅享
    首页
    返回
    顶部
    ×
      信息化规划
      IT总包
      供应商选型
      IT监理
      开发维护外包
      评估维权
    客服电话
    400-698-9918