亚洲精品影院一区二区-亚洲精品永久一区-亚洲精品中文一区不卡-亚洲精品中文字幕久久久久久-国产亚洲精品aaa大片-国产亚洲精品成人a在线

您好,歡迎光臨電子應用網![登錄] [免費注冊] 返回首頁 | | 網站地圖 | 反饋 | 收藏
在應用中實踐
在實踐中成長
  • 應用
  • 專題
  • 產品
  • 新聞
  • 展會
  • 活動
  • 招聘
當前位置:中國電子應用網 > 技術應用 > 正文

凌華科技aTCA-6200服務器刀片完美搭配Intel® DPDK技術 顯著提升包轉發服務性能

2012年08月09日16:39:27 本網站 我要評論(2)字號:T | T | T
關鍵字:應用 Intel 計算平臺 

 

Jack Lin,平臺集成&驗證部 經理

Yunxia Guo, 軟件系統工程師

Xiang Li, 軟件系統工程師 

 

前言 

近年來,隨著市場和技術的發展,越來越多的網絡基礎架構開始向基于通用計算平臺或模塊化計算平臺的架構方向融合,用以支持和提供多樣的網絡單元和豐富的功能,如應用處理、控制處理、包處理、信號處理等。除了節約成本和縮短產品上市時間之外,在機架式系統和不同尺寸的網絡設備上,此架構還可以提供模塊化架構的靈活性以及隨需而定的系統組件獨立升級能力。在傳統的網絡架構中,交換模塊處理In-band和out-of-band系統模塊之間的路由交換,處理器模塊提供應用層和控制層功能,包處理模塊用于數據平面,DSP模塊提供定制化的信號層功能。通過使用Intel® DPDK(Intel® Data Plane Development Kit,Intel® 數據平面開發套件),基于Intel® x86架構的處理器模塊不僅可以實現傳統的處理應用和控制功能,還可以實現智能和高效的包處理。 

 

該白皮書以IP轉發作為包處理的一個典型示例,說明了如何將凌華科技aTCA-6200刀片式服務器與Intel® DPDK技術整合為單一平臺,提供所需的處理性能,并實現包處理服務性能的提升。首先,我們來比較在沒有使用Intel® DPDK做任何優化時,采用原生 Linux(Native Linux) IP轉發時aTCA-6200的第三層轉發性能。然后,我們再分析采用Intel® DPDK技術之后所獲得的IP轉發性能提升的原因。較后,我們將介紹凌華科技基于Intel® DPDK技術的自己的開發工具包,該工具包可以協助用戶輕松地開發自己的基于Intel® DPDK的應用程序。

 

 凌華科技aTCA-6200 

凌華科技aTCA-6200是一款高集成度的AdvancedTCA處理器刀片,支持2個Intel® Xeon® E5-2648L處理器(Sandy Bridge-EP,32nm),每一個處理器可以較多提供8核20MB的共享緩存。通過使用Intel®超線程技術(Intel® HT技術),每個處理器可以較多支持16個物理線程。除此之外,aTCA-6200還支持8通道的DDR3-1600 VLP RDIMM內存,每個處理器可以支持較大64GB的系統內存。aTCA-6200還包含了豐富的網絡I/O接口,包含2個兼容PICMG 3.1 option 1/9的10GbE口(XAUI,10GBase-KX4),以及較多6個10/100/1000BASE-T千兆以太網端口,可分別連接至前面板,AdvancedTCA Base接口通道和后走線千兆以太網口。

 

凌華科技aTCA-6200處理器刀片主要針對運營商級別的安全和電信應用,同樣在網絡基礎設施中也可作為IMS服務器、媒體網關、包檢測服務器、流量管理服務器和WLAN接入點控制器等。

 

下圖1的功能示意圖展示了凌華科技aTCA-6200的詳細架構。

 

圖1:aTCA-6200功能示意圖

 

Intel DPDK 

Intel® DPDK(Intel® Data Plane Development Kit,Intel® 數據平面開發套件)是一個專為Intel®架構處理器提供的輕量級運行環境。它提供了低功耗和Run-to-Completion(RTC,運行到完成)模式,以此較大限度的提升數據包的處理性能。而且Intel® DPDK還包含了優化的和高效的函數庫,為用戶提供豐富的選擇,例如我們熟知的環境抽象層(EAL,Environment Abstraction Layer),它負責初始化和分配低級資源,同時隱藏來自應用和函數庫的環境特性,并且獲取低級資源,如內存空間,PCI設備,定時器和控制臺。

 

環境抽象層(EAL)提供優化的輪詢模式驅動(PMD,Poll Mode Driver),內存和緩存管理,定時器,調試和包處理API,其中有些功能也可以由Linux操作系統提供。為使應用層間的相互協作更加便利,環境抽象層(EAL)與標準的GNU C Library(GLIBC)一起,提供集成了更高級別應用的完整API。 

 

下圖2為軟件層級結構圖。

 

 

圖 2:在Linux應用環境中的EAL和GLIBC

 

測試拓撲結構 

為了測量aTCA-6200在第三層進行處理和轉發IP包的速度,我們使用圖3中所示的環境進行測試。

 

圖3: IP轉發測試環境

 

如圖3所示,兩片凌華科技aTCA-3400交換刀片,通過使用FASTPATH®網絡軟件,為安裝在凌華科技aTCA-8505機箱中的3片處理器刀片上自帶的10GbE Fabric和1GbE Base接口通道提供了無阻礙的互連交換,并支持全網(Full-Mesh)拓撲結構。因此,每個aTCA-3400交換刀片可以提供至少一個Fabric和Base接口,用以連接到每個處理器刀片,例如安裝在第5槽的aTCA-6200刀片(被測設備)。 

 

Lxia XM12測試系統,兼容RFC 2544吞吐量基準,通常被用來作為包數據的模擬器,用以發送不同幀大小的IP數據包,并收集較終的統計數據,如每秒幀數和吞吐量。

 

根據上圖所示的測試環境拓撲結構,aTCA-6200作為處理器刀片,包含了四個千兆以太網口:兩個來自前面板(Flow 1和Flow 2),另外兩個是通過aTCA-3400 Base交換實現的Base接口(Flow 3和Flow 4)。除了這4個1GbE的接口之外,aTCA-6200還有2個10GbE的接口通過aTCA-3400交換板連至lxia XM12(Flow 5和Flow 6)。

 

在這個測試配置中,aTCA-6200作為被測設備(DUT),負責接收來自lxia測試系統的IPv4數據包,并在第三層處理這些數據包(例如數據包解封裝,IPv4報頭校驗和驗證,路由表查找和數據包封裝),然后根據路由表查找結果將數據包返回至lxia XM12。所有的六個流向都是雙向的:例如,lxia XM12通過1/2/3/4/5/6接口發送幀數據給aTCA-6200,并分別通過1/2/3/4/5/6接口接收幀數據。

 

 測試方法 

為了評估Intel® DPDK如何在凌華科技aTCA-6200上實現包轉發服務的提升,在下面的兩個測試案例中我們使用了基于Intel® DPDK的IP包轉發應用: 

在Native Linux下的性能 

在這個測試環境中,aTCA-6200安裝了64位Ubuntu Server 11.10。同目前Linux其他版本一樣,IP轉發功能默認是禁用的,需啟用IP轉發功能,同時使用以下命令禁用ufw服務。

 

# sudo ufw disable

# sysctl net.ipv4.ip_forward

net.ipv4.ip_forward = 0 

 

同上,將net.ipv4.ip_forward設置為0,當前內核配置下的IP轉發功能將被禁用。但是通過以下命令可以立即啟用: 

# sysctl -w net.ipv4.ip_forward = 1

or

# echo 1 > /proc/sys/net/ipv4/ip_forward  

如果在/etc/sysctl.conf中將net.ipv4.ip_forward設置為1,并重啟網絡服務,IP轉發功能將默認啟用,如下所示: 

#echo "net.ipv4.ip_forward = 1">/etc/sysctl.conf

# /etc/init.d/network restart 

 

 

 使用Intel® DPDK后的性能  

 

Intel® DPDK可以在不同的模式下運行,如裸機(Bare Metal),帶裸機實時(Bare Metal Run-Time)的Linux和Linux 用戶空間(User Space)。在較初的開發階段,Linux用戶空間(User Space)模式是較容易使用的,請參看Intel Data Plane Development Kit - Getting Started Guide for Linux。中的相關描述。下圖4描述了Intel® DPDK在Linux用戶空間(User Space)模式下的詳細功能。  

 

圖4:Intel® DPDK 運行在Linux User Space模式下

 

如需在aTCA-6200處理器刀片中建立Intel® DPDK,請在該內核中設置如下參數: 

GLIBC >=2.7 

啟用HPET和HPET MMAP配置選項 

# grep HPET /boot/config-`uname -r`

CONFIG_HPET_TIMER=y

CONFIG_HPET_EMULATE_RTC=y

CONFIG_HPET=y

CONFIG_HPET_MMAP=y  

HUGETLBFS enabled: 

# mkdir /mnt/huge

# mount -t hugetlbfs nodev /mnt/huge

# echo 1024 > /sys/kernel/mm/hugepages/hugepages-\ 2048kB/nr_hugepages  

網友評論:已有2條評論 點擊查看
登錄 (請登錄發言,并遵守相關規定)
如果您對新聞頻道有任何意見或建議,請到交流平臺反饋。【反饋意見】
關于我們 | 聯系我們 | 本站動態 | 廣告服務 | 歡迎投稿 | 友情鏈接 | 法律聲明
Copyright (c) 2008-2025 01ea.com.All rights reserved.
電子應用網 京ICP備12009123號-2 京公網安備110105003345號