深入理解DPDK架构|经典PDF分享
Intel DPDK全稱Intel Data Plane Development Kit,是intel提供的數(shù)據(jù)平面開發(fā)工具集,為Intel architecture(IA)處理器架構(gòu)下用戶空間高效的數(shù)據(jù)包處理提供庫函數(shù)和驅(qū)動的支持,它不同于Linux系統(tǒng)以通用性設(shè)計(jì)為目的,而是專注于網(wǎng)絡(luò)應(yīng)用中數(shù)據(jù)包的高性能處理。DPDK應(yīng)用程序是運(yùn)行在用戶空間上利用自身提供的數(shù)據(jù)平面庫來收發(fā)數(shù)據(jù)包,繞過了Linux內(nèi)核協(xié)議棧對數(shù)據(jù)包處理過程。Linux內(nèi)核將DPDK應(yīng)用程序看作是一個(gè)普通的用戶態(tài)進(jìn)程,包括它的編譯、連接和加載方式和普通程序沒有什么兩樣。DPDK程序啟動后只能有一個(gè)主線程,然后創(chuàng)建一些子線程并綁定到指定CPU核心上運(yùn)行。
背景
傳統(tǒng)Linux網(wǎng)絡(luò)驅(qū)動的問題
對比
DPDK 有三大法寶
ByPass Kernel , UIO/VFIO
微架構(gòu)優(yōu)化. Cache/DDIO/SIMD
內(nèi)存管理. HugePage/mbuf/mempoo
左邊是傳統(tǒng)內(nèi)核數(shù)據(jù)通路:數(shù)據(jù)從 網(wǎng)卡 -> 驅(qū)動 -> 協(xié)議棧 -> Socket接口 -> 業(yè)務(wù)
右邊是DPDK的方式,基于UIO(Userspace I/O)旁路數(shù)據(jù):數(shù)據(jù)從網(wǎng)卡 -> DPDK輪詢模式-> DPDK基礎(chǔ)庫 -> 業(yè)務(wù)
詳細(xì)參考:
深入理解DPDK程序設(shè)計(jì)|Linux網(wǎng)絡(luò)2.0
設(shè)計(jì)原理(文末有高清PDF獲取方式)
DPDK組成
詳細(xì)內(nèi)容
DPDK報(bào)文轉(zhuǎn)發(fā)
內(nèi)存管理
網(wǎng)卡性能優(yōu)化
網(wǎng)卡多隊(duì)列
硬件加速與功能卸載
DPDK內(nèi)核驅(qū)動
網(wǎng)絡(luò)虛擬化
OVS DPDK
網(wǎng)絡(luò)存儲優(yōu)化SPDK
編程指南
高清完整版PDF,請?jiān)诠娞柪锩婊貜?fù)"dpdk" 獲取
《DPDK架構(gòu)高清版.pdf》
《DPDK編程指南.pdf》
- END -
看完一鍵三連在看,轉(zhuǎn)發(fā),點(diǎn)贊
是對文章最大的贊賞,極客重生感謝你
推薦閱讀
Linux Kernel TCP/IP Stack|Linux網(wǎng)絡(luò)硬核系列
深入理解DPDK程序設(shè)計(jì)|Linux網(wǎng)絡(luò)2.0
TCP/IP協(xié)議棧到底是內(nèi)核態(tài)好還是用戶態(tài)好?
總結(jié)
以上是生活随笔為你收集整理的深入理解DPDK架构|经典PDF分享的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 后台开发核心突破
- 下一篇: 豆瓣9.8分,周志明的《凤凰架构》,高屋