軟硬體融合:超大規模雲計算架構創新之路 | 維持健康的好方法 - 2024年7月

軟硬體融合:超大規模雲計算架構創新之路

作者:黃朝波
出版社:電子工業
出版日期:2021年05月01日
ISBN:9787121409226
語言:繁體中文

物聯網、大資料及人工智慧等新興技術推動雲計算持續、快速地發展,底層硬體越來越無法滿足上層軟體的發展和反覆運算需求。本書通過探尋軟硬體的技術本質,尋找能夠使軟體靈活性和硬體高效性相結合的方法,説明有軟體背景的讀者更深刻地認識硬體,加深對軟硬體之間聯繫的理解,並且更好地駕馭硬體;同時説明有硬體背景的讀者站在更全面的視角宏觀地看待問題,理解需求、產品、系統、架構等多方面的權衡。

《軟硬體融合:超大規模雲計算架構創新之路》共9章:第1章為雲計算底層軟硬體,第2章為軟硬體融合綜述,第3章為電腦體系結構基礎,第4章為軟硬體介面,第5章為演算法加速和任務卸載,第6章為虛擬化硬體加速,第7章為異構加速,第8章為雲計算體系結構趨勢,第9章為融合的系統。

本書立意新穎,案例貼近前沿,內容由淺入深,並且“展望未來”,可以幫助廣大互聯網及IT行業的軟硬體工程師更好地理解軟體、硬體及兩者之間的內在聯繫,也可以作為電腦相關專業學生的技術拓展讀物。
 

黃朝波

晶片及互聯網行業十年以上工作經驗,UCloud晶片及硬體研發負責人。

曾在Marvell從事ARMv7/v8架構高性能多核CPU設計和驗證,在Startup公司Simplight從事自主多執行緒處理器及4G LTE基帶SOC晶片設計。

物聯網公司創業經歷,技術負責人,負責從硬體、軟體到雲平臺的研發工作。本科畢業于西北工業大學,研究生畢業于國防科技大學,在國防科技大學學習期間有幸參與“飛騰”處理器專案研發。
 
 

引言

第1章 雲計算底層軟硬體
1.1 雲計算概述
1.1.1 雲計算的概念
1.1.2 IaaS、PaaS和SaaS
1.2 IaaS層核心服務
1.2.1 計算類服務
1.2.2 存儲類服務
1.2.3 網路類服務
1.2.4 IaaS層服務總結
1.3 雲計算的特點
1.3.1 更大的規模
1.3.2 更“大”的數據
1.3.3 更多的租戶
1.3.4 更複雜的網路
1.3.5 安全問題無處不在
1.3.6 面向特定應用場景的雲計算服務
1.3.7 服務介面的相容性和通用性
1.4 底層軟硬體挑戰
1.4.1 業務異構加速
1.4.2 工作任務卸載
1.4.3 軟硬體介面的標準化和靈活性
1.4.4 硬體處理的虛擬化和個性化
1.4.5 業務和管理物理分離
1.4.6 硬體的功能擴展
1.4.7 讓硬體快速反覆運算
1.4.8 硬體高可用
1.5 總結

第2章 軟硬體融合綜述
2.1 軟硬體基本概念
2.1.1 軟體和硬體
2.1.2 FPGA、ASIC和SoC
2.1.3 硬體加速原理
2.2 軟硬體劃分
2.2.1 三個維度
2.2.2 綜合分析
2.2.3 平臺選擇
2.3 軟硬體協作
2.3.1 多平臺混合架構
2.3.2 軟硬體平臺的協作
2.3.3 軟硬體平臺的交互
2.4 軟硬體融合
2.4.1 軟硬體融合的概念
2.4.2 軟硬體融合的特點
2.4.3 軟硬體融合技術

第3章 電腦體系結構基礎
3.1 電腦原理
3.1.1 處理器架構:從馮·諾依曼架構到RISC-V
3.1.2 記憶體位址:從定址模式到MMU
3.1.3 I/O:從CPU中斷到DMA
3.1.4 多核互連:從傳統匯流排到網狀匯流排
3.1.5 伺服器板級架構
3.2 存儲
3.2.1 緩存和存儲分層結構
3.2.2 本機存放區:磁碟分割和邏輯/物理卷
3.2.3 分散式存儲:GFS和存儲的“溫度”
3.3 網路
3.3.1 基礎物理網路:分層和拓撲
3.3.2 虛擬網路:VLAN和VxLAN
3.3.3 軟體定義網路:從OpenFlow到P4
3.4 虛擬化
3.4.1 虛擬化的層次、定義和分類
3.4.2 CPU虛擬化:從軟體類比到完全硬體
3.4.3 記憶體虛擬化:影子頁表和EPT
3.4.4 I/O設備虛擬化:從軟體類比到SR-IOV
3.4.5 容器虛擬化:Docker和Kubernetes介紹

