關于我們
書單推薦
新書推薦
|
軟硬件融合——超大規(guī)模云計算架構創(chuàng)新之路 讀者對象:云計算,架構,軟硬件,融合,創(chuàng)新,優(yōu)化,計算機體系所有技術人員
物聯(lián)網(wǎng)、大數(shù)據(jù)以及人工智能等新興技術,推動著云計算持續(xù)快速發(fā)展,底層硬件越來越無法滿足上層軟件的發(fā)展和迭代。本書通過探尋軟硬件的技術本質(zhì),尋找能夠結(jié)合軟件靈活性和硬件高效性的解決方法。幫助有軟件背景的讀者更深刻地認識硬件,加深對軟硬件之間聯(lián)系的理解,并且更好地駕馭硬件;同時也幫助有硬件背景的讀者,有一個更全面的視角,更加宏觀地看待問題,理解需求、產(chǎn)品、系統(tǒng)、架構等多方面問題的權衡。本書共9章內(nèi)容:第1章介紹了云計算面臨的底層技術挑戰(zhàn),接著第2、3章介紹了軟硬件相關的概念和計算機基礎知識,并引出了軟硬件融合的概念。第4~7章分別介紹了軟硬件融合的四類技術:軟硬件接口、算法加速和任務卸載、虛擬化的硬件加速、異構計算。第8章介紹應用這些技術的綜合案例。第9章則是具體實現(xiàn)方面的思考。本書立意新穎,結(jié)合業(yè)界最新案例,內(nèi)容從淺入深,并且展望未來。幫助廣大互聯(lián)網(wǎng)及IT行業(yè)的軟硬件工程師,更好地理解軟件、硬件以及軟硬件之間的內(nèi)在聯(lián)系,也可以作為計算機相關專業(yè)本科高年級以及研究生的技術拓展讀物。
黃朝波,芯片及互聯(lián)網(wǎng)行業(yè)十年以上工作經(jīng)驗,UCloud芯片及硬件研發(fā)負責人。曾在Marvell從事ARMv7/v8架構高性能多核CPU設計和驗證,以及Startup公司Simplight從事自主多線程處理器及4G LTE基帶SOC芯片設計。物聯(lián)網(wǎng)公司創(chuàng)業(yè)經(jīng)歷,技術負責人,負責從硬件到軟件再到云端平臺的研發(fā)工作。本科畢業(yè)于西北工業(yè)大學,研究生畢業(yè)于國防科技大學,在科大學習期間有幸參與“飛騰”處理器項目研發(fā)。
引言 .......................................................................................................................................................... 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 網(wǎng)絡類服務 .................................................................................................................. 16 1.2.4 IaaS 層服務總結(jié) .......................................................................................................... 18 1.3 云計算的特點 ......................................................................................................................... 19 1.3.1 更大的規(guī)模 .................................................................................................................. 19 1.3.2 更“大”的數(shù)據(jù) .......................................................................................................... 20 1.3.3 更多的租戶 .................................................................................................................. 21 1.3.4 更復雜的網(wǎng)絡 .............................................................................................................. 22 1.3.5 安全問題無處不在 ...................................................................................................... 24 1.3.6 面向特定應用場景的云計算服務 .............................................................................. 26 1.3.7 服務接口的兼容性和通用性 ...................................................................................... 27 1.4 底層軟硬件挑戰(zhàn) ..................................................................................................................... 28 1.4.1 業(yè)務異構加速 .............................................................................................................. 28 1.4.2 工作任務卸載 .............................................................................................................. 29 1.4.3 軟硬件接口的標準化和靈活性 .................................................................................. 30 1.4.4 硬件處理的虛擬化和個性化 ...................................................................................... 31 1.4.5 業(yè)務和管理物理分離 .................................................................................................. 32 1.4.6 硬件的功能擴展 .......................................................................................................... 33 1.4.7 讓硬件快速迭代 .......................................................................................................... 33 1.4.8 硬件高可用 .................................................................................................................. 34 1.5 總結(jié) ....................................................................................................................................... 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 軟硬件協(xié)作 ............................................................................................................................. 46 2.3.1 多平臺混合架構 .......................................................................................................... 46 2.3.2 軟硬件平臺的協(xié)作 ...................................................................................................... 49 2.3.3 軟硬件平臺的交互 ...................................................................................................... 51 2.4 軟硬件融合 ............................................................................................................................. 52 2.4.1 軟硬件融合的概念 ...................................................................................................... 52 2.4.2 軟硬件融合的特點 ...................................................................................................... 54 2.4.3 軟硬件融合技術 .......................................................................................................... 55 第3 章 計算機體系結(jié)構基礎 ............................................................................................................. 57 3.1 計算機原理 ............................................................................................................................. 57 3.1.1 處理器架構:從馮·諾依曼架構到RISC-V ............................................................ 57 3.1.2 內(nèi)存地址:從尋址模式到MMU ............................................................................... 61 3.1.3 I/O:從CPU 中斷到DMA ........................................................................................ 65 3.1.4 多核互連:從傳統(tǒng)總線到網(wǎng)狀總線 .......................................................................... 66 3.1.5 服務器板級架構 .......................................................................................................... 69 3.2 存儲 ....................................................................................................................................... 71 3.2.1 緩存和存儲分層結(jié)構 .................................................................................................. 71 3.2.2 本地存儲:磁盤分區(qū)和邏輯/物理卷 ......................................................................... 74 3.2.3 分布式存儲:GFS 和存儲的“溫度” ...................................................................... 76 3.3 網(wǎng)絡 ....................................................................................................................................... 79 3.3.1 基礎物理網(wǎng)絡:分層和拓撲 ...................................................................................... 79 3.3.2 虛擬網(wǎng)絡:VLAN 和VxLAN .................................................................................... 83 3.3.3 軟件定義網(wǎng)絡:從OpenFlow 到P4 .......................................................................... 87 3.4 虛擬化 ................................................................................................................................... 93 3.4.1 虛擬化的層次、定義和分類 ...................................................................................... 93 3.4.2 CPU 虛擬化:從軟件模擬到完全硬件 ..................................................................... 96 3.4.3 內(nèi)存虛擬化:影子頁表和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 生產(chǎn)者-消費者模型 .................................................................................................. 109 4.1.3 用戶態(tài)的PMD:DPDK 和SPDK ........................................................................... 113 4.2 總線互連............................................................................................................................... 116 4.2.1 AMBA 總線 ............................................................................................................... 116 4.2.2 片上網(wǎng)絡NoC 總線 .................................................................................................. 120 4.2.3 片間高速總線PCIe 及SR-IOV ................................................................................ 123 4.2.4 對稱的緩存一致性總線CCIX ................................................................................. 128 4.2.5 非對稱的緩存一致性總線CXL ............................................................................... 132 4.2.6 總線互連總結(jié) ............................................................................................................ 136 4.3 通用接口Virtio .................................................................................................................... 139 4.3.1 Virtio 寄存器 ............................................................................................................. 139 4.3.2 Virtqueue 交互隊列 ................................................................................................... 141 4.3.3 Virtio 交互 ................................................................................................................. 143 4.3.4 總結(jié) ............................................................................................................................ 144 4.4 高速網(wǎng)絡接口RDMA .......................................................................................................... 146 4.4.1 基本概念 .................................................................................................................... 146 4.4.2 RoCE 分層 ................................................................................................................. 147 4.4.3 RDMA 接口 ............................................................................................................... 148 4.4.4 RDMA 總結(jié) ............................................................................................................... 149 4.5 高速存儲接口NVMe ........................................................................................................... 150 4.5.1 NVMe 概述................................................................................................................ 150 4.5.2 NVMe 寄存器 ............................................................................................................ 151 4.5.3 NVMe 隊列................................................................................................................ 153 4.5.4 NVMe 命令結(jié)構 ........................................................................................................ 155 4.5.5 網(wǎng)絡存儲接口NVMeoF ........................................................................................... 160 4.5.6 NVMe 及NVMeoF 總結(jié) .......................................................................................... 162 4.6 軟硬件接口總結(jié) ................................................................................................................... 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 數(shù)據(jù)冗余算法加速 .................................................................................................... 181 5.2.4 正則表達式算法加速 ................................................................................................ 183 5.2.5 加速器性能設計原則 ................................................................................................ 185 5.3 任務卸載............................................................................................................................... 186 5.3.1 任務卸載模型 ............................................................................................................ 186 5.3.2 IPsec 卸載 .................................................................................................................. 188 5.3.3 虛擬網(wǎng)絡卸載 ............................................................................................................ 190 5.3.4 遠程存儲卸載 ............................................................................................................ 192 5.3.5 虛擬化卸載 ................................................................................................................ 194 5.4 算法加速和任務卸載總結(jié) ................................................................................................... 197 5.4.1 算法加速是基礎 ........................................................................................................ 197 5.4.2 任務卸載是多系統(tǒng)協(xié)作 ............................................................................................ 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 網(wǎng)絡虛擬化處理 ................................................................................................................... 222 6.3.1 包處理用于網(wǎng)絡虛擬化 ............................................................................................ 222 6.3.2 定制的網(wǎng)絡包處理 .................................................................................................... 223 6.3.3 ASIC 軟件可編程包處理 .......................................................................................... 224 6.3.4 FPGA 硬件可編程包處理 ......................................................................................... 227 6.3.5 案例:Mellanox FlexFlow ........................................................................................ 229 6.3.6 網(wǎng)絡包處理總結(jié) ........................................................................................................ 230 6.4 存儲虛擬化處理 ................................................................................................................... 231 6.4.1 分布式存儲Ceph ...................................................................................................... 231 6.4.2 以事務為單位的存儲處理 ........................................................................................ 236 6.4.3 遠程存儲虛擬化加速 ................................................................................................ 238 6.4.4 本地存儲虛擬化加速 ................................................................................................ 241 6.5 虛擬化硬件加速總結(jié) ........................................................................................................... 243 6.5.1 靈活的高性能流水線 ................................................................................................ 243 6.5.2 高性能緩存機制 ........................................................................................................ 244 6.5.3 可軟件編程、通用、數(shù)據(jù)流驅(qū)動的數(shù)據(jù)處理引擎 ................................................ 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 性能約束和優(yōu)化 ........................................................................................................ 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 發(fā)展背景 ........................................................................................................... 275 7.4.2 DSA 典型領域:DNN .............................................................................................. 278 7.4.3 ASIC 實現(xiàn):谷歌TPU ............................................................................................. 281 7.4.4 FPGA 實現(xiàn):微軟Catapult ...................................................................................... 284 7.4.5 Chiplet 實現(xiàn):OCP ODSA ....................................................................................... 287 7.5 異構加速計算總結(jié) ............................................................................................................... 289 7.5.1 平臺選擇(GPU、FPGA、ASIC/DSA) ................................................................ 290 7.5.2 異構計算加速優(yōu)化 .................................................................................................... 291 第8 章 云計算體系結(jié)構趨勢 ........................................................................................................... 293 8.1 概述 ..................................................................................................................................... 293 8.2 業(yè)務和管理分離 ................................................................................................................... 294 8.2.1 虛擬化視角:I/O 及管理的卸載 .............................................................................. 294 8.2.2 體系結(jié)構視角:以數(shù)據(jù)為中心 ................................................................................ 297 8.2.3 Nitro 系統(tǒng) .................................................................................................................. 300 8.2.4 Mellanox Bluefield DPU ............................................................................................ 302 8.2.5 總結(jié) ............................................................................................................................ 303 8.3 業(yè)務的異構加速 ................................................................................................................... 304 8.3.1 業(yè)務加速概述 ............................................................................................................ 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 網(wǎng)絡可編程和性能優(yōu)化 ....................................................................................................... 314 8.5.1 數(shù)據(jù)中心網(wǎng)絡綜述 .................................................................................................... 314 8.5.2 數(shù)據(jù)面編程交換芯片 ................................................................................................ 317 8.5.3 高性能網(wǎng)絡優(yōu)化 ........................................................................................................ 318 8.6 硬件定制............................................................................................................................... 324 8.6.1 硬件定制概述 ............................................................................................................ 324 8.6.2 亞馬遜的硬件定制 .................................................................................................... 325 8.6.3 OCP 開放計算項目 ................................................................................................... 327 第9 章 融合的系統(tǒng) ........................................................................................................................... 329 9.1 軟硬件融合系統(tǒng)棧 ............................................................................................................... 329 9.1.1 系統(tǒng)邊界:多數(shù)據(jù)中心 ............................................................................................ 329 9.1.2 數(shù)據(jù)中心的系統(tǒng)堆棧 ................................................................................................ 330 9.2 分層的系統(tǒng)實現(xiàn) ................................................................................................................... 332 9.2.1 迭代的系統(tǒng) ................................................................................................................ 332 9.2.2 分域的硬件平臺 ........................................................................................................ 333 9.2.3 不同層次的實現(xiàn) ........................................................................................................ 334 9.2.4 軟硬件協(xié)同設計 ........................................................................................................ 335 9.3 深層次開放合作 ................................................................................................................... 336 9.3.1 軟硬件的距離越來越大 ............................................................................................ 336 9.3.2 互聯(lián)網(wǎng)公司自研芯片的優(yōu)劣勢 ................................................................................ 336 9.3.3 深層次的開放合作 .................................................................................................... 337 參考文獻 .............................................................................................................................................. 338
你還可能感興趣
我要評論
|