關(guān)于我們
書單推薦
新書推薦
|
軟硬件融合——超大規(guī)模云計(jì)算架構(gòu)創(chuàng)新之路 讀者對(duì)象:云計(jì)算,架構(gòu),軟硬件,融合,創(chuàng)新,優(yōu)化,計(jì)算機(jī)體系所有技術(shù)人員
物聯(lián)網(wǎng)、大數(shù)據(jù)以及人工智能等新興技術(shù),推動(dòng)著云計(jì)算持續(xù)快速發(fā)展,底層硬件越來越無法滿足上層軟件的發(fā)展和迭代。本書通過探尋軟硬件的技術(shù)本質(zhì),尋找能夠結(jié)合軟件靈活性和硬件高效性的解決方法。幫助有軟件背景的讀者更深刻地認(rèn)識(shí)硬件,加深對(duì)軟硬件之間聯(lián)系的理解,并且更好地駕馭硬件;同時(shí)也幫助有硬件背景的讀者,有一個(gè)更全面的視角,更加宏觀地看待問題,理解需求、產(chǎn)品、系統(tǒng)、架構(gòu)等多方面問題的權(quán)衡。本書共9章內(nèi)容:第1章介紹了云計(jì)算面臨的底層技術(shù)挑戰(zhàn),接著第2、3章介紹了軟硬件相關(guān)的概念和計(jì)算機(jī)基礎(chǔ)知識(shí),并引出了軟硬件融合的概念。第4~7章分別介紹了軟硬件融合的四類技術(shù):軟硬件接口、算法加速和任務(wù)卸載、虛擬化的硬件加速、異構(gòu)計(jì)算。第8章介紹應(yīng)用這些技術(shù)的綜合案例。第9章則是具體實(shí)現(xiàn)方面的思考。本書立意新穎,結(jié)合業(yè)界最新案例,內(nèi)容從淺入深,并且展望未來。幫助廣大互聯(lián)網(wǎng)及IT行業(yè)的軟硬件工程師,更好地理解軟件、硬件以及軟硬件之間的內(nèi)在聯(lián)系,也可以作為計(jì)算機(jī)相關(guān)專業(yè)本科高年級(jí)以及研究生的技術(shù)拓展讀物。
黃朝波,芯片及互聯(lián)網(wǎng)行業(yè)十年以上工作經(jīng)驗(yàn),UCloud芯片及硬件研發(fā)負(fù)責(zé)人。曾在Marvell從事ARMv7/v8架構(gòu)高性能多核CPU設(shè)計(jì)和驗(yàn)證,以及Startup公司Simplight從事自主多線程處理器及4G LTE基帶SOC芯片設(shè)計(jì)。物聯(lián)網(wǎng)公司創(chuàng)業(yè)經(jīng)歷,技術(shù)負(fù)責(zé)人,負(fù)責(zé)從硬件到軟件再到云端平臺(tái)的研發(fā)工作。本科畢業(yè)于西北工業(yè)大學(xué),研究生畢業(yè)于國防科技大學(xué),在科大學(xué)習(xí)期間有幸參與“飛騰”處理器項(xiàng)目研發(fā)。
引言 .......................................................................................................................................................... 1
第1 章 云計(jì)算底層軟硬件 ................................................................................................................... 8 1.1 云計(jì)算概述 ............................................................................................................................... 8 1.1.1 云計(jì)算的概念 ................................................................................................................ 8 1.1.2 IaaS、PaaS 和SaaS ....................................................................................................... 9 1.2 IaaS 層核心服務(wù)..................................................................................................................... 10 1.2.1 計(jì)算類服務(wù) .................................................................................................................. 11 1.2.2 存儲(chǔ)類服務(wù) .................................................................................................................. 13 1.2.3 網(wǎng)絡(luò)類服務(wù) .................................................................................................................. 16 1.2.4 IaaS 層服務(wù)總結(jié) .......................................................................................................... 18 1.3 云計(jì)算的特點(diǎn) ......................................................................................................................... 19 1.3.1 更大的規(guī)模 .................................................................................................................. 19 1.3.2 更“大”的數(shù)據(jù) .......................................................................................................... 20 1.3.3 更多的租戶 .................................................................................................................. 21 1.3.4 更復(fù)雜的網(wǎng)絡(luò) .............................................................................................................. 22 1.3.5 安全問題無處不在 ...................................................................................................... 24 1.3.6 面向特定應(yīng)用場(chǎng)景的云計(jì)算服務(wù) .............................................................................. 26 1.3.7 服務(wù)接口的兼容性和通用性 ...................................................................................... 27 1.4 底層軟硬件挑戰(zhàn) ..................................................................................................................... 28 1.4.1 業(yè)務(wù)異構(gòu)加速 .............................................................................................................. 28 1.4.2 工作任務(wù)卸載 .............................................................................................................. 29 1.4.3 軟硬件接口的標(biāo)準(zhǔn)化和靈活性 .................................................................................. 30 1.4.4 硬件處理的虛擬化和個(gè)性化 ...................................................................................... 31 1.4.5 業(yè)務(wù)和管理物理分離 .................................................................................................. 32 1.4.6 硬件的功能擴(kuò)展 .......................................................................................................... 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 三個(gè)維度 ...................................................................................................................... 41 2.2.2 綜合分析 ...................................................................................................................... 44 2.2.3 平臺(tái)選擇 ...................................................................................................................... 45 2.3 軟硬件協(xié)作 ............................................................................................................................. 46 2.3.1 多平臺(tái)混合架構(gòu) .......................................................................................................... 46 2.3.2 軟硬件平臺(tái)的協(xié)作 ...................................................................................................... 49 2.3.3 軟硬件平臺(tái)的交互 ...................................................................................................... 51 2.4 軟硬件融合 ............................................................................................................................. 52 2.4.1 軟硬件融合的概念 ...................................................................................................... 52 2.4.2 軟硬件融合的特點(diǎn) ...................................................................................................... 54 2.4.3 軟硬件融合技術(shù) .......................................................................................................... 55 第3 章 計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ) ............................................................................................................. 57 3.1 計(jì)算機(jī)原理 ............................................................................................................................. 57 3.1.1 處理器架構(gòu):從馮·諾依曼架構(gòu)到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 服務(wù)器板級(jí)架構(gòu) .......................................................................................................... 69 3.2 存儲(chǔ) ....................................................................................................................................... 71 3.2.1 緩存和存儲(chǔ)分層結(jié)構(gòu) .................................................................................................. 71 3.2.2 本地存儲(chǔ):磁盤分區(qū)和邏輯/物理卷 ......................................................................... 74 3.2.3 分布式存儲(chǔ):GFS 和存儲(chǔ)的“溫度” ...................................................................... 76 3.3 網(wǎng)絡(luò) ....................................................................................................................................... 79 3.3.1 基礎(chǔ)物理網(wǎng)絡(luò):分層和拓?fù)?...................................................................................... 79 3.3.2 虛擬網(wǎng)絡(luò):VLAN 和VxLAN .................................................................................... 83 3.3.3 軟件定義網(wǎng)絡(luò):從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 設(shè)備虛擬化:從軟件模擬到SR-IOV ............................................................... 100 3.4.5 容器虛擬化:Docker 和Kubernetes 介紹 ............................................................... 103 第4 章 軟硬件接口 ........................................................................................................................... 105 4.1 軟硬件接口概述 ................................................................................................................... 105 4.1.1 軟硬件接口定義 ........................................................................................................ 106 4.1.2 生產(chǎn)者-消費(fèi)者模型 .................................................................................................. 109 4.1.3 用戶態(tài)的PMD:DPDK 和SPDK ........................................................................... 113 4.2 總線互連............................................................................................................................... 116 4.2.1 AMBA 總線 ............................................................................................................... 116 4.2.2 片上網(wǎng)絡(luò)NoC 總線 .................................................................................................. 120 4.2.3 片間高速總線PCIe 及SR-IOV ................................................................................ 123 4.2.4 對(duì)稱的緩存一致性總線CCIX ................................................................................. 128 4.2.5 非對(duì)稱的緩存一致性總線CXL ............................................................................... 132 4.2.6 總線互連總結(jié) ............................................................................................................ 136 4.3 通用接口Virtio .................................................................................................................... 139 4.3.1 Virtio 寄存器 ............................................................................................................. 139 4.3.2 Virtqueue 交互隊(duì)列 ................................................................................................... 141 4.3.3 Virtio 交互 ................................................................................................................. 143 4.3.4 總結(jié) ............................................................................................................................ 144 4.4 高速網(wǎng)絡(luò)接口RDMA .......................................................................................................... 146 4.4.1 基本概念 .................................................................................................................... 146 4.4.2 RoCE 分層 ................................................................................................................. 147 4.4.3 RDMA 接口 ............................................................................................................... 148 4.4.4 RDMA 總結(jié) ............................................................................................................... 149 4.5 高速存儲(chǔ)接口NVMe ........................................................................................................... 150 4.5.1 NVMe 概述................................................................................................................ 150 4.5.2 NVMe 寄存器 ............................................................................................................ 151 4.5.3 NVMe 隊(duì)列................................................................................................................ 153 4.5.4 NVMe 命令結(jié)構(gòu) ........................................................................................................ 155 4.5.5 網(wǎng)絡(luò)存儲(chǔ)接口NVMeoF ........................................................................................... 160 4.5.6 NVMe 及NVMeoF 總結(jié) .......................................................................................... 162 4.6 軟硬件接口總結(jié) ................................................................................................................... 163 4.6.1 接口分層 .................................................................................................................... 163 4.6.2 接口共享 .................................................................................................................... 163 第5 章 算法加速和任務(wù)卸載 ........................................................................................................... 165 5.1 基本概念............................................................................................................................... 165 5.1.1 硬件加速 .................................................................................................................... 166 5.1.2 硬件處理模塊 ............................................................................................................ 167 5.1.3 算法加速和任務(wù)卸載的概念 .................................................................................... 169 5.2 算法加速............................................................................................................................... 171 5.2.1 加密算法加速 ............................................................................................................ 171 5.2.2 壓縮算法加速 ............................................................................................................ 176 5.2.3 數(shù)據(jù)冗余算法加速 .................................................................................................... 181 5.2.4 正則表達(dá)式算法加速 ................................................................................................ 183 5.2.5 加速器性能設(shè)計(jì)原則 ................................................................................................ 185 5.3 任務(wù)卸載............................................................................................................................... 186 5.3.1 任務(wù)卸載模型 ............................................................................................................ 186 5.3.2 IPsec 卸載 .................................................................................................................. 188 5.3.3 虛擬網(wǎng)絡(luò)卸載 ............................................................................................................ 190 5.3.4 遠(yuǎn)程存儲(chǔ)卸載 ............................................................................................................ 192 5.3.5 虛擬化卸載 ................................................................................................................ 194 5.4 算法加速和任務(wù)卸載總結(jié) ................................................................................................... 197 5.4.1 算法加速是基礎(chǔ) ........................................................................................................ 197 5.4.2 任務(wù)卸載是多系統(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 緩存機(jī)制 .................................................................................................................... 219 6.2.4 通用虛擬化流水線 .................................................................................................... 221 6.3 網(wǎng)絡(luò)虛擬化處理 ................................................................................................................... 222 6.3.1 包處理用于網(wǎng)絡(luò)虛擬化 ............................................................................................ 222 6.3.2 定制的網(wǎng)絡(luò)包處理 .................................................................................................... 223 6.3.3 ASIC 軟件可編程包處理 .......................................................................................... 224 6.3.4 FPGA 硬件可編程包處理 ......................................................................................... 227 6.3.5 案例:Mellanox FlexFlow ........................................................................................ 229 6.3.6 網(wǎng)絡(luò)包處理總結(jié) ........................................................................................................ 230 6.4 存儲(chǔ)虛擬化處理 ................................................................................................................... 231 6.4.1 分布式存儲(chǔ)Ceph ...................................................................................................... 231 6.4.2 以事務(wù)為單位的存儲(chǔ)處理 ........................................................................................ 236 6.4.3 遠(yuǎn)程存儲(chǔ)虛擬化加速 ................................................................................................ 238 6.4.4 本地存儲(chǔ)虛擬化加速 ................................................................................................ 241 6.5 虛擬化硬件加速總結(jié) ........................................................................................................... 243 6.5.1 靈活的高性能流水線 ................................................................................................ 243 6.5.2 高性能緩存機(jī)制 ........................................................................................................ 244 6.5.3 可軟件編程、通用、數(shù)據(jù)流驅(qū)動(dòng)的數(shù)據(jù)處理引擎 ................................................ 244 6.5.4 虛擬化硬件加速的意義 ............................................................................................ 246 6.5.5 其他虛擬化加速場(chǎng)景 ................................................................................................ 246 第7 章 異構(gòu)加速 ............................................................................................................................... 247 7.1 異構(gòu)計(jì)算概述 ....................................................................................................................... 247 7.1.1 基本概念(并行計(jì)算、異構(gòu)計(jì)算) ........................................................................ 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 硬件架構(gòu) ........................................................................................................... 253 7.2.3 CUDA 編程模型 ....................................................................................................... 259 7.3 OpenCL 和FPGA 異構(gòu)計(jì)算 ................................................................................................ 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 典型領(lǐng)域:DNN .............................................................................................. 278 7.4.3 ASIC 實(shí)現(xiàn):谷歌TPU ............................................................................................. 281 7.4.4 FPGA 實(shí)現(xiàn):微軟Catapult ...................................................................................... 284 7.4.5 Chiplet 實(shí)現(xiàn):OCP ODSA ....................................................................................... 287 7.5 異構(gòu)加速計(jì)算總結(jié) ............................................................................................................... 289 7.5.1 平臺(tái)選擇(GPU、FPGA、ASIC/DSA) ................................................................ 290 7.5.2 異構(gòu)計(jì)算加速優(yōu)化 .................................................................................................... 291 第8 章 云計(jì)算體系結(jié)構(gòu)趨勢(shì) ........................................................................................................... 293 8.1 概述 ..................................................................................................................................... 293 8.2 業(yè)務(wù)和管理分離 ................................................................................................................... 294 8.2.1 虛擬化視角:I/O 及管理的卸載 .............................................................................. 294 8.2.2 體系結(jié)構(gòu)視角:以數(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è)務(wù)的異構(gòu)加速 ................................................................................................................... 304 8.3.1 業(yè)務(wù)加速概述 ............................................................................................................ 304 8.3.2 DSA 加速:谷歌TPU 服務(wù) ..................................................................................... 305 8.3.3 FPGA 加速:FaaS .................................................................................................... 306 8.3.4 異構(gòu)計(jì)算架構(gòu)演進(jìn) .................................................................................................... 308 8.4 存儲(chǔ)的加速和定制 ............................................................................................................... 309 8.4.1 存儲(chǔ)概述 .................................................................................................................... 309 8.4.2 熱存儲(chǔ)服務(wù)器:Xilinx NVMeoF 參考設(shè)計(jì) ............................................................ 311 8.4.3 機(jī)架級(jí)冷存儲(chǔ):微軟Pelican ................................................................................... 312 8.5 網(wǎng)絡(luò)可編程和性能優(yōu)化 ....................................................................................................... 314 8.5.1 數(shù)據(jù)中心網(wǎng)絡(luò)綜述 .................................................................................................... 314 8.5.2 數(shù)據(jù)面編程交換芯片 ................................................................................................ 317 8.5.3 高性能網(wǎng)絡(luò)優(yōu)化 ........................................................................................................ 318 8.6 硬件定制............................................................................................................................... 324 8.6.1 硬件定制概述 ............................................................................................................ 324 8.6.2 亞馬遜的硬件定制 .................................................................................................... 325 8.6.3 OCP 開放計(jì)算項(xiàng)目 ................................................................................................... 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)實(shí)現(xiàn) ................................................................................................................... 332 9.2.1 迭代的系統(tǒng) ................................................................................................................ 332 9.2.2 分域的硬件平臺(tái) ........................................................................................................ 333 9.2.3 不同層次的實(shí)現(xiàn) ........................................................................................................ 334 9.2.4 軟硬件協(xié)同設(shè)計(jì) ........................................................................................................ 335 9.3 深層次開放合作 ................................................................................................................... 336 9.3.1 軟硬件的距離越來越大 ............................................................................................ 336 9.3.2 互聯(lián)網(wǎng)公司自研芯片的優(yōu)劣勢(shì) ................................................................................ 336 9.3.3 深層次的開放合作 .................................................................................................... 337 參考文獻(xiàn) .............................................................................................................................................. 338
你還可能感興趣
我要評(píng)論
|