第4章 軟硬體介面
4.1 軟硬體介面概述
4.1.1 軟硬體介面定義
4.1.2 生產者-消費者模型
4.1.3 用戶態的PMD:DPDK和SPDK
4.2 匯流排互連
4.2.1 AMBA匯流排
4.2.2 片上網路NoC匯流排
4.2.3 片間高速匯流排PCIe及SR-IOV
4.2.4 對稱的快取一致性匯流排CCIX
4.2.5 非對稱的快取一致性匯流排CXL
4.2.6 匯流排互連總結
4.3 通用介面Virtio
4.3.1 Virtio寄存器
4.3.2 Virtqueue交互佇列
4.3.3 Virtio交互
4.3.4 總結
4.4 高速網路介面RDMA
4.4.1 基本概念
4.4.2 RoCE分層
4.4.3 RDMA介面
4.4.4 RDMA總結
4.5 高速存儲介面NVMe
4.5.1 NVMe概述
4.5.2 NVMe寄存器
4.5.3 NVMe佇列
4.5.4 NVMe命令結構
4.5.5 網路存儲介面NVMeoF
4.5.6 NVMe及NVMeoF總結
4.6 軟硬體介面總結
4.6.1 介面分層
4.6.2 介面共用

第5章 演算法加速和任務卸載
5.1 基本概念
5.1.1 硬體加速
5.1.2 硬體處理模組
5.1.3 演算法加速和任務卸載的概念
5.2 演算法加速
5.2.1 加密演算法加速
5.2.2 壓縮演算法加速
5.2.3 資料冗餘演算法加速
5.2.4 規則運算式演算法加速
5.2.5 加速器性能設計原則
5.3 任務卸載
5.3.1 任務卸載模型
5.3.2 IPsec卸載
5.3.3 虛擬網路卸載
5.3.4 遠端存放卸載
5.3.5 虛擬化卸載
5.4 演算法加速和任務卸載總結
5.4.1 演算法加速是基礎
5.4.2 任務卸載是多系統協作

第6章 虛擬化硬體加速
6.1 基本概念
6.1.1 軟硬體中的抽象
6.1.2 虛擬化抽象
6.1.3 虛擬化模型
6.1.4 虛擬化加速的必要性
6.2 虛擬化的硬體處理
6.2.1 流水線處理
6.2.2 虛擬化映射
6.2.3 緩存機制
6.2.4 通用虛擬化流水線
6.3 網路虛擬化處理
6.3.1 包處理用於網路虛擬化
6.3.2 定制的網路包處理
6.3.3 ASIC軟體可程式設計包處理
6.3.4 FPGA硬體可程式設計包處理
6.3.5 案例:Mellanox FlexFlow
6.3.6 網路包處理總結
6.4 存儲虛擬化處理
6.4.1 分散式存儲Ceph
6.4.2 以事務為單位的存儲處理
6.4.3 遠端存放虛擬化加速
6.4.4 本機存放區虛擬化加速
6.5 虛擬化硬體加速總結
6.5.1 靈活的高性能流水線
6.5.2 高性能緩存機制
6.5.3 可軟體程式設計、通用、資料流程驅動的資料處理引擎
6.5.4 虛擬化硬體加速的意義
6.5.5 其他虛擬化加速場景

第7章 異構加速
7.1 異構計算概述
7.1.1 基本概念(平行計算、異構計算)
7.1.2 典型案例
7.1.3 性能約束和優化
7.1.4 易用性思考
7.2 GPU和CUDA
7.2.1 GPU和CUDA概念
7.2.2 GPU硬體架構
7.2.3 CUDA程式設計模型
7.3 OpenCL和FPGA異構計算
7.3.1 OpenCL
7.3.2 Xilinx SDAccel
7.3.3 英特爾加速棧
7.4 DSA
7.4.1 DSA發展背景
7.4.2 DSA典型領域:DNN
7.4.3 ASIC實現:穀歌TPU
7.4.4 FPGA實現:微軟Catapult
7.4.5 Chiplet實現:OCP ODSA
7.5 異構加速計算總結
7.5.1 平臺選擇(GPU、FPGA、ASIC/DSA)
7.5.2 異構計算加速優化

第8章 雲計算體系結構趨勢
8.1 概述
8.2 業務和管理分離
8.2.1 虛擬化視角:I/O及管理的卸載
8.2.2 體系結構視角:以資料為中心
8.2.3 Nitro系統
8.2.4 Mellanox Bluefield DPU
8.2.5 總結
8.3 業務的異構加速
8.3.1 業務加速概述
8.3.2 DSA加速:穀歌TPU服務
8.3.3 FPGA加速:FaaS
8.3.4 異構計算架構演進
8.4 存儲的加速和定制
8.4.1 存儲概述
8.4.2 熱存儲伺服器:Xilinx NVMeoF參考設計
8.4.3 機架級冷存儲:微軟Pelican
8.5 網路可程式設計和性能優化
8.5.1 資料中心網路綜述
8.5.2 資料面程式設計交換晶片
8.5.3 高性能網路優化
8.6 硬體定制
8.6.1 硬體定制概述
8.6.2 的硬體定制
8.6.3 OCP開放計算項目

第9章 融合的系統
9.1 軟硬體融合系統棧
9.1.1 系統邊界:多資料中心
9.1.2 資料中心的系統堆疊
9.2 分層的系統實現
9.2.1 反覆運算的系統
9.2.2 分域的硬體平臺
9.2.3 不同層次的實現
9.2.4 軟硬體協同設計
9.3 深層次開放合作
9.3.1 軟硬體的距離越來越大
9.3.2 互聯網公司自研晶片的優劣勢
9.3.3 深層次的開放合作

參考文獻
 


相關書籍