-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

深入淺出DPDK

( 簡體 字)
作者:朱河清 梁存銘 胡雪焜 曹水 等編著類別:1. -> 程式設計 -> 綜合
譯者:
出版社:機械工業出版社深入淺出DPDK 3dWoo書號: 44086
詢問書籍請說出此書號!

缺書
NT售價: 345

出版日:5/1/2016
頁數:266
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111537830
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

近年來,隨著半導體和多核計算機體系結構技術的不斷創新和市場的發展,越來越多的網絡設備基礎架構開始向基于通用處理器平臺的架構方向融合,期望用更低的成本和更短的產品開發周期來提供多樣的網絡單元和豐富的功能,如應用處理、控制處理、包處理、信號處理等。為了適應這一新的產業趨勢,英特爾公司十年磨一劍,聯合第三方軟件開發公司及時推出了基于Intel? x86的架構DPDK(Data Plane Development Kit,數據平面開發套件),實現了高效靈活的包處理解決方案。經過近3年的開源與飛速發展,DPDK已經發展成業界公認的高性能網卡和多通用處理器平臺的開源軟件工具包,并已成為通用處理器平臺上影響力最大的數據平面解決方案。主流的Linux發行版都已經將DPDK納入,DPDK引發了基于Linux的高速網絡技術的創新熱潮,除了在傳統的通信網絡、安全設施領域應用之外,還被廣泛應用于云計算、虛擬交換、存儲網絡甚至數據庫、金融交易系統。

本書匯聚了最資深的DPDK技術專家的精辟見解和實戰體驗,詳細介紹了DPDK技術的發展趨勢、數據包處理、硬件加速技術、虛擬化以及DPDK技術在SDN、NFV、網絡存儲等領域的實際應用。書中還使用大量的篇幅講解各種核心軟件算法、數據優化思想,并包括大量詳盡的實戰心得和使用指南。

作為國內第一本全面闡述網絡數據面的核心技術的書籍,本書主要面向IT、網絡通信行業的從業人員,以及大專院校的師生,用通俗易懂的文字打開了一扇通向新一代網絡處理架構的大門。DPDK完全依賴軟件,對Linux的報文處理能力做了重大革新,它的發展歷程是一個不可多得的理論聯系實際的教科書般的實例。
目錄:

序  言

引  言

作者介紹

第一部分 DPDK基礎篇

第1章 認識DPDK 3

1.1 主流包處理硬件平臺 3

1.1.1 硬件加速器 4

1.1.2 網絡處理器 4

1.1.3 多核處理器 5

1.2 初識DPDK 7

1.2.1 IA不適合進行數據包處理嗎 7

1.2.2 DPDK最佳實踐 9

1.2.3 DPDK框架簡介 10

1.2.4 尋找性能優化的天花板 11

1.3 解讀數據包處理能力 12

1.4 探索IA處理器上最艱巨的任務 13

1.5 軟件包處理的潛力——再識DPDK 14

1.5.1 DPDK加速網絡節點 14

1.5.2 DPDK加速計算節點 15

1.5.3 DPDK加速存儲節點 15

1.5.4 DPDK的方法論 16

1.6 從融合的角度看DPDK 16

1.7 實例 17

1.7.1 HelloWorld 17

1.7.2 Skeleton 19

1.7.3 L3fwd 22

1.8 小結 25

第2章 Cache和內存 26

2.1 存儲系統簡介 26

2.1.1 系統架構的演進 26

2.1.2 內存子系統 28

2.2 Cache系統簡介 29

2.2.1 Cache的種類 29

2.2.2 TLB Cache 30

2.3 Cache地址映射和變換 31

2.3.1 全關聯型Cache 32

2.3.2 直接關聯型Cache 32

2.3.3 組關聯型Cache 33

2.4 Cache的寫策略 34

2.5 Cache預取 35

2.5.1 Cache的預取原理 35

2.5.2 NetBurst架構處理器上的預取 36

2.5.3 兩個執行效率迥異的程序 37

2.5.4 軟件預取 38

2.6 Cache一致性 41

2.6.1 Cache Line對齊 41

2.6.2 Cache一致性問題的由來 42

2.6.3 一致性協議 43

2.6.4 MESI協議 44

2.6.5 DPDK如何保證Cache一致性 45

2.7 TLB和大頁 47

2.7.1 邏輯地址到物理地址的轉換 47

2.7.2 TLB 48

2.7.3 使用大頁 49

2.7.4 如何激活大頁 49

2.8 DDIO 50

2.8.1 時代背景 50

2.8.2 網卡的讀數據操作 51

2.8.3 網卡的寫數據操作 53

2.9 NUMA系統 54

第3章 并行計算 57

3.1 多核性能和可擴展性 57

3.1.1 追求性能水平擴展 57

3.1.2 多核處理器 58

3.1.3 親和性 61

3.1.4 DPDK的多線程 63

3.2 指令并發與數據并行 66

3.2.1 指令并發 67

3.2.2 單指令多數據 68

3.3 小結 70

第4章 同步互斥機制 71

4.1 原子操作 71

4.1.1 處理器上的原子操作 71

4.1.2 Linux內核原子操作 72

4.1.3 DPDK原子操作實現和應用 74

4.2 讀寫鎖 76

4.2.1 Linux讀寫鎖主要API 77

4.2.2 DPDK讀寫鎖實現和應用 78

4.3 自旋鎖 79

4.3.1 自旋鎖的缺點 79

4.3.2 Linux自旋鎖API 79

4.3.3 DPDK自旋鎖實現和應用 80

4.4 無鎖機制 81

4.4.1 Linux內核無鎖環形緩沖 81

4.4.2 DPDK無鎖環形緩沖 82

4.5 小結 89

第5章 報文轉發 90

5.1 網絡處理模塊劃分 90

5.2 轉發框架介紹 91

5.2.1 DPDK run to completion模型 94

5.2.2 DPDK pipeline模型 95

5.3 轉發算法 97

5.3.1 精確匹配算法 97

5.3.2 最長前綴匹配算法 100

5.3.3 ACL算法 102

5.3.4 報文分發 103

5.4 小結 104

第6章 PCIe與包處理I/O 105

6.1 從PCIe事務的角度看包處理 105

6.1.1 PCIe概覽 105

6.1.2 PCIe事務傳輸 105

6.1.3 PCIe帶寬 107

6.2 PCIe上的數據傳輸能力 108

6.3 網卡DMA描述符環形隊列 109

6.4 數據包收發——CPU和I/O的協奏 111

6.4.1 全景分析 111

6.4.2 優化的考慮 113

6.5 PCIe的凈荷轉發帶寬 113

6.6 Mbuf與Mempool 114

6.6.1 Mbuf 114

6.6.2 Mempool 117

6.7 小結 117

第7章 網卡性能優化 118

7.1 DPDK的輪詢模式 118

7.1.1 異步中斷模式 118

7.1.2 輪詢模式 119

7.1.3 混和中斷輪詢模式 120

7.2 網卡I/O性能優化 121

7.2.1 Burst收發包的優點 121

7.2.2 批處理和時延隱藏 124

7.2.3 利用Intel SIMD指令進一步并行化包收發 127

7.3 平臺優化及其配置調優 128

7.3.1 硬件平臺對包處理性能的影響 129

7.3.2 軟件平臺對包處理性能的影響 133

7.4 隊列長度及各種閾值的設置 136

7.4.1 收包隊列長度 136

7.4.2 發包隊列長度 137

7.4.3 收包隊列可釋放描述符數量閾值(rx_free_thresh) 137

7.4.4 發包隊列發送結果報告閾值(tx_rs_thresh) 137

7.4.5 發包描述符釋放閾值(tx_free_thresh) 138

7.5 小結 138

第8章 流分類與多隊列 139

8.1 多隊列 139

8.1.1 網卡多隊列的由來 139

8.1.2 Linux內核對多隊列的支持 140

8.1.3 DPDK與多隊列 142

8.1.4 隊列分配 144

8.2 流分類 144

8.2.1 包的類型 144

8.2.2 RSS 145

8.2.3 Flow Director 146

8.2.4 服務質量 148

8.2.5 虛擬化流分類方式 150

8.2.6 流過濾 150

8.3 流分類技術的使用 151

8.3.1 DPDK結合網卡Flow Director功能 152

8.3.2 DPDK結合網卡虛擬化及Cloud Filter功能 155

8.4 可重構匹配表 156

8.5 小結 157

第9章 硬件加速與功能卸載 158

9.1 硬件卸載簡介 158

9.2 網卡硬件卸載功能 159

9.3 DPDK軟件接口 160

9.4 硬件與軟件功能實現 161

9.5 計算及更新功能卸載 162

9.5.1 VLAN硬件卸載 162

9.5.2 IEEE1588硬件卸載功能 165

9.5.3 IP TCP/UDP/SCTP checksum硬件卸載功能 167

9.5.4 Tunnel硬件卸載功能 168

9.6 分片功能卸載 169

9.7 組包功能卸載 170

9.8 小結 172

第二部分 DPDK虛擬化技術篇

第10章 X86平臺上的I/O虛擬化 175

10.1 X86平臺虛擬化概述 176

10.1.1 CPU虛擬化 176

10.1.2 內存虛擬化 177

10.1.3 I/O虛擬化 178

10.2 I/O透傳虛擬化 180

10.2.1 Intel? VT-d簡介 180

10.2.2 PCIe SR-IOV概述 181

10.3 PCIe網卡透傳下的收發包流程 183

10.4 I/O透傳虛擬化配置的常見問題 184

10.5 小結 184

第11章 半虛擬化Virtio 185

11.1 Virtio使用場景 185

11.2 Virtio規范和原理 186

11.2.1 設備的配置 187

11.2.2 虛擬隊列的配置 190

11.2.3 設備的使用 192

11.3 Virtio網絡設備驅動設計 193

11.3.1 Virtio網絡設備Linux內核驅動設計 193

11.3.2 基于DPDK用戶空間的Virtio網絡設備驅動設計以及性能優化 196

11.4 小結 198

第12章 加速包處理的vhost優化方案 199

12.1 vhost的演進和原理 199

12.1.1 Qemu與virtio-net 199

12.1.2 Linux內核態vhost-net 200

12.1.3 用戶態vhost 201

12.2 基于DPDK的用戶態vhost設計 201

12.2.1 消息機制 202

12.2.2 地址轉換和映射虛擬機內存 203

12.2.3 vhost特性協商 204

12.2.4 virtio-net設備管理 205

12.2.5 vhost中的Checksum和TSO功能卸載 205

12.3 DPDK vhost編程實例 206

12.3.1 報文收發接口介紹 206

12.3.2 使用DPDK vhost lib進行編程 207

12.3.3 使用DPDK vhost PMD進行編程 209

12.4 小結 210

第三部分 DPDK應用篇

第13章 DPDK與網絡功能虛擬化 213

13.1 網絡功能虛擬化 213

13.1.1 起源 213

13.1.2 發展 215

13.2 OPNFV與DPDK 217

13.3 NFV的部署 219

13.4 VNF部署的形態 221

13.5 VNF自身特性的評估 222

13.5.1 性能分析方法論 223

13.5.2 性能優化思路 224

13.6 VNF的設計 225

13.6.1 VNF虛擬網絡接口的選擇 225

13.6.2 IVSHMEM共享內存的PCI設備 226

13.6.3 網卡輪詢和混合中斷輪詢模式的選擇 228

13.6.4 硬件加速功能的考慮 228

13.6.5 服務質量的保證 229

13.7 實例解析和商業案例 231

13.7.1 Virtual BRAS 231

13.7.2 Brocade vRouter 5600 235

13.8 小結 235

第14章 Open vSwitch(OVS)中的DPDK性能加速 236

14.1 虛擬交換機簡介 236

14.2 OVS簡介 237

14.3 DPDK加速的OVS 239

14.3.1 OVS的數據通路 239

14.3.2 DPDK加速的數據通路 240

14.3.3 DPDK加速的OVS性能比較 242

14.4 小結 244

第15章 基于DPDK的存儲軟件優化 245

15.1 基于以太網的存儲系統 246

15.2 以太網存儲系統的優化 247

15.3 SPDK介紹 249

15.3.1 基于DPDK的用戶態TCP/IP棧 249

15.3.2 用戶態存儲驅動 254

15.3.3 SPDK中iSCSI target實現與性能 257

15.4 小結 261

附錄A 縮略詞 262

附錄B 推薦閱讀 265
序: