中國高通量計算機的自主研發之路

中國高通量計算機的自主研發之路

範東睿1 葉笑春1 包雲崗1 孫凝暉1

1 中國科學院計算技術研究所

隨著網際網路技術的迅猛發展,高效能計算的主要應用從傳統的科學與工程計算為主逐步演變為以資料處理為核心,這給傳統高效能計算機體系結構帶來巨大挑戰的同時,也使高通量計算應運而生。文章從應用特徵出發闡述了高通量計算與傳統高效能計算的差別,並探討了高通量計算的基礎理論、關鍵技術,以及中國科學院在高通量計算核心晶片及系統領域的研究成果;以期透過高通量計算機關鍵技術的研究與突破,為緩解我國核心晶片“卡脖子”的問題,以及為構建智慧萬物互聯時代的新型高效能計算平臺作出貢獻。

近年來,隨著網際網路技術的迅猛發展,網際網路每天產生的資料量呈爆炸式增長。以幾個典型公司為例:淘寶網每天交易達數千萬筆,其單日資料產生量超過 50 TB;百度每天大約要處理 200 億次搜尋請求,處理資料量達數百 PB;騰訊網日覆蓋人數超過 1。5 億,騰訊影片月總播放量達 800 億次;Facebook 註冊使用者超過 20 億,每月上傳的照片達數百億張。根據國際資料公司

(IDC)

預測,到 2025 年,全球需要管理的資料量將超過 160 ZB。如何有效對這些資料進行加工將成為一大難題。

在這種背景下,高效能計算的主流應用也從傳統的以科學與工程計算為主,逐步演變成以資料處理為核心。然而,由於網路應用及軟體技術的不同,需要處理的資料格式和產生速度也各不相同。更甚的是,諸如微博、團購、“秒殺”等網路應用的出現,給大規模資料的實時處理及 QoS

(服務質量)

提出了更高的要求。因此,網際網路技術的普及應用帶來的種種新特性給當前的高效能處理器晶片和計算機系統帶來了巨大的挑戰。

我們都知道,晶片和系統是資訊產業發展和安全的根基,儘管我國的資訊服務行業發展繁榮,但支撐我國資訊行業的核心設施卻嚴重受制於人,特別是關鍵晶片和核心繫統等方面依然面臨“卡脖子”的相關問題。當前國內資料中心的中央處理器

(CPU)

晶片市場幾乎被美國的 Intel 和 AMD 兩家公司全部瓜分,而加速器晶片則主要由美國的 NVIDIA 公司壟斷。核心技術的缺失,使得我國整個資訊產業面臨著嚴重的產業安全問題,尤其是當前中美經貿摩擦愈演愈烈,唯有科技自主方可不受制於人。

中國高通量計算機的自主研發之路

圖片源自網路

中國科學院計算技術研究所早在 10 年前就前瞻性地啟動了高通量計算機的研究工作。經過多年的科研積累,目前已經在核心晶片、計算機系統等方面形成了諸多創新成果,並已開始逐步投入產業應用。

什麼是高通量計算機

高效能計算在傳統的科學與工程計算類應用中的特點包括:任務單一,負載變化不頻繁,單個任務計算量大,以及計算區域性性好。而高通量計算在資料中心的應用則主要面向網際網路、物聯網等新興場景,其特點是:任務多樣,單個任務往往具有流式計算特徵;計算量相對不大,但任務的併發數量及資料規模巨大;以及處理要求具有實時性。

傳統高效能計算機的研製目標是提高速度,即縮短單個平行計算任務的執行時間;而資料中心類應用系統的目標是高通量,即提高單位時間內任務或資料處理的吞吐量。這種以“算得多”為效能指標的高效能計算機被稱為高通量計算機。如果給高通量計算機一個定義,那麼可以這麼描述:高通量計算機是適用於網際網路大資料等新興應用負載特徵的、在強時間約束下能夠全域性可控地處理高併發請求的新型高效能計算機。其核心特點是對併發性、實時性和確定性的保障。

高通量計算機和傳統的高效能計算機在目標應用、計算特徵和設計目標等方面都存在明確的區別

(表 1)

