-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

軟硬件融合——超大規模云計算架構創新之路

( 簡體 字)
作者:黃朝波類別:1. -> 程式設計 -> 綜合
譯者:
出版社:電子工業出版社軟硬件融合——超大規模云計算架構創新之路 3dWoo書號: 54404
詢問書籍請說出此書號!

缺書
NT售價: 445

出版日:4/1/2021
頁數:356
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121409226
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

推薦序1
從20 世紀70 年代開始使用大規模集成電路計算機以來,計算機系統的規模化發展速度呈指
數級增長,并且極大地改變了我們的生活。在這種加速發展的背后,有兩個定律發揮著巨大的作
用:一個是英特爾聯合創始人戈登·摩爾在1965 年提出的摩爾定律,該定律指出集成電路的集成
度每隔18∼24 個月就會翻一番;另一個是有“小型機之父”之稱的戈登·貝爾在1972 年提出的
貝爾定律,該定律預測每10 年就會產生新一代計算設備,并且設備數量會增加10 倍。我從20 世
紀90 年代初進入計算機領域后,親身體驗到了計算機從286 到586 的快速更新換代,但并沒有真
正發現這種指數式發展的威力。在我進入計算機領域之后的20 年里,手機移動互聯網和智能物聯
網依次登場,將世界帶入了萬物互聯的時代,預計到2025 年將有500 億個設備連入互聯網。
計算設備的多樣化和算力成本的迅速下降讓硬件和軟件的關系發生了深刻的變化。當計算
硬件單一、計算力昂貴的時候,軟件必須以硬件為中心進行設計和折中。當計算硬件有多種選
擇、算力成本足夠低的時候,就可以按照軟件的需求來設計甚至定制硬件。這樣,我們就進入
了一個軟硬件融合的時代,在整個計算機系統中,軟硬件的分層可以根據需求靈活變化,業務
處理流程中的計算、存儲、傳輸也涉及軟件和加速硬件的多重交互。未來10 年,摩爾定律還將
繼續發揮效用,先進的3D 晶體管設計和3D 封裝技術使一個集成電路內部可以包含多種計算架
構,以更低的成本提供更強大的算力。2020 年,英特爾已經可以在10nm 的工藝節點上穩定地
使用SuperFin 晶體管技術和Foveros 3D 封裝技術,并且有清晰的技術路線圖繼續向7nm、5nm
推進。此外,組合多種集成電路架構設計(CPU、GPU、FPGA、ASIC 和神經擬態計算等)的
異構計算快速發展,但它在提供多種選項的同時顯著增加了計算機系統架構設計的復雜度和軟
件優化的難度。
黃朝波老師編著的這本書非常及時地給讀者揭示了軟硬件融合的趨勢,并且從多個角度講解
了實現軟硬件融合的技術。黃朝波老師的學習和工作經歷很好地覆蓋了集成電路設計、軟件開發
和云計算系統架構等,這使得本書的內容很全面,并且提供了硬件基礎知識,適合讀者迅速擴大
知識面。
預計2020 年之后的下一個10 年,萬物都將是計算機。如今,得益于5G 移動通信技術和人工
智能技術的廣泛應用,智能互聯計算已經成為主流。隨著近年來智能手機、智能城市、智能制造
和自動駕駛等領域相關技術的不斷進步,以視覺、聲音、激光雷達、毫米波雷達為代表的多種傳
感器正在加速整個世界的數字化進程,需要處理的數據量正在極速增長。同時,進入互聯網和計
算中心的數據從量變到質變,大量描述自然界的非人工數據需要用人工智能算法來處理,并且通
常有實時性要求。數據的量變和質變帶來了對智能邊緣計算的強烈需求,也催生了云—邊—端融
合的新計算架構。如果能把握好這個趨勢,就能順勢而上,充分享受智能互聯計算的紅利;否則,
就有可能被淘汰。
這是一個技術發展日新月異的時代:一方面,軟件定義一切;另一方面,硬件加速一切。同
時,網絡無處不在。本書是站在2020 年這個時間節點上的總結與展望,我期待黃朝波老師的下一
本著作繼續帶著我們駕馭軟硬件融合的技術大潮。
——英特爾中國研究院院長 宋繼強
2020 年12 月20 日寫于北京

