一種面向云架構的高性能網絡接口實現技術
實驗結果如圖5所示,可以得出傳統(tǒng)網絡接口實現模式下性能的峰值在180Kpps左右,而且隨著網絡數據流量的增大,性能呈現下降趨勢,主要因為隨著網絡流量的增加,額外的系統(tǒng)開銷也在不斷增加。HPNI模式下性能峰值在1.8Mpps左右,而且隨著網絡流量的增加,性能比較穩(wěn)定,抗沖擊力比較強。
本文引用地址:http://www.j9360.com/article/270287.htm

圖5 單線程模式下性能測試結果
3.2實驗二
采用與實驗一相同的硬件環(huán)境,同時開啟多個相同的任務線程,每個線程在一個任務循環(huán)內完成收包、改包、發(fā)包的工作,比較兩種接口模式在多核多任務配置下的性能。另外,在HPNI模式下同時使能網卡的RSS功能,生成多個隊列分別對應每個任務線程,每個任務線程靜態(tài)綁定一個CPU核心,如圖6所示。

圖6 多核多線程模式下網絡接口性能分析
實驗結果如圖7所示,在傳統(tǒng)網絡接口實現模式下,因為受限于Linux內核處理的瓶頸,即使采用了多線程并發(fā),其性能峰值仍然處于180Kpps左右。HPNI卻能很好地利用多線程的并發(fā),在網卡RSS功能的配合之下性能得到成倍的提高。也可以看到多核下面HPNI的性能并不是一直隨著核數的增加而線性增加的,主要因為CPU內的核心之間并不是完全獨立的,它們之間也存在一些共享資源的競爭,比如總線的訪問,從而對性能產生一些負面的影響。

圖7 多核多線程模式下網絡接口性能測試結果
4結語
本文分析了傳統(tǒng)Linux下網絡接口實現的性能瓶頸,針對其不足提出了一種新型的網絡接口實現模式。實驗結果表明,HPNI可以達到12Mpps的包轉發(fā)速率,完全可以勝任核心路由網絡以外網絡聚合點的工作,比如小型企業(yè)網關等。另外,因為HPNI的容量可以動態(tài)調整,因此可以以較高的性價比實現各種性能要求的網絡轉發(fā)節(jié)點。基于通用處理器和標準操作系統(tǒng)的特性,也使得HPNI能夠快速地部署到SDN中。HPNI既可以直接部署在IT server上,也可以部署在虛擬機當中,從而實現高速NFV的功能。當然,HPNI也存在一點不足,因為采用了輪詢模式,雖然保證了數據處理的實時性,但也導致了較大的CPU負載,當網絡流量很低的時候,系統(tǒng)資源利用率不是很高。后續(xù)可以針對此點做一些優(yōu)化,比如結合機器學習算法對輸入數據流量進行預測,當輸入流量降低時通過CPU提供的pause指令降低CPU負載,從而降低系統(tǒng)資源的使用。
評論