Hennessy与Patterson双双进驻Google,是计算机科学新时代的曙光
2018-02-05 09:36:05
  • 0
  • 0
  • 0

来源: 矽说 | 作者:AI自动写作机器人

John Hennessy和David Patterson在计算机架构领域可谓是无人不知无人不晓,他们的成就包括MIPS,RISC,RAID,以及两人合著的经典教科书《计算机体系结构:量化研究方法》。今天Google的母公司Alphabet宣布John Hennessy将接替Eric Schimdt就任董事长。而在这之前,David Patterson就已经开始在Google担任杰出工程师,主要从事硬件架构方面的研究工作,Google的TPU 2就有Patterson的贡献。

John Hennessy(上)与David Patterson(下)可谓是计算机体系架构领域的传奇人物,RISC,MIPS,RAID等多项重大成就

看到经典教科书《计算机体系结构:量化研究方法》的两位传奇作者多年后在Google再次双剑合璧,大家一定都会期待接下来会发生什么。事实上,Alphabet选择Hennessy做董事会执行主席,看中的估计主要是其丰富的管理经验(其担任斯坦福大学校长的经历就是一个很好的例子);但是Hennessy的技术背景一定会对Alphabet以及Google未来的方向带来一些自己的印记。

Google归根到底是一家计算机科学公司

目前虽然Google在人们的眼中是一家互联网公司,而其CEO Pichai则宣布Google是一家AI公司。然而,Google的底色其实是计算机科学,多年来一直没有变过。

什么是计算机科学(computer science)?大多数人说起CS,第一个想起的就是写代码,刷题,等等。事实上,计算机科学=软件+硬件,两者缺一不可。Google的代码和算法确实全球第一,但是它从来也不缺乏硬件色彩。最早Google刚创业时,面临搜索请求量过大而服务器数量不够的问题。当时,互联网传统的做法是使用商用服务器,这种服务器无论是购买还是维护成本都非常高,以当时Google的财力无法大规模部署商用服务器来解决计算能力问题。这是,Google天不怕地不怕的工程师选择了使用低成本的计算机配合合理的运行管理去做服务器,而最后事实证明这些低成本计算机工作地相当好!于是,就在Yahoo等传统搜索引擎还在慢慢行动时,Google靠硬件上的创新以很低的成本解决了搜索引擎算力问题,在提升用户体验的同时快速抢占了市场。在这之后,Google的MapReduce算法名扬天下,一举解决了大规模计算可扩展性的问题。MapReduce解决的是如何在大规模硬件上高效率地执行计算,是算法和硬件的完美结合——在这里,硬件和软件都是系统不可或缺的一部分,都得到同样的重视。正因为如此,数据库算法的教材会教授MapReduce,而计算机体系结构的教材也会讲MapReduce。

可以说,Google是真正得到了计算机科学精髓的公司,知道硬件和软件都是计算机不可或缺的部分,也不可偏废。所以,Google会选择去自己开发芯片来满足自己的计算需求(如TPU),而不是像其他互联网公司那样把自己限定在软件层。

摩尔定律成明日黄花,异构计算正在兴起

现在其实是计算机科学领域非常重要的转折时期。为什么这么说?因为在这之前的1980~2010年,摩尔定律仍然处于其全盛时期,“18个月处理器性能翻番”的范式统领着计算机科学界。正因为CPU如此强势,因此在那个时候,软件更关注如何在通用处理器上完成运算,编程中硬件被抽象到根本看不到。

然而,到了今天,摩尔定律遇到了技术和经济上的双重瓶颈,处理器性能的增长速度越来越慢,然而社会对于计算能力的需求增速却并未减缓,甚至在移动应用、大数据、人工智能等新的应用兴起后,对于计算能力、计算功耗和计算成本等提出了新的要求。传统的完全依赖CPU的计算机已经无法满足现有的需求,因此异构计算(heterogeneous computing)则又回到了人们的视线中。与完全依赖于通用CPU及其编程模型的传统软件编写模式不同,异构计算的整个系统包含了多种基于特定领域架构(domain-specific architecture, DSA)设计的处理单元。每一个DSA处理单元都有负责的独特领域并针对该领域做优化,当计算机系统遇到相关计算时便由相应的DSA处理器去负责。相比CPU必须覆盖所有的计算类型,由于DSA处理单元只需负责少数几个领域的计算,因此可以把优化做到极致,同时计算效率也远高于传统CPU。目前非常流行的AI芯片就是DSA处理单元的一个例子,相比于传统的CPU可以实现百倍以上的计算能力提升以及万倍以上的能效比提升,可见DSA处理单元的优势。可以说在CPU的潜力挖掘见底的今天,异构计算将会成为下一代计算力提升的新范式。

Google的新计算机科学

Google一直是异构计算的践行者,TPU就是异构计算在人工智能应用的一个很好例子。而Hennessy和Patterson也是异构计算的忠实拥护者和布道人。在Hennessy和Patterson去年春天斯坦福大学的演讲中,他们明确表达了异构计算将会是下一代计算范式的观点(详见RISC-V与DSA! 计算机架构宗师Patterson与Hennessy 演讲实录)。因此,在他们两位宗师会师Google之后,我们可以预期Google会在异构计算上有更多的投入以及相关技术诞生。

Hennessy和Patterson在去年斯坦福的演讲中反复强调DSA和异构计算的概念

根据以上思路,我们也可以做出一些其他有趣的推理。首先,我们预计未来Google会推出更多有特色的硬件,而且Google将会在底层芯片上也有更多自己的设计,就象我们在Pixel2手机里看到的IPU(详见)。而AI更是一个非常适合异构计算发挥的场景——一方面,基于深度学习的AI对于计算能力要求很高,因此需要异构计算才能达到算力需求;另一方面,为了把AI普及到生活的各个角落,还必须有能够高效率计算AI算法的边缘计算芯片和硬件。AI+异构计算将会成为Google未来的主题。其次,异构计算中每一个DSA处理单元的编程模型都会有所不同,这也对程序员的能力提出了新的要求。一个典型的例子是今天常见的Nvidia GPU使用的CUDA,想要完全释放出GPU的计算能力,在编程时必须熟悉其硬件编程模型。在异构计算时代的程序员必须对于算法和硬件模型融会贯通,才能写出高质量的代码。因此,未来程序员还必须要懂硬件!Hennessy和Patterson去年春天斯坦福大学的演讲中也提到过,未来编程工作会比现在更复杂,因为要考虑硬件才能实现高效代码。正如Hennesy所说,“The easy ride of software is over”。

 
最新文章
相关阅读