歡迎光臨中圖網(wǎng) 請(qǐng) | 注冊(cè)
> >>
軟硬件融合(超大規(guī)模云計(jì)算架構(gòu)創(chuàng)新之路)

軟硬件融合(超大規(guī)模云計(jì)算架構(gòu)創(chuàng)新之路)

作者:黃朝波
出版社:電子工業(yè)出版社出版時(shí)間:2021-05-01
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 338
中 圖 價(jià):¥56.1(6.3折) 定價(jià)  ¥89.0 登錄后可看到會(huì)員價(jià)
加入購(gòu)物車(chē) 收藏
運(yùn)費(fèi)6元,滿(mǎn)39元免運(yùn)費(fèi)
?新疆、西藏除外
本類(lèi)五星書(shū)更多>
買(mǎi)過(guò)本商品的人還買(mǎi)了

軟硬件融合(超大規(guī)模云計(jì)算架構(gòu)創(chuàng)新之路) 版權(quán)信息

軟硬件融合(超大規(guī)模云計(jì)算架構(gòu)創(chuàng)新之路) 本書(shū)特色

適讀人群 :云計(jì)算,架構(gòu),軟硬件,融合,創(chuàng)新,優(yōu)化,計(jì)算機(jī)體系所有技術(shù)人員★ 芯片及互聯(lián)網(wǎng)行業(yè)十年以上工作經(jīng)驗(yàn)分享 ★ 從多個(gè)角度講解了構(gòu)成軟硬件融合的技術(shù) ★ 案例貼近前沿,內(nèi)容深入淺出,通俗易懂 ★ 知識(shí)覆蓋面廣,可使讀者迅速擴(kuò)大知識(shí)面 ★ 進(jìn)而輕松駕馭軟硬件融合的技術(shù)大潮 新技術(shù)層出不窮并且快速迭代, 該如何根本性的解決這一挑戰(zhàn)? CPU性能瓶頸,DPU脫穎而出? 這,只是問(wèn)題的開(kāi)始…… 人工智能對(duì)算力和數(shù)據(jù)量的要求都極其龐大, 什么樣的計(jì)算架構(gòu),才能釋放AI處理器的強(qiáng)勁動(dòng)力? 云場(chǎng)景的異構(gòu)加速平臺(tái)該如何構(gòu)建? GPU、FPGA還是ASIC/DSA? 軟件足夠靈活,硬件足夠高效。 魚(yú)和熊掌,可否兼得? 本書(shū)將解決以上所有問(wèn)題。 ★ 軟件背景的同學(xué),可以更深刻地認(rèn)識(shí)硬件, 加深對(duì)軟硬件之間聯(lián)系的理解,更好地駕馭硬件 ★ 硬件背景的同學(xué),可以更全面宏觀地看待問(wèn)題, 理解需求、產(chǎn)品、系統(tǒng)、架構(gòu)等多方面的權(quán)衡

軟硬件融合(超大規(guī)模云計(jì)算架構(gòu)創(chuàng)新之路) 內(nèi)容簡(jiǎn)介

物聯(lián)網(wǎng)、大數(shù)據(jù)及人工智能等新興技術(shù)推動(dòng)云計(jì)算持續(xù)、快速地發(fā)展,底層硬件越來(lái)越無(wú)法滿(mǎn)足上層軟件的發(fā)展和迭代需求。本書(shū)通過(guò)探尋軟硬件的技術(shù)本質(zhì),尋找能夠使軟件靈活性和硬件高效性相結(jié)合的方法,幫助有軟件背景的讀者更深刻地認(rèn)識(shí)硬件,加深對(duì)軟硬件之間聯(lián)系的理解,并且更好地駕馭硬件;同時(shí)幫助有硬件背景的讀者站在更全面的視角宏觀地看待問(wèn)題,理解需求、產(chǎn)品、系統(tǒng)、架構(gòu)等多方面的權(quán)衡。 本書(shū)共9章:章為云計(jì)算底層軟硬件,第2章為軟硬件融合綜述,第3章為計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ),第4章為軟硬件接口,第5章為算法加速和任務(wù)卸載,第6章為虛擬化硬件加速,第7章為異構(gòu)加速,第8章為云計(jì)算體系結(jié)構(gòu)趨勢(shì),第9章為融合的系統(tǒng)。 本書(shū)立意新穎,案例貼近前沿,內(nèi)容由淺入深,并且“展望未來(lái)”,可以幫助廣大互聯(lián)網(wǎng)及IT行業(yè)的軟硬件工程師更好地理解軟件、硬件及兩者之間的內(nèi)在聯(lián)系,也可以作為計(jì)算機(jī)相關(guān)專(zhuān)業(yè)學(xué)生的技術(shù)拓展讀物。

軟硬件融合(超大規(guī)模云計(jì)算架構(gòu)創(chuàng)新之路) 目錄

引言

第1章 云計(jì)算底層軟硬件

1.1 云計(jì)算概述

1.1.1 云計(jì)算的概念

1.1.2 IaaS、PaaS和SaaS

1.2 IaaS層核心服務(wù)

1.2.1 計(jì)算類(lèi)服務(wù)

1.2.2 存儲(chǔ)類(lèi)服務(wù)

1.2.3 網(wǎng)絡(luò)類(lèi)服務(wù)

1.2.4 IaaS層服務(wù)總結(jié)

1.3 云計(jì)算的特點(diǎn)

1.3.1 更大的規(guī)模

1.3.2 更“大”的數(shù)據(jù)

1.3.3 更多的租戶(hù)

1.3.4 更復(fù)雜的網(wǎng)絡(luò)

1.3.5 安全問(wèn)題無(wú)處不在

1.3.6 面向特定應(yīng)用場(chǎng)景的云計(jì)算服務(wù)

1.3.7 服務(wù)接口的兼容性和通用性

1.4 底層軟硬件挑戰(zhàn)

1.4.1 業(yè)務(wù)異構(gòu)加速

1.4.2 工作任務(wù)卸載

1.4.3 軟硬件接口的標(biāo)準(zhǔn)化和靈活性

1.4.4 硬件處理的虛擬化和個(gè)性化

1.4.5 業(yè)務(wù)和管理物理分離

1.4.6 硬件的功能擴(kuò)展

1.4.7 讓硬件快速迭代

1.4.8 硬件高可用

1.5 總結(jié)

第2章 軟硬件融合綜述

2.1 軟硬件基本概念

2.1.1 軟件和硬件

2.1.2 FPGA、ASIC和SoC

2.1.3 硬件加速原理

2.2 軟硬件劃分

2.2.1 三個(gè)維度

2.2.2 綜合分析

2.2.3 平臺(tái)選擇

2.3 軟硬件協(xié)作

2.3.1 多平臺(tái)混合架構(gòu)

2.3.2 軟硬件平臺(tái)的協(xié)作

2.3.3 軟硬件平臺(tái)的交互

2.4 軟硬件融合

2.4.1 軟硬件融合的概念

2.4.2 軟硬件融合的特點(diǎn)

2.4.3 軟硬件融合技術(shù)

第3章 計(jì)算機(jī)體系結(jié)構(gòu)基礎(chǔ)

3.1 計(jì)算機(jī)原理

3.1.1 處理器架構(gòu):從馮·諾依曼架構(gòu)到RISC-V

3.1.2 內(nèi)存地址:從尋址模式到MMU

3.1.3 I/O:從CPU中斷到DMA

3.1.4 多核互連:從傳統(tǒng)總線(xiàn)到網(wǎng)狀總線(xiàn)

3.1.5 服務(wù)器板級(jí)架構(gòu)

3.2 存儲(chǔ)

3.2.1 緩存和存儲(chǔ)分層結(jié)構(gòu)

3.2.2 本地存儲(chǔ):磁盤(pán)分區(qū)和邏輯/物理卷

3.2.3 分布式存儲(chǔ):GFS和存儲(chǔ)的“溫度”

3.3 網(wǎng)絡(luò)

3.3.1 基礎(chǔ)物理網(wǎng)絡(luò):分層和拓?fù)?

3.3.2 虛擬網(wǎng)絡(luò):VLAN和VxLAN

3.3.3 軟件定義網(wǎng)絡(luò):從OpenFlow到P4

3.4 虛擬化

3.4.1 虛擬化的層次、定義和分類(lèi)

3.4.2 CPU虛擬化:從軟件模擬到完全硬件

3.4.3 內(nèi)存虛擬化:影子頁(yè)表和EPT

3.4.4 I/O設(shè)備虛擬化:從軟件模擬到SR-IOV

3.4.5 容器虛擬化:Docker和Kubernetes介紹

第4章 軟硬件接口

4.1 軟硬件接口概述

4.1.1 軟硬件接口定義

4.1.2 生產(chǎn)者-消費(fèi)者模型

4.1.3 用戶(hù)態(tài)的PMD:DPDK和SPDK

4.2 總線(xiàn)互連

4.2.1 AMBA總線(xiàn)

4.2.2 片上網(wǎng)絡(luò)NoC總線(xiàn)

4.2.3 片間高速總線(xiàn)PCIe及SR-IOV

4.2.4 對(duì)稱(chēng)的緩存一致性總線(xiàn)CCIX

4.2.5 非對(duì)稱(chēng)的緩存一致性總線(xiàn)CXL

4.2.6 總線(xiàn)互連總結(jié)

4.3 通用接口Virtio

4.3.1 Virtio寄存器

4.3.2 Virtqueue交互隊(duì)列

4.3.3 Virtio交互

4.3.4 總結(jié)

4.4 高速網(wǎng)絡(luò)接口RDMA

4.4.1 基本概念

4.4.2 RoCE分層

4.4.3 RDMA接口

4.4.4 RDMA總結(jié)

4.5 高速存儲(chǔ)接口NVMe

4.5.1 NVMe概述

4.5.2 NVMe寄存器

4.5.3 NVMe隊(duì)列

4.5.4 NVMe命令結(jié)構(gòu)

4.5.5 網(wǎng)絡(luò)存儲(chǔ)接口NVMeoF

4.5.6 NVMe及NVMeoF總結(jié)

4.6 軟硬件接口總結(jié)

4.6.1 接口分層

4.6.2 接口共享

第5章 算法加速和任務(wù)卸載

5.1 基本概念

5.1.1 硬件加速

5.1.2 硬件處理模塊

5.1.3 算法加速和任務(wù)卸載的概念

5.2 算法加速

5.2.1 加密算法加速

5.2.2 壓縮算法加速

5.2.3 數(shù)據(jù)冗余算法加速

5.2.4 正則表達(dá)式算法加速

5.2.5 加速器性能設(shè)計(jì)原則

5.3 任務(wù)卸載

5.3.1 任務(wù)卸載模型

5.3.2 IPsec卸載

5.3.3 虛擬網(wǎng)絡(luò)卸載

5.3.4 遠(yuǎn)程存儲(chǔ)卸載

5.3.5 虛擬化卸載

5.4 算法加速和任務(wù)卸載總結(jié)

5.4.1 算法加速是基礎(chǔ)

5.4.2 任務(wù)卸載是多系統(tǒng)協(xié)作

第6章 虛擬化硬件加速

6.1 基本概念

6.1.1 軟硬件中的抽象

6.1.2 虛擬化抽象

6.1.3 虛擬化模型

6.1.4 虛擬化加速的必要性

6.2 虛擬化的硬件處理

6.2.1 流水線(xiàn)處理

6.2.2 虛擬化映射

6.2.3 緩存機(jī)制

6.2.4 通用虛擬化流水線(xiàn)

6.3 網(wǎng)絡(luò)虛擬化處理

6.3.1 包處理用于網(wǎng)絡(luò)虛擬化

6.3.2 定制的網(wǎng)絡(luò)包處理

6.3.3 ASIC軟件可編程包處理

6.3.4 FPGA硬件可編程包處理

6.3.5 案例:Mellanox FlexFlow

6.3.6 網(wǎng)絡(luò)包處理總結(jié)

6.4 存儲(chǔ)虛擬化處理

6.4.1 分布式存儲(chǔ)Ceph

6.4.2 以事務(wù)為單位的存儲(chǔ)處理

6.4.3 遠(yuǎn)程存儲(chǔ)虛擬化加速

6.4.4 本地存儲(chǔ)虛擬化加速

6.5 虛擬化硬件加速總結(jié)

6.5.1 靈活的高性能流水線(xiàn)

6.5.2 高性能緩存機(jī)制

6.5.3 可軟件編程、通用、數(shù)據(jù)流驅(qū)動(dòng)的數(shù)據(jù)處理引擎

6.5.4 虛擬化硬件加速的意義

6.5.5 其他虛擬化加速場(chǎng)景

第7章 異構(gòu)加速

7.1 異構(gòu)計(jì)算概述

7.1.1 基本概念(并行計(jì)算、異構(gòu)計(jì)算)

7.1.2 典型案例

7.1.3 性能約束和優(yōu)化

7.1.4 易用性思考

7.2 GPU和CUDA

7.2.1 GPU和CUDA概念

7.2.2 GPU硬件架構(gòu)

7.2.3 CUDA編程模型

7.3 OpenCL和FPGA異構(gòu)計(jì)算

7.3.1 OpenCL

7.3.2 Xilinx SDAccel

7.3.3 英特爾加速棧

7.4 DSA

7.4.1 DSA發(fā)展背景

7.4.2 DSA典型領(lǐng)域:DNN

7.4.3 ASIC實(shí)現(xiàn):谷歌TPU

7.4.4 FPGA實(shí)現(xiàn):微軟Catapult

7.4.5 Chiplet實(shí)現(xiàn):OCP ODSA

7.5 異構(gòu)加速計(jì)算總結(jié)

7.5.1 平臺(tái)選擇(GPU、FPGA、ASIC/DSA)

7.5.2 異構(gòu)計(jì)算加速優(yōu)化

第8章 云計(jì)算體系結(jié)構(gòu)趨勢(shì)

8.1 概述

8.2 業(yè)務(wù)和管理分離

8.2.1 虛擬化視角:I/O及管理的卸載

8.2.2 體系結(jié)構(gòu)視角:以數(shù)據(jù)為中心

8.2.3 Nitro系統(tǒng)

8.2.4 Mellanox Bluefield DPU

8.2.5 總結(jié)

8.3 業(yè)務(wù)的異構(gòu)加速

8.3.1 業(yè)務(wù)加速概述

8.3.2 DSA加速:谷歌TPU服務(wù)

8.3.3 FPGA加速:FaaS

8.3.4 異構(gòu)計(jì)算架構(gòu)演進(jìn)

8.4 存儲(chǔ)的加速和定制

8.4.1 存儲(chǔ)概述

8.4.2 熱存儲(chǔ)服務(wù)器:Xilinx NVMeoF參考設(shè)計(jì)

8.4.3 機(jī)架級(jí)冷存儲(chǔ):微軟Pelican

8.5 網(wǎng)絡(luò)可編程和性能優(yōu)化

8.5.1 數(shù)據(jù)中心網(wǎng)絡(luò)綜述

8.5.2 數(shù)據(jù)面編程交換芯片

8.5.3 高性能網(wǎng)絡(luò)優(yōu)化

8.6 硬件定制

8.6.1 硬件定制概述

8.6.2 亞馬遜的硬件定制

8.6.3 OCP開(kāi)放計(jì)算項(xiàng)目

第9章 融合的系統(tǒng)

9.1 軟硬件融合系統(tǒng)棧

9.1.1 系統(tǒng)邊界:多數(shù)據(jù)中心

9.1.2 數(shù)據(jù)中心的系統(tǒng)堆棧

9.2 分層的系統(tǒng)實(shí)現(xiàn)

9.2.1 迭代的系統(tǒng)

9.2.2 分域的硬件平臺(tái)

9.2.3 不同層次的實(shí)現(xiàn)

9.2.4 軟硬件協(xié)同設(shè)計(jì)

9.3 深層次開(kāi)放合作

9.3.1 軟硬件的距離越來(lái)越大

9.3.2 互聯(lián)網(wǎng)公司自研芯片的優(yōu)劣勢(shì)

9.3.3 深層次的開(kāi)放合作

參考文獻(xiàn)

展開(kāi)全部

軟硬件融合(超大規(guī)模云計(jì)算架構(gòu)創(chuàng)新之路) 節(jié)選

5.4 算法加速和任務(wù)卸載總結(jié) 算法加速是各種硬件加速的基礎(chǔ),從系統(tǒng)中提煉核心的算法并將其硬件實(shí)現(xiàn),以達(dá)到加速的目的。任務(wù)有可能全部卸載,也有可能部分卸載;任務(wù)的控制面有可能卸載,也有可能不卸載。任務(wù)卸載需要通過(guò)一定的基礎(chǔ)框架機(jī)制來(lái)快速實(shí)現(xiàn)兩個(gè)或多個(gè)系統(tǒng)之間的協(xié)作。 5.4.1 算法加速是基礎(chǔ) 算法加速是一切硬件加速的基礎(chǔ),需要通過(guò)軟硬件劃分,合理地確定算法復(fù)雜度及功能的彈性。適合算法加速的軟件任務(wù)具有一定的共同特征:高密度的計(jì)算和訪存。 1.算法加速核心 硬件加速本質(zhì)上是把密集的計(jì)算和數(shù)據(jù)處理(不管是算法加速或任務(wù)卸載)都通過(guò)專(zhuān)用的硬件算法加速模塊完成。如圖5.21所示,任務(wù)卸載核心的是任務(wù)卸載硬件部分實(shí)現(xiàn)的特定算法加速器,外圍的軟件、硬件接口在保證交互性能(不成為瓶頸)的情況下,加速性能則完全依賴(lài)算法加速模塊本身。 因此,在系統(tǒng)設(shè)計(jì)和算法硬件實(shí)現(xiàn)的時(shí)候,選擇什么樣的算法、算法具有什么樣的參數(shù)特征及I/O規(guī)格定義等,以及算法實(shí)現(xiàn)的微架構(gòu)(如流水線(xiàn)、并行、頻率、吞吐量、延時(shí)等),會(huì)變得非常關(guān)鍵。并且,定制的算法加速器也需要具備一定的配置能力。例如,AES算法加速器的加密和解密是共享處理引擎的,只是通過(guò)設(shè)置不同的處理模式(加密或解密模式)來(lái)進(jìn)行加密或解密處理的。 2.算法加速的設(shè)計(jì)權(quán)衡 通用CPU加入了各種復(fù)雜的向量處理及AES等擴(kuò)展指令,同時(shí)具有非常豐富和靈活的軟件生態(tài);GPU提供數(shù)以千計(jì)的線(xiàn)程并行,同時(shí)在框架及庫(kù)方面對(duì)很多場(chǎng)景進(jìn)行了優(yōu)化,整個(gè)GPU生態(tài)相當(dāng)成熟。這些CPU、GPU平臺(tái)上的優(yōu)勢(shì)都不同程度地對(duì)定制算法加速(包括FPGA實(shí)現(xiàn)和ASIC實(shí)現(xiàn))的應(yīng)用范圍形成了擠壓。 算法加速還需要考慮數(shù)據(jù)交互的開(kāi)銷(xiāo)。算法加速與其他軟件或硬件的I/O數(shù)據(jù)交互需要一定的代價(jià)(如數(shù)據(jù)傳輸延遲),這部分代價(jià)會(huì)降低算法加速的整體性能。算法加速要考慮到算法加速器的I/O總線(xiàn)帶寬和加速引擎處理帶寬的平衡:在總線(xiàn)帶寬足夠的時(shí)候,通過(guò)增加并行的加速處理引擎數(shù)量來(lái)提升處理帶寬;在總線(xiàn)帶寬可能成為瓶頸的時(shí)候,要考慮增加總線(xiàn)帶寬使之不成為性能瓶頸,或者通過(guò)優(yōu)化數(shù)據(jù)交互來(lái)提升總線(xiàn)利用率等。 面向特定場(chǎng)景性能優(yōu)化、定制的硬件算法加速器的靈活性遠(yuǎn)小于軟件,并且算法加速整體開(kāi)發(fā)的工作量很大,系統(tǒng)的復(fù)雜度提升。因此,算法加速需要面向大規(guī)模計(jì)算和數(shù)據(jù)處理的場(chǎng)景,并且具有足夠大的規(guī);瘧(yīng)用,這樣才能真正通過(guò)算法加速來(lái)提升性能和降低整體成本。 3.適合加速的程序 通常我們會(huì)有一個(gè)基本的認(rèn)識(shí):如果一個(gè)程序消耗CPU資源較多,其性能、延遲等指標(biāo)較難滿(mǎn)足系統(tǒng)要求,那么會(huì)考慮通過(guò)算法加速的方式來(lái)優(yōu)化性能、成本等各項(xiàng)指標(biāo)。我們以運(yùn)行于CPU的工作任務(wù)程序(指令)流為樣本,深入分析程序流的規(guī)律,看哪些指令序列適合硬件加速。 我們分析不同類(lèi)型的CPU指令加速特征,具體如表5.5所示。 總結(jié)而言,一個(gè)適合硬件加速的程序一般具有如下基本特征。 l 大批量的數(shù)據(jù)處理。 l 計(jì)算密集型。 l 具有很多次的循環(huán)處理。 l CPU計(jì)算資源占用很大,計(jì)算成本高。 l 處理吞吐量、延遲等性能不滿(mǎn)足系統(tǒng)要求。 l 業(yè)務(wù)規(guī)模足夠大。 5.4.2 任務(wù)卸載是多系統(tǒng)協(xié)作 我們通過(guò)如下三個(gè)方面來(lái)理解任務(wù)卸載的多系統(tǒng)協(xié)作。 l 軟硬件協(xié)作,既包括控制面和數(shù)據(jù)面的協(xié)作,也包括不同任務(wù)或子任務(wù)間的協(xié)作。 l 既可能是任務(wù)全部卸載,也可能是任務(wù)部分卸載。 l 任務(wù)卸載需要有一套通用的快速開(kāi)發(fā)軟硬件框架。 1.任務(wù)卸載的軟硬件協(xié)作 我們?cè)?.3.1節(jié)介紹了任務(wù)卸載模型,在這里,以卸載任務(wù)的硬件處理部分為研究對(duì)象,分析整個(gè)任務(wù)硬件處理模塊的各種交互。 如圖5.31所示,假設(shè)任務(wù)由硬件處理的子任務(wù)A和軟件處理的子任務(wù)B組成,則任務(wù)的硬件部分(子任務(wù)A)通常需要如下四個(gè)方面的交互協(xié)作。 l 任務(wù)硬件部分的驅(qū)動(dòng)程序:控制任務(wù)硬件處理部分的初始化和運(yùn)行。 l 任務(wù)的軟件部分(子任務(wù)B):和任務(wù)硬件部分協(xié)作,完成整個(gè)任務(wù),兩者之間需要數(shù)據(jù)交互。 l 任務(wù)的硬件部分跟其他硬件處理模塊的接口:用于跟其他硬件處理模塊的數(shù)據(jù)交互。 l 任務(wù)的軟件接口:用于跟其他運(yùn)行于軟件的任務(wù)進(jìn)行數(shù)據(jù)交互。

軟硬件融合(超大規(guī)模云計(jì)算架構(gòu)創(chuàng)新之路) 作者簡(jiǎn)介

黃朝波 芯片及互聯(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從事自主多線(xiàn)程處理器及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è)于國(guó)防科技大學(xué),在國(guó)防科技大學(xué)學(xué)習(xí)期間有幸參與“飛騰”處理器項(xiàng)目研發(fā)。

暫無(wú)評(píng)論……
書(shū)友推薦
本類(lèi)暢銷(xiāo)
編輯推薦
返回頂部
中圖網(wǎng)
在線(xiàn)客服