工程院院士孫凝暉:電腦系統的演進規律,從求極致到求通用|CNCC 2021

  • 2021 年 12 月 24 日
  • AI

整理 | 琰琰

編輯 | 青暮

12月16日,第十八屆中國電腦大會(CNCC2021)在深圳隆重開幕。今年大會主題是「計算賦能加速數字化轉型」,設有17個特邀報告、3場大會論壇、113場技術論壇,超過600位中國外電腦領域知名專家、企業家聚焦不同專業和話題,從學術、技術、產業、教育、科普等方面,全方位探討數字經濟與計算技術的前沿發展趨勢。

開幕當天,CCF會士、CCF常務理事、CCF王選獎獲得者、中國工程院院士、中國科學院計算技術研究所研究員孫凝暉做了題為《從工程科學視角看電腦系統中的一個規律》的特邀報告。在報告中,孫凝暉從工程科學中的基本方法出發,分析了電腦系統中「求通用」的基本規律,介紹電子電腦和高性能電腦成為通用設備的技術發展過程,最後探討了未來通用計算平台和高性能電腦的發展趨勢和可能的重要創新。

在他看來,工程科學的基本規律牽引著高性能電腦等大工程的發展。從工程科學概念性、關鍵性、共同性的視角來看,工程系統的建構目標遵循兩大典型規律,即求極致和求通用。通過計算攝像顯微儀器和手機成像技術兩個案例分析,孫凝暉認為求極致系統的突破點在於抓主要矛盾,再結合新理論和新工程技術來突破關鍵指標。而求通用系統一般是一個鬆散耦合結構,關鍵在於刻畫描述問題,並將其映射到關鍵工程結構設計中去,再結合技術的時空局限性構建系統。

在歷史性回顧中,孫凝暉從工程科學視角總結了從算盤時代,到機械計算工具,再到通用型電子電腦繁榮發展的關鍵轉折點和突破原因。結合自身研究工作,孫凝暉回顧了從求極致的超級電腦到求通用的高性能電腦的發展過程,總結了構造通用高性能電腦的工程科學基本方法。最後,他預測,未來的先進計算系統在概念性、關鍵性、共同性三個方面會呈現出以下特點:(1)在概念上系統熵把無序變為有序;(2)以數據為中心,具備內構安全特點的高通量計算系統會成為新的關鍵性結構;(3)系統的共同性將從以數據建模為中心的第四範式邁向以建模複雜系統為核心的第五範式。

以下是演講全文,AI科技評論做了不改變原意的整理:


1

為什麼要從工程科學視角看計算系統?

今天的報告主題是從工程科學視角看電腦系統中的規律,與大家一起來探討指導高性能電腦這樣大工程的科學原理或者規律是什麼?我們一般從電腦理論和數理基礎出發來思考工程科學的規律,那麼,我今天試圖從工程科學規律視角來看這樣大的電腦系統。

2017年底,兩院院士鄭哲敏先生髮表了一篇文章《從錢學森的技術科學思想談起》,從這篇文章中,我得到一些啟示。這篇文章談到在科學發現的早期,科學和技術沒有嚴格的區分,以牛頓為例,他既是力學三大定律的提出者,也是劍橋大學物質結構研究的科學家。到了19世紀,科學和工程開始分道揚鑣,背後的原因是自然科學本身沒有一個完整的體系,加上很多科學理論對工程的實際貢獻有限,所以,大多工程師只採用純工程的方法來解決問題。後來到了20世紀中期,自然科學和工程技術再次緊密聯繫在一起。特別是二戰期間,火箭、雷達、核武器,這些裝備都是大工程,它們不是依靠工程實踐積累和經驗判斷設計出來的,而是需要大量的自然科學作為依據,是科學家和工程師密切合作的產物。所以工程科學、自然科學和工程技術,三者之間的聯繫本質上是非常緊密的。

工程技術雖然是對自然界事物的經驗累積和對製程的改進,但把其中的一些共性經驗和理論提煉出來,就可以形成工程科學理論或者具有普遍意義的規律;而工程科學對技術科學的成果加以分析和提高就有可能成為自然科學的一部分,比如工程式控制制論。

鄭哲敏先生在這篇文章指出:「技術科學與工程技術的區別在於,每項工程涉及各種各樣的具體技術問題,而技術科學是研究其中概念性、關鍵性、共同性的規律,給出一些工程上解決類似問題的共同方案。就是說,技術科學對工業技術有著引導的作用,能極大地促進和推動工程技術的發展。」簡單來看,我們可以把它稱為「三性」,分別是概念性、關鍵性和共同性。

今天我想用這三大類方法來看一下電腦系統中的典型規律,我稱它們為求極致的規律和求通用的規律。我們做大工程的系統建構主要有兩個大目標,一個叫求極致,在特定維度或者核心技術上突破最高、最大、最快的技術極限,開拓科學研究的新疆界,比如,類似的工程有最快的超級電腦,最重的重型火箭,或者最大口徑的望遠鏡,這類系統通常在學術研究中比較普遍。

另一個叫求通用,這類系統的設計要求約束多,可快速迭代,使用範圍廣,可兼容性強,比如我們的手機攝影機,汽車工業,民航客機,高性能電腦,這些都是求通用的典型系統,一般工業界對類似系統的建構更感興趣。這兩類系統在相互促進和相互轉換的過程中,也存在一些內在規律。

我舉兩個例子,一個求極致的例子是戴瓊海院士在《自然-光子學(Nature Photonics)》雜誌上發表的一項研究工作,這項研究將光學、微電子、電腦視覺以及訊號處理等學科交叉,提出了一種顯微成像新架構,研製了「實時超寬場高解析度成像顯微鏡」,各項研究指標都達到了極致,比如1厘米x1.2厘米的超寬頻視場,1.2微米的高解析度,51億像素每秒的數據通量。這一工作為生命科學和醫學研究提供了一件「利器」。

另外一個求通用的例子是我們非常熟悉的手機成像技術,它不追求每一個單項指標都達到極致,而是用軟硬一體化來補短板,佔據除了專業相機以外的市場。它通過影像訊號處理器( ISP)彌補硬體在單項指標上的不足,讓成像器件,影像計算硬體和處理軟體協同進步,並通過快速迭代實現性能提升。

我簡單總結了一下這兩類系統建構的一些基本方法。

求極致的關鍵是抓主要矛盾,再結合關鍵的科學理論和工程技術突破指標上的極致,形成緊耦合結構,最後整合所有技術,訂製系統內部需要的部件。

求通用系統在概念性上是一個多問題,需要對多個問題進行刻畫和描述;在結構上通常是鬆散耦合的,需要對工程結構做最優映射;在共同性上要克服短板,解決技術的時空局限性等問題。



2

從算盤、電子電腦走向HPC的繁榮之路

接下來,我首先回顧一下計算系統的發展歷程。從工程科學的規律的角度,我們把視角拉遠一些,我們觀察到這樣一條曲線,從最早的算盤,發展到電子電腦,再到現在的高性能電腦,中間出現了三個頂峰,三個山坡。這三個頂峰分別代表機械計算工具、超級電腦和未來Z級電腦。比如我們最早的算盤,爬到了機械計算工具的頂峰,因為有了一些規律,走到了通用電腦的繁榮。但這些系統在演化的過程中,究竟需要什麼樣的規律?這是我們需要思考的。

我先來介紹第一個曲線,這是一個歷史的回顧,我們如何從算盤發展到通用的電子電腦。

  • 如果做一個簡單的羅列,人類歷史上第一個人造計算工具誕生於中國公元1200年前,在它出現之前,我們只有數學(算術),沒有Computing(計算)的概念。

  • 第二步,帕斯卡和萊布尼茲發明了機械式加法器(1642)和乘法自動電腦(1673)。

  • 第三步,1801年,傑卡德發明了首個可編程織布機——通過穿孔卡對織布機進行編程。

  • 第四步,1837年,巴貝奇設計了差分機與分析機,雖然在工程上沒有徹底實現,但已經可以完成非常複雜的計算,比如通過多項式逼近對數、指數和三角函數。

  • 第五步,1843年,世界上第一位程式設計師愛達設計了一個演算法,用來計算伯努利數列的值。這是第一個利用電腦進行運算的演算法程式。

  • 第六步,機械計算工具到了頂峰。二戰期間,圖靈為了破譯密碼設計出「圖靈甜點」解碼機。

至此機械式計算工具達到了工程技術積累的巔峰,直到出現了三位偉大學者,他們的發明奠定了現代通用電腦工程科學的三大基石,分別是:

  • 在概念性上的圖靈機模型:提出了能夠自動執行程式的通用計算裝置的科學原理。

  • 在關鍵性上的馮諾依曼體系結構:為圖靈機的實現提供了一個通用的體系結構——所有電腦分為輸入設備、存儲器、運算器、輸出設備5個部分;採用存儲程式方式,將指令和數據存儲於同一存儲器。

  • 在共同性上的肖克萊電晶體:能夠實現電腦的數學基礎布爾代數的開關器件。

從歷史的發展中,我們可以看出,如果工程技術僅僅是一個無限的經驗積累,大概會止步於機械計算工具的巔峰,也就是圖靈甜點機。

第二條曲線,從超級電腦到高性能電腦時代。

我們經常會混淆這兩個概念,想一想我們為什麼會發明兩個名詞來說明一件事,可能就是對於計算工具,我們永遠希望它的計算速度越快越好。在歷史上,高性能計算裝置可以簡單分成三個時代:在 CRAY時代,通過部件的並行向量化來提高性能;在MPP時代,通過大規模並行和訂製化組件,把機器性能做到極致;在機群時代,利用三大規律把一個高端的裝置變成通用的計算部件。

這些過程是如何發生的?一個極致的計算裝置如何變成一個通用的計算裝備呢?

從概念性、關鍵性和共同性三個方面來講,我們認為應該有以下三點變化:

  • 在概念性方面,要有一個牽引型的目標,也就是評價標準從求最大極值轉變為最大積分;

  • 在關鍵性方面,機群架構應該是鬆散耦合結構+標準化的部件;

  • 在共同性方面,性能工程要採用通用結構,並達到極致性能。

我們超級電腦一般以單一的極限指標作為評價指標,任何一台電腦,先設計一個目標,誰的性能更高,誰的技術就更強。在歷史上有很多這樣的指標,比如LINPACK(1993)、Graph500(2010)、Green500(2013)、HPCG(2014)、HPL-AI(2019)。追求這些單一指標的「極值」顯然不是求通用的一個驅動力。超頻追求的是計算能力,也就是求一個點的「極值」,讓所有指標在訪存計算比和飽和性能的二維結構里,一條線達到最高。但真正的通用,是需要反映非常多的計算和訪存特性的,所以光一個點求最高是不夠的。那麼,如果要造一個通用的容量計算系統,從線到面,我們就需要一個類似於「積分最大」的系統,高效支撐多種應用。這是第一個變化。

第二個變化體現在關鍵性,也就是機群結構。機群結構需要有三個的基本條件,第一是結構是鬆散耦合的;第二是每個組件要可標準化。如果部件是訂製化的,可能不能適應通用的應用場景;第三是高性能計算的要求,如果採用標準的組件一般不太容易建構出高性能的系統,所以還要有一系列性能可拓展的方法。三者加起來才能做到通用高性能電腦。時間關係,我們簡述一下標準化的幾個關鍵點。第一個是「造」標準化,把機群基礎軟硬體貨架化,包括軟體標準化、硬體標準化、互聯標準化;第二個是「送」標準化,讓用戶可以「容易」獲取算力;第三個是「用」的標準化,通過屏蔽不同層次的細節實現「用」 的目標。

一般來講,從基礎庫和函數抽象,再到框架/領域編程方法來實現標準化,會帶來所謂的「軟體腫脹」,性能損失非常大,所以我們需要通過性能工程來獲取一個極致的性能,這也就是剛才提到的第三個變化。到目前,通用結構獲取極致性能的調優方法經歷了三個階段。早年使用的是單一模型方法,由圖靈獎得主Fra Allen在2006年提出的性能優化模型。後來隨著負載特徵變得更加複雜,美國工程院院士Jack Dongarra設計出了軟體工程方法。而目前採用的多是智慧調優技術,以應對更加碎片化的負載特徵。



3

電腦系統的未來趨勢

首先講一下通用計算系統,也就是計算系統如何變得「更通用」?我們認為主要是要形成「平台型計算裝置」。電腦系統存在一個通用趨勢或規律,我們稱之為「X as a Computer」,就是每隔10年就會出現一類新的電腦系統,包括新的編程平台、新的網路連接,新的用戶介面,新的使用方式。它們更廉價,應用範圍更廣泛,形成了新的平台型通用電腦裝置。

如果我們把過去60年形成的規律加以總結,大致可以分成三個時代。

首先是IT 1.0 時代,我們把專用計算裝置變成了高性能電腦(Calculator as a Computer,CaaC),服務國家部門實現了資訊化;把專用的製表裝置變成了一個通用伺服器(Tabulator as a Computer,TaaC),實現了企業的資訊化升級。