推薦序2
軟件還是硬件,這是一個問題。軟件的靈活性和硬件的高性能都是我們希望得到的,但是,
考慮到實現代價,我們必須在軟件實現和硬件實現之間進行折中選擇。
傳統上,軟件和硬件有一個相對明晰的區分:但凡通用處理器能夠高效處理的功能,都用軟
件實現(并在通用處理器硬件上執行);但凡通用處理器不能高效處理的功能,都用專用硬件實現,
如各種基于ASIC 或FPGA 的硬件加速器。
但是,隨著需求的多樣化和系統的復雜化,尤其是云計算環境的出現,我們需要將不同功能
的軟件和不同種類的硬件集成起來,使它們協同工作。在這種情況下,采用軟件還是硬件,同時
采用哪種軟件或硬件來進行實現,就變得異常復雜。而分層抽象則是一種解決復雜問題行之有效
的方法。
黃朝波老師長期從事云計算架構相關工作,并且頗有心得,他從實際云計算工作需求出發,
嘗試采用軟硬件多級分層抽象和接口標準化的方法來解決軟硬件協同工作的問題,這個問題體現
在如下兩個方面。
(1)多級分層模型。隨著系統變得越來越復雜,我們已經不能簡單地采用軟件和硬件兩個層
次來對復雜系統進行分層,而應該對傳統的軟件層和硬件層進行進一步分層。目前,軟件多級分
層的思想已經被廣泛接受,而硬件多級分層的驅動力來自日益多樣性的硬件(如不同類型的處理
器和面向不同目的的加速器)。為了能夠從全系統的角度更好地進行硬件資源的分配與調度,我們
應該進一步對不同的硬件進行分層抽象。?
(2)接口標準化。軟件接口標準化可以帶來互操作性方面的好處,而某類硬件接口的標準化
(如硬件總線協議)也可以帶來互操作性方面的極大便利。如何基于多樣性硬件的分層抽象來定義
層間的標準化接口以支持高效的互操作性,是一個值得深入并持續探討的問題。硬件接口標準化
目前已經有了一些趨勢,如RISC-V。RISC-V 嘗試定義一套標準化的ISA,以使不同硬件廠商的
處理器硬件和不同軟件廠商的操作系統、編譯器及應用軟件都能實現互操作,從而擺脫二進制翻
譯和虛擬機等復雜且不高效的互操作機制。
隨著技術的進步,傳統意義上的硬件加速器可能會逐漸成為標準化的功能,從而進入通用處
理領域(被通用處理器吸收,如向量和多媒體功能),采用軟件實現。同時,隨著需求的變化,傳
統意義上可以由軟件實現的功能也會有更高的性能要求,從而需要用專用硬件實現。軟硬件的多
級分層抽象和接口標準化的另一個好處在于,我們可以在不影響其他層次的前提下,根據技術的
進步或需求的變化,自由地替換某一層次的具體實現方式。
本書系統地探討了以上問題,并將相關思想實際應用于包含復雜軟硬件的云計算系統,提出
了多級分層抽象的軟硬件融合系統模型,對云計算的架構設計有著實際的指導意義。
——NVIDIA Principal Architect 蔣江

前言
互聯網行業發展迅速,2010 年以來,隨著物聯網、云計算、大數據、人工智能等互聯網技術
的快速發展,相關的產品和服務層出不窮,快速迭代。雖然軟件技術日新月異,快速演進,但是
相應的硬件體系結構卻沒有本質的改變,比如,目前支撐云端系統運行的依然是以CPU 為核心的
通用服務器。
軟硬件之間本質上的需求矛盾是CPU的性能越來越無法滿足軟件的發展需要,主要原因如下。
? CPU 的微架構已經非常成熟,不考慮工藝進步和多核技術,僅提升單核CPU 的性能在多
年前就已經非常困難。
? 在互聯網行業初期,工藝進步是提升CPU 和芯片性能的主要手段,但隨著半導體工藝突
破 10nm 以來,依靠工藝進步來提升CPU 和芯片性能的空間急劇縮小,摩爾定律逐漸走向
終結。
? 登納德縮放比例定律表明,隨著工藝進步,單位面積所能容納的晶體管越多,單位面積的
功耗也會越大,功耗會限制晶體管數量的進一步增加。
? 受限于連接CPU 核的總線效率、芯片面積及功耗等,CPU 核集成數量的提升空間逐漸
縮小。
作為計算機體系結構領域的領軍人物,David Patterson 與John Hennessy 在獲得2017 年圖靈獎
的演說中提到未來十年將是計算機體系結構的黃金十年,兩人給出的解決方案是DSA(Domain
Specific Architecture,特定領域架構)。DSA 是一種以硬件為中心的解決方案,可針對特定應用場
景定制芯片,支持軟件可編程,并且通常都是圖靈完備的。從圖靈完備的意義來看,DSA 與ASIC
(Application Specific Integrated Circuit,專用集成電路)不同,后者通常用于單一功能,軟件代碼
很少發生變化。DSA 也是一種加速器,具有很好的加速性能,與通用CPU 執行應用程序相比,
DSA 只能加速某些特定的應用程序。例如,用于深度學習的神經網絡處理器及用于軟件定義網絡
(SDN)的處理器等。
在云計算場景下,軟硬件融合問題變得更加復雜。云計算不僅需要虛擬化技術來共享物理
服務器,還需要管理物理服務器切分出來的虛擬服務器,以此服務成千上萬的用戶。云計算需
要提供基于虛擬網絡技術的VPC 服務來進行租戶隔離,為巨量的數據提供高可用的存儲服務
等,還需要為各種用戶性能敏感的業務(如大數據分析、視頻圖像處理、機器學習/深度學習
等)進行加速。云計算軟硬件融合最大的挑戰在于,需要把多種多樣的功能融合到一整套軟硬
件平臺方案中。雖然DSA 提供了比傳統ASIC 更多的靈活性,但它在云計算領域依然存在以
下問題。
? 與傳統ASIC 一樣,DSA 通常也要封裝成一個具體的IC 芯片,從一個應用場景的系統算法
到IC 芯片量產需要2∼3 年時間,而互聯網的業務發展速度非常快,DSA 是否能夠滿足未
來2∼3 年的軟件需求?硬件的使用周期一般是3∼5 年,在此期間,DSA 是否能支撐軟件
的持續迭代?
? 從系統的角度來看,DSA 用于解決特定問題A,如果有A、B、C 等多個問題同時需要解
決,那么多個DSA 如何共存?成本如何?或者重新設計一種DSA 芯片解決所有問題?重
新設計的DSA 芯片的通用性和靈活性又如何?
? 云計算場景的DSA 方案通常選擇基于經典的CPU+xPU 異構計算架構,而不選擇圖靈完備
的集成架構。CPU+xPU 異構計算架構把特定場景算法的加速放在xPU,通過CPU 的協調
處理來完成整體任務。CPU+xPU 異構計算架構可以讓CPU 側的軟件大幅度降低CPU 資源
消耗,從而提升CPU 性能,但仍然需要CPU 的參與。
在云計算的場景下,我們希望為用戶提供一個標準的業務環境,后臺管理的工作任務數據面
和控制面都能夠完整卸載。為了實現這些目標,我們就需要為云計算場景提供一個“宏架構”,統
籌各種系統的硬件加速和任務卸載,并且能夠為用戶提供功能強大且簡單的運行環境,讓用戶專
注于自身業務的創新。
就互聯網云計算而言,芯片公司距離市場和業務場景較遠,雖然其對芯片級微觀系統的理解
非常深入,但對宏觀的互聯網系統缺乏深層次的敏感度,對熱點方向布局不重視,這就導致很多
高精尖技術難以落地。而傳統的互聯網公司雖然距離用戶較近,有系統視角,但缺乏芯片及相關
硬件技術儲備,對芯片的理解比較膚淺,局限于硬件的淺層優化,猶如隔靴搔癢。
基于上述問題,互聯網公司紛紛通過自研或與芯片公司合作的方式,更深層次地融合軟件和
硬件,研發符合互聯網場景的新型芯片及硬件產品,以此支撐結構更加復雜、規模更加龐大、管
理更加自動化的智能化互聯網基礎設施和應用系統。這種趨勢當前還處于“八仙過海,各顯神通”
的階段,有必要通過體系結構層面深度地理解、分析和思考,將這些新型技術和平臺進行系統性
的梳理、整合、重構,逐步演進成能夠滿足未來發展需求的新型云計算體系結構。
互聯網新技術的快速發展帶來翻天覆地的變化,要解決新的上層業務場景需求問題,離不開
體系結構的創新發展。通常2∼3 年會出現一個新的技術熱點,系統迭代速度越來越快,體系結構
在系統快速迭代的節奏下,如何才能夠擁有較長的生命周期,并且在整個生命周期都能很好地支
撐業務發展,是需要深入思考的問題。
本書主要介紹如何通過軟硬件融合的創新來構建能夠應對未來業務挑戰的云計算體系結構,
核心理念是把軟件的靈活性和硬件的高效性深度融合在一起。本書各章介紹的內容如下。
第1 章為云計算底層軟硬件。
第2 章為軟硬件融合綜述。
第3 章為計算機體系結構基礎。本章內容與后續章節的核心內容是密切相關的,是核心內容
的前導知識。
第4 章為軟硬件接口。軟硬件融合首先面對的就是軟硬件接口,需要重點掌握如何實現高效
的軟硬件數據交互。
第5 章為算法加速和任務卸載。算法加速即某個算法的硬件實現;任務卸載以算法加速為內
核,更加系統化、平臺化,通常需要有快速構建特定任務卸載的基本軟硬件框架。
第6 章為虛擬化硬件加速。虛擬化硬件加速的核心是高性能虛擬化硬件處理,以及如何兼顧
軟件的靈活性和硬件的高效性。
第7 章為異構加速。異構計算架構適合云計算場景業務加速,有較多的成熟方案。
第8 章為云計算體系結構趨勢。
第9 章為融合的系統。本章內容是對云計算數據中心體系結構的總結。
感謝我的家人,在本書的編寫過程中,我占用了許多用于陪伴家人的時間,是她們的支持讓
我有動力和毅力來完成本書的編寫工作;感謝我所在公司的上級領導及同事,是公司提供了如此
好的平臺,讓我有機會去實現創新的想法,上級領導和同事們也為我提供了很多幫助和支持;感
謝我的大學老師和同學,畢業多年,老師依然關心我們這些學生的工作和生活,同學們的幫助也
促進我一直成長。
受限于個人知識背景和技術水平,也因為這個快速發展的行業和時代,本書難免存在不足。
集體的智慧是無窮的,希望大家提出意見和建議,我會不定期地修訂、完善、更新本書,為大家
呈現一本擁有更高價值的圖書。
黃朝波
內容簡介:

物聯網、大數據以及人工智能等新興技術,推動著云計算持續快速發展,底層硬件越來越無法滿足上層軟件的發展和迭代。本書通過探尋軟硬件的技術本質,尋找能夠結合軟件靈活性和硬件高效性的解決方法。幫助有軟件背景的讀者更深刻地認識硬件,加深對軟硬件之間聯系的理解,并且更好地駕馭硬件;同時也幫助有硬件背景的讀者,有一個更全面的視角,更加宏觀地看待問題,理解需求、產品、系統、架構等多方面問題的權衡。本書共9章內容:第1章介紹了云計算面臨的底層技術挑戰,接著第2、3章介紹了軟硬件相關的概念和計算機基礎知識,并引出了軟硬件融合的概念。第4~7章分別介紹了軟硬件融合的四類技術:軟硬件接口、算法加速和任務卸載、虛擬化的硬件加速、異構計算。第8章介紹應用這些技術的綜合案例。第9章則是具體實現方面的思考。本書立意新穎,結合業界最新案例,內容從淺入深,并且展望未來。幫助廣大互聯網及IT行業的軟硬件工程師,更好地理解軟件、硬件以及軟硬件之間的內在聯系,也可以作為計算機相關專業本科高年級以及研究生的技術拓展讀物。
目錄:

