因為機緣巧合,我和新聞中這個少年的創業公司一起工作了兩週,對他們的思路也算有一定了解。
事情是這樣的,這個少年在某學術會議上發言,由於思路和我導師比較相近,就被引薦給了我導師。由於我導師對 memory 方面很在行,而他們的長處在於微處理器架構,於是就導師把他們邀請到我們課題組工作了兩週,雙方取長補短。新聞中的這個 Thomas 和他的 CTO Paul 兩個人過來的。他們昨天的飛機剛飛回加州,這兩週有不少有意思的事兒,暫且不表。先認真答題。
首先他們的 Target 是 High Performance Computing(高性能計算,以下簡稱 HPC,主要應用於超算),而不是我們日常用的 General Purpose Computing(通用計算)。而 HPC 這個領域做芯片的一大優勢,就是很少用考慮向前的兼容性(對比於 x86),而且可以針對大多數 HPC 應用的特點對架構進行特別的優化。誇張點説,就是根據軟件的行為設計硬件,砍掉一切不需要的部件,從而達到效率最大化。另外他們所説的指標,應該是從系統層面來比較的,而非單個芯片進行比較。
下面根據他們公開過的資料説一下他們一些獨特的思路。
採用 VLIW (Very Long Instruction Word)架構。簡單來説就是幾條並行的流水線,可以同時執行多條指令。由於超算應用中有大量的並行運算(矩陣向量運算等),因此非常適合並行化,採用 VLIW 流水線利用率比較高。相比於 multi-issue,out of order 的通用芯片,硬件邏輯可以更簡單。很多 DSP 芯片都是採用 VLIW 架構,可以達到很高的(浮點)性能功耗比,已經完爆現在的 Intel 產品了,但要讓他們跑 Windows 什麼的一樣抓瞎。。所以題主在這裏用 Intel 的芯片和 VLIW 架構比較是不太恰當的,畢竟設計目的不一樣,就好像比較超跑和拖拉機哪個更好一樣……耕地當然用拖拉機了~~
完全擺脱虛擬內存!這個聽起來好像瘋了,但其實在超算領域反而 make sense,因為超算一般一次只跑一個程序,或者很少的程序,很少需要 context switching。因此一個地址空間夠用了。而傳統的通用芯片因為支持虛擬內存,不知要做多少無用功。去掉虛擬內存和 paging,硬件上就不用 TLB 了,系統層面也不用再不停維護 page table 了。這是很大的開銷,尤其是超算集羣,相互訪問內存是很麻煩的。
砍掉 Cache,採用軟件管理 Scratchpad Memory。這個聽起來也是瘋了。。傳統的芯片都是有 Cache 的,cache miss 和 coherence 是架構設計者永遠的痛。而超算領域,寫超算應用的人一般都是知道自己在幹嘛(know what they're doing)。於是他們的芯片裏會有一部分訪問速度會很快的 Scratchpad Memory 代替 cache,但只不過是由程序員手動管理而非交給硬件管理的。這樣也可以砍掉相當多的硬件電路,效率也更高。
採用 2D-Mesh,static routed 網絡。這一點是他們的初始思路,但討論過後發現可能會有問題,所以他們現在其實也還不是很確定以後會不會這麼做。所以這點也不展開了。
如果以上幾點能做到的話,比現在採用 Intel CPU+Nvdia GPU 的超算超算省電真心不是一點半點。當然他們的思路比較激進,不知道後面會遇到怎麼樣的問題,不過現在看來還是很可行的。
最後默默感嘆一下,雖然這兩位少年都很謙虛且平易近人,但是那種智商和能力上的碾壓讓我真正體會到了人和狗的差距 T T
感覺大家對八卦都更感興趣麼,補充一點好了
CEO 是一個 19 歲的娃,高中都沒讀完就輟學了,然而因為太耀眼還是被 MIT(麻省理工學院)相中去!做!科!研了!!注意,不是被 MIT 錄取讀本科讀 PhD,是直接去 MIT 做!科!研!了!在 MIT 工作了大概兩三年以後辭職創業,現在才 19 歲!!!
我們第一次見他的時候並不知道他才 19,只是看他滿臉青春痘應該還是挺年輕的。。有一天工作之餘大家開始討論《權力的遊戲》(別説我們工作不認真啊),後來説唉第一本書是哪年出的啊?谷歌了一下,《冰與火之歌》第一卷出版於 96 年,然後這位少年嘀咕了一句“That's older than me”……我們其他人就……
説他是天才,智商是一方面,關鍵是 19 歲就有如此強大的知識儲備和洞察力。平時工作的時候,我們這些研究新生只能和他討論一些技術層面的細節問題,但一旦他提起一個什麼 idea,多半還是得和我們導師或者組裏的大師兄才能聊得來。。他對 Computer Architecture(計算機系統結構)這方面的歷史瞭解的非常多,經常能講出一些他出生以前就發生的事兒。。
後來有一次聊天得知他家就在硅谷當年 DEC 的工廠附近(現在很多人都沒聽説過 DEC 了吧),周圍住的基本都是工程師,父母是做什麼的我沒有問不過十有八九也是做 IT 的。我覺得他年紀這麼小就有如此強大的積累和敏鋭的直覺,和他的家庭成長環境是分不開的。
CTO Paul 沒有 CEO 那麼耀眼,不過也是很聰明,從小就是代碼小神童的感覺。大學只上了兩年就輟學加入 Thomas 的創業公司,但在此之前他就已經是 Linux Kernel Contributor 了。。CEO 對他的評價就是"he learned Linux before he was born"。我們工作的這兩週他説話比較少,就是埋頭寫代碼,專注程度讓我羨慕。但我們一旦有點能請教他的技術問題,打斷他一下分分鐘就給我們解決……
兩個娃人都很 nice,完全沒有恃才傲物的感覺。能跟他們合作也是很開心。