。然而,由於高效能計算由來已久,目前主流的通用計算機和高階計算系統的發展都深受其影響,這也使得當前資料中心主流的計算系統在針對網路服務這種高併發、強實時的高通量應用時表現出諸多不足。為了進一步理解高通量應用對計算機體系結構的需求,我們基於當前主流的高效能伺服器

(採用Intel Xeon CPU)

對典型高通量應用進行了測試,並且發現了以下一些問題。

中國高通量計算機的自主研發之路

快取資源浪費。

CPU上的共享快取

(cache)

缺失率很高,這說明高通量應用與傳統高效能計算應用的資料訪問特徵有明顯區別,傳統的多級快取設計並不適合。從面積和功耗的角度來衡量的話,共享快取作用不大,但卻佔用了大量的片上面積

(在 Intel 的主流伺服器晶片中,片上儲存所佔面積通常高達 30% 以上)

,產生了大量的功耗。

記憶體頻寬利用率低。

CPU 在 70% 以上使用率時的壓力測試下,記憶體頻寬的有效使用率通常也不到 10%。這說明,在高通量應用負載下,傳統計算機體系結構設計下的記憶體頻寬並沒有得到有效利用。

服務質量難以保障。

當增加任務的併發負載,使得 CPU 利用率維持在較高水平時,我們發現應用的完成時間迅速拉長,也即系統的尾延遲明顯增大,從而導致延遲敏感應用大量失效。因此,在傳統伺服器系統上,要想獲得好的使用者體驗,必須把硬體利用率維持在較低水平。

透過上述實驗結果我們可以看到,現有的高效能計算機系統的設計並不能很好地滿足高通量應用的新特性。因此,需要開展新型的高通量計算體系結構的研究。

高通量計算基礎理論

與傳統高效能計算以高速度為設計目標相比,高通量計算的核心是追求高通量,即算得多。具體包括 3 個核心要素,即高吞吐、高利用率、低延遲。

高吞吐。

是指單位時間完成的任務數或者響應的請求數要多。對於網際網路應用場景來說,資料中心的一個核心挑戰是要實時響應海量的併發使用者請求。以 2018 年天貓“雙 11”全球狂歡節為例,其實時資料處理峰值超過 6 億條/秒,支付成功峰值超過 30 萬筆/秒,資料中心必須充分挖掘各種並行性以應對如此巨大的實時併發處理需求。

高利用率。

是指計算機系統中的核心部件

(如 CPU、儲存器、網路等)

的利用率要高。當前大型資料中心通常包括數十萬臺甚至百萬臺伺服器,建設資金則高達數十億甚至百億美元。然而,為了確保使用者的服務質量,現有資料中心不得不將利用率控制在較低水平,因此整體利用率情況很不理想。公開資料顯示,2013 年穀歌資料中心的平均 CPU 利用率只有30%,而其他網際網路公司運營的資料中心的利用率甚至比該值還要低。可見在現有的架構下,要做到既能實時滿足使用者處理需求,同時又能達到高的利用率,是非常困難的。

低延遲。

指使用者請求的響應時間要短。網際網路上的大部分線上服務具有明顯的實時互動特徵,資料中心必須確保在給定的實時性約束條件滿足的情況下返回結果,否則會導致服務的失效。比如一些影象識別或者語音翻譯之類的人工智慧

(AI)

應用場景,通常要求響應時間在毫秒級別,這對於當前的計算機系統來講是一個巨大挑戰。

中國高通量計算機的自主研發之路

圖片源自xinhuanet。com

針對上述高吞吐、高利用率、低延遲的設計需求,我們提出一個基於“系統熵”的通量分析模型 。系統熵主要受延遲的不確定性

(波動情況)

、資源利用率和吞吐量 3 個因素影響。簡單來講,系統熵與延遲的波動幅度成正比,與資源利用率以及系統吞吐量成反比。因此,延遲波動越大,系統熵越大;資源利用率越高、吞吐量越大,則系統熵越小。類似於“熱力學熵”的用法,我們透過“系統熵”可以反映計算機系統中的易擾動程度或者不確定性。

“熵者,傷也。”高熵系統往往開銷大、成本高。相比於高熵系統,低熵系統具有更優的可預測性,能達到更高的效率、更低的成本,也更受使用者青睞。曾有人問美國能源部副部長斯蒂文 · 庫寧

(Steven Koonin)

,為什麼電能如此受到人們的喜愛?他回答道,因為電力是一種低熵能源。前文提到,為了確保使用者服務質量,現有的資料中心的 CPU 平均利用率很低,一旦利用率提高,其負載效能的波動幅度將迅速增大。因此,當前資料中心計算系統仍然是高熵系統。而高通量計算機的核心目標就是要降低系統熵,也即降低系統的不確定性;以及透過高通量計算機實現提高系統利用率和任務吞吐量的同時,避免應用的效能波動。

高通量計算關鍵技術

針對高通量計算高吞吐、高利用率、低延遲的需求,我們需要把當前計算機體系結構的設計從“速度導向”轉向“通量導向”,從而確保計算機系統在滿足高吞吐、低延遲的同時還能達到高利用率。針對上述目標,中國科學院計算技術研究所在高通量計算機研製過程中提出了一系列關鍵技術,包括高通量眾核體繫結構、高通量片上資料通路、標籤化體系結構等。

高通量眾核體繫結構

針對高通量應用中的海量併發處理需求,我們提出了 Godson-T 眾核處理器體系結構,以實現任務的高吞吐。相比於傳統多核處理器,Godson-T 採用眾核架構提供豐富的併發處理能力,並在片上網路、片上儲存、同步模型和通訊機制等方面採用創新性的設計方法,以實現任務的高吞吐和低延遲。

易擴充套件片上網路。

Godson-T 採用易擴充套件的二維網格片上網路,同時支援擁塞感知和能耗感知的動態路由演算法以實現高併發場景下的片上網路負載均衡,進而確保網路通訊的低延遲。

細粒度可配置片上儲存。

Godson-T 的片上儲存支援細粒度可配置,從而更好地適配高通量場景下複雜的資料訪問模式,降低延遲。

快速同步機制。

我們設計了片上同步管理結構,支援基於資料流的核間細粒度快速同步,相比傳統的基於記憶體的同步機制,效能可獲得數量級的提升。

可程式設計資料通訊機制。

Godson-T 提出了可程式設計資料傳輸引擎結構,可以快速實現資料的水平

(片上處理器核之間)

和垂直

(從記憶體到片上儲存)

搬運,實現了資料通訊的低延遲。

Godson-T 眾核處理器結構受到國際同行的廣泛關注,2011 年,處理器領域的知名期刊《微處理器報告》

(Microprocessor Report)

對 Godson-T 的研究成果進行了專門文章報道,並將其選入 2011 年全球十大伺服器處理器之一。

高通量片上資料通路

“通量導向”的處理器資料通路設計也是確保“高吞吐、低延遲”的關鍵,我們借鑑城市交通管理的思路開展設計。高通量計算在結構特徵、資源管理、排程策略等方面都非常類似於城市交通管理,兩者的核心特徵都是高通量,即在單位時間內完成儘可能多的處理請求,並保證 QoS,表 2 給出了兩者的類比情況。

中國高通量計算機的自主研發之路

針對應用的新特點,高通量資料通路重點在最基本的資料讀取、資料傳輸

(訪存通路)

和資料處理3個環節進行了創新。

資料讀取環節。

針對應用中的大量細粒度訪存需求,設計了基於硬體的訪存請求收集表,透過對大量細粒度訪存的收集並批次處理,同時透過時間敏感的收集視窗控制機制,避免長延遲導致的任務失效。

資料傳輸環節。

針對大量細粒度訪存的需求,提出了高密度路網的設計,從而提高片上網路的利用率和吞吐量。支援動態通路調整,能根據資料傳輸的壓力,動態調整傳輸通路配置,提高通路利用率。此外,透過直連快速網路保障關鍵資料通路的低延遲。

資料處理環節。

提出了硬體支援的全域性實時任務排程機制,將任務按照優先順序及剩餘裕度時間進行排程,有效保障任務的 QoS;同時避免對時間裕度不足的失效任務進行排程,從而確保硬體資源的合理利用。

標籤化體系結構

為了在高吞吐、低延遲的同時還能實現高利用率,我們提出了標籤化馮 · 諾依曼體系結構

(Labeled von Neumann Architecture,LvNA;圖 1)

。LvNA 的主要思想,是在經典馮 · 諾依曼體系結構之上增加一套基於標籤機制的可程式設計介面,使得匯流排與共享硬體部件支援“DIP”能力,即 D—區分

(Distinguishing)

、I—隔離

(Isolation)

、P—優先化

(Prioritizing)

,從而降低計算機系統內部因資源競爭造成的干擾。

中國高通量計算機的自主研發之路

D屬性標籤機制。

在 LvNA 中,標籤將依附於所有的資料訪問請求中,用於標識該請求來源於哪一個應用

(或應用類別)

,並隨著資料訪問請求一同在整個計算機系統中傳播。這樣,匯流排和共享硬體部件就可以透過檢查資料訪問請求的標籤來對不同應用

(或應用類別)

的請求進行區分,從而支援區分屬性

(D 屬性)

I屬性標籤機制。

匯流排和共享硬體部件可以在對資料訪問請求進行來源區分的基礎上,對請求所訪問的空間資源

(如快取、記憶體地址空間等)

進行隔離,減緩或消除因為空間資源的共享衝突帶來的干擾,從而支援隔離屬性

(I 屬性)

P屬性標籤機制。

匯流排和共享硬體部件可以在對資料訪問請求進行來源區分的基礎上,對請求所使用的效能資源

(如佇列、頻寬等)

進行優先化,減緩或消除因為效能資源的共享衝突帶來的干擾,從而支援優先化屬性

(P 屬性)

基於上述標籤機制,控制邏輯按照預先設定的規則,以標籤為依據對相應的資料訪問請求實施不同的效能調控策略。這些效能調控策略是軟體可程式設計的,並且可以做到比傳統作業系統的效能調控更為細粒度,從而對延遲敏感型應用會有更優的效能調控效果。

LvNA 對硬體的增強並不改動現有指令的語義,因此對軟體系統沒有侵入性,可以做到無須修改作業系統和應用程式。此外,LvNA 不依賴於處理器流水線結構的改動,因而可以適用於任意處理器。

高通量計算核心晶片、系統及應用

為了驗證高通量計算機在核心晶片和系統等方面的核心技術,中國科學院計算技術研究所先後研製了高通量眾核處理器——DPU-m、標籤化體系結構——“火苗”,以及高通量計算機系統——“金剛”等,並開展實際應用。

DPU-m高通量眾核處理器

我們完成了 DPU-m 高通量眾核處理器晶片

(圖 2)

的設計和流片,晶片基於 TSMC 40 nm 工藝,主要面向網際網路高通量影片處理需求。與資料處理領域的主流晶片 Intel 的相同工藝晶片相比,能效提升達 20 餘倍。

中國高通量計算機的自主研發之路

目前,基於自主技術構建的高通量處理系統在國內外均已開展部署。在國內已經進入國家計算機網路與資訊保安管理中心、中國移動、中國聯通等重要高通量網路資料監管與分析領域,有效保障了國家資訊保安。在國外也已經累計部署數千節點,服務於國家“一帶一路”倡議。

“火苗”標籤化體系結構原型系統

“火苗”原型系統

(圖 3)

是依據 LvNA 實現的 FPGA 原型系統,包括 8 個節點;基於 SiFive 公司 freechips 專案的開源 SoC 實現 Rocketchip,並在其基礎上加入了標籤化的基礎設施以及應用標籤的控制平面。該系統已整體達到國際先進水平

(美國加州大學伯克利分校於 2018 年 6 月釋出同類平臺)

,標籤化功能處於國際領先水平。目前,“火苗”原型系統已對外開放,被中國科學院深圳先進技術研究院、清華大學、北京大學、天津大學、大連理工大學、華為海思公司、美國 Clemson 大學等用於前沿研究與產品研發。

中國高通量計算機的自主研發之路

“金剛”高通量計算機

2018 年 10 月,中國科學院計算技術研究所聯合北京中科睿芯科技有限公司在中國計算機大會

(CNCC)

上釋出了首臺高通量計算機系統——“金剛”

(圖 4)

,該系統集成了該所相關團隊在高通量處理器、高通量系統、高通量軟體及應用等領域的一系列創新技術,以高吞吐、高利用率、低延遲的特性滿足資料中心基礎設施建設的新需求,在高併發音影片處理、深度學習等典型應用場景相比傳統伺服器獲得數量級的能效提升。目前,隨著高通量計算機系統的成功研製,高通量計算技術將逐步應用到國民經濟主戰場,貢獻於國計民生。

中國高通量計算機的自主研發之路

高通量計算中心建設

當前,城市公共計算基礎設施仍以超算中心和雲計算中心為主。超算中心採用的是傳統高效能計算架構,其核心是“算得快”;以交通工具做類比的話,對應的是飛機,其特點就是速度快、完成時間短。而云計算中心的核心是面對多樣化的計算需求實現“算得省”,對應交通工具中的汽車,汽車可以在絕大部分出行場景中都達到成本低和利用率高的目的。然而,飛機和汽車都存在一個明顯的侷限性:雖然,在流量較低的情況下,兩者都能確保較好的服務質量;但是,一旦交通負載快速上升時,就容易造成擁塞,導致完成時間急劇增長,難以保障服務質量。而高通量計算的核心就是要突破上述侷限性,在高負載的情況下實現“算得多”,類似於高鐵。高鐵是目前交通工具中,在高負載、高利用率前提下依然能有效保障使用者服務質量的最佳方案。

隨著使用者出行需求的多樣化,交通運輸體系也在不斷髮展完善。類似地,隨著應用需求的不斷變化,未來城市公共計算基礎設施也需要不斷髮展和完善。面對未來千億級別端裝置帶來的新需求,需要提供更高通量、更高智慧、更高確定性、更低延遲和更低功耗的計算與傳輸能力,而高通量計算中心無疑將扮演著越來越重要的角色。

中國科學院計算技術研究所正在開展高通量計算中心的建設,按照規劃,第一步將先建設1—2個高通量計算的示範中心,然後在全國重點城市開展高通量計算中心建設,逐步實現高通量計算技術與新興產業的無縫融合。目前,第一個城市高通量計算中心已經選址江蘇省鹽城市並已開展建設,由中國科學院計算技術研究所團隊負責高通量計算中心的整體方案設計、核心裝置研製和日常運營。鹽城高通量計算中心將重點支援高通量影片處理和人工智慧加速,作為服務鹽城智慧產業升級的核心公共研發平臺。

總結及建議

經過長期的努力突破,我國在高效能計算機研製方面已經取得一系列令人矚目的成果。然而我們也看到,不管是傳統超算中心,還是新興網際網路資料中心,核心晶片受制於人的現象仍然非常嚴重。

為了確保我國資訊產業的安全可持續發展,有必要以高通量計算等新興應用場景作為突破口,加強核心晶片和計算系統的自主研發和產業應用,逐步打造自主可控的產業生態。為此,本文提出以下建議。

政策方面,政府明確以高通量計算等為代表的新興技術的戰略定位。

一方面,加強以晶片和系統為代表的核心技術專項設定和科研投入;另一方面,加大國家相關部門在高通量計算相關資訊基礎設施工程的佈局和建設,針對國產化自主核心技術在全國挑選重點城市開展試點和驗證。

產業方面,整合高通量計算相關優勢科研單位、高校及企業,推進相關產業聯盟的構建。

推動以高通量影片處理、人工智慧等為代表的行業應用優先匯入產業生態。此外,針對國家“一帶一路”倡議,積極探索核心技術產品的出口應用,擴大國際影響力。

範東睿

中國科學院計算技術研究所高通量計算機研究中心主任、研究員,中國科學院大學崗位教授。曾獲中組部“萬人計劃”領軍人才和CCF-IEEE CS青年科學家等榮譽。主要研究領域包括高通量計算、眾核處理器體系結構等。

孫凝暉

中國科學院計算技術研究所所長、研究員,計算機體系結構國家重點實驗室主任、學術委員會副主任,中國計算機學會高效能計算專業委員會主任,中國計算機學會副理事長,《計算機學報》主編,中國科學院大學計算機與控制學院副院長,中國科學院資訊科技領域發展路線圖戰略研究專家組組長。主要研究領域包括高效能計算、高通量計算。

文章源自:

範東睿, 葉笑春, 包雲崗, 孫凝暉。 中國高通量計算機的自主研發之路。 中國科學院院刊, 2019, 34(6): 648-656。