其次是 IT 2.0 時代,在這個時代里,人類社會和機器在現實世界有了交互,稱之為Communication時代。我們把專用辦公設備用到PC端實現了辦公資訊化(Office as a Computer,OaaC);把專用通訊設備移植到智慧手機(Phone as a Computer,PaaC ),實現了消費者的資訊化。

我們現在正在一個「人機物」三元融合的萬物智慧互聯時代,也可以成為IT 3.0時代。我們將為創造的各種設備,比如人造汽車,人造車床,智慧硬體,提供一個「物端通用電腦(Thumb Computer)」。除了人造設備外,我們人體和自然物體也可以資訊化(Body as a Computer)。這樣整個世界和物理世界統一同一個龐大的資訊網路空間里。

按照上面的規律,我們發現在求通用設備的泛在演化的過程,形成了當前資訊社會的五個成功的平台型計算裝置:(1)用於關鍵部門的高性能電腦;(2)企業級伺服器;(3)員工使用的PC;(4)大眾智慧手機;(5)工控/武器裝備使用的嵌入式電腦。未來可能還會出現第六個平台型計算裝備。

第二,未來高性能計算這一類追求極致性能的系統的發展有哪些共性方法,是否有章可循?

我們認為關鍵在於Z級電腦如何提高系統能效。當前求通用的高性能電腦撞上了一堵能耗牆,計算能力每增加10倍,能耗曲線就會上移一個台階,也就是說,算力提升過程產生了巨大的能源消耗。2020年《Science》曾發表一篇文章,從新結構、新器件、新製程和應用驅動四個維度總結了幾種創新解決方案。

比如在製程創新上,從現在的積體電路發展到集成晶片,利用Chiplet等技術突破單晶片電晶體數量的上限。

在器件創新上,通過超導電子器件把高頻率運行系統的能耗降到最低。比如基於超導約瑟夫森結實現的布爾邏輯計算系統,運行頻率可以達到100GHZ,具有極高的能效。

在模型創新上,通過自然計算將對應問題解演化為最低能量態。這裡所說的自然計算,是利用相似性原理模仿自然規律,或利用物理材料,構建自適應、自演化的動力系統,近似求解傳統計算方法難於解決的高階複雜問題。

在結構創新上,到底最少有幾個XPU?回歸到電腦科學的三個基本問題,思考巴貝奇自動計算問題、布希廣義關聯問題和圖靈測試問題,也許我們有三種基礎的xPU,比如SPU、DPU、NPU,通過三者組合能夠覆蓋所有應用場景的計算需求。其中,SPU結構可以解決計算訪存特徵的差異性;DPU結構解決數據通路的全局有序控制問題;NPU能夠對機器學習負載運算加以抽象化,以及數據頻寬自適應的神經元。

借用1991年 Bruce G. Buchanan發表的一篇報告,報告中提出任何一個計算系統都可以通過兩個維度,劃分成四個象限(橫坐標代表確定性和啟發式演算法,縱坐標表示符號計算和數值計算),那麼每個求通用系統、求極致系統都是其中的一個圓圈。如果我們把剛才提到的計算系統發展的3個時代、7個通用系統以及面向不同應用場景的求極致系統彙集在一張表格里,我們就可以從中發現每個系統的一個定位。

最後,如果未來求極致的電腦系統實現了,下一個更加繁榮的通用系統會是什麼?這個問題現在來看可能還太遙遠,但我們不妨做一個大膽的猜想,從工程科學的三個基本方法來看,我認為首先在概念上,「系統熵」會讓系統從無序變到有序,這是現在AIoT發展帶來的一種顯著需求。在關鍵性方面,未來的系統結構應該以數據為中心,實現數據處理的內構安全,我們用「高通量」來代表這類技術。最後在共同性上,我們要解決複雜系統的建模問題,並從過去以數據建模為核心的第四範式,轉向以建模複雜系統為核心的第五範式。

這就是我今天報告的全部內容,謝謝大家。


推薦閱讀

GAIR 2021大會首日:18位Fellow的40年AI歲月,一場技術前沿的傳承與激辯

2021-12-10

致敬傳奇:中國並行處理四十年,他們從無人區探索走到計算的黃金時代 | GAIR 2021

2021-12-09

時間的力量——1991 人工智慧大辯論 30 周年紀念:主義不再,共融互生|GAIR 2021

2021-12-12

未來已來,元宇宙比你想像中來得更早丨GAIR 2021

2021-12-12

雷峰網雷峰網