TOP500榜單十年解析:以異構並行之石,築先進計算之路

回想起上學的時候,每個人都遇到過下面兩種場景:

場景1——老師:卷子批完了,班長上來拿了發下去。

場景2——老師:這是這次要做的新卷子,來第一排的我每人給你們一疊,都往後傳一下。

毫無疑問,第一種場景費時費力,我們總是焦急的期盼著班長的到來,更心心念念自己的分數;而第二種場景的效率不言而喻,每個人都可以自己動手,真正做到了“各盡所能,各取所需”。

要是用計算機的語言來解釋,第一種就是傳統意義上的串行計算,而第二種則是我們現在最常用、也最為主流的——並行計算。

TOP500榜單十年解析:以異構並行之石,築先進計算之路

之所以說並行計算主流,是因為目前我們聽到的包括雲計算、大數據、物聯網等許多應用都是基於並行計算的架構來實現的。只是在這個架構中,不同的平臺承擔了不同的責任,也就有了更為細化的分支。比如最熱門、最頂尖的深度學習、神經網絡、人工智能等一系列“黑科技”所使用的並行計算,就是一種異構計算,全稱為——異構並行計算。.

我們今天,就來聊聊這個異構並行計算的好處。

異構十年,滄海變桑田

最近10年異構發展到底如何?為了回答這個問題,我特意查詢了世界頂尖計算力的代表——TOP500超算排行榜。作為一年兩更的榜單,TOP500如今已經進行到了第54屆(2019年11月更新),並得到了整個計算產業的關注與認可。這次我所研究的,就是從2010年到2019年這10年間異構計算的發展變化。

很遺憾的是,在2010年提供的兩屆TOP500名單中,我並沒有看到異構計算平臺的身影。並非這其中不存在異構系統,而是當年的TOP500組委會還並沒有意識到異構計算會成為一種趨勢。直到一年後,也就是2011年,組委會才正式在榜單中增加了Accelerator/Co-Processor(加速器)選項。

所以,我發現最近10年(其實只有9年)的異構計算發展趨勢是這樣的——

TOP500榜單十年解析:以異構並行之石,築先進計算之路

這裡大家看到的同構平臺就是採用單一架構的平臺,也就是我們日常說的“純CPU”平臺,而異構平臺則是採用了包括Intel、NVDIIA、AMD等各種加速器在內的其他平臺,這裡都統計在內。

很顯然,從2011年開始,異構計算就已經成為了頂尖計算機的架構選擇之一,而經過多年發展這種趨勢愈演愈烈,其數量也從最初的幾十臺發展到了現在的150臺,幾乎佔據了榜單的三分之一;相應的同構平臺比例是在不斷下降的,從早期的90%以上下降到了如今的70%左右。

那麼異構計算是憑空出現的嗎?當然不是。在2011年的榜單統計之前,許多頂尖計算機也在嘗試使用異構計算平臺,並獲得了相當大的成功。2010年11月的榜單上,僅就前十名來說就有包括中國、日本、美國等三個國家的4套系統都採用了異構計算平臺,或許也是看到了這樣的趨勢,從2011年6月的榜單開始,TOP500的發起機構——國際高性能計算質詢委員會就開始將“加速器”一項正式納入統計,而不再糾結於這些系統是採用MPP還是Cluster架構。

TOP500榜單十年解析:以異構並行之石,築先進計算之路

由此看來,別看異構計算已經如日中天,也別看雖然早在80年代就有人提出了異構計算的概念,但是真正納入應用領域也不過就是十年的時間。從這個趨勢來看,我們現在還處於異構計算的上升階段,距離“山頂”還很遠。

都叫異構計算,有啥不一樣?

正如文章開頭我們強調的,當下許多應用都是基於異構計算實現的。雖然人工智能已經成為了我們發展的絕對動力,特別是前幾天“新基建”概念的提出還明確了人工智能的重要地位,但是就構成人工智能的三大要素來說,計算力的提升還需要多種平臺的共同參與,甚至也出現了“一超多強”的局面。

一直以來,x86都是計算力的主力,特別是從上世紀90年代開始,x86平臺在與RISC的競爭中脫穎而出,進而佔據了絕對主力的位置。在剛剛展示的TOP500圖表中,我們看到了異構計算所呈現出的上升趨勢,但是這並不意味著異構計算與x86平臺的矛盾關係——恰恰相反,如今越來越多的異構系統都由x86平臺構成。

TOP500榜單十年解析:以異構並行之石,築先進計算之路

這張表格呈現了最近10年TOP500排行榜的架構趨勢,從這裡我們也可以明顯的看到x86平臺佔據絕對的領先優勢,即便是最低的2012年也有373套,而在最新一期的排行中這個數字變成了474,佔比為94.8%。與x86平臺的表現相反,一直被業界期待的包括ARM在內的“其他”架構成績慘淡,甚至上榜設備沒有達到過兩位數,幾乎可以忽略不計。

當然,TOP500榜單中的系統只有500臺,不可能概括所有的計算機類型。但是就這業界頂尖的500套系統來說,很顯然最主流的平臺依然是x86。或許正如10年前我們曾經遇到的那樣,過幾年後回頭再看這個榜單,可能增加了一些ARM或者RISC-V的身影,但x86在可預見的未來依然是當之無愧的王者地位。

究其原因還在於x86生態系統的完善,這裡我們所指的生態系統包括了底層的硬件平臺,比如CPU和GPU,還包括了中間層的操作系統和最上層的應用程序,還有千千萬萬的用戶和服務於這些用戶的集成商、供應商。正是有著龐大的生態系統和體系,才讓x86平臺能夠繼RISC之後成為最重要的計算機應用平臺,並將繼續下去。

TOP500榜單十年解析:以異構並行之石,築先進計算之路

從這個層面來說,x86平臺已然成為了並行計算的代名詞。同樣是在這個表格中,我們看到曾經代表RISC的POWER平臺份額從最高的58套逐漸縮小,而在最新一期的榜單中這個數字已經變成了14套,同樣是少得可憐。

從RISC架構到x86架構,從串行計算到並行計算,從同構計算到異構計算……這種變化趨勢代表了近十年來計算力的發展方向,基於x86平臺的異構計算也成為了計算產業的絕對主流。而如何能夠掌握異構計算技術,如何利用異構平臺的協作,也成為了我們面向未來世界的最大挑戰。

以練促學,加快複合型人才培養步伐

如何打造先進計算的平臺?我想這個問題每個人都有自己的答案,但可以肯定的是,未來的先進計算平臺應該是多種計算能力的“混搭”,也是基於x86平臺這“一超”基礎上,藉助於GPU、FPGA、ASIC等等芯片的協同工作,實現“多強”的計算格局。換句話說,先進計算平臺不是單打獨鬥,而是恰當的、有序的團隊協作。既然是團隊協作,不僅僅需要出色的軟硬件平臺,也更需要能夠操控這些平臺的工程師或管理者。

TOP500榜單十年解析:以異構並行之石,築先進計算之路

毛主席早就教導我們說:決定戰爭勝負的不是一兩件新式武器,而是人。在計算機領域,這個道理更為明顯。計算機所採用的CPU和GPU都是市場上公開銷售的產品,而如何能夠讓這些產品有效的運轉起來,達到1+1>2的效果,才是真正的差距所在。

這也就需要人才特別是跨專業、跨學科的人才培養。中科院計算所研究員張雲泉曾這樣描述計算人才的培養難題——人才短板問題至今仍未解決,由於人工智能、大數據運算的普及,人才的需求缺口更大,所以我們需要更多的並行計算人才來加速信息技術的發展。

TOP500榜單十年解析:以異構並行之石,築先進計算之路

我們有眾多的雙一流、211、985高校,也有世界一流的研究所,為什麼我們在計算領域的人才還是如此缺乏呢?這裡我們可以舉一個例子——比如當下熱門的自動駕駛技術,研發人員一方面要熟悉計算機知識,懂得如何使用機器學習和深度神經網絡;另一方面還要了解機械原理、空氣動力學等相關知識,這樣才能夠保證在無人駕駛的時候汽車處於安全、穩定、節能的狀態,才具備現實性的“上路”可能。

這就是複合型人才培養的現實難題。不過可喜的是,許多高校也正在進行這方面的嘗試,比如在本科階段選拔一批出色的計算機專業人才,並在後續的研究生和博士生階段對他們進行相關學科的專業培訓;與此同時,包括中國科學院、中國計算學會高性能計算專業委員會在內的許多部門和機構也都在不定期組織各種比賽和培訓活動,提升學生的學習興趣和實操技能。

日前,中國科學院發起主辦了中科院“先導杯”並行計算應用大獎賽。本次“先導杯”並行計算應用大獎賽由中科院院長白春禮擔任名譽主席,旨在建立和完善中國先進計算產業生態,突破計算機軟件環境與學科應用等方面的瓶頸,培育高水平技術交叉型人才。

TOP500榜單十年解析:以異構並行之石,築先進計算之路

在賽制上設有設置基礎算法、人工智能、應用三個賽道,涵蓋經典算例、神經網絡和AI\\機器學習,商業應用等多個方面的考察;通過實時競技、在線排位、線下總決賽的方式進行,最終,成績出色的參賽者將參加線下的總決賽角逐,包括現場演示及答辯環節。

更重要的是,大賽面向全社會開放,包括國內各大高校學生及教師,中科院系統內各研究院所、院屬大學專家學者、學生及教師,亦或是熱愛編程的社會人士均可報名,正如中科院網絡中心副主任遲學斌所說的那樣:“大賽會讓更多人認識到高性能計算有什麼樣的作用,讓更多的人來了解、 更多感興趣的人今後從事這方面的研究,意義重大”。

十年前,我們藉助於異構計算,實現了跨越式的發展和計算機零的突破,成為了全球範圍內的計算大國;而如今,我們更希望的是在完善硬件的基礎上,在軟件與應用層面下功夫,通過產學研的協同發展、通過不間斷的複合型人才培養,在未來的5到10年中實現從計算大國到計算強國的轉變。

十年發育,而十年教訓,二十年之外,誰其為沼乎!


分享到:


相關文章: