DPDK:不仅是加速
DPDK是什么
DPDK 是一款在用戶空間中運行的軟件加速器,可繞過 Linux 內核并支持數據分組處理應用訪問 NIC、CPU 和內存。?
? ? ? 做作為一種內核旁路機制,DPDK允許虛擬交換機旁路內核并直接與兼容的網卡通信,使得分組處理方案更加簡潔和高效。作為新一代數據平面解決方案,DPDK經歷了多年的發展,推出多個版本。目前,DPDK開源項目代碼行數達160萬,社區投資約2 560萬美元,能夠支持英特爾Arch/ARM/Power8上的分組I/O加速。借助DPDK,可以將數據分組處理性能最多提高10倍。能夠大幅提升數據面性能,讓x86架構可以進入到更加強調性能和穩定性的傳統網絡市場,使運營商在部署NFV時更加得心應手,順利解決遇到的瓶頸。
? ? ? ?DPDK包含了多項組件,多方位提升了系統性能。
Memory Manager(內存管理器):負責內存對象池的分配。內存管理器使用大頁面內存來創建內存池,同時也提供了數據對齊的支持來保障對內存通道的訪問更加均勻。
Buffer Manager(緩存管理器):通過在內存池中預分配固定長度的緩存,顯著的縮短了操作系統在分配和釋放緩存所花的時間。
Queue Manager(隊列管理器):提供安全的無鎖隊列,從而使得不同的軟件組件在處理數據分組時可以避免一些不必要的等待。
Flow Classification(流分類):提供了高效的基于SSE擴展指令的散列函數,保障數據分組的快速分類處理,從而提高網絡吞吐量。
Poll Mode Drivers(輪詢模式驅動):針對千兆和萬兆網卡的輪詢模式驅動,不同于傳統的異步中斷處理機制,大大提高了數據分組處理性能。
DPDK的影響力
通信行業
通信行業正逐步遷移至虛擬化,以便在其網絡環境中增強彈性、靈活性和標準化,隨著時間的推移,這種趨勢的發展已經變得更加多元化。 SDN、NFV、DPDK、Openflow 和 Open vSwitch 都得以使用。移動網的PGW網元和寬帶網絡的BRAS類轉發設備,對轉發性能有著非常高的要求。如果用x86架構的NFV服務器取代上述設備,由于Linux內核的限制和通用I/O報文讀寫方式,這種基于傳統Linux和虛擬化技術的轉發平面萬兆端口普遍僅有1 Gbit/s以內的轉發能力;而目前的電信級硬件轉發設備可以輕松做到64?byte小報文不分組丟失線速轉發。
下一代防火墻
持續優化網路安全需要不斷改進防火墻的實施,這將受益于DPDK并不斷發展。下一代防火墻也可以是 NFV 解決方案的一部分。用于簡單數據分組過濾的基本防火墻已演進多年,可以執行更加高級的應用,比如入侵檢測與防御 (IPS)、網絡殺毒、IPsec、SSL 和應用控制等。這些功能均位于數據平臺,要求對數據流進行深度數據包檢查、具備加密和壓縮功能,以及執行大量數據分組內容處理。下一代防火墻在設計時運用了采用DPDK的 Wind River 網絡加速平臺以及QuickAssist 。DPDK 提供了相應的機制,支持通過其他高性能方法來替代 Linux 系統調用,從而避免 Linux 內核出現的常見問題。Wind River 網絡加速平臺能夠加速 Apache 服務器 等本機 Linux 應用,并為移植在網絡加速引擎上的安全應用提供更高的加速性能。
大數據分析
關于涉及大數據分析的使用案例,Aspera公司與英特爾公司研究了超高速數據傳輸解決方案,該解決方案能夠在裸機和虛擬化硬件平臺上幫助商用互聯網連接達到可預測的超高 WAN 傳輸速度,包括超過往返時間為數百毫秒的網絡,以及常見遠距離 WAN 幾個百分點的數據分組丟失率。借助DPDK,軟件工程師可減少收發數據分組所需的內存副本數量。Aspera公司因此成功地將測試系統上單個流數據的傳輸速度提高至 37.75 Gbit/s,加上以太網幀和 IP 數據分組標頭,網絡利用率達到了 39 Gbit/s。通過在基于內核的虛擬機 (KVM) 管理程序上進行測試,對虛擬化平臺的傳輸性能開始了初步研究,并實現了 16.1 Gbit/s 的初始傳輸速度。
電網
作為全球最大的電力公司,中國國家電網公司承擔著向大約 11 億人口供電的堅決任務。 SGCC 依賴高性能計算集群確保電網的安全和平穩運行。伴隨著中國電網規模的不斷擴大,SGCC 急需增強其全數字實時仿真系統,以滿足國家日益增長的電力供應需求。 DPDK 是其中一項關鍵組件,幫助將 ADPSS 的延遲降到 50μs之內。這也是為 3,000 臺發電機和 30,000 根電網線路創建大型電力系統仿真的必要條件。
?中文書名:DPDK應用指南
英文書名:DPDK Application Basis
作者:唐宏,柴卓原,任平,王勇,等 編著
出版社:人民郵電出版社
定價:49.00元
開本:185 mm×260 mm
ISBN:978-7-115-42604-8
內容提要
本書不僅深入淺出地介紹了DPDK的基礎原理和安裝調試方法,還詳細介紹了DPDK在NFV中的應用場景和測試方法,并敘述了DPDK應用開發的技術細節和實踐經驗,是DPDK的入門必讀,是了解NFV加速轉發技術的絕佳指南。
作者簡介
唐宏,中國電信股份有限公司廣州研究院數據通信研究所所長,中國電子學會云計算專家委員會委員,中國SDN產業聯盟需求場景與網絡架構組組長,主要從事 IP多媒體網絡的研發工作。
讀者對象
互聯網/電信業從事SDN/NFV設計/規劃人員、從事網絡編程的初中級工程師、NFV技術集成測試工程師。
目 ?錄
第一部分 基礎原理
第 1 章 背景概述
1.1 產業背景
1.2 DPDK 開源社區
第 2 章 DPDK 技術簡介
2.1 軟件架構
2.2 巨頁技術
2.3 輪詢技術
2.4 CPU 親和技術
2.5 DPDK 性能影響因素
第 3 章 DPDK 庫函數
3.1 EAL 庫
3.2 Ring 庫
3.3 Mempool 庫
3.4 mbuf 庫
3.5 PMD 驅動
3.6 IVSHMEM 庫
3.7 Timer 庫
3.8 LPM 庫
3.9 Hash 庫
3.10 多進程支持
...
↓↓↓ 點擊"閱讀原文" ,了解更多詳情?
總結
以上是生活随笔為你收集整理的DPDK:不仅是加速的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 看雪学院课程《汇编语言详解与二进制漏洞初
- 下一篇: 网络安全学习之我见