作 者:黃朝波 著
定 價:89
出 版 社:電子工業出版社
出版日期:2021年05月01日
頁 數:356
裝 幀:平裝
ISBN:9787121409226
"★ 芯片及互聯網行業十年以上工作經驗分享★ 從多個角度講解了構成軟硬件融合的技術★ 案例貼近前沿,內容深入淺出,通俗易懂★ 知識覆蓋面廣,可使讀者迅速擴大知識面★ 進而輕松駕馭軟硬件融合的技術大潮新技術層出不窮並且快速迭代,該如何根本性的解決這一挑戰?CPU性能瓶頸,DPU脫穎而出?這,隻是問題的開始……人工智能對算力和數據量的要求都極其龐大,什麼樣的計算架構,纔能釋放AI處理器的強勁動力?雲場景的異構加速平臺該如何構建?GPU、FPGA還是AS等
●引言
第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 linx 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 熱存儲服務器: linx 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 深層次的開放合作
參考文獻
物聯網、大數據及人工智能等新興技術推動雲計算持續、快速地發展,底層硬件越來越無法滿足上層軟件的發展和迭代需求。本書通過探尋軟硬件的技術本質,尋找能夠使軟件靈活性和硬件高效性相結合的方法,幫助有軟件背景的讀者更深刻地認識硬件,加深對軟硬件之間聯繫的理解,並且更好地駕馭硬件;同時幫助有硬件背景的讀者站在更全面的視角宏觀地看待問題,理解需求、產品、繫統、架構等多方面的權衡。
《軟硬件融合:超大規模雲計算架構創新之路》共9章:第1章為雲計算底層軟硬件,第2章為軟硬件融合綜述,第3章為計算機體繫結構基礎,第4章為軟硬件接口,第5章為算法加速和任務卸載,第6章為虛擬化硬件加速,第7章為異構加速,第8章為雲計算體繫結構趨勢,第9章為融合的繫統。
本書立意新穎,案例貼近前沿,內容由淺入深,並且“展望未來”,可以幫助廣大互聯網及 IT 行業的軟硬件工程師更好地理解軟件、硬件及兩者之間等