《工業和信息化部電子第五研究所:2023異構融合計算技術白皮書(58頁).pdf》由會員分享,可在線閱讀,更多相關《工業和信息化部電子第五研究所:2023異構融合計算技術白皮書(58頁).pdf(58頁珍藏版)》請在三個皮匠報告上搜索。
1、 異構融合計算技術白皮書(2023年)工業和信息化部電子第五研究所 2023年 9月I 編寫者 參編單位:浪潮電子信息產業股份有限公司、上海矩向科技有限公司、中國電信研究院、清華大學、中國科學院軟件研究所、國防科技大學、復旦大學、中國長城研究院、中國電子技術標準化研究院、曙光信息產業(北京)有限公司、同方計算機有限公司、上海熠知電子科技有限公司、阿里云技術有限公司、中科院計算所、紫光集團前沿技術研究院 參編人員:楊曉明、陳平、劉建、熊婧、李冬、黃朝波、廉建芳、顏秉珩、林顯成、董剛、王洲、蔡彥、陳小文、盧晶雨、任翔、劉娜、張政、李寧、崔士偉、徐揚、李璇、劉玉海、尹航、李陽、買強、張磊、張震寧、趙
2、立新、左明敏、周鵬、戴少鵬、楊蔚才、李亞軍、伍海龍、陳碩、張陽、劉占民、王佑站、閆沛浩、張淑艷、楊攀飛 版權聲明版權聲明:本白皮書版權屬于工業和信息化部電子第五研究所及參編單位,并受法律保護。轉載、摘編或利用其它方式使用本白皮書文字或者觀點的,應注明“來源:工業和信息化部電子第五研究所”。違反上述聲明者,將追究其相關法律責任。II 編者序 近年來,自動駕駛、元宇宙、人工智能等應用不斷創新發展,數據規模、算法復雜度以及算力需求爆發式增長。各類加速處理器已成為算力基礎設施的重要組件,基于CPU+xPU 的異構計算系統逐漸成為各算力場景的主流架構。然而,隨著異構計算系統的種類和數量越來越多,xPU
3、性能與靈活性難以兼顧、各 xPU 間計算孤島問題難以協同、調試和維護成本增高等問題愈發凸顯,亟需從異構融合計算方向加強理論研究和實踐探索。以人工智能發展為例,Nature Electronics期刊在 2022年 4月的一篇文章顯示:從 2018年開始,隨著 AI 大模型應用的涌現,算力需求平均每 2 個月翻一倍;摩根士丹利估計“2022 年谷歌的 3.3 萬億次搜索,平均成本約為每個 0.2 美分”,John Hennessy 表示“基于大模型搜索的成本是標準關鍵詞搜索的 10 倍”。需求的變化和成本的約束,再加上NoC(Network-on-Chip)和 SiP(System in Pac
4、kage)等新芯片技術的賦能,必將推動算力基礎架構的變革。計算架構已逐漸從目前各自為政、孤島式的異構計算,走向異構融合計算。同時,以系統設計為中心,按照應用需求來設計、定義和規劃計算架構,推動多層級技術的融合已成為當前的最佳可行方案。狹義的異構融合計算,指的是多種不同類型、不同架構處理器組成的計算架構。廣義的異構融合計算,是指通過將處理器、芯片、硬件設備、操作系統、編程框架、編程語言、網絡通信協議、數據中心等不同層次、不同類型的計算技術進行整合優化,以實現多種異構計算資源的高效利用。本白皮書旨在探討異構融合計算技術的內在機制、應用場景和發展趨勢,通過概述計算領域相關概念,回顧計算架構發展歷程,
5、分析了異構計算技術的發展現狀及面臨的主要問題,從硬件層面(芯片級、設備級)、軟件層面(操作系統、編程框架)、系統層面分別提出了異構融合計算技術的探索方案及演進方向,引出了異構融合計算技術的發展趨勢,并介紹了異構融合計算領域相關的實踐案例。同時,指出了異構融合計算發展面臨的挑戰:一是,處理器架構的限制,可擴展性和靈活性難以滿足,計算孤島問題凸顯;二是,當前的編程框架、編程語言、及其他編譯/調試工具,不足以支撐高效的異構代碼編寫、優化和管理;三是,系統集成和互操作性技術要求高,難以構建統一的系統視圖以支持跨平臺的開發和部署。在此,對參與本白皮書編制的各位專家表示衷心的感謝。我們相信,白皮書將為讀者
6、提供一個新的視角和思考方式,希望讀者能夠結合實際應用場景,對異構融合計算相關技術進行深入探索和研究。白皮書內容,不可避免會存在諸多不足,懇請各界專家批評指正。III 推薦序 1 當今,數字化技術作為科技與產業新一輪變革的核心驅動力,正在加速各行各業轉型升級,一個以計算能力為基礎的萬物感知、萬物互聯、萬物智能的數字經濟時代正加速到來。在這一進程中,算力作為數字經濟的核心生產力,由單一算力演變為多樣性算力,如何實現多樣性算力的高質量協同,已成為新型算力基礎設施領域亟需突破的關鍵問題。異構融合計算技術白皮書針對現有算力基礎設施無法滿足算力需求的問題,深入刨析了異構計算應用場景特點以及計算架構異構演進
7、歷程,提出了異構計算發展所面臨的問題,引入異構融合計算的概念,并分別從硬件、軟件、系統三大層面概述了異構融合趨勢和關鍵技術,系統全面地論證了異構融合計算如何解決傳統異構計算的問題,并為多樣性算力高質量協同提供了全面的技術體系梳理和的技術發展趨勢判斷。中國電信作為云網領域的中央企業,全面深入實施“云改數轉”戰略,充分發揮云網融合優勢,與產業鏈上下游廣泛協同,積極打造云智、訓推一體,云網邊端協同的分布式算力基礎設施。本白皮書為算力基礎設施建設和算力賦能提供了相關技術指引和參考,從基本概念到實踐案例,再到未來展望和發展建議,具有較高的實踐指導價值,我們相信該白皮書能夠為相關企業和研究機構提供有益的啟
8、示,我們也期待我國在異構融合計算領域取得更多突破。-陸鋼 中國電信研究院云網運營技術研究所副所長 IV 推薦序 2 數字化時代,創新應用爆發式增長,傳統單一架構計算平臺已難以滿足多樣性算力需求,異構融合計算技術的提出顯得尤為重要。該白皮書深入淺出地解析了異構融合計算技術的內涵與外延,讓我們對這一技術的概念、應用和發展趨勢有了更清晰的認識。在硬件層面,異構融合計算技術是指將不同類型的處理器(如 CPU、GPU、FPGA 等)融合在一起,實現多種處理器的協同工作,以實現更高效、更靈活的計算能力。本白皮書通過研判芯粒級、設備級的技術融合趨勢,為實現更高計算能力、更高能效比、更低算力成本的算力硬件實現
9、,提供了一種實現方案。在軟件及系統層面,闡述了硬件架構優化、操作系統優化、算法定制、統一編程框架、編譯器優化等軟硬件高效協同設計的思路,這一點對硬件和軟件開發都具有重要的引導意義。盡管異構融合計算這一技術還存在一些挑戰和問題,但隨著技術的進步和應用的深入,我們可以預見異構融合計算技術將在更多領域得到應用和發展。我們有理由相信這一技術將帶來更多的社會和經濟效益。因此,希望未來的研究能夠繼續關注這一領域的發展動態,以推動異構融合計算技術的進一步創新和應用。-陳艷軍 中國移動通信集團有限公司信息技術中心部門副總經理 V 推薦序 3 計算力就是生產力,智算力就是創新力。智慧時代的大幕徐徐拉開,無論被動
10、或主動,我們都將見證智算賦能千行百業,助力效率呈百倍、千倍提升的歷史時刻。以 ChatGPT 為代表的 AI應用,開啟了人機結合的新篇章,它的意義不亞于蒸汽機引發的工業革命,甚至可以媲美人類語言的誕生!然而,AI 算力的猛增,也讓 IT 基礎架構面臨著前所未有的挑戰。感謝組織方和各位參編人員,適時地推出了這份前瞻且系統的異構融合計算技術白皮書。從計算領域相關概念出發,系統梳理了異構計算的背景和發展歷程,剖析了異構計算面臨的問題,進而引出異構融合計算的提法,在硬件、軟件和系統層面進行了充分闡釋,最后給出了展望和建議。全文較好地遵循了以系統設計為中心的理念,結合融合架構這一發展方向,指出了異構融合
11、計算的三條演進路徑:需要在硬件層面實現芯片級和設備級的技術創新,需要在軟件層面實現跨平臺的編程框架和運行環境,需要在系統層面實現數據中心、網絡、算力的融合,具有很強的指導意義。白皮書最大的亮點在于提出了“異構融合計算”的前瞻性概念,強調實現更深層次的協同,突破各異構系統之間的鴻溝,實現通用性和高性能的更高統一,這一觀點前瞻性強,值得業界關注。異構融合計算通過多元融合的軟硬件協同,實現大規模計算資源池化,更好地為新型應用提供高性價比的算力服務??傮w來說,白皮書對異構融合計算的概念闡釋和技術路線給出了參考,相信在實踐中還需要不斷豐富和發展。希望大家能夠攜手并進,共同推動異構融合計算理念的傳播,并在
12、產業中得到更廣泛的應用,為中國的算力產業和數字經濟的發展添磚加瓦。-葉毓睿 元宇宙產業委副主任委員兼聯席秘書長 VI 推薦序 4 異構融合技術是一種將不同種類、不同架構、不同性能的計算或處理單元融合在一起的技術。這種技術的目標是充分利用各種硬件的優勢,以實現更高的性能、能效或功能擴展。異構融合技術通常涉及不同類型的處理器、加速器、存儲設備等的協同工作,以滿足日益復雜的計算需求。從整體出發,“以系統為中心”是異構融合的指導思想,浪潮信息的融合架構 3.0 是其中的典型代表??偟膩碚f,異構融合技術在不同領域都發揮著重要作用,幫助實現更高效、更強大的計算能力,從而推動了科學、技術和應用的發展。因此,
13、本白皮書的提出具有非常重要的指導意義。在本白皮書中,編者詳細介紹了異構融合的概念、應用場景、現有問題以及未來發展趨勢。編者還從需求分析的角度出發,深入探討了異構融合技術在不同領域的應用和需求。這些案例涉及不同領域,包括人工智能、高性能計算等,可以幫助讀者更好地理解異構融合的應用和價值??偟膩碚f,這本白皮書對異構融合技術進行了全面的介紹和分析,為讀者提供了深入的了解和洞察。同時,編者也進一步探討了異構融合技術的挑戰和問題,以及未來的發展趨勢和應用前景。-趙雅倩 浪潮信息體系結構研究部副總經理 VII 推薦序 5 以人工智能 ChatGPT 為代表的大模型出現,標志著人們對大算力平臺的需求缺口從趨
14、勢性預警變成迫切的現實。在計算平臺的半導體 PPA、多層級數據訪問架構、總線網絡計算負載比重等方面,現有以 CPU 為中心的計算架構難以應對大算力、高能效的算力擴展需求的挑戰。圍繞“如何讓數據每一跳都產生更多價值的高效能算力架構”科學發展問題,出現了的諸如算網融合、存算結合的多種新型 xPU 處理器架構,異構融合計算技術正是在這一背景下應運而生的一種創新解決方案?!爱悩嫛笔侵赣嬎阗Y源或技術具有不同的體系結構、指令集、算法、工作模式等?!叭诤稀笔侵笇⒉煌N類的計算資源或技術進行組合和優化,以實現更高效、更穩定的計算效果?!爱悩嬋诤稀眲t包含硬件層面(芯片級、設備級)軟件層面、系統層面的軟硬件協同,
15、既有傳統軟件的硬件化卸載,也有總線和網絡級的融合,整體上形成多種獨立的xPU 計算引擎間的異構融合互補,甚至表現出一些顛覆性的架構創新,它將引領計算技術的新一輪發展。異構融合計算技術白皮書(2023 年)首次從芯片、整機、集群各層級,系統全面的闡述了異構計算技術全棧的歷史、現狀和前沿探索情況。通過深入淺出的方式,作者讓我們了解到異構融合計算技術在提高計算性能、降低功耗以及節約成本等方面的優勢。結合實際案例分析,我們更加確信該技術在未來的發展前景。希望能引起異構計算業界對融合創新技術的關注和討論。-闞宏偉 紫光集團前沿技術研究院 AI&HPC團隊首席專家、團隊總經理 VIII 推薦序 6 當前信
16、息產業挑戰與機遇并存,數字經濟的發展和 AI大模型的涌現奠定了算力的生產力、數據的生產資料地位,同時云計算、領域專用架構(DSA)、開源和 AIoT 技術迅速崛起,種種跡象都在提醒,當前正在孕育著新一代信息技術大變革,我們必須抓住大變革機遇,篤志創新、順勢而為。硬件和計算模式有難以估量的創新發展空間。摩爾定律失效造成算力增長緩慢,這是目前信息產業面臨的重要挑戰,對于我們是機遇大于挑戰。在后摩爾時代,產業界提出了領域專用架構(Domain Specific Architecture,DSA)來應對大數據、人工智能領域對算力增長的需要。云計算的業務形態使得其可以通過將底層異構芯片進行融合、對算力進
17、行抽象和池化,讓用戶更方便的使用異構芯片和 DSA 架構,可以說云計算正催生全新計算范式。操作系統系統軟件迎來場景驅動的創新發展大機遇。操作系統是最為基礎的系統軟件,在異構芯片、DSA 架構的適配,權衡計算-數據-網絡的距離達到最優資源利用,實現異構融合有其不可替代的地位。在“硬件芯片+操作系統+編譯器”相結合的基礎上,將軟硬件協同的邊界拓展到運行時組件,實現硬件芯片、操作系統、編譯器等的協同設計,可以說軟硬件協同適配是未來信息技術的主要發展趨勢之一?!爱悩嬋诤嫌嬎慵夹g白皮書”匯聚了領域專家的集體智慧,對計算架構演化、發展趨勢、實踐案例等進行了全方位的梳理,對信息技術發展具有一定的預見性,必將
18、促使更多專家學者關注和支持異構融合計算的發展。-楊勇 龍蜥社區技術委員會主席、阿里云操作系統研發總監 IX 推薦序 7 在當今快速發展的技術世界中,計算領域的挑戰和機遇無處不在。本白皮書深入探討了計算領域的發展歷程和關鍵問題,提出了異構融合作為計算發展的重要解決方案,給我們在數字時代前進的道路上提供了有價值的指導。眾所周知,自動駕駛、元宇宙、人工智能等應用正在塑造我們的未來。然而,這些新興技術的快速發展也帶來了巨大的挑戰,尤其是在算力需求方面。本白皮書詳細闡述了這些挑戰,強調算力成本不斷上升,對企業和研究機構構成了重大挑戰。白皮書中異構融合計算的概念引發了我們的思考,它為應對算力需求提供了一個
19、行之有效的途徑。通過整合多個異構計算系統,我們可以構建更強大、高效的計算架構,為未來的技術應用和創新鋪平道路。此外,白皮書強調了行業共同努力和協同創新的重要性。中國科學院微電子研究所在智能計算領域積累了豐富的研究經驗并取得了一系列重要成就,研究所也在積極推動跨學科合作,與其他學院、研究機構和行業合作,以推動智能計算領域的研究和創新。我們相信,只有通過全行業的合作,我們才能夠應對當前和未來的計算挑戰,共同推動技術的發展。本白皮書不僅是對計算領域的一次深入洞察,也是對未來科技趨勢的一次引導。希望這份白皮書能夠激發更多關于異構融合計算的討論,為我們共同的數字化未來打下堅實的基礎。-喬樹山 中國科學院
20、微電子研究所智能感知研發中心副主任/研究員 X 目 錄 1 異構計算領域相關概念.1 1.1 異構計算.1 1.2 異構融合計算.1 1.3 其他相關概念.2 1.3.1 ASIC 與 DSA.2 1.3.2 SoC與 SiP.3 2 異構計算的發展及問題.4 2.1 計算架構的發展歷程.4 2.1.1 基于單核 CPU的串行計算.4 2.1.2 基于多核 CPU的同構并行計算.5 2.1.3 基于 CPU+xPU的異構并行計算.5 2.2 異構計算技術蓬勃發展.6 2.2.1 異構計算技術成為主流.6 2.2.2 異構計算架構品類眾多.7 2.2.3 異構編程軟件逐漸成熟.8 2.3 異構計
21、算技術演進困境.8 2.3.1 芯片性能提升陷入瓶頸.8 2.3.2 性能和靈活性難以兼顧.9 2.3.3 異構計算孤島問題突顯.9 2.3.4 異構計算編程框架各異.10 3 異構融合計算技術探索.12 3.1 硬件層面融合技術探索.12 3.1.1 芯片級融合計算架構.12 3.1.2 設備級融合計算架構.17 3.2 軟件層面融合技術探索.21 3.2.1 面向異構軟件優化技術分析.21 3.2.2 面向異構融合的操作系統.24 3.2.3 面向異構融合的編程框架.26 3.3 系統層面融合技術探索.28 3.3.1 數據中心融合.28 3.3.2 新型計算模式融合.32 4 異構融合計
22、算發展趨勢.33 4.1 通用性與高性能統一.33 4.2 計算架構走向收斂.34 4.3 編程復雜度降低.34 4.4 基礎組件優化.35 5 異構融合計算發展建議.36 5.1 加強政策引導,布局重點項目建設.36 5.2 構建標準體系,強化融合技術牽引.36 5.3 聚焦關鍵技術,推動計算技術創新.36 5.4 加速產業變革,促進新型技術應用.37 附錄 異構融合計算實踐案例.381 1 異構計算領域相關概念異構計算領域相關概念 1.1 異構計算異構計算 異構計算(Heterogeneous Computing)是指不同類型指令集和體系結構的處理器組成的系統計算方式。CPU 和其他處理引
23、擎最大不同在于:CPU是 Self-Control(圖靈完備的),可以獨立運行,其他加速處理器需要在 CPU 的協助下運行。因此,異構計算通常是指CPU+xPU的異構計算架構(xPU泛指其他各類非 CPU的加速處理器)。依據指令的復雜度,處理器引擎分為 CPU、Coprocessor(協處理器)、GPU、FPGA、DSA和 ASIC等,如圖 1-1,從左向右,單位計算依次復雜,性能逐漸提升,但靈活性不斷降低。圖 1-1 不同典型處理器間性能與靈活性對比圖 協處理器集成在 CPU 內部,用于協助 CPU 處理特定的計算任務;加速處理器(如GPU、FPGA等)專注于特定類型的計算任務。目前主流的異
24、構計算形態主要有三種:基于 GPU 的異構并行。GPU 異構加速本質是眾多并行的高效能通用處理器,通過調用 CUDA等編程模型和工具實現多線程處理,適用于大規模的并行計算?;?FPGA 的異構并行。FPGA 具備硬件彈性的特征,可以根據需要進行配置和編程,以實現不同的計算任務和算法加速,具有高并行度和高可靠性,適合進行定制計算?;?DSA 的異構并行。CPU 和 DSA 共同構成異構計算系統,DSA 可以在定制ASIC的基礎上進行回調,主要用于加速計算密集型任務。異構的目標是將任務分解為計算上同構的子任務,然后將每個子任務分配給最適合執行的計算資源(或并行模式)。異構系統通常是由使用不同類
25、型指令集和體系架構的計算單元組成的,常見的計算單元類別包括 CPU、GPU、ASIC、FPGA 等。與同構系統相比,異構計算系統代碼執行時間更短。1.2 異構融合計算異構融合計算 Intel 于 2019年提出“超異構計算”的概念,強調了超異構計算涉及的三個方面:系統架構、工藝和封裝,以及統一的異構計算軟件。但在最核心的系統架構層次,Intel 僅僅只強調了“多”,并沒有進一步對超異構計算進行闡述,以及設計實現的進一步細節說明?!爱悩嬋诤嫌嬎恪笔且粋€全新的概念,目前行業還沒有形成統一的定義。從概念上講,“異構融合計算”屬于異構計算的范疇,可以定義為異構計算的一種高階形態。2 圖 1-2 Int
26、el 超異構計算三大要素 本白皮書認為,狹義的“異構融合計算”,是一種新的計算架構和方法,通過融合CPU 和多種不同類型、不同架構的加速處理器,以實現更大規模、更高性能、更加高效的計算。而 廣義的“異構融合計算”,則通過不同層次、不同類型的技術整合,來實現異構融合計算資源的高效利用。廣義的異構融合計算,主要包含以下幾方面內容:超異構超異構:系統中異構處理器的數量為三個或三個以上?!耙粋€稱為同構,兩個稱為異構,三個或三個以上稱為超異構”。超異構是異構融合計算的前提。硬件融合硬件融合:強調不同處理器之間的深度協同(指單個工作任務由兩個或兩個以上處理器協作處理)和深度融合(指某個具體工作任務可以跨
27、CPU、GPU 和 DSA 等不同類型處理器運行,也可以跨同類型中的不同架構處理器運行)。各處理器之間可以通過高速總線或高性能網絡進行通信和數據傳輸,通過更高層次的系統劃分和任務調度實現協同計算。軟件融合:軟件融合:面向異構(硬件)計算環境,將操作系統、應用軟件、編程模型、編程語言、通信協議、數據等技術資源進行融合和優化,提供統一的軟件運行環境和編譯開發工具,旨在降低異構融合計算系統的復雜度,實現計算任務的跨平臺運行。系統融合:系統融合:通過合理地任務分配和資源調度,異構融合計算系統可以實現更高的計算性能和更好的計算效率。傳統異構計算,特指 CPU+xPU 的計算架構。異構融合計算與傳統異構計
28、算的差異點在于:傳統異構計算僅有一種加速處理器類型,并且僅關注 CPU 和加速處理器的協同;而異構融合計算則具有兩種或兩種以上的加速處理器類型,并且需要重點關注所有處理器之間的協同和融合,以及硬件與軟件之間的融合、系統內部及系統之間的融合問題。1.3 其他相關概念其他相關概念 1.3.1 ASIC 與與 DSA ASIC(Application-Specific Integrated Circuit,專用集成電路)是指應特定需求而設計、制造的集成電路,與通用集成電路(General Purpose IC)相比體積更小、功耗更低、成本更低。一般來說,ASIC 處理引擎的指令復雜度最高,其理論性能
29、最佳,但實際上受限于多3 種因素影響,ASIC 的問題也較為突出:ASIC是場景和硬件設計強耦合,硬件開發難度高;功能利用率低,導致資源效率也相對較低,并且難以實現超大規模的 ASIC 設計。ASIC難以滿足復雜計算場景的差異化需求。包含兩個方面:一是橫向的不同用戶的差異化需求,二是縱向的單個用戶的長期快速迭代需求。即使同一場景下,不同廠家的ASIC引擎設計依然五花八門,毫無生態可言。DSA(Domain-Specific Accelerator,特 定 領 域 加 速 器;也 稱 為 Domain-Specific Architecture,特定領域架構),可根據特定應用場景定制處理引擎甚至
30、芯片,支持部分軟件可編程。DSA 的設計和實現需要考慮特定領域的特征和需求,包括算法、數據結構和最佳實踐等。DSA 一定程度上解決了 ASIC 的一些問題:靈活性問題:ASIC由于其功能確定,只能通過一些簡單的配置控制硬件運行,其功能比較單一。而 DSA 則支持一定可編程能力,實現了一定程度上的軟硬件解耦,使得其可以在特定領域,可實現對用戶場景橫向和縱向差異性需求的覆蓋。應用領域擴大:DSA 支持可編程能力,使得其功能覆蓋的領域范圍相比 ASIC 要多。DSA架構的處理引擎在滿足系統靈活性要求的情況下,可實現最極致的性能,以及最佳的性價比。1.3.2 SoC 與與 SiP SoC(System
31、 on Chip,片上系統),是一種將多種電子組件集成在一個芯片上的復雜系統。這些組件可以包括 CPU、內存、I/O接口、各種傳感器和執行器等。在 SoC 中,通過先進的電路設計和封裝技術實現將不同的組件集成到一個芯片上。這種集成方式可以大大減少系統的體積和功耗,提高系統的可靠性和性能。同時,SoC 還可以通過硬件和軟件的協同設計,實現系統的優化和定制化。SiP(System in Package,系統級封裝)是一種先進的封裝技術,它將多個具有不同功能的有源電子元件與可選無源器件、MEMS(微機電系統)器件、光學器件等其他器件優先組裝到一起,實現一定功能的單個標準封裝件,形成一個系統或者子系統
32、。這種封裝技術體現了將各種功能芯片,包括處理器、存儲器等芯片集成在一個封裝內的概念。SiP 類別可以根據不同的組裝方式和功能進行分類,常見的 SiP 類別包括:2D SiP:這是最常見的 SiP 類型,通過在平面上排列多個芯片實現不同功能。這些芯片可以是不同類型的有源器件。3D SiP:在 3D SiP 中,芯片被堆疊在一起,以實現更高的集成度和更小的封裝尺寸。MIP(Multiple-chip-in-Package):MIP 是一種將多個獨立的芯片(可以是不同類型的有源器件或無源器件)組裝在一個封裝內的技術。PiP(Package in Package):這是一種將一個封裝件(如 SoC)與
33、其他器件(如 MEMS、光學元件等)組合在一起的技術,形成一個更復雜的系統級封裝。SiP 與 SoC 在實現系統級集成方面有相似的目標,但它們在集成程度、功能模塊、封裝尺寸和系統性能方面存在一定的區別。SiP 更注重將不同功能芯片和其他器件組裝在一起,實現一定功能的系統或子系統;而 SoC 則通過將整個系統或部分系統集成到單個芯片上,實現更高的集成度和更好的性能表現。4 2 異構計算的發展及問題異構計算的發展及問題 2.1 計算架構的發展歷程計算架構的發展歷程 圖靈獎獲得者 John Hennessy總結了計算機體系結構演進的四個時代和即將興起的第五個時代:第一代,晶體管時代,指令集架構出現之
34、前,計算機架構各不相同;第二代,小規模和中等規模集成電路時代,出現支持指令集架構的 CPU處理器;第三代,大規模和超大規模集成電路時代,指令級并行以及 CISC 和 RISC 混戰;第四代,超大規模集成電路的多核處理器并行時代;第五代,超大規模的領域專用處理器(DSA)時代。上述計算機體系結構的時代劃分,是站在單處理器引擎視角進行的。本白皮書參考上述五個時代的劃分,站在多處理器引擎計算架構從簡單到復雜的發展視角,提出了如下的發展階段劃分:第一階段,基于單核 CPU的串行計算;第二階段,基于多核 CPU的同構并行計算;第三階段,基于 CPU+xPU的異構并行計算。2.1.1 基于單核基于單核 C
35、PU 的串行計算的串行計算 在 CPU 之前,傳統計算機通常被稱為“固定程序計算機”(Fixed-Program Computer),其線路必須被重設才能執行不同的程序,通常需要花費長達三周的時間。而CPU 微處理器通過支持跳轉、調用等控制類指令,使得計算機可以執行各種復雜的計算和數據處理任務。CPU 的這種設計理念實現了軟件與硬件的解耦。即在更新程序的時,硬件不需要改變。在這種架構中,軟件開發是基于串行計算的思維,程序或問題被分解成一系列離散的指令,這些指令被順序地送到單個處理器執行。單核 CPU 的串行計算模式奠定了現代計算機系統的基礎。圖 2-1 單核 CPU串行計算示意圖 從上世紀 7
36、0-90年代,CPU處理器的一些重要發展和變化:指令集架構:宏觀架構有精簡 RISC和復雜 CISC 路線之爭。微架構創新:CPU處理器中出現了各種各樣的微架構創新技術,如處理器流水線、乘法/除法器等復雜執行單元、指令多發射、亂序執行、緩存等。數據位寬:處理器數據位寬從 4 位到 8 位到 16 位到 32 位,再到目前主流的 64位。5 2.1.2 基于多核基于多核 CPU 的同構并行計算的同構并行計算 IBM 公司于 2001 年推出 IBM Power4 雙核處理器,是世界上第一款多核處理器。隨后,AMD 和 Intel 分別推出了各自的雙核處理器。隨著技術的創新迭代,更多的 CPU 核
37、被集成到了 CPU 芯片。目前,最新的 AMD EPYC 9654 CPU 具有 96 個核心,192 個硬件線程的超高并行計算能力。圖 2-2 多核 CPU同構并行計算示意圖 并行計算(Parallel Computing)是通過擴大問題求解規模,解決大型而復雜的計算問題。并行計算主要分為時間上的并行和空間上的并行。時間上的并行是指流水線技術,而空間上的并行則是指用多個處理器并發的執行計算,以此擴大問題求解規模。1967 年,吉恩阿姆達爾(Gene Amdahl)提出阿姆達爾定律。并行性的理論性能提升受任務順序部分的限制。阿姆達爾定律證明了處理器數量的增加帶來的收益會遞減。一方面受系統工作任
38、務并行特征的約束,另一方面,受單芯片設計規模上限的約束,通過多CPU同構并行的方式提升性能,也逐漸的達到了上限。2.1.3 基于基于 CPU+xPU 的異構并行計算的異構并行計算 基于 CPU+xPU 的異構并行計算廣泛應用于高性能計算、人工智能等領域。CPU 和xPU(如 GPU、FPGA 或其他類型的加速器)協同工作,CPU 負責控制和管理系統的運行,處理操作系統級別的任務,xPU則專注于執行大規模計算密集型任務。(一)基于(一)基于 GPU 的并行計算的并行計算 2006 年,NVIDIA 發布了第一款真正意義上的通用 GPU:Tesla 架構 GPU;同年,NVIDIA 發布了 CUD
39、A框架,這標志著基于 GPU 處理器并行計算的誕生。GPU 由數百至數千個計算核心(流處理器或計算單元)組成的并行計算引擎。GPU 眾核和 CPU多核的區別在于:CPU核是高性能的大核,具有高性能的同時也變得更加復雜,單位計算的功耗面積等成本較高;而 GPU 核是高效能的小核,雖然每個核的性能較低,但單位計算的功耗面積等成本也較低;CPU 擅長處理串行任務,而 GPU 則更適合處理并行任務。深度學習以及 AI 大模型的興起及快速演進,使得 GPU 成為最佳的加速計算平臺。但,較之 ASIC和 DSA,GPU的性能效率仍有較大差距。(二)基于(二)基于 DSA 的并行計算的并行計算 Google
40、于 2016年發布了第一款 DSA架構的處理器:TPU(Tensor Processing Unit)。6 之后,各類符合 DSA 概念的加速處理器如雨后春筍般涌現。TPU 作為一個獨立的加速處理器(TPU v1 為獨立加速器,TPU v2 集成了 CPU),通過 PCIe 總線與 CPU 連接,被專門設計用于處理和執行深度學習中大規模的張量運算,即多維度的數組運算,以增強并行計算的能力。TPU 獨立完成整個推理模型的運算,極大地減少了與 CPU 的交互,提高了計算效率。指令通過 PCIe 總線迅速地從 CPU 傳輸到 TPU的指令緩沖區,確保數據流暢無阻。TPU 的矩陣乘法單元是其計算的核心
41、,專門用于處理機器學習任務中的大規模矩陣運算。性能和功耗之間的關系是決定計算設備選擇的核心因素。為了滿足大規模計算的需求,從 CPU 到 GPU,再到 TPU(DSA),每一個技術進步都帶來了性能的顯著提升?;贒SA的異構加速,具有相對好的性能效率,也具有一定的靈活可編程性。(三)基于(三)基于 FPGA 的并行計算的并行計算 FPGA(Field Programmable Gate Array)是在 PAL(可編程陣列邏輯)、GAL(通用陣列邏輯)等可編程器件的基礎上的半定制電路,或叫可編程的邏輯列陣。FPGA 基本結構包括可編程輸入輸出單元、可配置邏輯塊、數字時鐘管理模塊、內嵌專用硬核,
42、底層內嵌功能單元等。各模塊之間或模塊與 I/O 間的聯接方式,最終決定了 FPGA 所能實現的功能,FPGA允許無限次的編程。相較于 GPU 或 CPU,FPGA 能夠實現更低的數據處理延遲;與專用集成電路(ASIC)相比,FPGA 提供了更大的硬件靈活性,允許開發者根據需要進行硬件編程和定制。這樣的靈活性彌補了定制電路的一些局限性,同時具備比傳統可編程邏輯更高的邏輯門數量,從而實現復雜的計算任務。(四)基于(四)基于 CGRA 的并行計算的并行計算 CGRA 可重構計算(Coarse-grained Reconfigurable Architecture)是一種以空域為基礎的并行計算架構,它
43、通過空域硬件結構組織不同粒度和功能的計算資源。與傳統的指令驅動計算架構不同,CGRA 在運行時根據數據流的特點進行硬件配置,讓計算資源形成相對固定的計算通路,從而以接近“專用電路”的方式并行計算。這種結構既減少了取指和譯碼的延時及能耗,又能以專用電路的方式高效執行。當面臨不同的算法和應用時,可以通過重新配置達到硬件的重構,以適應不同的任務。這使得 CGRA 特別適合那些需要高能效和靈活性的應用場景,如云計算和邊緣計算。2.2 異構異構計算技術蓬勃發展計算技術蓬勃發展 2.2.1 異構計算技術成為主流異構計算技術成為主流 在上世紀 80 年代中期之前,基于復雜指令集(CISC)的 CPU 單核性
44、能增長由技術驅動,平均每 3.5 年翻一番;從 1986 年開始,以精簡指令集(RISC)為代表的更先進架構的處理器性能平均每 2 年翻一番;隨著登納德縮放定律的逐漸失效、阿姆達爾定律的充分挖掘,CPU 性能的提升已經越來越難;自 2015 年之后,CPU 性能提升平均每年僅有 3%,實現性能翻倍可能需要 20年。同時,CPU架構主要面向廣泛的通用計算場景,控制單元、緩存、寄存器等占據大量的硅面積,算力密度低,運算單元少,不適合人工智能領域的高并發密集的向量、張量計算,整體計算效率低。在最前沿的 AI 深度神經網絡模型訓練領域,所需算力在 2012-2018 年共 6 年時間里增長了超過 30
45、 萬倍;在智能汽車領域,隨著 AI 大模型的廣泛使用,以及娛樂需求快速增長,自動駕駛(L4/L5 階段)多域融合的綜合算力需求預計超過 20000 TOPS。面對指數級提升7 的算力需求和密集多樣計算需求,單純依賴 CPU 一種計算架構已經無法滿足,結合不同架構的異構計算已成為主流計算模式。圖 2-3 1978-2018年間 CPU性能提升示意圖 當前,人工智能領域主要采用 CPU+xPU(GPU/FPGA/DSA/ASIC 等)的計算架構,高性 能計 算領域 主要 采用 CPU+GPU 的 異構計算 架構,手機 SoC 芯片 通常 采用CPU+GPU+DSP+ISP 計算架構,智能便攜設備主
46、要采用 CPU+DSP+語音識別技術計算架構。異構計算技術已經成為超級計算機、嵌入式系統、人工智能等領域的主流計算模式,未來還有望在更多領域得到應用和發展。2.2.2 異構計算架構品類眾多異構計算架構品類眾多 異構計算架構,通過集成不同類型的計算資源,如 GPU、FPGA、DSA 和 ASIC 等,以滿足需求各異的計算任務。場景(Scenario)是領域(Domain)的子集。比如 AES 加解密是一個具體的場景,而安全則是一個領域;比如某個特定的 AI 算法是一個具體的場景,而 AI 則是一個領域。也因此,針對不同類型處理器的領域和場景覆蓋,我們可以得到如下一些結論:ASIC:面向單個領域的
47、單個具體場景;DSA:面向單個領域的多個場景;GPU:面向多個領域;CPU:面向幾乎所有領域;FPGA:其靈活性體現在硬件編程層次,在架構上可以是 ASIC、DSA、GPU或 CPU等任意類型處理器,要根據 FPGA具體實現的硬件架構確定其場景和領域覆蓋。異構計算架構的品類眾多,并且不同的品類具體的架構實現也不盡相同。按照不同的異構計算形式進行分析:基于 GPU的異構:頭部廠商占據了主要市場,GPU異構計算架構相對集中?;?FPGA 的異構:由于 FPGA 的硬件編程性,架構設計由用戶做主,因此 FPGA架構多種多樣、品類繁多?;?DSA/ASIC 的異構:面向應用領域和場景各異、每個廠商
48、芯片架構實現的方式各異;甚至,由于業務迭代的影響,同一個廠家不同代產品的架構也有可能不同。在DSA/ASIC 異構里,異構計算架構的碎片化現象最為凸顯。8 在體系結構的黃金年代,異構處理器多樣化是時代的潮流。在眾多異構計算架構中,如何實現平衡性能與靈活性,并從系統層面上以更低的成本獲取更大的算力、更多的領域覆蓋,則是異構計算架構發展的重點。2.2.3 異構編程軟件逐漸成熟異構編程軟件逐漸成熟 隨著異構計算的發展和廣泛應用,異構編程技術也逐漸成熟。異構編程是指通過編寫軟件來調度異構計算平臺進行計算,其成熟性主要體現在三個方面:在平臺支持方面,主流的異構計算平臺都提供了相應的開發工具和編程模型,以
49、支持異構編程。例如,NVIDIA 提供的 CUDA 編程模型;Xilinx 和 Intel 等芯片廠商提供了相應的開發工具和軟件庫(OpenCL編程模型),以便于開發者針對 FPGA 進行優化和編程。在編程模型方面,針對異構計算的編程模型也在不斷完善和發展。傳統的編程模型如Intel/AMD CPU 的 x86 指令集并不是為異構計算而設計的,不能充分利用異構計算架構的優勢。因此,專門面向異構計算架構的異構并行編程模型應運而生,如 NVIDIA 的 CUDA、寒武紀的 MagicMind 等。這些編程模型提供了更高層次的抽象和更豐富的語義,降低了異構編程的難度,同時充分發揮了異構計算的優勢,目
50、的是讓開發者可以更加輕松地進行異構并行編程。在優化工具和框架方面,為了提高異構計算的效率,研究人員和廠商們開發了各種優化工具和框架。這些工具和框架提供了各種編譯、調度、調試和優化的功能,以幫助開發者實現高效的異構計算。例如,與 GPU 相關的優化工具有 CUPTI 和 NVIDIA Nsight 等,用于性能分析和調試;與 FPGA 相關的優化工具有 Vivado 和 Quartus 等,用于邏輯綜合和時鐘優化。簡而言之,越來越多的案例表明了異構編程正在逐漸成熟,不僅有全棧的軟硬件平臺支持、便于使用的編程模型,還有優化加速工具鏈。2.3 異構計算技術異構計算技術演進演進困境困境 異構計算技術已
51、經廣泛應用于多個領域,如云計算、邊緣計算、高性能計算等。但異構計算也逐漸面臨性能瓶頸問題,同時面臨性能和靈活性難以兼顧、編程框架不統一等問題,需要對異構計算的相關問題進行進一步的分析研究,并尋找可能的解決方案。2.3.1 芯片性能提升陷入瓶頸芯片性能提升陷入瓶頸 以 AI 大模型發展為例,隨著 BERT 和 GPT 等大模型的發展,其算力需求每 2 個月提升一倍。單個異構計算設備的性能提升有限,只能通過擴大計算集群規模的方式來滿足算力快速提升的需求。然而,受限于集群效率,目前上千臺服務器和上萬張 GPU 加速卡的AI計算集群基本達到集群規模的上限。單個計算芯片的性能提升已經陷入瓶頸,主要有如下
52、幾個原因:摩爾定律放緩:隨著制程工藝不斷縮小,摩爾定律的推進速度已經放緩,單純依靠增加晶體管數量來提升性能的效果逐漸減弱。能源和散熱限制:隨著芯片制程工藝的進步,晶體管的體積不斷縮小,但同時也帶來了更高的功耗和熱量產生。在有限的能源和散熱條件下,單純追求性能提升將導致芯片的可靠性和使用壽命下降。軟件和硬件的協同優化不足:為了充分發揮硬件性能,需要與之相應的軟件和算法支持。但在實際應用中,軟件和硬件之間的協同優化并不總是能夠實現,導致部分硬件性能無法有效發揮。9 阿姆達爾定律的原則:并行性的理論性能提升受任務順序部分的限制。在優化計算機系統性能時,不僅需要考慮單個處理器的性能,還需要考慮如何并行
53、化計算任務,以充分利用多核處理器的優勢。也因此,通過多核并行來提升綜合性能的收益也在逐漸遞減。為了突破性能瓶頸,未來的計算技術需要從多層次、多方面進行創新,包括新型計算架構、高效能算法、統一編程模型、以及軟硬件系統級的融合優化等。2.3.2 性能和靈活性難以兼顧性能和靈活性難以兼顧 性能與靈活性在不同的加速處理器上呈現出不同的特點和挑戰:GPU雖然在靈活性上表現良好,但性能效率相對不夠極致,并逐漸面臨性能瓶頸。DSA 在領域特定性能上卓越,但靈活性有限,難以應對多變的算法需求。其硬件和軟件架構的碎片化使其實際應用困難。FPGA 盡管具有較高的靈活性,但其功耗和成本較高,主要用于原型驗證,實際落
54、地案例相對較少。ASIC功能固化,缺乏足夠的靈活性以滿足多變和復雜的計算場景。其中,DSA代表了性能與靈活性的細微平衡。DSA的特點在于為特定領域提供專用的優化,使其在某些場景下可以達到 ASIC相近的性能,但仍保持一定的靈活性。DSA 的優勢是領域定制,劣勢也在于領域定制。領域定制的優勢表現在以下幾個方面:性能優越:DSA 技術通過將多個處理器核心連接到一個共享內存區域,實現了處理器之間的高效數據交換和協作。這使得 DSA 在處理大規模數據和復雜任務時具有較高的性能表現。靈活性高:DSA 技術可以根據實際應用需求,靈活配置處理器核心和內存資源的比例,以滿足不同場景下性能和資源需求的平衡。此外
55、,DSA 還支持動態地添加或刪除處理器核心,使得系統可以根據任務變化進行自適應調整。易于擴展:DSA 技術具有良好的可擴展性,可以通過增加處理器核心數量來提高系統的整體性能。這使得 DSA 在處理大規模數據和復雜任務時具有較大的潛力。容錯能力強:DSA 技術采用了冗余設計,當系統中某個處理器核心出現故障時,其他核心可以接管其任務,保證整個系統的正常運行。領域定制的劣勢表現在以下幾個方面:適用范圍有限:由于 DSA 技術針對特定領域進行優化,因此其在非定制領域的適用范圍有限。對于一些通用計算任務,DSA 可能無法達到預期的性能提升。開發和維護成本高:為了充分發揮 DSA 的性能優勢,需要針對具體
56、應用進行優化和適配。這意味著開發者需要投入更多的精力進行硬件和軟件設計,提高了開發和維護成本。技術成熟度較低:相較于傳統架構,DSA 的技術成熟度較低。在實際應用中,可能會遇到更多的技術挑戰和問題,這限制了 DSA 技術的廣泛應用。兼容性問題:由于 DSA 技術采用了特定領域的定制設計,可能導致與其他硬件和軟件系統的兼容性問題。在使用過程中,可能需要額外的適配和優化工作。在異構計算中,不同的處理器各有優勢和劣勢,選擇最適合的處理器取決于特定應用的性能和靈活性需求。盡管 DSA 提供了一種介于高性能 ASIC 和靈活的通用處理器之間的解決方案,但其在某些迅速變化的領域中仍面臨著挑戰。未來的技術研
57、究應集中在如何實現性能和靈活性的更好平衡。2.3.3 異構計算孤島問題異構計算孤島問題突顯突顯 隨著異構計算在各領域的應用落地,多異構共存的異構計算孤島問題也逐漸突顯。多10 異構計算的硬件層次高集成度和系統軟件層次多協同、通用編程模型和開發環境,已成為行業亟需解決的問題。圖 2-4 從同構到異構再到多異構的演進 各領域加速器難以全局協同:不同的加速器在處理特定領域的問題時表現出色,但相互協同能力差,可能導致系統整體的性能下降。協同能力差主要體現在兩個方面:不同的加速器的存儲器和內存管理機制不同,導致數據訪問和傳輸方式復雜,數據通路難以協同;多個加速器的控制機制不同,導致它們之間的同步和協調,
58、需要復雜的并行控制機制和算法。各領域加速器之間交互困難:不同類型的加速器之間進行通信和數據交換需要使用特定的接口和機制,增加了開發的復雜性和難度;頻繁大量的通信和數據交換,導致數據傳輸的延遲和開銷巨大。中心單元的性能瓶頸問題:在異構系統中,通常有一個中心單元(如 CPU、DPU)負責協調和管理其他硬件加速器的工作。然而,當加速器數量增多或任務復雜度增加時,這可能導致資源負載的不均衡分配,中心單元的性能瓶頸問題會愈發突出。物理空間無法容納多個異構加速卡:由于物理空間的限制,系統中只能容納有限數量的加速卡。這限制了系統可擴展性和性能的提升空間。2.3.4 異構異構計算編程框架各異計算編程框架各異
59、不同的異構計算編程框架都擁有其獨特的特性和適用環境,開發者在編寫程序時需要依據實際需求和硬件設備選擇最適合的框架。由于硬件的獨特性質,每種硬件都配備了專用的編程框架、加速庫和編程語言。例如,CUDA 是由 NVIDIA 推出的并行計算平臺和編程模型,它允許開發者利用 NVIDIA GPU 進行通用計算。OpenCL 的目標是為多種硬件提供統一的開放標準。SYCL 是 Codeplay 公司開發的基于 C+的并行計算 API,支持跨平臺多設備,包括 CPU、GPU 和其他加速器。Thrust 是 C+版的 CUDA,提供了類似于 STL 的接口,便于開發者進行 GPU 加速的并行計算。AmpxA
60、I 是由 AMD 開發的基于 Python 的并行計算庫,可在 AMD 的 GPU 上實現高效的計算。這就要求開發者掌握多種編程模型和語言,使得代碼移植面臨巨大的挑戰。例如,專為 GPU 編寫的代碼通常無法直接在 CPU 或 FPGA 上運行,這不僅限制了代碼的可移植性,也增加了開發成本和時間。即使有統一編程模型的支持,要實現高效的代碼仍需要針對特定硬件進行手動優化,這無疑增加了編程的復雜性和開發周期。雖然業界提出了多種方法試圖建立統一的異構計算編程框架,以簡化開發過程并解決這些挑戰,但至今仍未找到完美的解決方案。因此,尋找一個真正統一、能滿足所有硬件和應用需求的編程方法,仍然是計算領域的熱門
61、研究課題。12 3 異構融合計算技術探索 隨著計算模式從集中式的單節點計算逐漸走向分布式的多節點協同計算,計算系統變得越來越復雜。異構融合計算技術,不僅僅需要芯片級、設備級等硬件層面技術的支撐,還需要操作系統、編程框架以及跨平臺等多種軟件層面技術的支持,以及數據中心和新型計算模式等系統層面技術的全力配合。通過整個系統的全方位軟硬件協同工作,來達到異構的融合,從而實現異構融合系統更大的價值。3.1 硬件層面硬件層面融合技術探索融合技術探索 3.1.1 芯片級融合計算架構芯片級融合計算架構 2015 之后,摩爾定律逐漸放緩,集成電路發展進入后摩爾時代,集成電路的整體發展路線可以概括為四個方向:“M
62、ore Moore”:延續摩爾定律,在縮小尺寸的同時,集成更多的組件,實現功能完整的片上系統(SoC);“More than Moore”:擴展摩爾定律,通過先進封裝技術,把不同的功能組件封裝在一起,實現系統級封裝(SiP);“Beyond Moore”:超越摩爾定律,探索量子計算、類腦計算、電子器件等新型半導體技術,突破硅基半導體的技術壁壘;“Much Moore”:豐富摩爾定律,隨著計算機學與物理學、數學、化學、生物學等學科交叉碰撞,形成新的發現與科學技術突破。其中,“Beyond Moore”和“Much Moore”屬于更加前沿的技術路線,大多處于實驗探索階段,芯片級融合的技術主要聚集
63、于“More Moore”和“More than Moore”兩條路線,關鍵技術主要包括:基于 NoC 的 SoC 設計融合技術、基于 Chiplet 的 SIP 封裝融合技術、晶圓級芯片融合技術。圖 3-1 集成電路的整體發展路線(圖片來源于網絡)(一)芯片級相關技術分析(一)芯片級相關技術分析 13 (1)SoC 設計技術設計技術 SoC 設計的關鍵技術主要包括:NoC 架構技術、IP 核可復用技術、軟硬件協同設計技術、SoC 驗證技術、可測性設計技術、低功耗設計技術、超深亞微米電路實現技術等。SoC 設計技術可以降低系統板上因信號在多個芯片之間進出帶來的延遲而導致的性能局限,提高系統的可
64、靠性、降低總的系統成本。NoC 是目前大規模芯片內部互聯的最主要通信架構,通過芯片內實現類似于網絡的架構,包括目標的處理單元(PE)、交換節點(routers)和互連線(wires),這種互聯結構相比傳統交叉開關(Crossbar)總線具有可擴展性好、并發性強等特點。隨著 SoC 集成度越來越高,NoC拓撲結構主要有兩種,分別是直接型拓撲和間接型拓撲。直接型拓撲結構:所有的路由節點均與計算資源相連,并通過雙向鏈路直接連接。常見的直接型 NoC拓撲包括 2D網格型(Mesh)NoC、花托型(Torus)NoC以及超立方體型(Hypercube)NoC。網絡是由交換節點和互連線構成的,每個節點連接
65、一個處理單元(RE)和上下左右四個相鄰的路由器,每個處理單元通過一個網絡接口(Net-Interface NI)連接著一個路由器。其中的處理單元可以是處理器核、內存、用戶自定義硬件模塊或者其他任何可以插入插槽并且可以和網絡接口相配的 IP(Intellectual Property)模塊。路由器和路由器之間,路由器和資源之間是由一對輸入和輸出通道連接。通道是由兩條單向的點對點總線組成。2D網格型(Mesh)是典型的直接型 NoC拓撲,如圖 3-2 所示:圖 3-2 基于 NoC的 2D網格型 SoC示意圖 間接型 NoC 拓撲:指網絡中存在一些不與計算資源相連的專門路由節點(開關節點),各個路
66、由節點之間不一定是直接通過雙向鏈路相連接,而可能是通過這些專門的開關節點相連。常見間接型拓撲包括蝶形拓撲、Clos、Banyan、Fat-Tree 拓撲等。間接型拓撲由于其網絡拓撲以及路由算法相對較復雜。SOC 芯片作為系統級芯片,具有兩個顯著特點:一方面是 SoC 芯片的晶體管規模龐大,一顆芯片的晶體管數量為百萬級至百億級不等;另一方面,SoC 可以運行處理多任務的復雜系統,即 SoC 芯片需要軟硬件協同設計開發。SoC 龐大的硬件規模導致其設計時通常采用 IP 復用的方式進行設計,IP 是指 SoC 芯片中的功能模塊,具有通用性、可重復性和可移植性等特點。在 SoC 芯片研發過程中,研發人
67、員可以調用 IP,減少重復勞動??s短研發周期,降低開發風險。SoC 芯片設計難度高、綜合性強、體系結構復雜,涉及 SoC 芯片總體架構、各種關鍵 IP 以及總線、無線連接技術等多個領域的技術。(2)SiP 封裝技術封裝技術 SiP 是從封裝的立場出發,對不同芯片進行并排或疊加的方式封裝,將多個具有不同功能的有源電子元件與可選無源器件,以及諸如 MEMS 或者光學器件等其他器件優先組裝14 到一起,實現一定功能的單個標準封裝件。Chiplet 是在完成 SiP 的過程中使用一種新的芯片設計理念,Chiplet 是 SoC 單芯片集成發展到一定程度之后的一種新的芯片設計方式,它從系統端出發,首先將
68、 SoC 復雜功能進行分解,然后開發出多種具有單一特定功能、可相互進行模塊化組裝的裸芯片(如實現了數據存儲、計算、信號處理、數據流管理等功能),再將這些模塊化的芯粒(裸片)互聯起來,采用新型封裝技術,將不同功能不同工藝制造的芯粒封裝在一起,成為一個異構集成芯片,如圖 3-3所示:圖 3-3 單芯片與芯粒集成圖 Chiplet 芯片設計具備三大優勢:快速開發、低成本、多功能;借助先進的封裝技術,芯??梢约筛鞣N不同的架構、不同的工藝節點,甚至是來自不同代工廠的專用硅塊或 IP塊,可以快速定制一款滿足多種功能的產品;由于 Chiplet 由不同的芯片模塊組成,可以在特定設計部分選擇最先進的技術,而
69、在其他部分選擇更成熟、更廉價的技術,從而節省整體成本;Chiplet 解決方案具有良好的可擴展性,可以充當異構處理器,將 GPU、安全引擎、AI 加速器等不同處理元素任意組合,為各種應用需求提供更豐富的加速選項。Chiplet封裝主要分為 2.5D封裝和 3D封裝兩條技術路線:2.5D 封裝:橫向堆疊芯片,在傳統的地基上增加硅中介層(interproser),把芯片之間、芯片與存儲之間的連線封裝在硅中介層中,可提供近似在同一個芯片內的互聯性能。英特爾的 H100 采用 2.5D 封裝集成 GPU 與 HBM,AMD 的 MI300A 采用 2.5D 封裝集成GPU與 CPU。代表技術有臺積電的
70、 CoWoS、英特爾的 EMIB。圖 3-4 2.5D Chiplet 封裝示意圖 3D 封裝:縱向堆疊芯片,不同于 2.5D 封裝,3D 封裝是一種晶圓對晶圓(Wafer-On-Wafer)無凸起的鍵合(Bonding)技術,在垂直方向上堆疊芯片和存儲,各層通過硅通孔(TSV)通信,通信路徑更短。英特爾和 AMD 的 GPU集成的 HBM通過 3D封裝提升容量,MI300A 則把 CPU 和 GPU 通過 3D 封裝集成在基礎 I/O 芯粒上。代表技術有臺積電的InFO-3D、英特爾的 Foveros。15 圖 3-5 3D Chiplet封裝示意圖 與過去把多個 IP 核集成封裝到一個芯片
71、中的不同,Chiplet可以結合不同公司設計和封裝的技術,構建更高效、更經濟的芯片系統。這種設計方法簡化了芯片設計的復雜性,而且有效地降低了設計和生產成本。(3)晶圓級芯片技術)晶圓級芯片技術 晶圓融合技術核心設計理念:在這種架構中,充分利用晶圓尺寸是首要考慮因素。為了適應大規模的計算需求,重點放在了系統的晶圓內互聯上,而不再追求單核的超高性能。輕量級計算核心/處理單元(PE):架構采用輕量級的計算核心,不再追求每個核心的超高性能,強調能夠更好地適應大規模并行計算的特點。片上/片間互聯(NoC/NoP):架構使用對稱互聯方式,減少了不同層級之間的帶寬逐級收斂,從而提高了通信效率。存儲層次:架構
72、在內存層次結構上采用了非一致性內存訪問(NUMA)架構,結合了局部共享內存的特點,以更好地適應大規模并行計算的內存訪問模式。集群互聯:從基于芯片的 3D 拓撲結構轉向基于晶圓的 2D拓撲結構,這種拓撲結構更適合大規模集群內部的通信和協作。硬件冗余設計和 Partial Good 策略:由于晶圓級制造難以保證百分之百的良率,架構引入了硬件冗余設計和更完備的 Partial Good 策略,以應對硬件缺陷對系統性能的影響。硬件 Defect處理:針對晶圓級制造過程中可能出現的硬件缺陷,這種架構采取了一些策略來減少硬件缺陷對整個系統的影響,例如避免裸片(未封裝芯片)的缺陷,同時在封裝過程中采取措施來
73、降低缺陷率。(二)芯片級融合(二)芯片級融合技術探索技術探索(1)基于)基于 NoC 的的 SoC 設計技術發展趨勢設計技術發展趨勢 根據算力的快速增長需求,以及異構融合的發展大趨勢,作為芯片設計集成/融合的主要方式,基于 NoC的 SoC設計技術的發展主要有如下一些趨勢:異構系統支持:多種類型的處理器和加速器的異構系統正在普及。NOC技術能夠支持不同類型的處理器之間的高效通信和協同工作。更高的集成度:隨著芯片制造技術的進步,芯片上可以集成更多不同類型的處理器核心、存儲單元和功能模塊。NOC 技術將面臨更高的集成度要求,以支持更多核心之間的通信和數據傳輸。更高的帶寬和更低的延遲:新型應用對數據
74、傳輸帶寬和延遲要求更高。NOC技術將朝著提供更高的帶寬和更低的通信延遲方向發展??删幊绦院挽`活性:越來越多的應用場景需要定制的處理器/加速器,因此 NOC 技術需要更大的可編程性,以適應不同類型的處理器和通信需求。16 能耗和功耗優化:NOC 技術需要在提供高性能的同時,優化能源效率,減少功耗。異構系統支持:多種類型的處理器和加速器的異構系統正在普及。NOC技術需要支持不同類型的處理器之間的高效通信和協同工作。安全性和可靠性:隨著互聯網的普及,芯片的安全性和可靠性變得尤為重要。NOC技術需要提供安全的通信和數據傳輸機制,以保護敏感信息。虛擬化和云計算:NOC 技術需要支持虛擬化和資源共享,以便
75、多個應用程序在同一片上系統上并行運行。機器學習和自適應性:機器學習技術可以應用于 NOC,以優化通信路由、動態調整帶寬和預測通信需求,從而提供更高效的通信和資源管理??傊?,NOC 技術的發展趨勢將主要關注高度異構集成、高帶寬低延遲、靈活性、能源效率、安全性和適應性。隨著新的應用場景的出現,NOC 技術將按照上述發展趨勢持續演進,以滿足 SoC不斷提升的通信、集成和異構融合需求。(2)基于)基于 Chiplet 的的 SIP 封裝封裝技術技術發展趨勢發展趨勢 在工藝進步日益走向物理極限的今天,多種異構芯粒的封裝逐漸成為芯片規模持續提升的關鍵技術?;?Chiplet的 SIP 封裝技術主要的發展
76、趨勢有:異構融合:Chiplet技術為異構融合提供了可能性,其中不同類型的芯??梢约稍谕恍酒?,以實現更高的效率和性能。模塊化設計和快速迭代:Chiplet技術允許不同芯粒獨立設計和迭代。這使得芯片設計變得更加模塊化,可以更快地開發和更新單個模塊。多樣化和定制化:Chiplet技術使得不同功能的芯??梢杂刹煌闹圃焐躺a,從而實現定制化和多樣化。這有助于滿足不同應用領域和市場的需求。高性能和能效:Chiplet技術使得不同芯??梢愿鶕涮囟ㄒ筮M行優化。如,一個處理器塊可以專門針對高性能,而一個存儲塊可以專注于能源效率。集成性能提升:通過將不同功能的芯粒組合在一起,芯片可以實現更高的整體性
77、能。例如,一個芯片可以將高性能處理器芯粒與專門的加速器芯粒相結合,以提高特定工作負載的性能。低成本制造:Chiplet技術允許將不同芯粒制造在不同的制造工藝上,從而降低制造成本。例如,高性能處理器塊可以使用先進的制造工藝,而輔助模塊可以使用更成熟的工藝。應用領域擴展:Chiplet技術不僅可以用于傳統的計算領域,還可以應用于物聯網、人工智能、高性能計算等各種領域,以滿足不同應用的需求。綜合來看,Chiplet 技術的發展趨勢包括模塊化設計、高性能、能效、低成本制造、標準化和應用領域擴展。這些趨勢均有利于推動芯片設計和制造的變革,走向異構融合,為不同應用領域帶來更高效、靈活和創新的解決方案。(3
78、)晶圓級芯片技術的發展趨勢)晶圓級芯片技術的發展趨勢 晶圓級芯片技術能夠在晶圓級別上實現多種異構計算核心的融合,晶圓級芯片技術發展的主要趨勢有:更大規模的集成:晶圓級融合計算架構的發展帶來更大規模的集成電路,將更多的計算核心、內存、和互連集成到單個芯片或晶圓上。優化的通信架構:隨著集成度的增加,未來的發展可能會著重優化晶圓級芯片內部和芯片間的通信架構,以確保高效的數據交換和協作。17 能效和散熱:隨著集成度的增加,未來的發展可能會關注如何在更大規模的晶圓級芯片上實現高性能計算的同時保持合理的能效和溫度控制??偟亩?,隨著芯片系統的規模增大,不斷增加的計算單元數量,使得內部互聯成為性能提升的主要
79、瓶頸。為了適應大規模的計算需求,晶圓級芯片技術發展的重點放在了系統的晶圓內互聯上,實現更高效的晶圓級異構計算。這將使得針對不同應用場景的優化更加容易,并提供更廣泛的計算選擇。3.1.2 設備級融合計算設備級融合計算架構架構 異構計算架構的融合,可以是芯片級的,也可以是設備級的。在采用現有的、非異構融合芯片的情況下,可以通過設備級多芯片融合計算,有效地獲取高性能計算能力。芯片內融合的核心技術是片內總線,類似的,設備級融合的核心技術是芯片間互聯的高速總線,主流的芯片互聯總線有 PCIe、CXL和 NVLink 等。(一)設備級計算架構技術分析(一)設備級計算架構技術分析(1)PCIe 總線總線 P
80、CIe(PCI-express,高速 PCI 總線)在 PCI(Peripheral Component Interconnect,外設部件互聯總線)基礎上把傳輸機制從并行改成了串行,通過使用差分信號傳輸,干擾可以很快被發現和糾正,從而傳輸頻率獲得大幅提升。串行 PCIe 還得到了另外的好處,例如布線簡單,線路可以加長,甚至變成線纜連出機箱,多個 Lane 還可以整合成為更高帶寬的線路等。圖 3-6 PCIe示意拓撲圖 不考慮 Switch 的影響,PCIe 根節點跟 PCIe 終端節點(End Point)是直接相連的。這樣,跟 PCIe 相關的數據通路有如下三個:處理器 CPU(通過 PC
81、Ie RC)訪問 PCIe EP;PCIe EP(通過 PCIe RC)訪問 Memory;PCIe EP(PCIe P2P 機制,通過 PCIe RC 或 PCIe Switch)訪問另一個 PCIe EP。PCIe 從 1.0 發展到了 5.0(PCIe 6.0 標準已經發布,目前沒有看到實際的 PCIe 6.0 產品),每一代的帶寬大致上翻倍。到 PCIe 5.0,通過 x16 組總線,可以支持雙向共約128GB/s的數據帶寬,可以支持高達 400Gb的網絡帶寬。(2)CXL 總線總線 18 圖 3-7 CXL總線的典型應用場景 CXL 是 Intel 發布的一種支持緩存一致性協議的芯片
82、間互聯總線,CXL 基于 PCIe(PCIe 5.0或以上)的基礎架構實現。通過 CXL,可以在 CPU和加速器之間建立一致性的內存池,通過硬件機制在加速器和處理器之間高效的共享內存,提升性能并且降低延遲,降低軟件堆棧復雜性并降低系統總體成本。如圖 3-7所示,CXL標準定義了 3 種協議:CXL.io 協議。協議本質上是 PCIe 協議的擴展,用于設備發現、配置、寄存器訪問以及終端等。它為 I/O 設備提供了非一致性數據的 Load/Store 接口。CXL.cache協議。協議定義了設備對主機的訪問,允許設備使用請求/響應機制以極低的延遲訪問主機內存的數據。CXL.mem協議。協議提供主機
83、處理器使用 Load/Store 指令訪問設備內存,主機 CPU充當主設備,而設備充當從設備。并且能夠支持易失性和非易失性存儲。CXL.io 協議用于初始化和鏈接,因此所有 CXL 設備都必須支持該協議。其他兩種協議的不同組合使得可以定義三種 CXL設備類型:類型 1:只包含 CXL.io 和 CXL.cache協議。用于只具有一致性 Cache的設備,設備跟主機一起共享主機內存。類型 2:包含全部三類協議 CXL.io、CXL.cache 和 CXL.mem。用于設備也具有獨立Memory的場景,這樣設備可以一致性的訪問主機內存,主機也可以一致性的訪問設備內存。類型 3:只包含 CXL.io
84、 和 CXL.mem 協議。這樣,主機可以一致性的訪問設備內存,設備相當于一個內存擴展器。(3)NVLink 總線總線 NVLink 是 NVIDIA 針對 GPU 加速計算而開發的全新高速互聯技術,它大大提升了 GPU 之間的通信性能,也大大提升了 GPU 訪問主機內存的性能。NVLink 是一種片間數據一致性總線協議,基于 NVLink 總線,除了訪問本地內存,GPU還可以訪問其他 GPU的內存,甚至主機 CPU的主機內存。19 圖 3-8 NVLink 1.0接口的分層協議 如圖 3-8 所示,NVLink 控制器由 3 層組成,即物理層(PL)、數據鏈路層(DL)以及傳輸層(TL)。N
85、VLink 1.0 每條鏈路支持雙向各 8條分道,共 4 條鏈路,雙向共支持 160GB/s的帶寬。圖 3-9 不同版本的 NVLink 總線協議 如圖 3-9所示,NVLink 2.0相比 1.0,每條鏈路的帶寬從 20Gbps增加到 25Gbps,并且支持的鏈路數量從 4 條增加到 6 條,因此 NVLink 2.0可以提供總計 300GB/s的雙向帶寬。如圖 3-9,NVLink 3.0 支持總計 600GB/s 的雙向帶寬,NVLink 4.0 支持總計 900GB/s 的雙向帶寬。NVLink 2.0 開始支持數據一致性,允許從 CPU 直接訪問 GPU 內存,允許讀取來自GPU 內
86、存的數據緩存到 CPU 的 Cache 中。通過 NVLink,可以在 CPU 和 GPU 之間建立一致性的硬件緩存訪問,進一步的提升 CPU和 GPU之間的數據交互性能。20 圖 3-10 GPU異構服務器:CPU+GPU設備級融合 隨著 AI 特別是大模型的發展,GPU 異構服務器已經取代傳統 CPU 同構服務器,成為最炙手可熱的服務器類型。通過 QPI、PCIe、NVLink 等芯片間總線,在設備級實現了CPU+GPU的基本融合,實現了設備級的異構計算。(二)設(二)設備級融備級融合計算架構技術探索合計算架構技術探索 多種異構融合,必然是更加龐大的計算系統。通過功能強大的芯片間互聯總線,
87、實現設備級的異構融合計算系統,是一個切實可行的方式。芯片間高速互聯總線,是實現設備級異構融合的關鍵。也因此,從異構不斷融合的發展視角,必然對芯片間互聯總線提出一些更高的要求:更快計算速度。在單芯片性能增加有限的情況下,需要異構資源協同效率的快速提升,這勢必對芯片間互聯的總線帶寬提出了更高的要求。更高的帶寬。除了提升單通道帶寬能力之外,更需要通過更多的物理通道(Lane)數量來快速實現帶寬提升。緩存一致性性能。把多個芯片或設備鏈接成更大的單個系統,總線緩存一致性能力變得越來越必不可少。緩存一致性性能是設備級融合計算綜合性能的關鍵因素。系統的更高擴展性。常見的 GPU服務器,最多支持 8張 GPU
88、卡。需要通過總線協議的支持,能夠更好的支持 16、32 個加速芯片,甚至更大數量的加速芯片的設備級集成。對稱的芯片間總線協議。CXL是非對稱主從架構的片間總線協議,如 CXL目前的案例基本上是“以 CPU 為中心”擴展各種加速卡的方式。從本質上來說,這屬于多異構,而不是異構融合。如果要想在設備級實現完全異構融合的對等架構,勢必需要采用對稱的芯片間總線協議。更高效率的總線交換機。芯片的總線帶寬和通道數有限,要想在設備級實現更大數量、更多規模的多芯片互聯,勢必需要通過總線交換機。21 GPUDPUDPUDSANIC網絡GPUCPUNVMe SSDNVMe SSD 圖 3-11 設備級異構融合案例:
89、以 DPU為中心的計算架構 除 CPU、GPU 之外,DPU 是數據中心的第三顆主力芯片。DPU 主要是虛擬化、網絡、存儲、安全四類基礎設施工作任務的集成加速平臺。如圖 3-11 所示,以 DPU 為中心,融合 CPU、GPU、其他各類 DSA 的計算能力,構建設備級異構融合計算加速,可以實現相比傳統 CPU同構服務器、GPU異構服務器更高的性能和相對更低的算力成本。3.2 軟件層面融合技術探索軟件層面融合技術探索 軟件支持在異構融合計算中扮演著至關重要的角色。通過統一的軟件設計,我們不僅可以提升異構融合計算的適用范圍和性能,還能為后續的硬件開發提供指導。在這一部分,我們首先對異構軟件優化的相
90、關技術進行了深入分析,然后重點討論了兩大關鍵支持技術領域,即操作系統和編程框架。我們不僅剖析了當前國內外最先進的技術,還明確了未來發展的重要目標。3.2.1 面向異構軟面向異構軟件優化技術分析件優化技術分析 在異構融合計算的背景下,需要進行異構軟件優化技術的分析,這包括針對異構計算環境中的軟件應用所設計的性能優化方法和策略。異構計算環境通常綜合了不同類型的處理單元,例如 CPU、GPU、FPGA 等。這些處理單元在不同的任務和工作負載下具有不同的性能特點和能力。為了確保在不同類型的計算資源上執行的軟件能夠以一致的方式運行,避免潛在的錯誤和運行不一致性問題,需要采用特定的優化技術和方法。以下是針
91、對異構融合計算場景一些面向異構軟件優化的技術和方法:(一)跨平臺兼容性(一)跨平臺兼容性 在異構融合計算環境中,通常會涉及到多種類型的硬件,如 CPU、GPU、FPGA 等。每種硬件都有其獨有的架構和性能特征。為了充分利用這些硬件資源并確保一致性,軟件不僅需要能夠在不同的平臺上運行,而且應該盡可能的利用平臺硬件資源。針對異構計算設備,統一的操作系統級開發工具鏈需要支持針對不同設備類型的編譯、調試、鏈接和開發庫等功能,以簡化異構設備的編程和開發流程,構建一致的開發環境,保證跨平臺的兼容性,從而提升開發效率和軟件質量。在編譯器方面,需要支持針對不同設備類型的編譯,并為各種硬件架構生成高效的代碼。例
92、如針對 GPU 的編譯器需要支持 CUDA 或 OpenCL 等編程語言,并能夠生成針對不同 GPU 架構的優化代碼。此外,編譯器還需要提供豐富的優化選項,以優化生成的代碼并提高程序的性能。例如,編譯器可以使用向量化指令來加速程序的執行。22 在調試器方面,針對異構計算設備的調試器需要支持對不同設備類型的調試,以幫助開發人員在異構設備上查找和修復錯誤。例如,對于 GPU,調試器需要能夠準確地調試GPU 代碼,同時能追蹤和分析 GPU 的內存訪問和計算操作。調試器還應該提供全面的調試功能,例如斷點、單步執行和變量監視等,幫助開發者精準地定位并解決問題。在開發庫方面,簡化編程的工具和庫對異構計算設
93、備至關重要。針對異構計算設備的開發庫需要提供針對不同設備類型的抽象接口和函數庫,以簡化異構設備的編程。例如,CUDA 和 OpenCL 提供了針對 GPU 的函數庫和 API,幫助開發人員輕松地編寫高效的GPU 程序。此外,開發庫還應提供豐富的示例代碼和詳盡的文檔,以便開發人員快速上手使用??缙脚_的編程語言和工具 以下是主流的跨平臺編程語言和工具:表 1:主流的跨平臺編程語言和工具 C/C+一種廣泛用于跨平臺開發的編程語言,具有高度的移植性,可以在多種硬件上編寫和運行代碼。Python 一種高級編程語言,具有豐富的庫和工具生態系統,可以通過不同的庫和框架實現跨平臺的計算。Java 一種跨平臺的
94、編程語言,通過 Java 虛擬機(JVM)可以在不同操作系統上運行。OpenCL 一種開放計算語言,也代表了一種異構計算標準,允許在不同類型的計算設備上進行并行編程,包括 CPU、GPU和 FPGA。選擇合適的編程語言取決于具體的應用需求和硬件平臺。關鍵是要確保所選編程語言在目標硬件上具有良好的支持和性能。標準化 API和庫支持 以下是常見的標準化 API和庫:表 2:常見的標準化 API和庫 OpenMP 一種支持共享內存并行編程的 API,可以在不同操作系統和硬件上使用,用于多線程并行計算。CUDA NVIDIA 推出的用于 GPU 編程的平臺,提供了一套標準化的 API 和庫,用于在 N
95、VIDIA GPU 上進行并行計算。OpenCL 一種跨平臺的異構計算標準,提供了一致的 API,允許在不同硬件上執行并行計算任務。標準化的 API 和庫可以確保在多種硬件之間實現功能一致性,并能夠簡化軟件的開發和維護過程。此外,標準化的 API 和庫通常由硬件制造商支持,因此可以提供最佳的性能和兼容性。(二)算力一致性(二)算力一致性 算力是指計算設備在單位時間內所能完成的計算量。鑒于異構計算設備具有不同的硬件特性和架構,其在計算能力上也存在差異。不同的計算單元具有不同的計算方式和指令集,因此需要采用不同的計算方法來描述它們的算力。CPU 的算力通常以浮點運算能力(FLOPS)為單位進行計算
96、。FLOPS 表示計算設備在單位時間內能夠完成的浮點運算次數,包括加法、減法、乘法和除法等運算。常見的 CPU算力計算方法包括基于 CPU架構和核心數的峰值 FLOPS和實際 FLOPS等。GPU 的算力通常以浮點運算能力(FLOPS)和整型運算能力(IOPS)為單位進行計算。與 CPU 不同,GPU 的并行計算能力非常強,因此其算力計算方法還需考慮并行計算能力。常見的 GPU算力計算方法包括基于 GPU架構和 CUDA核心數的峰值 FLOPS 和 IOPS以及實際 FLOPS和 IOPS等。FPGA 的算力計算方法比較復雜,需要考慮 FPGA 的架構、時鐘頻率、并行度等因素。23 常見的 F
97、PGA 算力計算方法包括基于 FPGA 邏輯單元數量、時鐘頻率和并行度的峰值計算性能以及實際計算性能等。不同計算設備間的算力等價轉換方法,常見的有兩種:基于計算密度的等價轉換 計算密度是指設備在單位面積或單位體積內所能完成的計算量。對于同一類型的異構設備,可以通過計算其計算單元數量、時鐘頻率、并行度等參數,來計算其計算密度并進行比較。對于不同類型的異構設備,可以將其計算密度轉換為相同的單位進行比較?;谕ㄓ糜嬎隳芰Γ℅PGPU)指標的等價轉換 通用計算能力(GPGPU)指標是一種通用的 GPU 算力評估方法,它將 GPU 的算力刻畫為一個通用的計算指標,以便與其他類型的計算設備進行比較。常用的
98、 GPGPU 指標包括單精度浮點運算能力(SPFP)和雙精度浮點運算能力(DPFP)等。(三)運行一致性(三)運行一致性 通過操作系統、虛擬化和容器等技術,我們可以在軟件層面對底層異構算力設備(如CPU、GPU 等)進行抽象和封裝。這使得上層應用程序可以方便地訪問和管理硬件,同時隱藏底層不同硬件設備的差異性,提供統一的計算運行時環境??勺兞6荣Y源技術是實現運行一致性的關鍵技術。由于計算環境中的資源具有非常高的動態性和不確定性,這要求對應程序能夠自動適應不同的計算負載和需求??勺兞6荣Y源技術可以將計算資源分解為更小的粒度,并能夠根據實際需求進行動態調整。這種技術可以讓計算資源更加靈活地適應不同的
99、應用程序需求,從而更好地利用資源。在云計算環境中,通常會將計算資源分解為裸金屬、虛擬機、容器、函數等更小的粒度,并動態調整資源分配和使用。通過可變粒度資源技術可以更好地保證服務的可靠性。(四)管理一致性(四)管理一致性 異構計算設備因其多樣的硬件架構和接口而帶來了管理、維護和安全上的挑戰。為了更有效地應對這些挑戰,必須提供一種綜合的方法,包括統一的監控管理、運維管理、安全管理和遷移工具,以確保管理操作的一致性。監控管理方面,對于異構計算設備的監控,需要提供統一的監控工具,以監測異構計算設備的性能、溫度、功耗等關鍵指標。通過對異構計算設備的監控,可以及時發現設備的異常情況,并采取相應的措施進行處
100、理。例如,對于 CPU 和 GPU 等設備,可以采用性能分析工具,對設備的性能進行監測和分析;對于 FPGA 等可編程邏輯器件,可以采用邏輯分析儀等工具進行監測和分析。運維管理方面,需要提供統一的運維工具,以管理和維護異構計算設備的軟硬件環境。例如,通過提供統一的操作界面,可以方便地進行軟件的安裝、配置和更新,同時也可以對硬件進行管理和維護。對于異構計算設備的軟件管理,可以采用容器化技術,將不同種類的軟件打包成容器,方便快速部署和管理。安全管理方面,需要提供統一的安全工具,以確保異構計算設備的安全性。異構計算設備的安全問題主要涉及數據安全、身份認證、漏洞管理等方面。例如,可以采用統一的身份認證
101、機制,對設備的訪問進行認證和授權;同時可以通過安全補丁管理工具,及時對設備進行漏洞管理和修復。遷移工具方面,需要提供統一的遷移方案,以便在不同異構計算設備之間進行快速遷移。異構計算設備之間的遷移涉及到不同的處理器和加速器之間的轉換,需要提供一套標準的遷移方案,以確保不同設備之間的兼容性和互操作性。例如,可以采用虛擬化技術,將不同種類的處理器和加速器虛擬化為同一種處理器和加速器,以實現快速的遷移。24 3.2.2 面向異構融合面向異構融合的操作系統的操作系統 人工智能、大數據、物聯網等技術迅猛發展,用戶的計算場景更加多元,計算類型更加復雜多樣,多 CPU、多 XPU 共存也已然成為長期趨勢,這將
102、會顯著增加操作系統對多元異構硬件管理和使用的復雜性?;谝陨蠁栴},操作系統需要在多方面進行優化。首先,操作系統需要能夠對異構設備進行抽象,將不同的異構設備抽象成標準的 Linux 設備供程序使用;其次,操作系統需要提供異構設備的統一編程模型,以此簡化編程方式,提升應用程序性能;最后,操作系統需要對異構設備的調度使用進行優化,充分發揮異構設備的性能優勢。(一)異構設備抽(一)異構設備抽象象 操作系統提供了標準的設備驅動程序接口,包括字符設備、塊設備、網絡設備等,異構設備可以通過編寫標準的設備驅動程序與操作系統進行交互,從而實現異構設備的統一管理,使得應用程序可以通過標準的設備節點訪問異構設備。異
103、構設備的管理流程包括:1)硬件檢測,系統啟動時檢測接入的異構設備,如GPU/DPU/FPGA 等,系統創建對應的 device。2)驅動程序裝載,操作系統檢測到異構設備時,會嘗試加載對應的驅動程序進行異構設備的初始化、資源的分配、中斷的注冊等,最終會通過字符設備、塊設備、網絡設備等方式暴露給用戶態。3)訪問異構設備,用戶態程序可以通過相應的設備節點訪問異構設備,比如通過標準的 open/read/write 系統調用對異構設備進行操作,最終完成與異構設備的交互。(二)異構設備統一編程模型(二)異構設備統一編程模型 為了充分利用多種硬件架構的性能優勢,開發人員需要為不同的硬件平臺編寫不同的代碼,
104、這對開發人員來說是一個挑戰,同時也限制了應用程序的可移植性,所以需要提供一個統一的編程模型和一套工具,使開發人員可以使用一種語言和一組庫來開發可以在不同硬件上運行的應用程序,達到簡化開發過程和提高應用程序可移植性的目的。實現統一編程模型的關鍵是提供一種跨多種硬件架構的高性能并行計算編程語言。這種語言能夠支持統一編寫可以在各種硬件架構上執行的代碼,還應提供一組性能庫,覆蓋高效的數學、數據分析和圖形處理等常見的高性能計算場景,從而能夠針對特定的硬件架構進行代碼優化,幫助開發人員更快的開發高性能應用程序。除了編程語言和性能庫,統一編程模型還應提供一組性能工具,包括性能分析工具和優化器,幫助開發人員找
105、到應用程序的性能瓶頸并提供優化建議,從而提升應用程序的性能和可靠性。(三)算力抽象與調度(三)算力抽象與調度 隨著云計算技術的發展,算力抽象和供給方法從傳統的物理機方式跨越式發展到包含虛擬機、容器、安全容器、裸金屬服務器等更多粒度基于云計算的算力抽象方法,以滿足用戶多樣化的資源需求和業務訴求。通過虛擬機承載穩態業務,搭配更加靈活敏捷的容器和安全容器承載敏態業務,并基于云物理機提供更高性能的計算能力,成為越來越多客戶的首選,與此同時對云操作系統提出了可變粒度資源統一池化、統一管理及形態互轉的要求??勺兞6鹊馁Y源池化需要解決多種粒度的算力抽象在計算、存儲、網絡等資源的割裂問題,構建統一的底層資源池
106、,進行統一的池化管理。在此基礎上,通過云操作系統提供的統一門戶,為租戶提供所需的虛擬機、容器、云物理機等資源,資源之間具備網絡互聯、數據互通的能力。更進一步的,實現資源之間的形態互轉,以滿足用戶希望的隨業務變化而改變業務承載實體的靈活需求可變粒度的資源管理能夠提升資源調度的靈活性、業務敏捷性,為云上業務的靈活彈性提供平臺級支撐。面向算力抽象與調度的操作系統優化 25 操作系統內核調度器優化:調度器是操作系統中非常重要的組件,它負責協調和管理各個進程之間的執行。由于目前調度策略不能滿足所有場景需求,通過修改調度器代碼實現新調度器需要重新編譯內核且難度較大,因此,如何能夠在系統運行時動態升級調度器
107、成為研究熱點。其中,調度器熱升級一種實現方式可以通過將調度器子系統從內核中提取出來,然后針對不同業務對代碼進行定制修改,最終以模塊形式加載到內核并動態切換調度器。這種做法可以有效解決升級內核成本較高、調度優化無法快速規?;渴鸬膯栴}。面向內存冷熱數據管理的調度優化:為了提升內存的容量和性能,內存技術正在快速發展,比如 HBM內存、非易失內存、CXL內存,但這卻給操作系統如何管理這些內存帶來了新的挑戰。如果內存管理模塊不考慮各內存介質的訪問延遲,將所有內存介質統一按照 DRAM進行管理會導致內存訪問性能降低。解決這個問題的實現方式可以在內存管理模塊中將不同內存介質劃分到不同的 NUMA node
108、,然后將同類型的 NUMA node劃分到同一個分層中,以此實現內存的分層管理。后續基于分層管理可以實現內存數據的冷熱遷移,讓熱內存保持在快速內存中,冷內存保持在慢速內存中,從而高效的利用不同介質的內存資源。面向容器混部場景的調度優化:在容器場景,如何最大限度的提高資源利用率,在提升容器部署密度的同時又不影響業務運行是重點研究的方向。目前資源隔離技術主要是通過 cgroup 實現,但在某些場景還需要進行優化,比如混部場景下如何保證實時任務的資源優先訪問。為了解決這些問題可以采用多種技術:基于 Group Identity 技術,提升高優先級組的及時搶占能力,確保高優先級任務的性能,適用于在線任
109、務/離線任務混部的場景?;谔幚砥鞯挠布Y源管理技術,實現 CPU cache 和內存帶寬的資源隔離,提升關鍵業務的性能。memcg 內存回收優化,避免應用自身陷入直接內存回收,適用于對時延敏感的容器業務場景。I/O 資源控制,基于權重比例為每個容器分配磁盤資源,保證重要業務的 I/O 資源訪問,同時具有自適應能力,盡可能避免磁盤資源被浪費。高性能 I/O:為了解決傳統 I/O 事件處理機制在高負載 I/O 環境下的性能瓶頸問題,新的異步 I/O 機制 io_uring正在快速發展。與傳統的 I/O 事件處理機制(如 select、poll、epoll)相比,io_uring 帶來以下好處:更
110、高的性能,io_uring 通過使用異步 I/O 操作和多個內核線程來提高 I/O 吞吐量,傳統的 I/O 事件處理機制可能會出現 I/O 阻塞,而 io_uring 通過使用 I/O 完成隊列來避免I/O 阻塞,從而實現更高的 I/O 吞吐量。更低的 CPU 利用率,io_uring 使用了零拷貝技術,可以避免數據在內核空間和用戶空間之間的拷貝,從而減少了 CPU的利用率。更靈活的事件管理,io_uring 支持多種類型的 I/O 事件,包括文件讀寫、網絡 I/O等。開發人員可以使用 io_uring API來管理這些事件,從而實現更靈活的事件管理。高性能網絡:實現高性能網絡的一種方法是基于
111、 eBPF。eBPF對網絡的加速主要體現在可以通過 eBPF繞開 TCP/IP 協議棧,直接將數據發送到目的地。eBPF程序根據 Hook點的不同分為 XDP 程序、TC 程序、套接字程序等:XDP 程序在網絡驅動程序剛剛收到數據包的時候觸發執行,常用于防火墻和四層負載均衡;TC 程序在網卡隊列接收或發送的時候觸發執行,運行在內核協議棧中,常用容器之間的網絡通信加速;套接字程序在套接字創建、修改、收發數據等變化的時候觸發執行,運行在內核協議棧中,常用于過濾、觀測26 或重定向套接字網絡包。另一種技術是基于 RDMA 的 SMC-R 技術,與傳統網絡相比,RDMA 可以將 CPU 從網絡傳輸中解
112、放了出來,提升網絡的性能,但使用 RDMA需要修改應用,嚴重限制了 RDMA 的部署范圍。SMC-R是基于 RDMA的網絡加速技術,以一種對應用透明的形式使用 RDMA。SMC-R協議棧實現在內核層,通過創建 AF_SMC協議簇socket,基于 TCP 透明使用 RDMA,極大提升了用戶態程序的兼容程度和網絡性能。3.2.3 面向異構融合的編程框架面向異構融合的編程框架 異構融合計算在計算機領域的應用將逐步擴大,隨著各種新型硬件的出現和異構計算框架的不斷完善,異構計算編程有望成為計算發展的重要趨勢。特別地,在 AI 領域、HPC 科學計算領域方面,對于異構和異構融合的需求是極為迫切的。軟件的
113、編程框架決定了其適應性,從底層標準到上層接口套件,目前已有多種異構并行編程框架。特定于底層硬件設備的標準和框架允許開發者直接針對特定硬件設備進行編程,包括底層的內存管理、任務調度和性能優化:OpenCL(Open Computing Language)是一種開放的跨平臺并行計算編程框架,由 Khronos Group 組織制定和維護。它提供了一個統一的編程模型和接口,方便開發者在各種異構計算設備上進行高性能計算,包括 GPU、FPGA 和其他加速器。SYCL(Single-source C+Heterogeneous Language)基于 OpenCL標準,并提供了一組 C+的擴展,可以讓開
114、發者在使用支持 OpenCL的多平臺硬件設備是更加便利。通過使用 SYCL,開發者可以在異構計算環境中編寫具有高性能的并行程序,將計算任務合理地分布到不同類型的設備上,并利用每個設備的特點和能力來加速計算。全棧異構框架聚焦于開發適用于多平臺的編程框架,包含硬件抽象、編程語言、庫和工具:OneAPI是由 Intel推出的跨架構編程模型,旨在簡化并加速針對不同硬件的編程。它提供了統一的編程接口、工具集和庫,可用于開發異構計算應用及優化,支持 CPU、GPU、FPGA等設備。OneAPI基于標準的數據并行性模型,并使用 SYCL編程模型來實現跨平臺的異構編程?;?C+編寫的源代碼,可以通過 One
115、API編譯器和運行時系統轉換為適用于不同硬件的代碼。ROCm是由 AMD 推出的一個開源平臺,用于支持多平臺異構編程。它提供了一系列工具、庫和編程模型,允許開發者使用常見的編程語言(如 C+和 Python)進行 GPU編程,支持多種操作系統(如 Linux 和 Windows)。ROCm還與 HSA(Heterogeneous System Architecture)緊密集成,以提供更高效的內存共享和數據傳輸。在未來,異構融合編程框架的發展在統一性、易用性和廣泛性上還有大幅發展空間,也就是:(1)統一編程模型,以簡化異構編程;(2)向更高級別的抽象發展,以降低并行編程的復雜性;(3)逐步擴大
116、支持的硬件范圍等。(一)面向(一)面向 AI 領域的編程框架領域的編程框架 近年來,隨著人工智能技術的飛速發展,各種深度學習框架如雨后春筍般涌現出來。目前主流的深度學習框架包括 Pytorch、Tensorflow以及國產的 PaddlePaddle、MindSpore等。除了深度學習框架之外,還有用于部署的推理 Server 框架,例如 TFServing、Torch Server、Triton,以及國產的 Paddle Serving 等,這些框架可以幫助用戶快速部署訓練好的模型,以提供高效的推理服務。雖然上述框架對主流的模型類型都有支持,但在硬件支持方面,僅限于 CPU、GPU和少數 A
117、I 芯片,而對其它 AI芯片特別是國產芯片都不支持,這使得使用這些不被支持的異構芯片面臨極大挑戰。深度學習框架和推理 Server 框架提供通用的人工智能編程支持,并在人工智能技術的應用中扮演著至關重要的角色。27 除了框架本身外,編譯等技術對人工智能編程的效率等方面具有影響,其中一個趨勢便是機器學習模型的優化技術。對于同構編程框架,一般的優化技術包括編譯加速、循環優化和指令優化、內存優化、低比特量化、模型壓縮、多線程優化等。這些對異構編程的支持、對于新研發的 AI等芯片使用和推廣極具參考價值??傮w來看,面向 AI領域的異構編程框架目前在如下兩方面可以進一步優化:第一是對于底層異構算力的支持。
118、上述編程框架除了支持典型的 GPU 和少數異構處理器外,對別的異構處理器并不友好。開發對新型異構算力的支持,對面向 AI領域編程框架本身的發展推廣和新興異構處理器的推廣都具有積極的作用。在這方面,已有的一些解決方案或者建議包括:通過 AI編譯器的方式,可以將前端模型轉換為中間表示(IR),然后使用相應異構芯片的代碼生成器生成代碼。這種方法主要用于推理任務,并且通常需要編寫適配新異構芯片的代碼生成器。TVM和 MLIR 是兩個具有代表性的 AI編譯器。通過修改現有框架或使用插件來支持異構芯片。這種方式可以同時支持訓練和推理,并且比較容易實現。例如,TensorFlow 提供了 XLA 和 Ten
119、sorRT 插件來支持 GPU 和 TPU加速,而 PyTorch也提供類似的插件。第二,面向 AI 領域的編程框架較少考慮特定的應用場景。例如 Pytorch、TensorFlow都是通用的編程框架。國產的 PaddlePaddle 等已經考慮了對包含高維稀疏離散異構數據的處理。在企業的實際應用中,可能還存在別的場景。針對這些場景的擴展和優化等可以進一步加速 AI領域編程框架的發展和應用。從編程開發的角度來看,未來優秀的 AI軟件棧應該能夠盡可能高效地利用各類芯片。除了注重深度學習優化、強化學習支持、靈活和輕量部署,未來的異構編程框架可能會向著自適應計算發展,即在運行時根據輸入數據的特征和任
120、務需求,動態地選擇最佳的計算資源和算法配置。(二)面向(二)面向 HPC 領域的編程框架領域的編程框架 HPC(High Performance Computing)即高性能計算,是使用有高速計算能力的并行處理器集群,來處理大規模計算、求解復雜問題的技術,對并行和分布式計算、大數據處理和高速 IO、一些特定問題的優化等方面有強依賴。HPC 在科研和工程中的許多方面都有廣泛應用,例如基因測序、天氣預報、分子動力、工程仿真、天文數據處理、粒子運動求解等。隨著高性能計算集群進入 E 級運算水平,傳統方式難以實現性能突破,異構融合的方式逐漸成為 HPC 實現大規模擴展、高效運行的主流方式之一,勢必對異
121、構并行編程框架需求更高。那么更加靈活和可編程的加速器以及更加智能的系統優化,可以進一步提高 HPC 應用的性能和效率,滿足更復雜、高要求的科學計算和工程計算任務。隨著硬件體系結構的變化和對異構計算的需求提高,業界采用的面向 HPC 的領域編程也在發生變化,從而在各個層次面向異構實現。典型的轉變主要體現在兩個方面,第一是HPC編程(語言)框架的轉變,例如:Fortran 到 C+的轉變:Fortran 是一種傳統的科學計算語言,而隨著計算環境的變化和異構設計需求的出現,很多原先使用 Fortran 編寫的程序轉為使用 C+,以便更好地適應新的硬件和并行計算環境。多 CPU核計算框架編程到異構計算
122、框架編程:早期的并行計算主要采用基于共享內存的多 CPU核計算框架,例如使用 OpenMP 進行并行計算。隨著異構計算設備的興起,開發者開始將程序改造為使用 OpenCL 進行異構計算,充分利用 GPU、FPGA 等加速設備的并行計算能力。28 CUDA 到 OpenACC 的轉變:CUDA 是 NVIDIA 提供的專門針對其自家 GPU 的編程框架,而 OpenACC 是一種針對異構計算的并行編程方式。為了使原先使用 CUDA 編寫的程序可以在其他硬件(如 CPU)上運行,開發者可以將 CUDA 程序改造為使用 OpenACC 編寫,從而實現在異構設備上運行。第二是單一 HPC 編程向異構
123、HPC 編程的轉變。這一點主要體現在科學計算、工程計算等復雜計算領域中,這背后往往是對指數級計算量需求的不斷增加。隨著網格稠密程度增加、模擬尺度增加,計算量呈現出了指數型增長,促使多學科模擬等正在嘗試和建立異構 HPC 計算框架。其中一個典型的領域是地球系統多圈層模擬(如 E3SM 應用)。該模擬面對的是復雜的,涉及大氣、陸地等多模塊的大規模數據和復雜物理過程。在版本迭代發展中,E3SM 已經有越來越多的模塊支持使用 GPU 加速計算,并且改進了計算步驟,使其成為 GPU 友好的并行化程序,包括在模型的時間步進或空間網格的更新上。通過 GPU 加速,E3SM顯著提高了模擬的計算效率和加速模擬結
124、果的生成。隨著技術的不斷進步,HPC 領域將不僅僅局限于 GPU、FPGA,未來的異構編程框架將趨向于支持更多不同類型的加速器,因此未來也將注重高級別的抽象和編程模型。此外,在 HPC 系統中,資源管理是一個重要的挑戰,為了提高異構計算系統的性能,未來的框架可能會更加智能化,具備自動優化和并行化的能力。這將會推動更大規模的數據處理和提升分布式計算量級,從而進一步提升 HPC 的計算能力,加快科學研究和工程應用的進展。此外,未來 HPC 和 AI 可能結合更加緊密,HPC 可以提供物理約束,AI 可以發現潛在的科學規律,從而實現雙向促進。3.3 系統層面融合技術探索系統層面融合技術探索 系統層面
125、的融合計算技術探索,主要討論大規模數據中心級的融合技術,以及新型計算模式的融合。3.3.1 數據中心融合數據中心融合(一)數據中心融合計算架構技術分析(一)數據中心融合計算架構技術分析 隨著新型應用的加速演變,數據中心正轉向從單一規模擴展到復雜架構融合。轉變之一是服務器的架構逐漸從以 CPU 為中心轉向異構融合計算,例如引入 GPU、TPU、ASIC或 FPGA 等異構計算加速器。轉變之二是數據中心的架構以系統設計為中心,按照業務需求來設計。實際上,我們可以把 Google 搜索、Gmail、Google Cloud 或 TensorFlow 等看成是一個邏輯上的單一的“大應用”,是數據中心級
126、別的業務系統;因此硬件重構需按照“數據中心即計算機”的理念來實踐。以系統設計為中心的原則,需要我們重新思考如何構建和部署數據中心資源。它意味著要超越硬件和軟件的傳統界限,考慮整個數據中心作為一個協同工作的系統。例如,對于特定的 AI工作負載,我們不僅要考慮芯片的設計,還要考慮數據流、存儲、網絡和軟件棧如何相互作用以提高效率。按照業務需求來設計包括如下部分:1)針對性優化:傳統的芯片設計通常是通用的,不考慮其在特定應用場景中的性能。而針對特定業務需求的系統設計,如專為 AI 計算設計的 TPU,可以為特定工作負載提供更高的效率;2)提高資源利用率:傳統的通用設計導致資源在某些應用場景中被浪費。而
127、按需設計可以確保資源在特定的工作負載下達到最大的利用率;3)異構融合(軟硬件系統級融合):不改變系統層次結構和組件交互關系,但打破軟硬件界限,通過系統級的協同設計,實現更高效、更靈活和更強大的系統功能。Google 的 TPU 是這一理念的經典例證。以矩陣運算為代表的深度學習工作負載,在29 Google 數據中心占比快速增長,已經成為主要業務需求。為此,Google TPU 從業務需求出發,專門針對深度學習的特征進行了系統設計。在芯片層面,通過定制高密度的 8 比特MAC 單元,TPU 單芯片可以提供每秒 92 萬億次操作的峰值計算能力,從而大幅提升矩陣運算吞吐。同時,TPU 還內置了大容量
128、的片上緩存,提供數據局部性,減少外部存儲訪問,以滿足深度學習應用的延遲需求。如下圖,主要的計算部分是右上角的黃色矩陣乘法單元(Matrix Multiply Unit);其輸入為藍色的權重 FIFO(Weight FIFO)和藍色的統一緩沖器(Unified Buffer),輸出是藍色的累加器(Accumulators);黃色的激活(Activation)單元對累加器(Accumulators)執行非線性函數,這些函數傳輸至緩沖器(Unified Buffer)。圖 3-12:TPU 塊狀圖(Block Diagram)1 TPU 的硬件設計都緊緊圍繞數據中心的業務需求進行了系統設計,在矩陣乘
129、法運算單元方面實現了高密度低位寬的設計,大幅提升了吞吐量;在存儲系統方面采用了大容量片上緩存,滿足了低延遲的需求。這種從業務角度進行系統級硬件融合的設計思路,使 TPU 相對通用型 CPU 和 GPU 獲得了 10-30 倍的性能提升。在過去 56 年間,谷歌 TPU 取得了不凡的成績:TPU 在谷歌的數據中心得到了大規模部署使用,從 2017 年的第一代 TPU 到現在的第四代 TPU都被廣泛應用于谷歌數據中心。TPU 成為谷歌 AI 應用平臺的重要組成部分,TPU 被集成到谷歌的 AI 平臺 Tensor Flow和 AI服務平臺中,成為運行谷歌 AI應用的關鍵硬件??傊?,從系統層面看,T
130、PU 不僅單點提升了計算性能,還通過軟硬件協同設計提升了數據中心整體的計算效率,降低了系統能耗;充分體現了從業務需求出發的系統設計思想。此外,AWS EC2 的動態異構數據中心和 Azure 的可擴展異構數據中心都采納了“以系統設計為中心、按照業務需求來設計”的異構融合理念。這種數據中心融合的理念,不僅推動了數據中心從規模擴展到架構融合的轉變,還為更好地滿足業務需求打下了基礎。(二)數據中心融合計算架構技術探索(二)數據中心融合計算架構技術探索 異構計算的快速發展,不僅反映了算力資源的多樣性,還驅動著處理器技術的不斷演進和創新。異構計算的融合趨勢,降低了超算中心、數據中心和智算中心間的算力服務
131、邊界,各類型算力中心利用相似的異構引擎和分布式計算架構,實現更靈活地跨越應用算力服務。談到數據中心融合,離不開十多年來一直在發展的一種趨勢,就是融合架構。融合架構的本質在于硬件重構與軟件定義。其核心技術包括物理層面的“解耦、集中、智能調 1 ISCA2017,In-Datacenter Performance Analysis of a Tensor Processing Unit 30 度”,實現計算、存儲和網絡資源的分類和集中化。在邏輯層面,支持資源池化和應用驅動的資源動態分配。融合架構可以按照軟硬件協同的方式,分三個階段逐步發展,如下圖:圖 3-13 數據中心級融合計算架構演進示意圖2
132、融合架構 1.0:實現了散熱、電源、管理資源的集中化和模塊化;運用軟件定義技術進行計算和存儲等資源的池化和集中管理,其典型代表為整機柜服務器。融合架構 1.0 相比以往大幅提高了計算密度。這一階段被視為“服務器即計算機”(Server as a Computer)。融合架構 2.0:機柜內部使用高速互連技術如 PCIe,對異構計算加速設備、存儲和網絡等 I/O 設備進行解耦、池化,提高資源利用率,來滿足業務需求;其典型代表為 SMC(Smart Modular Center,模塊化數據中心架構)。一般意義上的軟件定義網絡,是在三層網絡上通過 Overlay 方式實現二層交換;而在 SMC 中,
133、虛擬交換機的功能可以通過分布式交換網絡的網卡硬件實現,按需構建拓撲、劃分 vLan、定義 QoS,為上層應用提供高效可靠、安全隔離的網絡環境。這一階段被視為“整機柜即計算機”(Rack as a Computer)。融合架構 3.0:在硬件重構和軟件定義上更進一步。在 I/O 集中化的基礎上,進一步解耦 CPU 和內存形成集中的資源池,輔以軟件定義的能力,將數千顆 CPU、PB 級內存以上的計算機通過軟件形成任意粒度大小的資源容器,其他低功耗器件、加速器件、I/O 資源同樣可以池化和任意分配,形成各種規模和配置的計算資源。同時,配合應用感知的資源分配技術,將使數據中心的資源調度完全智能化、高效
134、化。融合架構 3.0 提供統一的資源視圖,將硬件資源清晰地組織成不同的功能區,功能區在軟件定義的控制下形成不同的資源池來支撐云應用和 AI應用等,智能感知上層業務類型,自動重構適合的資源來為業務構建最佳的運行環境,讓應用軟件與運行環境之間的契合程度達到一個前所未有的水平。這種創新的體系結構,能夠實現異構資源的高效融合,這一階段被視為“數據中心即計算機”(Data Center as a Computer)。如下圖 3-14所示。圖 3-14 數據中心級融合計算架構示意圖 從技術實現上看,數據中心級異構融合融合架構涉及到的技術有:2 來源:OCP CHINA DAY 2023 31 (1)使用高
135、速互聯技術(如 CXL 2.0、PCIe 5.0等),實現 CPU、內存、存儲、網絡等資源的邏輯上解耦,構建資源池。例如,基于 CXL 總線協議,可以實現內存遠端拓展,并通過軟件定義實現遠端內存多主機共享與靈活調配。網絡可采用非阻塞的多級 CLOS 拓撲結構,可以提供每秒 5Tbps 的總互聯帶寬,滿足大規模資源池互聯需求。另外,未來也可以應用先進的光互連技術,實現機柜間乃至數據中心級別的資源互聯,鏈路傳輸距離可達2米以上。圖 3-15融合架構 3.0-系統頂層架構3(2)滿足系統高速信號完整性。實際上,解耦架構給鏈路拓撲設計增加了復雜性,原本在服務器內部的互連總線需要在機柜內甚至機柜間的外部
136、連接;隨著數據速率的不斷攀升和系統鏈路變得更加復雜,互連鏈路延展已經接近極限。因此,需要應用實驗設計法和響應曲面統計法等仿真方法論,對復雜鏈路高速互連進行高精度的擬合仿真研究,充分考慮多變量及公差分布影響(如阻抗公差、芯片性能、制造工藝、溫度等因素),準確分析解耦池化系統多樣化拓撲和傳輸速率的互連鏈路風險與傳輸距離極限。(3)運用新型供電與散熱技術(如直流供電、液冷),提升計算密度與系統能效。例如,可構建直流母線供電體系,縮短供電鏈路,降低損耗,提升功率密度。采用液冷技術,提升服務器功率密度,并保證冷卻液零泄漏。優化散熱系統流阻,提升傳熱系數,降低PUE值。這些技術可以有效提高計算密度,降低機
137、房建設成本。綜上所述,數據中心級融合架構通過在互聯、調度、軟件和基礎設施等多個層面進行創新,實現資源的解耦和池化,支撐軟件定義和業務驅動的新型數據中心,可顯著提升 IT基礎設施的靈活性和使用效率。這是未來數據中心發展的重要方向。另外,數據中心級融合架構在支持業務敏捷性方面也具有發展潛力。未來有望通過應用感知調度技術,實現業務類型的智能識別,然后自動調配匹配的計算資源。這種技術手段包括:應用特征抽取,通過分析應用程序代碼、通信模式等自動提取應用特征;資源建模,建立應用特征與資源需求之間的映射模型;智能匹配,根據實時業務負載和資源狀況,生成動態資源調度方案。這種機制進一步提高了數據中心資源利用率,
138、也使得業務部署和擴展更加敏捷。從戰略高度看,數據中心級融合架構已經逐步在云計算中心、智算中心等領域開始落地,在助力企業實現 IT 基礎設施數字化轉型,具有多方面優勢。首先,它支撐云計算、AI 等新業務在數據中心層面的彈性部署,使企業 IT 系統具備敏捷性。其次,它提升資源 3 OCP CHINA DAY 2023 32 利用效率,降低企業 IT 運營成本。再者,它簡化系統架構,降低復雜性,減少運維工作量。最后,它通過軟硬件深度融合創新核心競爭力,助力企業應對數字化時代的競爭環境。3.3.2 新型計算模式融合新型計算模式融合 除了以 GPU、DPU、FPGA 為代表的 xPU 計算引擎外,計算領
139、域還涌現出了其他引人矚目的技術,其中包括 PIM(Processing in Memory,存內計算)和量子計算。業界專家預測,量子計算有望在 35 年后實現一些小規模的實際應用。這些先進計算技術也面臨著如何融入當前多元異構計算平臺的問題。存算一體的計算架構融合代表著計算領域的一項重要前沿技術,其潛在影響巨大。傳統的 PIM 方法將計算引入了存儲器中,實現了在存儲器內部進行深度學習等神經網絡計算的創新。例如,美國加州大學的謝源教授在 JUMP 項目中推動一項名為“Intelligent memory and storage”的研究任務,探索如何在存儲器內部實現智能計算。三星電子在業內率先將存算
140、一體化(PIM)融合集成到高帶寬內存(HBM)的進一步計算架構融合方案,其 PIM 技術通過在內存內核中設計一個稱為可編程計算單元(PCU)的 AI 引擎來處理一些邏輯功能。與現有內存解決方案相比,三星的 PIM 技術理論上可以通過可編程計算單元(PCU)將性能提高 4 倍,同時降低能耗高達 70%。AMD 將這種存算一體技術進一步融合,在其 Instinct MI100 GPU計算加速卡中搭載了三星 HBM-PIM技術的存儲器。國內也在存算一體技術領域取得了顯著的進展,推出了基于 SRAM 的存算一體芯片,如“摩鴻途 H30”。這款芯片在 Int8 數據精度下,具備高達 256Tops 的最
141、高物理算力,而僅需要 35W的典型功耗。與量子計算的架構融合是另一個關鍵方向。與傳統計算機相比,量子計算機具有天然的量子并行計算能力,已被證明在若干場景上具有相對于傳統計算的極大優勢。全球有超過 20 家公司正在開展量子計算相關的研究。其中,在分布式超導量子計算方面,2019 年谷歌公司 Sycamore 超導量子芯片包含了 54 個 Xmon 類型的超導量子比特;2021 年,中國科學技術大學研究團隊推出了包含 66 個比特的“祖沖之號”超導量子處理器;2021 年Rigetti 公司推出的“Aspen-M”具有 80 比特量子計算機,實現了利用芯片倒裝技術集兩個40 比特量子芯片。在光學量
142、子計算方面,美國國家標準與技術研究院、代爾夫特大學、中國科學院上海微系統與信息技術研究所等機構可以生產兼具高探測效率(90%)、高重復頻率(150 MHz)的超導納米線單光子探測器,光學量子計算的基本操作(如概率性的控制邏輯門)、各種量子算法的簡單演示驗證均已實現。中國科學技術大學研究團隊構建了光量子計算原型機“九章”及其升級版“九章 2.0”,據此實現了量子優越性這一里程碑。2022 年,Xanadu 量子技術有限公司在時間編碼玻色采樣上實現了量子優越性驗證?;诹孔蛹夹g的演進,開始有公司研究量子計算平臺的與傳統計算平臺的融合技術。例如,IBM 建立了自己的量子云平臺,推出了含有 127個比
143、特的處理器等。33 4 異構融合計算發展趨勢異構融合計算發展趨勢 基于 CPU 的同構計算,成就了 Intel 的市場重要地位;基于 GPU 的異構計算,助推NVIDIA 市值超過了萬億美金。從同構走向異構,再進一步走向異構融合,是計算架構從簡單到復雜的必然演進趨勢。異構融合計算方向的早期探索中,國際巨頭 Intel、NVIDIA和 AMD 均已紛紛入局,歷史機遇稍縱即逝,整個行業需要快速形成共識,站在國家發展戰略的高度,積極投入和快速布局這一領域。4.1 通用性與高性能統一通用性與高性能統一 計算架構一直存在通用和專用的矛盾,即系統越復雜,計算模式越發展快速,越需要通用性較強的靈活計算平臺;
144、但系統算力需求越來越高,就需要盡可能把業務邏輯固化成硬件加速電路,也就越需要專用性高的定制計算平臺。解決這個矛盾的思路是:為不同類型的系統內計算工作任務,匹配最合適的計算處理器類型,同時不同的計算處理器組成完整的通用性較強的整體系統。通俗的講,就是通過工作任務專業分工,實現系統整體性能最優。圖 4-1 根據靈活性特征的系統工作任務分類 系統可以看作是多項工作任務的組合,這些工作任務雖然各有特點,但整體上具備“二八定律”的特點,即不同系統中大約 80%的工作任務是相似甚至相同的。針對任務的這一特點,把任務進行分類:任務相對確定,比如虛擬化、網絡、存儲等,這些可以稱為基礎設施型任務。這類任務因為其
145、確定性的特點,適合 DSA和 ASIC 級別的加速處理器處理。任務部分確定,通常是性能敏感的業務應用任務,比如 AI訓練、視頻圖形處理、語音處理等。這類任務具有一定的確定性,但通常還是需要平臺的一些彈性的能力,其靈活性要求相對較高。因此比較適合 GPU、FPGA 這樣的處理器平臺。任務不確定,難以確定的業務應用,適合選用 CPU平臺。以及難以加速或者不存在合適加速處理器的工作任務都可以由 CPU平臺處理。針對不同任務的靈活性/性能特征,把任務劃分到這三個層次,然后采取各自特征能力相符的處理器平臺,可以做到滿足整個系統通用靈活性的同時,又可以實現最佳性能。34 4.2 計算架構走向收斂計算架構走
146、向收斂 圖 4-2 根據指令復雜度的典型處理器類型劃分 從 CPU 到 ASIC,從左向右,處理器的類型越多,架構的數量和種類也越多。不同類型、不同領域、不同場景、不同廠家、不同架構的處理器,如果不加以約束,會導致處理器架構的完全碎片化,進而增加異構融合的難度。異構融合計算,會面臨多種處理器類型和架構;并且,隨著云網邊端逐漸走向融合,只有統一的系統架構接口,才能實現多種異構資源的協同,從而實現資源池化和平臺融合?;诋悩嬋诤嫌嬎愕睦砟?,各類處理器架構才會逐步由定制化、碎片化走向收斂和開放,實現標準統一的開放架構,有助于促進形成行業統一的開放生態。4.3 編程復雜度降低編程復雜度降低 串行計算架
147、構符合人類邏輯思維,編程相對簡單;同構并行計算架構的編程,就要復雜很多;異構并行計算,則是難度進一步提升;那么異構融合計算,便是難度大幅提升。要想推動異構融合計算的編程適配,核心的思路跟異構計算架構一致,就是要簡化異構融合系統的編程復雜度,降低開發者的使用門檻,一些可能的辦法如下:方法一,依據靈活性進行系統工作任務分類;方法二,通過開放標準的架構讓架構數量逐漸收斂;方法三,系統分解,復雜的大系統可分解成若干個簡單的小系統,針對分解后的小系統,則可以更加容易的進行編程;方法四,軟硬件融合,軟件迭代非???,兩個月一個小版本迭代,半年一個大版本迭代;而硬件開發難度越來越大,開發周期 1-3 年,生命
148、周期 5-8 年;硬件的迭代周期完全跟不上軟件的更新節奏。需要更進一步的系統架構創新,把傳統的軟件層面的能力(如功能擴展性、資源彈性和擴展、完全硬件虛擬化、硬件高可用等),融入到硬件中去。通過軟硬件融合,來整體的提升硬件的靈活性,優化硬件的迭代周期,讓硬件迭代和軟件迭代更加匹配;方法五,構建功能強大的異構融合計算開發框架。35 4.4 基礎組件優化基礎組件優化 常規的系統棧是分層的,即系統的多個基礎組件組成單個系統層,多個系統層再組織成系統棧。異構融合計算的軟硬件系統棧,是在縱向的單個異構軟硬件系統棧的基礎上,進行的橫向整合和優化。單個縱向的異構計算軟硬件系統棧性能,決定了異構融合系統最終的效
149、果,因此需要針對縱向的異構計算軟硬件系統棧進行全棧優化。硬件層系統層框架層應用層 圖 4-3 系統棧分層示意圖 以人工智能領域為例。隨著人工智能技術的快速發展,基于自研芯片算力服務平臺進行訓練已經成為趨勢。然而,這種訓練方式不可避免地會帶來更多的移植與調優工作。在這個過程中,除了在集群、并行策略、算子和工具包等方面的優化外,還需要完成包括DeepSpeed/Megatron/Colossal-AI/apex 等必要組件的適配工作。為了保證程序能夠正常運行,程序系統調度也需要進行調整,包括操作系統配置和網絡協議參數等。其中訓練的優化工作主要包含以下三個方面:首先是算子層面的優化。這包括使用算子融
150、合和算子優化等技術,深度挖掘硬件性能,提升硬件使用率。通過這種方式,可以更有效地利用硬件資源,提高訓練效率。其次是策略層面的優化。這包括采用模型并行、數據并行、流水線并行、Zero 化等多級并行策略,實現超大規模訓練。這樣不僅可以提高訓練速度,還可以擴大模型的規模,提高模型的性能。最后是集群層面的優化。這包括針對硬件的拓撲結構,對分布式訓練通信、并行分組配比等進行定制優化,提升訓練擴展比。這樣可以進一步提高訓練效率,擴大訓練規模。在針對每一個縱向的單個異構系統全棧優化的基礎上,進一步對橫向的整個異構融合系統進行全棧協同優化。異構融合全棧協同優化將幫助我們更好地利用硬件資源,提高系統整體性能和效
151、率,為實現更加強大的系統奠定基礎。36 5 異構融合計算發展建議異構融合計算發展建議 異構融合計算是未來計算領域的重要趨勢,它將不同架構、硬件和技術融合在一起,以實現更高性能、更低能耗和更廣泛應用的計算。為了推動異構融合計算的發展,以下是一些發展建議:5.1 加強政策引導,布局重點項目建設加強政策引導,布局重點項目建設 強化政策支持和公共服務建設,制定鼓勵和促進技術創新的政策措施,包括資金支持、稅收優惠、人才引進等舉措。此外,應該加強對異構融合計算領域的專業人才培養和支持,包括設立相關課程、提供創業支持、建立培訓和獎勵機制,培養具備交叉學科背景的復合型人才,以提高行業技術水平與創新能力。同時,
152、積極推動產業合作,鼓勵企業、高校和科研機構建立“異構融合計算產業聯盟”。通過組織技術論壇、舉辦創新賽事等方式,加強異構融合計算技術的市場推廣和宣傳,以吸引更多開發者參與該領域的研發和應用。此外,還應引導國家基金與社會資本有序、持續性地投資,特別是重點支持融合計算技術攻關企業,為其提供資金和項目支持。明確定義異構融合計算領域的發展目標,制定中長期技術攻關研究規劃,為技術研發和應用提供明確的指導方向。重點涵蓋通用大芯片、普適互聯操作系統、高性能數學庫、卓越性能圖形庫、異構統一編程框架、異構任務調度軟件、下一代存儲技術、以及下一代網絡通信協議等關鍵研發項目。并在實際中落地這些項目,包括建設智算中心、
153、超算中心等新型基礎設施,特別關注支持具備競爭優勢的項目,積極推動產業、學術界和研究機構的合作,共同助推技術創新。5.2 構建標準體系,強化融合技術牽引構建標準體系,強化融合技術牽引 建立異構融合計算的標準組織,制定相關標準和規范,引導企業和研究機構關注前沿技術,致力于算力生態的統一融合建設。注重頂層技術規劃,堅持技術協同,在異構融合為核心理念的基礎上,依托“異構融合計算產業聯盟”和其他平臺組織,與算力生態的上下游標準化組織共同制定硬件、軟件以及軟硬件層面的異構融合計算技術標準規范,覆蓋指令集架構、產品參數規格、通信協議、數據交換、系統架構、交互接口、外觀形態、服務模式等多個方面。建立適用于異構
154、融合計算的標準體系,積極與國際標準化組織合作,特別在 NOC 技術、SiP 技術、融合架構技術、統一編程框架等領域,促進異構融合計算技術的規范化和普及,以避免碎片化研究和低質量的重復工作。我們鼓勵開放的發展模式,推動計算產業鏈中各環節主體的協同參與,促進標準與科技的互動和協調,以促進標準體系建設的開源創新,激發開源模式下的創新活力,推進標準化與數字化的融合,以提高標準的準確性、整體質量和適用性。5.3 聚焦關鍵技術,推動計算技術創新聚焦關鍵技術,推動計算技術創新 鼓勵企業增加技術創新投資,強化對 CPU、GPU、FPGA 等單芯片的設計和創新能力,包括微架構設計(例如指令集、邏輯單元、邏輯單元
155、布局、流水線、分支預測、緩存設計、內存管理等)、芯片封裝、內核與線程設計(包括多核心、超線程、并發管理等)、低功耗設計(例如節能模式、動態頻率調整等)、安全性與可靠性(如加密技術、錯誤檢測與37 糾正等)、芯片調試與性能優化以及制造工藝等方面的投入。加速通用大芯片的設計進程,實現不同類型計算單元的協同設計,研究最佳任務映射和調度策略,以提升芯片性能和能效。針對異構融合架構,優化操作系統、驅動程序、編譯器、解釋器等系統軟件的泛在服務能力(包括資源管理、并行計算、交叉編譯、異構兼容等)。同時,開發統一的編程模型和語言,設計領域特定語言,突破多層次編譯優化技術,開發輕量級運行時調度系統,以減少開發的
156、難度和成本。研究高效的資源管理和調度技術,實現統一的系統管理和監控工具以實現動態的任務調度和資源管理,以實現不同計算單元之間的最優任務分配和資源共享,從而提高系統的整體效率和穩定性。探索新的系統集成和驗證技術,開發系統集成和驗證工具,以確保不同計算單元之間的有效集成和驗證,保證系統的穩定性和可靠性。通過電路級優化、算法級優化、系統級優化等多種手段,提高異構計算系統的能效和性能,將異構融合計算技術應用到實際場景中,通過實踐驗證技術的可行性和有效性,推動技術的推廣和應用。5.4 加速加速產業變革,促進新型技術應用產業變革,促進新型技術應用 附加值。探索新的計算架構,如基于異構融合的計算、神經網絡計
157、算、量子計算和生物計算等,推動包括更高性能的融合芯片、更高效的算法、更優化的編譯器、更快速的內存/網絡訪問等異構計算技術的研發和創新,以滿足未來計算需求的增長。將異構融合計算技術應用到具體的行業和領域,如自動駕駛、人工智能、元宇宙等,通過實際應用來推動技術的進步,促進產業鏈上下游企業的合作,建立健全的產業生態系統,推動多產業的變革,共同打造未來科技的新時代。依托“異構融合計算產業聯盟”,聯合產業鏈上下游企業、科研機構、政府機構等各方力量,聚焦重點領域(如人工智能、高性能計算、物聯網等),加強與相關企業的合作,開展“信息技術創新榜(優選)”活動,遴選出一批具備先進性、自主性的案例和解決方案,并進
158、行宣傳推廣,推動異構融合計算技術在這些領域的應用和推廣,形成良好的應用示范效應。38 附錄附錄 異構融合計算實踐案例異構融合計算實踐案例 1 CPU+XPU 技術融合案例技術融合案例 Intel 公司以 CPU 為基礎,推出了一種名為 CPU+XPU 的異構融合解決方案。該方案從硬件架構的演變和基于 XPU 的軟件生態系統的發展兩個方面進行了分析。Intel 將這種架構稱為超異構,其概念與異構融合非常相似??梢钥吹?,在保持 CPU 優勢的同時,Intel 還在 GPU、FPGA 以及定制芯片上尋求創新,以實現超異構計算的融合架構?;谟布牡?,相應的軟件生態系統也進行了跨平臺、開源聯盟等嘗試
159、,主要應用于工業自動化、網絡、能源、醫療、軍事等多個領域。(1)Intel 芯片級異構融合硬件架構的形成 面對 CPU 架構上摩爾定律的放緩、Tick-Tock模式的失效、存儲容量限制和互聯帶寬不足等問題,Intel 在大數據時代開始關注 XPU 異構架構。2018 年,Intel 向業界首次展示了 XPU 異構藍圖,該架構由 CPU、GPU、各類加速器和 FPGA 異構組合構成硬件基礎,將不同類型和功能的芯片部署在同一平臺上,采用先進的封裝技術實現多節點部署,同時需要統一的異構計算軟件來構建上層軟件生態。Intel 目前在芯片和異構融合方案上的重要成果是 2023 年推出的第四代至強可擴展處
160、理器。這款處理器增加了多種加速引擎,以提供 AI、高性能計算、安全、網絡、數據分析和存儲等更豐富的加速功能,并具備 8 個 DDR5-4800 單路內存通道。在制造工藝方面,第四代至強處理器在單個封裝上集成了多達四個 Intel 7 工藝的瓦片,采用 SoC 集成,使用英特爾 EMIB、Foveros 封裝技術進行連接。單路 CPU 支持 80 通道的 PCIe 5.0,多路系統中 CPU 之間的互聯升級到 4x24 UPI 2.0,數據速度達到 16GT/s,并支持 CXL1.1,實現 CPU、GPU、IO 等多芯片間的通信。(2)Intel 適配異構硬件的開放軟件生態:One API、IP
161、DK、OPI Intel 推出的 oneAPI 是一種基于 CPU+XPU 異構融合芯片的開放式編程框架。通過 oneAPI,開發者可以獲得一致的編程接口,覆蓋了庫、工具和解決方案等多個層面,實現了 OpenVINO、Analytics Zoo、BigDL 等技術,從而實現應用的跨平臺復用,降低軟件開發和維護成本,提供最大的開發自由度。為了適應 IPU(基礎設施加速芯片,支持多個領域 DSA)和 DPU,Intel 推出了一個名為 IPDK 的社區驅動的基礎設施層編程開發框架,提供了基礎設施應用接口和目標抽象接口,用于工作任務應用和硬件能力供應。此外,2022 年,Intel 聯合 Linux
162、 基金會發起了 OPI(開放可編程基礎設施項目),為 IPU 等下一代架構和框架培養社區驅動的開放生態系統。下表總結了 Intel 在基礎設施和應用加速上的全面推進,并分析了當下 Intel 在異構融合計算結構構建上的全領域布局。表 1 Intel 異構融合領域探索分析 編號編號 架構架構/特征特征 用途用途 分析分析 1 CPU 應用不可加速部分,以及其他沒有實現加速引擎的任務,兜底。CPU 是 Intel 的優勢領域,CPU 生態最強大。2 GPU 應用層可加速部分,以及其他相對變化較大任務的加速。Intel Xe GPU:軟件第一、并行第二,適應全新的工作負載。沒有歷史包袱,OneAPI
163、跨平臺優勢。3 FPGA Intel FPGA 是全球第二大 FPGA 平臺,相關生態成熟。39 編號編號 架構架構/特征特征 用途用途 分析分析 4 DSA 類 適合基礎設施層任務。Intel IPU(處理器)5 ASIC類 6 超異構 CPU、GPU、DPU、AI 芯片等,融合+重構到超異構計算架構。Intel最終目標。7 跨平臺 任務可運行在云端、邊緣甚至終端,運行在不同廠家的硬件平臺的不同類型處理引擎。XPU戰略和 OneAPI框架。8 可編程 完全通用的計算平臺 從完全可編程網絡,擴展到完全可編程的超異構計算。9 開放 開放架構,形成行業共識,架構收斂,主導架構生態。OneAPI(框
164、架)、IPDK(框架)+OPI(開源生態聯盟)。2 GPU+DPU 融合案例融合案例 在 2020 年收購 Mellanox 后,英偉達也進入了 DPU 領域并推出了 BlueField 系列產品。BlueField-2 集成了高達 200Gbps 的以太網端口和高帶寬的 PCIe 接口。該芯片集成了一個高性能的八核 ARM 控制器以及一個帶有在線 IPSec 和 TLS 加密的可編程的、線速轉發的數據平面。BlueField-2 還包括了正則表達式(reg-ex)加速器,它能夠為入侵檢測、反病毒和垃圾郵件過濾等應用卸載字符串搜索,同時還提供公鑰加密引擎、真隨機數發生器(TRNG)以及安全啟動
165、。其 PCIe Gen4 x16主機接口可以處理 200Gbps 的網絡吞吐量。支持使用 16 個 Cortex-A78 核,其計算性能將比前代產品提高約四倍,并將網絡帶寬提高 1 倍。它將能夠處理高達 400Gbps 的以太網和 InfiniBand 端口速度,其 PCIe Gen5 主機接口將使 x16 插槽的可用帶寬增加一倍。2024年即將上市的 BlueField-4 將集成一個用 于 AI 加速的 GPU。這將使該 DPU芯片的 AI 性能與 NVIDIA 的 A100 等頂尖加速器處于同一級別。圖 1 BlueField 系列產品圖 DOCA 對于 DPU 就像是 CUDA 對于
166、GPU。為了使 ISV、服務提供商和學術界能夠采用 DPU,NVIDIA 開發了 DOCA(Data Center On A Chip Architecture)。DOCA 是一個由庫文件、運行時組件和服務組成的框架,建立在一套經過驗證的驅動程序之上。其中的一些庫與開源項目有關,而另一些則是 NVIDIA 獨有的。與 CUDA 實現 GPU 編程的抽象化一樣,DOCA 實現了更高級別的 DPU 編程抽象化。英偉達對 DOCA和 CUDA也進行了融合,使得 DPU和 GPU可以協同工作,這里以網絡數據包的實時 GPU 處理為例。在原來的處理過程中,CPU 是協調人,也是主要瓶頸。40 它在同步
167、NIC 和 GPU 任務以及管理多個網絡隊列方面承擔了太多的責任。因為它必須使網卡(NIC)接收活動與 GPU 處理同步。一旦 GPU 內存中接收到新的數據包,這將喚醒 CUDA 內核。圖 2 CPU 協調原理圖 使用 NVIDIA GPU 和 Bluefield DPU,而無需 CPU 的干預。在 DPU和 GPU 的協作方面,通過使用 DOCA GPUNetIO 庫中的 CUDA 設備函數,將 NIC 寄存器暴露給 GPU 的直接訪問。這樣 CUDA 內核可以直接配置和更新這些寄存器,以協調發送或接收網絡操作,CUDA 內核可以直接向 GPU 發送和接收數據包,而無需 CPU 核心或內存。
168、圖 3 GPU協調原理圖 3 CPU+DSA 技術融合案例技術融合案例 上海熠知電子科技有限公司(以下簡稱“熠知電子”)定位高端算力芯片的 Fabless 設計業務,并具備芯片架構設計、前端邏輯設計、后端布圖設計、產品板級設計、驅動集成的芯片產業化全棧能力。結合 ARM CPU 和 DSA 架構,已推出了兩代異構處理器芯片并成功完成產業化規模應用,獲得了三十多項發明專利及軟件著作權。熠知電子最新一代的 TF7000 系列超融合處理器采用先進的 7nm 半導體工藝,通過異構融合的方式在單芯片內集成了 40 核的 ARMv8.2 CPU(主頻 2.5GHz3.0GHz)、基于DSA 架構的自研 N
169、PU(40TOPSINT8 算力)、視頻編解碼硬件加速器(可至多同時解碼64路 1080P 視頻)、SM2/SM3/SM4加解密引擎、PCIe 4.0總線控制器等功能模塊,并支持通過 CCIX 協議實現處理器之間的 NUMA 互聯,進一步擴展算力。TF7000 系列超融合處理器現已規模量產,已有國內多家服務器整機廠商的機型上市。TF7000 系列超融合處理器在芯片層級的異構融合設計創新,主要體現在以下五點:基于 MESH片上網絡的異構融合體系 TF7000 系列選用了新型的 MESH 片上網絡(Network-on-Chip),確保數據可以在眾核 ARM CPU、DSA 架構的 NPU、視頻編
170、解碼單元、加解密引擎、DDR 控制器、PCIe 總線控制器等功能模塊之間高速傳輸。41 圖 4 MESH 片上網絡架構 基于存算一體設計的異構數據交互 異構計算不同架構處理器間的數據高速交換一直是困擾業界的性能瓶頸。HBM 內存雖然有助于提示性能,但其價格昂貴且存在供應鏈風險。TF7000 系列的設計采用片上內存SRAM,可存放深度神經網絡若干層的數據。SRAM 基于片上網絡與 CPU 和 NPU 實現數據高速交互,當片內 SRAM 空間不足時 CPU 或 NPU 再訪問片外的 DDR4。同時,CPU 和NPU 之間共享地址訪問空間,這使得需要 CPU 和 NPU 協同處理的數據對兩者同時可見
171、,以便快速交接處理。使用這種存算一體和共享存儲空間的設計之后,基于普遍可以買到的DDR4內存條就可以實現高性能的人工智能推理計算。圖 5 片上內存 SRAM 架構 DSA 架構的 NPU單元 人工智能推理運算的計算模式通常是可預測的,因此采用 DSA 架構實現可以在更小的芯片面積、更低的功耗、更高的運行速度下面實現人工智能的推理運算加速。熠知自研的 NPU 支持 100多種深度學習算子,配套熠知自研的 TFDL深度學習軟件工具套裝,可以支持用戶在 Caffe、Tensorflow(Lite)、ONNX 等主流深度學習框架下訓練完成的模型平滑移植切換。運用 INT8/INT16整型計算達到與 F
172、P32/FP16浮點運算近乎無損的結果精度并顯著提高速度降低功耗。圖 6 TF7000 片內局部圖 42 基于 CCIX 實現片間互聯 TF7000 系列異構處理器支持 CCIX 互聯,使系統的通用算力和深度學習算力可以平滑擴展,連接拓撲如下圖所示。圖 7 TF7000 系列異構處理器連接拓撲 CCIX 互聯使不同的 Die 之間的計算單元形成了 NUMA 節點,跨節點的處理器之間彼此具備數據一致性,從而為大規模的計算系統提供了技術基礎?;?Chiplet實現算力擴展 Chiplet是目前行業內實現芯片算力擴展的熱門議題和技術方向。TF7000 系列使用 Chiplet 技術實現從單顆處理器
173、 40 核到單顆處理器 80 核的算力擴展,將高速信號完整性設計與成熟的基板技術相結合,實現了 chiplet芯片擴展的量產。圖 8 TF7000 系列 TF7000 系統異構處理器可廣泛應用于電信、金融、電力、交通、醫療、教育等同時需要通用算力和 AI 算力的行業,能靈活部署在云端或邊緣。TF7000 已經與國內各主流的操作系統、云平臺、集中式數據庫、分布式數據庫、中間件、大數據平臺、數據安全等軟件完成了互認證,方便用戶快速實現系統集成和部署。4 DPU+云原生技術融合案例云原生技術融合案例 云原生技術中的微服務、聲明式 API、Serverless 等高內聚、低耦合的服務形態支撐了持續交付
174、、自動化管理、彈性伸縮等特點,從而實現更輕盈、更敏捷、更彈性的業務系統。但大量 sidercar 容器的使用,不僅導致系統資源消耗較高,也讓容器網絡存在實現負載,轉發性能不足的問題,通過 DPU 針對云原生平臺網絡部分進行卸載和加速,能夠提升云原生業務部署規模、提高網絡轉發吞吐量和降低網絡轉發時延,構建更高效的云原生網絡。對于云原生網絡,通過 DPU 的網絡卸載,可以對服務網格上進行加速,解決業務部署規模受限問題:加速方式一:OVN 卸載 OVN在云原生網絡中應用較為廣泛,通過 DPU對 OVN進行加速,實現云原生網絡全卸載,提供了高性能的云原生網絡環境。43 圖 9 OVN 卸載 加速方式二
175、:基于服務網格的網絡卸載加速方案 在對服務網格的加速方案中,將 Sidecar 模式的服務網格轉換成集中式服務網格,無Sidecar 模式可節約更多資源,提升業務部署規模。同時可以將 Envoy 代理卸載到 DPU 卡,在 DPU 卡上提供更多遙測能力,在 DPU 上對遙測進行集中式管理也降低了整體運維難度。圖 10 基于服務網格的網絡卸載加速方案 基于 DPU 加速卸載云原生網絡中的 OVN 和服務網格不僅實現更高性能云原生服務網格的,有效提升云原生網絡性能,提高云原生業務部署規模,而且降低了整體擁有成本,同時高性能的軟硬一體也使得云原生網絡可以實現統一治理、統一生態、智慧編排、敏捷運維。5
176、 超融合高密度計算技術案例超融合高密度計算技術案例 現有計算系統的要求已經超出了僅僅支持高密度計算的范圍,而是需要廣泛支持各種應用領域,包括深度學習、大數據和云計算等。為了滿足這些需求,計算系統需要在內部不同層次上融合多種計算形態,以提供更強大和靈活的計算能力。通過靈活構建計算模式、調整系統配置、整合計算形態以及實現計算分布的透明化,系統可以實現超融合和應用軟件的自適應性,從而滿足不同應用場景的需求。44 圖 11 高密度計算整體架構圖 曙光科研高密度計算解決方案包含“三橫三縱”6 個架構層級?!叭龣M”包含了基礎平臺、融合計算框架以及科研創新應用平臺;“三縱”包含了服務門戶、運維系統和安全防護
177、體系?;A平臺是系統的骨架,包含浸沒式相變液冷冷卻技術、冷板式液冷冷卻技術等末端基礎設施;通用處理器及異構加速器等超級計算單元;大容量硬盤、閃存及分布式文件系統等大數據存儲關鍵部件;由多維超高速網絡構成的超高速互聯體系等。融合計算框架是系統的血肉,它包含了融合 MPP 計算、SMP 計算、內存計算等不同計算框架的超融合資源管理調度系統以及面向各種科研計算應用的開發環境和基礎算法庫??蒲袆撔聭闷脚_是系統的靈魂,承載著面向高能物理、納米材料、基因測序、分子動力學、虛擬天文臺等各類科研計算服務?!叭v”處于系統的外圍,為系統的健康運行保駕護航。6 多域處理器融多域處理器融合技術案例合技術案例 高性
178、能計算(HPC)對與日常生活密切相關的領域產生了深遠的影響,包括天氣預報、增材制造、材料發現和設計、生物燃料轉化、工業設計等。今天主流的超級計算機為 HPC提供每秒千萬億次(P 級)的計算能力。雖然這些千萬億次系統已經相當強大,但預計下一個超級計算機的里程碑百億億次(E 級)計算將很快實現。作為超級計算機的關鍵組成部分,高性能微處理器在超級計算機中發揮著重要作用。用于 HPC 的單微處理器芯片運算能力應達到雙精度 10TFLOPS 的水平,否則超級計算機中的微處理器芯片數量將過多而難以有效維護。因此,雙精度 10TFLOPS 級別的微處理器正成為當今超級計算機設計的競爭優勢。為了實現這一目標,
179、國防科技大學計算機學院自主設計了一種名為 MT-3000 的異構多域處理器,如圖 12所示。45 圖 12 MT-3000 高性能計算(HPC)專用的異構多域處理器體系結構圖 圖 13 MT-3000 高性能計算(HPC)專用的異構多域處理器物理版圖 MT-3000 包含 16 個 CPU、96 個控制核心和 1536 個加速器核心,在 1.2GHz 的工作頻率下,其雙精度性能達到 11.6TFLOPS,能效為 45.4GFLOPS/W。MT-3000 有四個設計亮點:(1)異構多域微體系結構:16 個 CPU 組成通用域,96 個控制核心和 1536 個加速器核心組成加速域,該域被均勻地分為
180、四個自治集群;(2)融合 VLIW 和加速器陣列的微體系結構:每個加速器核心以 VLIW 方式工作,每 16個加速器核心和一個控制核心組成一個加速器陣列;(3)超高速帶寬片上向量存儲器:支持兩個向量加載/存儲操作,為加速陣列中的 16個加速器核心提供 162的雙字;(4)層次化互連網絡:在通用域中,一個 mesh 網絡連接 16 個具有緩存一致性的CPU。在加速域中,4 個 crossbar 網絡連接 96 個控制核心和 1536 個加速器。8 條高帶寬數據路徑將 mesh 網絡和 crossbar 網絡連接在一起,充當通用域和加速域之間的數據共享橋梁?;?MT-3000 芯片,構建了一個千
181、億級超級計算機原型,包含 1024 個 MT-3000 芯片,實現峰值雙精度性能約為 12 peta flops。HPC經典測試集 linkpack計算效率達到 80%。46 7 通用超異構處理器技術融合案例通用超異構處理器技術融合案例 矩向科技定義了一款新的處理器芯片類型:通用超異構處理器(GP-HPU,General Purpose Hyper-heterogeneous Processing Unit)。圖 14 通用超異構處理器 GP-HPU架構示意圖 通用超異構處理器 GP-HPU,通過 NOC總線,把眾多的計算節點連接成一個芯片系統。從功能視角看,GP-HPU 和 SOC 類似;在
182、架構上 GP-HPU 和 SOC 的主要區別在于每個加速處理器需要“圖靈完備”,成為一個可獨立工作的小系統,可直接和其他小系統進行交互且不需要主 CPU 的參與。每一個處理器作為一個小規模的類 SOC 的小系統,再通過分布式架構,可構建規模數量級提升的大系統,也非常有利于芯片系統的平行擴展。圖 15 通用超異構處理器 GP-HPU功能框圖 系統任務主要分為三類:(1)不經常變化的任務,歸屬基礎設施層,由 DPU 覆蓋;(2)業務應用加速部分,歸屬到彈性應用加速層,由 GPU 等業務加速芯片覆蓋;(3)業務應用不可加速部分,以及其他沒有加速支持的任務,歸屬到業務應用層,由 CPU 覆蓋。從功能視
183、角,GP-HPU,可以看做是 CPU、GPU 和 DPU功能的集合。但 GP-HPU不是這三個芯片功能的簡單集成,通過不同類型處理器的深度合作,才能實現“團隊協作,整體最優”,實現性能和靈活性的兼顧。最后,是系統層次。通用能力的構建是大算力芯片成功的關鍵。如何實現異構融合計算的通用能力,是異構融合計算能否落地的關鍵。圖 16 通用超異構處理器 GP-HPU在邊緣計算場景的應用 CPU、GPU 和 DPU 三顆芯片,通常來自于不同的公司,實現三者間的深度協同比較難。在單芯片內部實現異構融合計算,是相對可行的路徑。此外,受限于單芯片所能容納I/O VirtCPUNet-DSAStor-DSAHPN
184、Security-DSANet-DSAStor-DSASecurity-DSAI/O VirtI/O VirtHPNHPNCPUCPUCPUCPUCPUGPUGPUAGI-DSAAGI-DSAOther-DSAOther-DSAPCIe/CXL接口高性能網絡 彈性存儲 彈性網絡管理監控虛擬化+IaaS服務安全(零信任)AI加速彈性加速VM/容器運行環境高速接口基礎設施加速彈性應用加速業務應用CPU功能DPU功能GPU功能其他加速傳統服務器超異構服務器功能融合的超異構處理器GP-HPU47 的計算規模上限,目前的單芯片異構融合計算,比較適合邊緣等相對輕量的計算場景,不太適合云計算等相對重量的計算
185、場景。GP-HPU,經過“通用性”能力的強化設計,可以廣泛使用在邊緣服務器、AI 推理服務器、存儲服務器、企業云服務器等輕量級場景,還可以使用在智能座艙、MEC 接入設備、低速無人車等場景。8 超級計算集群超級計算集群 SCC 技術融合案例技術融合案例 從每年兩次的 TOP500 世界最快的超級計算機排名數據可以看出,高性能計算用戶最關心的是 HPC 系統的關鍵性能指標:虛擬機云服務器能否提供物理機 CPU(GPU)具備的單節點高性能?網絡是否滿足 HPC 計算的低延遲高帶寬,從而保證足夠高的并行效率?存儲能否支持并行文件系統所需的集聚帶寬和響應速度?長期以來,這三點都是 HPC 行業上云的障
186、礙,阿里云通過基于神龍云服務器的 SCC 超級計算集群產品應用,通過軟硬件協同創新,兼顧了云計算的彈性、穩定性和高性能計算對并行性能的極致追求,如圖所示。圖 17 阿里云超級計算集群的三點突破(1)彈性裸金屬服務器(由稱神龍)是一款同時兼具虛擬機彈性和物理機性能及特性的新型計算類產品,基于自主研發的下一代虛擬化技術融合打造?;谏颀埣軜嫷膹椥月憬饘賹嵗?,vCPU 可以獲得等同甚至超越物理機的性能輸出,通過設置 HT OFF,NUMA ON和進程綁定,HPC 應用可以釋放裸金屬極致性能。(2)融合 RDMA 互聯支持,提高大規模集群加速比。采用 RoCE網絡的 RDMA通信實現計算節點間 MPI
187、通信,滿足 HPC 應用的低延遲通信,得到近乎線性的 Linpack加速比。(3)構建在盤古塊存儲之上的 CPFS 并行文件系統,具備 MPI 并行 IO 所需并行文件系統全部功能,并按需提供額外數據安全和拷貝,實現高吞吐量優化和線性拓展性能。對于無法立刻遷移到公共云 SCC 計算服務的用戶,阿里云還在飛天專有云輸出了基于Apsara Stack 企業版和敏捷版的 SCC 專有云集群,提供基于飛天專有云平臺和第三方 IaaS管理平臺的超級計算集群,其中 SCC 仍然使用基于神龍云服務器的彈性裸金屬,而節點間互聯則采用 Infiniband IB 網絡,取代了公共云上的 RDMA ROCE網絡,
188、這是從公共云切換到專有云(私有云)的一個技術權衡;當前 RDMA 有不同的實現方式,龍蜥開源社區高性能網絡團隊也在做 RDMA 技術的前沿探索和產品化實踐,來自阿里云的龍蜥社區貢獻者是Linux 社區 ERDMA 的 Maintainer。用戶可以在飛天專有云的 SCC 集群上獲得彈性裸金屬集群的性能,和專有云帶來的彈性,同時通過 IB 獲得低延遲高帶寬的互聯,用戶可以選擇在此之上構建自己的 HPC 軟件棧,也可以使用專有云版本的 EHPC 作為自己的 HPC 平臺,或者選用第三方 HPC SaaS平臺。9 OAM 異構融合系統架構異構融合系統架構 2019 年,浪潮信息率先研發了一種基于開放
189、加速架構的異構融合系統MX1,采用了高帶寬、雙供電等技術,互聯總帶寬達到 448GB/s,并提供全互聯(Fully-connected)和48 混合立體互聯 HCM(Hybrid Cube Mesh)兩種互聯拓撲,有利于用戶針對不同深度學習模型、根據芯片通信的需求靈活設計芯片互聯方案。針對不同 AI 芯片的功耗差異,MX1 采用兩套獨立的供電方案,12V 供電最大功率為 300W,54V 供電最大功率為 450W-500W,支持各類高功耗的 AI 加速器。MX1 單節點設計支持 8 顆 AI 加速器,并可通過高速互聯Scale-out擴展支持到 32顆 AI加速器,滿足超大規模深度神經網絡模型
190、的 AI計算需求。2021年,集成兩顆86 CPU和 8顆 OAM的異構融合架構服務器 NF5498A5問世(圖18),單節點集成 8 顆 54V 開放加速計算模塊、單顆最大功耗 400W,2 顆高性能 CPU、最大核心數 128 核、單顆最大功耗 280W,CPU-GPU 通信帶寬提升 4 倍,卡間互聯帶寬達PCIe 4.0 通訊速率的 9 倍以上,跨節點支持通過 QSFP-DD完成異構加速集群互連、帶寬可達 448 GB/s(圖 19),滿足服務器節點之間模型參數及訓練數據的上百 GB/s 的并行通信帶寬需求。圖 18 異構融合架構服務器 NF5498A5(a)風冷形態;(b)液冷形態 圖 19 基于板端 QSFP-DD 的跨節點互連拓撲 近年來,以浪潮信息、超微為代表的服務器系統廠商先后研制了多款支持 OAM 的異構融合架構服務器,在全球范圍內開展了豐富的產品和應用實踐,驗證了異構開放加速技術的可行性,開放加速計算生態體系日益壯大。當前,生成式 AI 技術和產業發展推動 AI算力需求高速增長并迅速擴展,新興的 AI 加速芯片創新亟需堅實的 AI 服務器系統平臺支撐,統一開放的產業標準會有效降低技術獲取成本,推動創新技術普及,為產業發展賦能提速。