引言 .................. 1
第1 章 云計算底層軟硬件 ............. 8
1.1 云計算概述 ............... 8
1.1.1 云計算的概念 .............. 8
1.1.2 IaaS、PaaS 和SaaS ............. 9
1.2 IaaS 層核心服務............. 10
1.2.1 計算類服務 .............. 11
1.2.2 存儲類服務 .............. 13
1.2.3 網絡類服務 .............. 16
1.2.4 IaaS 層服務總結 ............ 18
1.3 云計算的特點 ............... 19
1.3.1 更大的規模 .............. 19
1.3.2 更“大”的數據 ............ 20
1.3.3 更多的租戶 .............. 21
1.3.4 更復雜的網絡 .............. 22
1.3.5 安全問題無處不在 ............ 24
1.3.6 面向特定應用場景的云計算服務 .......... 26
1.3.7 服務接口的兼容性和通用性 .......... 27
1.4 底層軟硬件挑戰 ............. 28
1.4.1 業務異構加速 .............. 28
1.4.2 工作任務卸載 .............. 29
1.4.3 軟硬件接口的標準化和靈活性 .......... 30
1.4.4 硬件處理的虛擬化和個性化 .......... 31
1.4.5 業務和管理物理分離 ............ 32
1.4.6 硬件的功能擴展 ............ 33
1.4.7 讓硬件快速迭代 ............ 33
1.4.8 硬件高可用 .............. 34
1.5 總結 ............... 34
第2 章 軟硬件融合綜述 ............. 36
2.1 軟硬件基本概念 ............. 36
2.1.1 軟件和硬件 .............. 36
2.1.2 FPGA、ASIC 和SoC ............ 37
2.1.3 硬件加速原理 .............. 40
2.2 軟硬件劃分 ............... 41
2.2.1 三個維度 .............. 41
2.2.2 綜合分析 .............. 44
2.2.3 平臺選擇 .............. 45
2.3 軟硬件協作 ............... 46
2.3.1 多平臺混合架構 ............ 46
2.3.2 軟硬件平臺的協作 ............ 49
2.3.3 軟硬件平臺的交互 ............ 51
2.4 軟硬件融合 ............... 52
2.4.1 軟硬件融合的概念 ............ 52
2.4.2 軟硬件融合的特點 ............ 54
2.4.3 軟硬件融合技術 ............ 55
第3 章 計算機體系結構基礎 ............. 57
3.1 計算機原理 ............... 57
3.1.1 處理器架構:從馮·諾依曼架構到RISC-V ........ 57
3.1.2 內存地址:從尋址模式到MMU ......... 61
3.1.3 I/O:從CPU 中斷到DMA .......... 65
3.1.4 多核互連:從傳統總線到網狀總線 .......... 66
3.1.5 服務器板級架構 ............ 69
3.2 存儲 ............... 71
3.2.1 緩存和存儲分層結構 ............ 71
3.2.2 本地存儲:磁盤分區和邏輯/物理卷 ......... 74
3.2.3 分布式存儲:GFS 和存儲的“溫度” ........ 76
3.3 網絡 ............... 79
3.3.1 基礎物理網絡:分層和拓撲 .......... 79
3.3.2 虛擬網絡:VLAN 和VxLAN .......... 83
3.3.3 軟件定義網絡:從OpenFlow 到P4 .......... 87
3.4 虛擬化 ............... 93
3.4.1 虛擬化的層次、定義和分類 .......... 93
3.4.2 CPU 虛擬化:從軟件模擬到完全硬件 ......... 96
3.4.3 內存虛擬化:影子頁表和EPT .......... 99
3.4.4 I/O 設備虛擬化:從軟件模擬到SR-IOV ....... 100
3.4.5 容器虛擬化:Docker 和Kubernetes 介紹 ....... 103
第4 章 軟硬件接口 ............... 105
4.1 軟硬件接口概述 ............. 105
4.1.1 軟硬件接口定義 ............ 106
4.1.2 生產者-消費者模型 ............ 109
4.1.3 用戶態的PMD:DPDK 和SPDK ......... 113
4.2 總線互連............... 116
4.2.1 AMBA 總線 ............. 116
4.2.2 片上網絡NoC 總線 ............ 120
4.2.3 片間高速總線PCIe 及SR-IOV .......... 123
4.2.4 對稱的緩存一致性總線CCIX ......... 128
4.2.5 非對稱的緩存一致性總線CXL ......... 132
4.2.6 總線互連總結 ............ 136
4.3 通用接口Virtio .............. 139
4.3.1 Virtio 寄存器 ............. 139
4.3.2 Virtqueue 交互隊列 ........... 141
4.3.3 Virtio 交互 ............. 143
4.3.4 總結 .............. 144
4.4 高速網絡接口RDMA ............ 146
4.4.1 基本概念 .............. 146
4.4.2 RoCE 分層 ............. 147
4.4.3 RDMA 接口 ............. 148
4.4.4 RDMA 總結 ............. 149
4.5 高速存儲接口NVMe ............. 150
4.5.1 NVMe 概述.............. 150
4.5.2 NVMe 寄存器 ............ 151
4.5.3 NVMe 隊列.............. 153
4.5.4 NVMe 命令結構 ............ 155
4.5.5 網絡存儲接口NVMeoF ........... 160
4.5.6 NVMe 及NVMeoF 總結 .......... 162
4.6 軟硬件接口總結 ............. 163
4.6.1 接口分層 .............. 163
4.6.2 接口共享 .............. 163
第5 章 算法加速和任務卸載 ............. 165
5.1 基本概念............... 165
5.1.1 硬件加速 .............. 166
5.1.2 硬件處理模塊 ............ 167
5.1.3 算法加速和任務卸載的概念 .......... 169
5.2 算法加速............... 171
5.2.1 加密算法加速 ............ 171
5.2.2 壓縮算法加速 ............ 176
5.2.3 數據冗余算法加速 ............ 181
5.2.4 正則表達式算法加速 ............ 183
5.2.5 加速器性能設計原則 ............ 185
5.3 任務卸載............... 186
5.3.1 任務卸載模型 ............ 186
5.3.2 IPsec 卸載 .............. 188
5.3.3 虛擬網絡卸載 ............ 190
5.3.4 遠程存儲卸載 ............ 192
5.3.5 虛擬化卸載 .............. 194
5.4 算法加速和任務卸載總結 ........... 197
5.4.1 算法加速是基礎 ............ 197
5.4.2 任務卸載是多系統協作 ............ 199
第6 章 虛擬化硬件加速 ............. 203
6.1 基本概念............... 203
6.1.1 軟硬件中的抽象 ............ 204
6.1.2 虛擬化抽象 .............. 205
6.1.3 虛擬化模型 .............. 207
6.1.4 虛擬化加速的必要性 ............ 210
6.2 虛擬化的硬件處理 ............. 211
6.2.1 流水線處理 .............. 211
6.2.2 虛擬化映射 .............. 215
6.2.3 緩存機制 .............. 219
6.2.4 通用虛擬化流水線 ............ 221
6.3 網絡虛擬化處理 ............. 222
6.3.1 包處理用于網絡虛擬化 ............ 222
6.3.2 定制的網絡包處理 ............ 223
6.3.3 ASIC 軟件可編程包處理 .......... 224
6.3.4 FPGA 硬件可編程包處理 ........... 227
6.3.5 案例:Mellanox FlexFlow .......... 229
6.3.6 網絡包處理總結 ............ 230
6.4 存儲虛擬化處理 ............. 231
6.4.1 分布式存儲Ceph ............ 231
6.4.2 以事務為單位的存儲處理 .......... 236
6.4.3 遠程存儲虛擬化加速 ............ 238
6.4.4 本地存儲虛擬化加速 ............ 241
6.5 虛擬化硬件加速總結 ............. 243
6.5.1 靈活的高性能流水線 ............ 243
6.5.2 高性能緩存機制 ............ 244
6.5.3 可軟件編程、通用、數據流驅動的數據處理引擎 ...... 244
6.5.4 虛擬化硬件加速的意義 ............ 246
6.5.5 其他虛擬化加速場景 ............ 246
第7 章 異構加速 ............... 247
7.1 異構計算概述 ............... 247
7.1.1 基本概念(并行計算、異構計算) ........ 247
7.1.2 典型案例 .............. 249
7.1.3 性能約束和優化 ............ 250
7.1.4 易用性思考 .............. 251
7.2 GPU 和CUDA ............. 252
7.2.1 GPU 和CUDA 概念 ........... 252
7.2.2 GPU 硬件架構 ............. 253
7.2.3 CUDA 編程模型 ............. 259
7.3 OpenCL 和FPGA 異構計算 ............ 264
7.3.1 OpenCL .............. 264
7.3.2 Xilinx SDAccel ............ 270
7.3.3 英特爾加速棧 ............ 273
7.4 DSA ............... 275
7.4.1 DSA 發展背景 ............. 275
7.4.2 DSA 典型領域:DNN ............ 278
7.4.3 ASIC 實現:谷歌TPU ........... 281
7.4.4 FPGA 實現:微軟Catapult .......... 284
7.4.5 Chiplet 實現:OCP ODSA ........... 287
7.5 異構加速計算總結 ............. 289
7.5.1 平臺選擇(GPU、FPGA、ASIC/DSA) ........ 290
7.5.2 異構計算加速優化 ............ 291
第8 章 云計算體系結構趨勢 ............. 293
8.1 概述 ............... 293
8.2 業務和管理分離 ............. 294
8.2.1 虛擬化視角:I/O 及管理的卸載 .......... 294
8.2.2 體系結構視角:以數據為中心 .......... 297
8.2.3 Nitro 系統 .............. 300
8.2.4 Mellanox Bluefield DPU ............ 302
8.2.5 總結 .............. 303
8.3 業務的異構加速 ............. 304
8.3.1 業務加速概述 ............ 304
8.3.2 DSA 加速:谷歌TPU 服務 ........... 305
8.3.3 FPGA 加速:FaaS ............ 306
8.3.4 異構計算架構演進 ............ 308
8.4 存儲的加速和定制 ............. 309
8.4.1 存儲概述 .............. 309
8.4.2 熱存儲服務器:Xilinx NVMeoF 參考設計 ........ 311
8.4.3 機架級冷存儲:微軟Pelican ........... 312
8.5 網絡可編程和性能優化 ............. 314
8.5.1 數據中心網絡綜述 ............ 314
8.5.2 數據面編程交換芯片 ............ 317
8.5.3 高性能網絡優化 ............ 318
8.6 硬件定制............... 324
8.6.1 硬件定制概述 ............ 324
8.6.2 亞馬遜的硬件定制 ............ 325
8.6.3 OCP 開放計算項目 ........... 327
第9 章 融合的系統 ............... 329
9.1 軟硬件融合系統棧 ............. 329
9.1.1 系統邊界:多數據中心 ............ 329
9.1.2 數據中心的系統堆棧 ............ 330
9.2 分層的系統實現 ............. 332
9.2.1 迭代的系統 .............. 332
9.2.2 分域的硬件平臺 ............ 333
9.2.3 不同層次的實現 ............ 334
9.2.4 軟硬件協同設計 ............ 335
9.3 深層次開放合作 ............. 336
9.3.1 軟硬件的距離越來越大 ............ 336
9.3.2 互聯網公司自研芯片的優劣勢 .......... 336
9.3.3 深層次的開放合作 ............ 337
參考文獻 ................ 338
序: