国产精品一久久香蕉产线看/亚洲图区欧美/亚洲国产精品电影人久久网站/欧美日韩在线视频一区

歡迎光臨中圖網(wǎng) 請 | 注冊
> >>
Linux高性能網(wǎng)絡(luò)詳解:從DPDK、RDMA到XDP

包郵 Linux高性能網(wǎng)絡(luò)詳解:從DPDK、RDMA到XDP

作者:劉偉著
出版社:人民郵電出版社出版時間:2023-04-01
開本: 26cm 頁數(shù): 342頁
中 圖 價:¥83.2(7.0折) 定價  ¥118.8 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

Linux高性能網(wǎng)絡(luò)詳解:從DPDK、RDMA到XDP 版權(quán)信息

Linux高性能網(wǎng)絡(luò)詳解:從DPDK、RDMA到XDP 本書特色

源自作者十多年高性能網(wǎng)絡(luò)設(shè)備領(lǐng)域的開發(fā)經(jīng)驗總結(jié)

細(xì)致剖析Linux高性能網(wǎng)絡(luò)主流解決方案以及開發(fā)細(xì)節(jié)

涵蓋DPDK和RDMA等當(dāng)下熱點技術(shù),同時涉及前沿的XDP技術(shù)

源碼級教學(xué),圖示軟硬件交互流程,實現(xiàn)方法翔實齊全,可直接用于業(yè)務(wù)實踐,提升高性能網(wǎng)絡(luò)開發(fā)能力



本書主要內(nèi)容:

第1部分,背景知識

介紹網(wǎng)絡(luò)基本概念、計算機(jī)硬件構(gòu)成、Linux操作系統(tǒng)、軟硬件之間的信息傳遞方式、內(nèi)核協(xié)議棧方案及其存在的問題,并詳細(xì)講解了開源網(wǎng)卡解決方案Corundum的實現(xiàn)機(jī)制。

第2部分,DPDK

介紹DPDK技術(shù),具體內(nèi)容包括DPDK簡介、內(nèi)存管理、UIO機(jī)制、基本使用方法等,并測試和分析DPDK的性能,以及為Corundum編寫DPDK驅(qū)動程序。源自作者十多年高性能網(wǎng)絡(luò)設(shè)備領(lǐng)域的開發(fā)經(jīng)驗總結(jié)

細(xì)致剖析Linux高性能網(wǎng)絡(luò)主流解決方案以及開發(fā)細(xì)節(jié)

涵蓋DPDK和RDMA等當(dāng)下熱點技術(shù),同時涉及前沿的XDP技術(shù)

源碼級教學(xué),圖示軟硬件交互流程,實現(xiàn)方法翔實齊全,可直接用于業(yè)務(wù)實踐,提升高性能網(wǎng)絡(luò)開發(fā)能力



本書主要內(nèi)容:

第1部分,背景知識

介紹網(wǎng)絡(luò)基本概念、計算機(jī)硬件構(gòu)成、Linux操作系統(tǒng)、軟硬件之間的信息傳遞方式、內(nèi)核協(xié)議棧方案及其存在的問題,并詳細(xì)講解了開源網(wǎng)卡解決方案Corundum的實現(xiàn)機(jī)制。

第2部分,DPDK

介紹DPDK技術(shù),具體內(nèi)容包括DPDK簡介、內(nèi)存管理、UIO機(jī)制、基本使用方法等,并測試和分析DPDK的性能,以及為Corundum編寫DPDK驅(qū)動程序。

第3部分,RDMA

介紹RDMA技術(shù),內(nèi)容包括其軟件架構(gòu)、基本元素、基本操作類型及其配套機(jī)制、傳輸服務(wù)、RDMA主要元素的實現(xiàn)等。

第4部分,XDP

介紹XDP的基本概念、實現(xiàn)機(jī)制、使用方法,以及如何在Linux設(shè)備驅(qū)動中支持XDP功能。



Linux高性能網(wǎng)絡(luò)詳解:從DPDK、RDMA到XDP 內(nèi)容簡介

本書從軟件和硬件層面詳細(xì)介紹了DPDK、RDMA和XDP這3種高性能網(wǎng)絡(luò)技術(shù)的實現(xiàn)方案和交互流程,以幫助解決企業(yè)Linux原生網(wǎng)絡(luò)方案中的業(yè)務(wù)實際需求。本書分為四大部分。**部分講解計算機(jī)網(wǎng)絡(luò)、硬件和Linux操作系統(tǒng)的基礎(chǔ)知識,第二部分詳細(xì)介紹DPDK技術(shù)的基礎(chǔ)知識以及為Corundum編寫DPDK驅(qū)動程序的實現(xiàn)機(jī)制和源代碼。第三部分詳細(xì)介紹RDMA技術(shù)的基礎(chǔ)知識,以及一個簡單的RDMA應(yīng)用程序和RDMA的性能測試工具——perftest的安裝和測試流程。第四部分介紹XDP技術(shù)的基本概念、測試XDP性能的方法,以及如何讓Linux網(wǎng)絡(luò)設(shè)備驅(qū)動支持XDP功能。

Linux高性能網(wǎng)絡(luò)詳解:從DPDK、RDMA到XDP 目錄

第 1部分 背景知識

第 1章 計算機(jī)網(wǎng)絡(luò)概述 3

1.1 計算機(jī)網(wǎng)絡(luò)的定義和構(gòu)成 3

1.2 計算機(jī)網(wǎng)絡(luò)的體系結(jié)構(gòu) 4

1.3 常見術(shù)語 6

第 2章 計算機(jī)硬件 10

2.1 中央處理器 10

2.1.1 處理器體系結(jié)構(gòu) 11

2.1.2 Cache 12

2.1.3 NUMA 17

2.2 存儲器 19

2.3 總線 19

2.4 網(wǎng)卡 22

第3章 Linux操作系統(tǒng) 25

3.1 Linux操作系統(tǒng)的誕生和發(fā)展 25

3.2 用戶態(tài)和內(nèi)核態(tài) 27

3.3 虛擬地址、物理地址和頁表 28

3.4 用戶空間和內(nèi)核空間 30

3.5 Linux內(nèi)核的組成 31

3.5.1 Linux內(nèi)核源代碼的目錄結(jié)構(gòu) 31

3.5.2 Linux內(nèi)核的主要組成部分 32

3.6 Linux設(shè)備驅(qū)動程序 35

第4章 軟件和硬件之間傳遞信息的方式 37

4.1 寄存器 37

4.2 數(shù)據(jù)緩存 38

4.3 隊列和描述符 39

4.4 中斷 43

4.5 DMA 46

第5章 內(nèi)核協(xié)議棧方案及其存在的問題 47

5.1 內(nèi)核協(xié)議棧方案的工作過程 47

5.2 內(nèi)核協(xié)議棧方案的數(shù)據(jù)流 49

5.3 內(nèi)核協(xié)議棧方案的缺點 50

第6章 Corundum——一個開源的基于FPGA的100G網(wǎng)卡方案 51

6.1 Corundum方案簡介 51

6.2 Corundum的隊列 54

6.3 Corundum的Linux網(wǎng)絡(luò)設(shè)備驅(qū)動程序解析 56

6.3.1 驅(qū)動程序源碼概覽 57

6.3.2 驅(qū)動程序的編譯和使用 57

6.3.3 驅(qū)動程序的加載和注冊 58

6.3.4 驅(qū)動程序和設(shè)備的匹配 59

6.3.5 初始化階段 60

6.3.6 打開網(wǎng)絡(luò)接口 72

6.3.7 數(shù)據(jù)發(fā)送 75

6.3.8 中斷處理 81

6.3.9 發(fā)送完成處理 85

6.3.10 數(shù)據(jù)接收 89

第 2部分 DPDK

第7章 認(rèn)識DPDK 97

7.1 為什么需要DPDK 97

7.2 DPDK體系結(jié)構(gòu) 98

7.2.1 核心組件 98

7.2.2 輪詢模式驅(qū)動 100

7.3 一個典型的DPDK應(yīng)用程序 102

第8章 DPDK的內(nèi)存管理 104

8.1 影響數(shù)據(jù)包處理速度的內(nèi)存問題 104

8.2 大頁 105

8.2.1 在Linux系統(tǒng)中預(yù)留和配置大頁 105

8.2.2 DPDK的大頁管理 106

8.3 mempool 111

8.4 通道和rank 113

8.5 DPDK使用的內(nèi)存管理技巧總結(jié) 114

第9章 UIO——DPDK的基石 115

9.1 UIO驅(qū)動程序的構(gòu)成 115

9.2 應(yīng)用程序和UIO的交互方式 118

9.3 UIO驅(qū)動程序的API 119

9.4 DPDK如何使用UIO 120

第 10章 DPDK的基本使用方法 123

10.1 編譯DPDK 123

10.2 使用dpdk-testpmd進(jìn)行數(shù)據(jù)包轉(zhuǎn)發(fā)測試 123

10.2.1 運行環(huán)境和連接方式 124

10.2.2 使用Linux以太網(wǎng)驅(qū)動程序運行dpdk-testpmd 125

10.2.3 使用輪詢模式驅(qū)動程序運行dpdk-testpmd 129

10.3 使用pktgen測試Mellanox ConnectX-4 LX 10G網(wǎng)卡 132

10.3.1 硬件環(huán)境 132

10.3.2 軟件版本 132

10.3.3 安裝Mellanox網(wǎng)卡驅(qū)動程序 132

10.3.4 編譯和安裝DPDK 133

10.3.5 “回環(huán) 轉(zhuǎn)發(fā)”測試 133

10.3.6 編譯pktgen 138

10.3.7 “外部發(fā)包 本地轉(zhuǎn)發(fā)”測試 138

10.3.8 測試過程中可能遇到的問題及解決方法 141

第 11章 測試和分析高性能網(wǎng)卡 142

11.1 關(guān)于DDR訪問速率的思考和測試 142

11.1.1 硬件配置和軟件版本 143

11.1.2 DDR理論速率 144

11.1.3 內(nèi)存性能測試工具mbw 145

11.1.4 單核測試 146

11.1.5 多核測試 148

11.2 基于100G網(wǎng)卡的單核和多核測試 150

11.2.1 硬件配置 150

11.2.2 軟件版本和配置 150

11.2.3 單核測試 150

11.2.4 雙核測試 152

11.2.5 測試結(jié)果總結(jié) 153

11.3 使用Intel VTune Profiler定量分析DPDK 154

11.3.1 硬件環(huán)境和軟件版本 154

11.3.2 Intel VTune Profiler的下載和安裝 155

11.3.3 測試模型 155

11.3.4 重新編譯安裝DPDK 155

11.3.5 使用Intel VTune Profiler啟動和監(jiān)控dpdk-testpmd 156

11.3.6 開始產(chǎn)生和發(fā)送數(shù)據(jù)包 159

11.3.7 統(tǒng)計和分析 159

第12章 為Corundum編寫DPDK驅(qū)動程序 163

12.1 Corundum DPDK驅(qū)動程序的組成 164

12.2 注冊和打開調(diào)試日志 164

12.2.1 DPDK的日志級別 164

12.2.2 Corundum DPDK驅(qū)動程序的日志 165

12.3 Corundum DPDK驅(qū)動程序的注冊 167

12.4 Corundum DPDK驅(qū)動程序的初始化 168

12.5 啟動隊列 173

12.6 數(shù)據(jù)發(fā)送 176

12.7 編寫驅(qū)動程序時的注意事項 179

第3部分 RDMA

第 13章 RDMA技術(shù)簡介 185

13.1 RDMA的控制通路和數(shù)據(jù)通路 185

13.2 RDMA的優(yōu)勢 188

13.3 RDMA協(xié)議 189

13.3.1 InfiniBand 190

13.3.2 RoCE 190

13.3.3 iWARP 192

13.4 RDMA網(wǎng)絡(luò)構(gòu)成 192

13.5 LID和GID 194

13.5.1 LID 194

13.5.2 GID 195

第 14章 RDMA軟件架構(gòu) 198

14.1 rdma-core 198

14.2 內(nèi)核RDMA子系統(tǒng) 199

14.3 RDMA軟件架構(gòu)總覽 201

第 15章 RDMA基本元素 202

15.1 WQ和WQE 202

15.2 QP和QPN 203

15.3 CQ和CQN 205

15.4 WR和WC 206

15.5 RDMA基本元素總結(jié) 207

第 16章 RDMA基本操作類型及其配套機(jī)制 208

16.1 Send和Receive 208

16.2 RDMA Write 209

16.3 RDMA Read 210

16.4 其他RDMA操作類型 212

16.5 RDMA操作類型總結(jié) 213

16.6 Memory Region 214

16.6.1 MR的基本概念 215

16.6.2 MR的作用之一 215

16.6.3 MR的作用之二 216

16.6.4 MR的作用之三 217

16.7 PD 218

16.8 Doorbell機(jī)制 219

16.9 RDMA各種元素的實體形式 220

第 17章 RDMA傳輸服務(wù) 222

17.1 傳輸服務(wù)維度一——可靠/不可靠 222

17.2 傳輸服務(wù)維度二——連接/數(shù)據(jù)報 223

17.3 傳輸服務(wù)類型 225

第 18章 一個簡單的RDMA應(yīng)用程序 229

18.1 程序的執(zhí)行和輸出 229

18.2 代碼執(zhí)行流程 230

第 19章 RDMA主要元素的實現(xiàn) 234

19.1 分配PD 234

19.2 注冊MR 240

19.2.1 代碼執(zhí)行流程分析 240

19.2.2 注冊MR的具體工作 242

19.2.3 硬件查表獲取MR物理地址的過程 246

19.2.4 MR相關(guān)的軟硬件行為匯總 248

19.3 創(chuàng)建CQ 249

19.3.1 代碼執(zhí)行流程分析 249

19.3.2 CQ buffer的組織形式 253

19.3.3 CQ Context的組織形式 255

19.3.4 硬件獲取CQE地址的過程 257

19.3.5 CQ相關(guān)的軟硬件行為匯總 258

19.4 創(chuàng)建QP 258

19.4.1 代碼執(zhí)行流程分析 258

19.4.2 QP buffer的組織形式 263

19.4.3 QP Context的組織形式 264

19.5 修改QP 265

19.5.1 應(yīng)用程序修改QP 265

19.5.2 代碼執(zhí)行流程分析 267

19.5.3 硬件獲取WQE地址的過程 270

第 20章 進(jìn)行一次數(shù)據(jù)傳輸 272

20.1 發(fā)起數(shù)據(jù)傳輸——RDMA Write 272

20.1.1 應(yīng)用程序發(fā)起數(shù)據(jù)傳輸 272

20.1.2 代碼執(zhí)行流程分析 273

20.2 確認(rèn)數(shù)據(jù)傳輸完畢——輪詢CQ 276

20.3 軟件和硬件行為匯總 277

第 21章 RoCEv2網(wǎng)卡的MAC、IP和GID 279

21.1 RoCEv2網(wǎng)卡的GID 279

21.2 向RoCEv2網(wǎng)卡配置自己的MAC、IP和GID 281

