Hennessy與Patterson雙雙進駐Google,是計算機科學新時代的曙光

John Hennessy和David Patterson在計算機架構領域可謂是無人不知無人不曉,他們的成就包括MIPS,RISC,RAID,以及兩人合著的經典教科書《計算機體系結構:量化研究方法》。今天Google的母公司Alphabet宣布John Hennessy將接替Eric Schimdt就任董事長。而在這之前,David Patterson就已經開始在Google擔任傑出工程師,主要從事硬件架構方面的研究工作,Google的TPU 2就有Patterson的貢獻。

57017a3b-9d39-4821-9d98-aafba195fc77.jpg

John Hennessy(上)與David Patterson(下)可謂是計算機體系架構領域的傳奇人物,RISC,MIPS,RAID等多項重大成就

看到經典教科書《計算機體系結構:量化研究方法》的兩位傳奇作者多年後在Google再次雙劍合璧,大家一定都會期待接下來會發生什麼。事實上,Alphabet選擇Hennessy做董事會執行主席,看中的估計主要是其豐富的管理經驗(其擔任斯坦福大學校長的經歷就是一個很好的例子);但是Hennessy的技術背景一定會對Alphabet以及Google未來的方向帶來一些自己的印記。

Google歸根到底是一家計算機科學公司

目前雖然Google在人們的眼中是一家互聯網公司,而其CEO
Pichai則宣布Google是一家AI公司。然而,Google的底色其實是計算機科學,多年來一直沒有變過。

什麼是計算機科學(computerscience)?大多數人說起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”。