999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于vDPA 的虛擬網絡轉發技術研究與優化

2022-01-08 11:57:18歐陽卓玥鄒素雯
電子設計工程 2022年1期
關鍵詞:優化用戶設備

歐陽卓玥,鄒素雯

(1.武漢郵電科學研究院,湖北武漢 430074;2.烽火通信科技股份有限公司,湖北武漢 430205)

5G 時代的到來,加速了網絡虛擬化的進程。隨著軟件定義網絡(SDN)和網絡功能虛擬化(NFV)的快速發展,云數據中心網絡的架構也隨之發生轉變,開始使用虛擬化技術[1]。在虛擬網絡轉發過程中,雖然內核模塊可以直接訪問硬件設備,但是用戶空間應用程序需要執行系統調用并在內核中執行中間步驟,增加了主要任務的開銷[2]。基于Intel x86架構的數據平面開發套件(Data Plane Development Kit,DPDK)是一套為Linux 用戶空間應用程序提供優化庫的解決方案,可以避免從用戶空間到內核態空間報文的復制過程。雖然基于DPDK 的OVS 方案在數據包處理效率方面相對于傳統的Linux 數據收發方案有很大提高,但依然無法滿足現在日益增長的對網絡轉發性能的需求。vhost數據路徑加速(vhost Data Path Acceleration,vDPA)技術在基于DPDK 的OVS 方案的基礎上,通過優化virtio 數據平面的vhost 數據路徑,使得數據流轉發達到線速性能,提升了虛擬網絡轉發效率。

1 虛擬網絡轉發技術

1.1 DPDK虛擬化技術

DPDK(Data Plane Development Kit)是Intel 提供的基于x86 架構的數據平面開發工具集[3],主要以Intel Architecture(IA)多核處理器為目標平臺,實現了高性能數據包處理。DPDK 是一個全面的網絡內核旁路解決方案,不僅支持眾多的網卡類型,也有多種內存和CPU 調度的優化方案。

DPDK 的主要模塊包括核心庫Core Libs、PMD庫、Classify庫和QoS庫等[4]。核心庫Core Libs 是DPDK 程序的基礎,包括系統抽象層、內存管理、無鎖環、緩存池等;PMD 庫提供全用戶態的驅動,通過輪詢和線程綁定得到極高的網絡吞吐,支持各種物理和虛擬網卡;Classify 庫支持精確匹配、最長匹配和通配符匹配,提供常用包處理的查表操作;QoS 庫提供網絡服務質量相關組件,如限速和調度等。

DPDK 解決了IA 多核處理器對高性能數據包處理的需求[5],其核心思想主要包括以下幾個方面:①輪詢模式[6],DPDK 輪詢網卡檢測是否有網絡報文的接收或者發送,避免了傳統網卡驅動的中斷上下文的開銷;②用戶態驅動,DPDK 通過用戶態驅動的開發框架在用戶態操作設備及數據包,避免了不必要的用戶態和內核態之間的數據拷貝和系統調用;③親和性與獨占,利用線程的CPU 親和綁定的方式,將特定的線程指定在固定的核上運行,避免線程在不同核之間頻繁切換帶來的開銷,提高并行處理的吞吐量;④降低訪問存儲開銷,DPDK 使用大頁技術降低TLB(Translation Lookaside Buffer)未命中率,利用預取命令提高緩存的訪問率等。

1.2 Open vSwitch及相關技術

Open vSwitch(OVS)主要用于云環境中虛擬網絡的管理,使得對網絡狀態的流量監控變得更容易。OVS 是一個高質量的多層虛擬交換機,滿足了不同虛擬化平臺間的移植性。OVS 支持可編程自動化網絡大規模部署及拓展,能夠支持標準網絡管理接口和協議,還支持與其他現有虛擬交換方案的混合部署。OVS 在物理服務器上創建一個或多個vSwitch供各個虛擬機接入,將接入到OVS 的虛擬機分配到不同的VLAN 中實現網絡隔離。

Open vSwitch產生的主要目的是管理和配置虛擬機網絡,如圖1 所示,在軟件定義網絡的架構下,OVS作為SDN交換機,向上連接控制器,向下連接主機,同時OVS 交換機可以與物理交換機通信,相互交流數據。OVS 的基本功能主要包括:①自動化控制:OVS支持Open Flow[7],用戶可以通過ovs-ofctl 使用Open Flow 協議連接交換機,實現查詢和控制;②QoS:支持擁塞管理和流量整形;③安全:支持VLAN 隔離、流量過濾等功能,保證了虛擬網絡的安全性;④監控:支持Netflow、SFlow、SPAN、RSPAN 等網絡監控技術。

圖1 OVS交換機的角色

1.3 基于DPDK的OVS轉發技術

雖然OVS 作為虛擬交換機已經進行了優化,但是它在網絡功能虛擬化場景下的轉發性能、時延等方面還需要提高。Intel 利用DPDK 的加速思想,通過配置軟件架構,使得從OVS 連接的某個網絡端口接收到的報文不需要openvswitch.ko 內核態的處理,報文直接通過DPDK PMD 驅動到達用戶態ovsvswitchd 里[8],對OVS 的轉發性能進行了優化。

DPDK 加速的OVS利用了DPDK 的PMD 驅動、向量指令、大頁等技術,來優化用戶態的數據通路,直接繞過內核態的數據通路,加速物理網口和虛擬網口的報文處理速度。圖2 顯示了基于DPDK 加速的OVS轉發流程圖。

圖2 基于DPDK加速的OVS轉發流程圖

2 vDPA技術簡介

2.1 vDPA技術

vDPA(vhost Data Path Acceleration)虛擬數據路徑加速,主要目的是標準化網卡的SRIOV 數據通路,讓SRIOV 的虛擬功能可以支持virtio ring 的layout,并且在Guest的空間可以使用標準的virtio 驅動。

vDPA 本質上是一種使用virtio ring layout 標準化NIC SRIOV 數據平面并將單個標準virtio 驅動程序放置在與任何供應商實現分離的方法,同時向其中添加了通用控制平面來支持它[9]。因為vDPA 是SRIOV 之上的抽象層,因此它還可以支持可擴展IOV 等新興技術。

vDPA 有潛力成為為虛擬機提供線速以太網接口的解決方案,它具有以下優勢:①開放的公共規范:任何人都可以看到、使用和參與更新規范(virtio規范),而不用鎖定特定的供應商;②線速性能:與SRIOV 類似,中間沒有memory 地址翻譯;③單個通用NIC 驅動程序:可以將virtio-net 驅動程序作為標準驅動程序,和用于存儲設備的NVMe 驅動程序一樣,通過vDPA 框架支持不同廠家的網卡。

2.2 vDPA DPDK設計

DPDK 基于vhost-user 的協議為vDPA 技術提供了一個后端實現。在內核里,DPDK 主要基于mdev框架實現。DPDK 中設計增加兩個新組件:vDPA 驅動和用戶態驅動,來控制vDPA 設備硬件;vDPA 框架提供vhost-user socket 和vDPA 驅動的連接。vDPA DPDK 框架提供一系列的設備回調函數,由網卡廠家實現,這些函數被vhost-user 調用來創建數據路徑[10]。vDPA 在vhost-user 庫中添加選擇性的數據路徑支持,將設備驅動程序與vhost socket 關聯,將vswitch 添加為端口代表,同時能將信息返回到數據路徑中。

在應用場景中使用vDPA 設備,其數據路徑還是全硬件卸載,而控制路徑可以使用vDPA API。相對于全卸載的virtio PMD 模式,這種方式的好處是更加靈活,可以切換到其他使用vDPA 的硬件設備或回到全軟件路徑,同時也可以實現對熱遷移的支持并實現標準化。

3 基于vDPA轉發優化的實現

自DPDK18.05 版本開始,DPDK 實現了對vDPA的支持。它基于vhost-user 協議,為前端提供統一的控制路徑[11]。在DPDK 中支持vDPA 功能,使得內核中基于MDEV 框架的vDPA 框架能更標準地實現。

如圖3 所示,為運用vDPA 技術的數據流在各個模塊中的轉發流程圖。硬件層中有一個vDPA 設備,位于網卡中虛擬功能(Virtual Function,VF)和物理功能(Physical Function,PF)中間的模塊,該設備使用其專有的控制路徑直接填充虛擬隊列。virtio-net設備實現了驅動底層vDPA 設備的實際功能。這個vDPA 設備采用將virtio 數據路徑卸載到該設備的方式。virito-mdev 設備通過自身的API 接口傳輸virtio-mdev 命令[12],并執行命令轉換、仿真或調解。

圖3 vDPA流程圖

vDPA DPDK 框架引入了一組由供應商vDPA 設備驅動程序實現的回調,由vhost-user 庫調用以設置數據路徑,在rte_vdpa_dev_ops 結構體中可以看到,這些回調中一半與標準vhost-user 協議請求具有一一對應的關系,例如獲取和設置virito 功能[13]、獲取受支持的vhost-user 協議功能等。其中dev_conf 回調函數用于設置和啟動設備,并在vhost-user 層接收到設置和啟用數據路徑所需的所有信息后被調用。在此回調函數中,vDPA 設備驅動程序將設置環地址、DMA mapping 并 啟動設 備[14]。

4 性能測試

在Linux 環境中對虛擬機之間的通信進行測試,主要是vDPA 技術使用前后對網絡I/O 性能的對比測試。在兩臺相同的服務器中搭建實驗環境,服務器的配置如表1 所示。

表1 服務器基本配置表

在第一臺服務器中搭建基于DPDK 加速的OVS實驗環境,在第二臺服務器中搭建vDPA 的實驗環境,分別在兩種實驗環境中創建虛擬機進行通信測試。實驗環境中使用iperf 命令行作為網絡性能的測試工具,可以測試兩臺虛擬機之間的帶寬性能[15]。

在DPDK-OVS 實驗環境中,配置、編譯DPDK 和OVS 并進行大頁設置和VFIO[16]。vDPA 實驗環境中的測試方案如圖4 所示,在環境中修改.config 文件進行配置,用Linux 命令啟動librte_pmd_mlx5_vdpa 程序,使DPDK 應用程序與libibverbs 連接。然后創建兩臺虛擬機,其中一臺作為客戶端,另一臺作為服務端,從客戶端向服務端發送數據,數據直接通過數據平面到達網卡進行轉發,進一步提高了數據轉發效率。實驗中分別測試TCP 協議和UDP 協議在虛擬機之間的傳輸帶寬值。

圖4 優化后轉發測試網絡拓撲圖

對實驗測試結果進行整理,TCP 轉發測試數據如圖5 所示,UDP 轉發測試數據如圖6 所示。可以看到使用vDPA 技術優化后網絡帶寬在原來DPDKOVS 基礎上幾乎增加了一倍。

圖5 TCP轉發測試數據

圖6 UDP轉發測試數據

5 結束語

文中首先對當前虛擬網絡轉發技術進行了分析研究,提出了一種新的基于vDPA 技術的虛擬網絡轉發性能優化設計方案并進行實現,通過加速數據路徑達到優化數據流轉發過程的目的,通過在實驗環境中進行優化前后的對比測試驗證了該解決方案的可行性。

猜你喜歡
優化用戶設備
諧響應分析在設備減振中的應用
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
主站蜘蛛池模板: 久久国产毛片| 熟女视频91| AV片亚洲国产男人的天堂| 国内精自线i品一区202| 国产无人区一区二区三区| 一级毛片视频免费| 午夜视频免费试看| 色爽网免费视频| 五月天久久综合| 美女被狂躁www在线观看| 无码精油按摩潮喷在线播放 | 思思热在线视频精品| 国产综合色在线视频播放线视| 操国产美女| 亚洲中文字幕97久久精品少妇| 极品尤物av美乳在线观看| 亚洲精品不卡午夜精品| 亚洲国产精品成人久久综合影院 | 欧美亚洲国产一区| 亚洲小视频网站| 亚洲制服丝袜第一页| 国产美女主播一级成人毛片| 国产成人1024精品下载| 亚洲色图欧美视频| 91色爱欧美精品www| 亚洲精品无码AⅤ片青青在线观看| 毛片一区二区在线看| 免费毛片在线| 欧美另类图片视频无弹跳第一页| 浮力影院国产第一页| 91成人在线观看| 久久综合伊人77777| 亚洲天堂日韩av电影| 中文无码精品a∨在线观看| 亚洲无码日韩一区| 亚洲天堂网2014| 97超级碰碰碰碰精品| 国产a网站| 男人天堂伊人网| 亚洲欧美另类中文字幕| 国产交换配偶在线视频| 欧美中文字幕在线视频| 成人年鲁鲁在线观看视频| 91在线国内在线播放老师| 2019国产在线| 国产亚洲欧美在线视频| 狠狠亚洲五月天| 99人体免费视频| 波多野一区| 亚洲久悠悠色悠在线播放| 国产成人精品一区二区| 亚洲无线视频| 天天色天天综合网| 日韩无码视频专区| 亚洲无码37.| 青草国产在线视频| 国产91丝袜在线播放动漫| 亚洲 欧美 日韩综合一区| jizz在线观看| 女人av社区男人的天堂| 欧美午夜性视频| 99久久精品免费看国产电影| 欧美日韩中文国产va另类| 国产区福利小视频在线观看尤物| 亚洲午夜综合网| 国产精品99在线观看| 国产成人综合在线视频| 国产十八禁在线观看免费| 亚洲国产日韩在线成人蜜芽| 视频在线观看一区二区| 久久精品娱乐亚洲领先| 日本欧美一二三区色视频| 色婷婷电影网| 国产91丝袜在线播放动漫 | 动漫精品中文字幕无码| 成人另类稀缺在线观看| 国产大片黄在线观看| 2020国产精品视频| 国内精品久久九九国产精品| 国产精品无码在线看| 四虎永久在线精品影院| 婷婷综合在线观看丁香|