21.2.1 獲取RoCEv2網(wǎng)卡自己的MAC 281

21.2.2 獲取RoCEv2網(wǎng)卡自己的IP地址 281

21.2.3 配置RoCEv2網(wǎng)卡自己的0號GID 281

21.2.4 配置RoCEv2網(wǎng)卡自己的非0號GID 282

21.3 向RoCEv2網(wǎng)卡配置對端設(shè)備的MAC、IP和GID 282

21.3.1 應(yīng)用程序獲取本地和對端設(shè)備的0號GID 283

21.3.2 應(yīng)用程序獲取對端設(shè)備的非0號(3號)GID 284

21.3.3 向RoCEv2網(wǎng)卡配置對端設(shè)備的MAC地址 284

21.3.4 向RoCEv2網(wǎng)卡配置對端設(shè)備的IP地址 285

第 22章 RDMA性能測試工具—perftest 286

22.1 源碼獲取和安裝 286

22.2 測試方法和注意事項 286

22.3 測試選項 287

22.4 簡單的測試過程和結(jié)果呈現(xiàn) 289

第4部分 XDP

第 23章 XDP簡介 293

23.1 什么是BPF和eBPF 293

23.2 XDP系統(tǒng)架構(gòu) 294

23.2.1 XDP程序的執(zhí)行流程 295

23.2.2 BPF map 297

第 24章 XDP教程代碼分析 298

24.1 xdp-tutorial代碼獲取和編譯 298

24.2 基礎(chǔ)課程 299

24.2.1 XDP程序的加載和卸載 299

24.2.2 按名稱加載SEC 301

24.2.3 使用BPF map 302

24.2.4 多程序交流和共享 304

24.3 數(shù)據(jù)包處理課程 308

24.3.1 解析數(shù)據(jù)包 308

24.3.2 改寫數(shù)據(jù)包 311

24.3.3 重定向 313

第 25章 簡單的XDP性能測試 319

25.1 測試方法 319

25.2 測試流程和命令 320

25.3 測試結(jié)果 321

25.4 測試結(jié)果分析 321

第 26章 讓網(wǎng)卡驅(qū)動程序支持XDP功能 322

26.1 XDP代碼在網(wǎng)卡驅(qū)動中的位置 322

26.2 數(shù)據(jù)包的準(zhǔn)備 323

26.3 返回值的處理 323

附錄A 在Linux系統(tǒng)中查找各種核的對應(yīng)關(guān)系 325

附錄B 關(guān)于內(nèi)存性能測試工具mbw的問題分析 331

附錄C 簡單分析memcpy的代碼優(yōu)化方法 335

附錄D 用線性回歸方法計算CPU頻率 338
展開全部

Linux高性能網(wǎng)絡(luò)詳解:從DPDK、RDMA到XDP 作者簡介

劉偉,擁有14年網(wǎng)絡(luò)設(shè)備開發(fā)領(lǐng)域的從業(yè)經(jīng)驗,當(dāng)前就職于浪潮電子信息產(chǎn)業(yè)股份有限公司體系結(jié)構(gòu)研究部,負(fù)責(zé)高性能網(wǎng)卡的架構(gòu)設(shè)計和驅(qū)動程序開發(fā)工作。在此之前,曾以驅(qū)動團(tuán)隊和網(wǎng)絡(luò)接入設(shè)備產(chǎn)品開發(fā)負(fù)責(zé)人的身份在上海諾基亞貝爾固網(wǎng)事業(yè)部工作了7年;還曾經(jīng)就職于中興通訊和上海愛吉信息技術(shù)有限公司,負(fù)責(zé)多款通信產(chǎn)品的研發(fā)工作。平時喜歡鉆研技術(shù)和讀書,并經(jīng)常在自己的個人公 眾號“布魯斯的讀書圈”中發(fā)表原創(chuàng)的技術(shù)文章。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
返回頂部
中圖網(wǎng)
在線客服