隨著互聯網技術的迅猛發展,高性能計算的主要應用從傳統的科學與工程計算為主逐步演變為以數據處理為核心,這給傳統高性能計算機體系結構帶來巨大挑戰的同時,也使高通量計算應運而生。文章從應用特征出發闡述了高通量計算與傳統高性能計算的差別,并探討了高通量計算的基礎理論、關鍵技術,以及中國科學院在高通量計算核心芯片及系統領域的研究成果;以期通過高通量計算機關鍵技術的研究與突破,為緩解我國核心芯片“卡脖子”的問題,以及為構建智能萬物互聯時代的新型高性能計算平臺作出貢獻。
近年來,隨著互聯網技術的迅猛發展,互聯網每天產生的數據量呈爆炸式增長。以幾個典型公司為例:淘寶網每天交易達數千萬筆,其單日數據產生量超過?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個高通量計算的示范中心,然后在全國重點城市開展高通量計算中心建設,逐步實現高通量計算技術與新興產業的無縫融合。目前,第一個城市高通量計算中心已經選址江蘇省鹽城市并已開展建設,由中國科學院計算技術研究所團隊負責高通量計算中心的整體方案設計、核心設備研制和日常運營。鹽城高通量計算中心將重點支持高通量視頻處理和人工智能加速,作為服務鹽城智能產業升級的核心公共研發平臺。
總結及建議
經過長期的努力突破,我國在高性能計算機研制方面已經取得一系列令人矚目的成果。然而我們也看到,不管是傳統超算中心,還是新興互聯網數據中心,核心芯片受制于人的現象仍然非常嚴重。
為了確保我國信息產業的安全可持續發展,有必要以高通量計算等新興應用場景作為突破口,加強核心芯片和計算系統的自主研發和產業應用,逐步打造自主可控的產業生態。為此,本文提出以下建議。
政策方面,政府明確以高通量計算等為代表的新興技術的戰略定位。一方面,加強以芯片和系統為代表的核心技術專項設置和科研投入;另一方面,加大國家相關部門在高通量計算相關信息基礎設施工程的布局和建設,針對國產化自主核心技術在全國挑選重點城市開展試點和驗證。
產業方面,整合高通量計算相關優勢科研單位、高校及企業,推進相關產業聯盟的構建。推動以高通量視頻處理、人工智能等為代表的行業應用優先導入產業生態。此外,針對國家“一帶一路”倡議,積極探索核心技術產品的出口應用,擴大國際影響力。
-
互聯網
+關注
關注
54文章
11184瀏覽量
103695 -
計算機
+關注
關注
19文章
7534瀏覽量
88476
原文標題:中國高通量計算機的自主研發之路
文章出處:【微信號:AItists,微信公眾號:人工智能學家】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論