一種面向云架構(gòu)的高性能網(wǎng)絡(luò)接口實現(xiàn)技術(shù)
實驗結(jié)果如圖5所示,可以得出傳統(tǒng)網(wǎng)絡(luò)接口實現(xiàn)模式下性能的峰值在180Kpps左右,而且隨著網(wǎng)絡(luò)數(shù)據(jù)流量的增大,性能呈現(xiàn)下降趨勢,主要因為隨著網(wǎng)絡(luò)流量的增加,額外的系統(tǒng)開銷也在不斷增加。HPNI模式下性能峰值在1.8Mpps左右,而且隨著網(wǎng)絡(luò)流量的增加,性能比較穩(wěn)定,抗沖擊力比較強。
本文引用地址:http://butianyuan.cn/article/270287.htm
圖5 單線程模式下性能測試結(jié)果
3.2實驗二
采用與實驗一相同的硬件環(huán)境,同時開啟多個相同的任務(wù)線程,每個線程在一個任務(wù)循環(huán)內(nèi)完成收包、改包、發(fā)包的工作,比較兩種接口模式在多核多任務(wù)配置下的性能。另外,在HPNI模式下同時使能網(wǎng)卡的RSS功能,生成多個隊列分別對應(yīng)每個任務(wù)線程,每個任務(wù)線程靜態(tài)綁定一個CPU核心,如圖6所示。
圖6 多核多線程模式下網(wǎng)絡(luò)接口性能分析
實驗結(jié)果如圖7所示,在傳統(tǒng)網(wǎng)絡(luò)接口實現(xiàn)模式下,因為受限于Linux內(nèi)核處理的瓶頸,即使采用了多線程并發(fā),其性能峰值仍然處于180Kpps左右。HPNI卻能很好地利用多線程的并發(fā),在網(wǎng)卡RSS功能的配合之下性能得到成倍的提高。也可以看到多核下面HPNI的性能并不是一直隨著核數(shù)的增加而線性增加的,主要因為CPU內(nèi)的核心之間并不是完全獨立的,它們之間也存在一些共享資源的競爭,比如總線的訪問,從而對性能產(chǎn)生一些負面的影響。
圖7 多核多線程模式下網(wǎng)絡(luò)接口性能測試結(jié)果
4結(jié)語
本文分析了傳統(tǒng)Linux下網(wǎng)絡(luò)接口實現(xiàn)的性能瓶頸,針對其不足提出了一種新型的網(wǎng)絡(luò)接口實現(xiàn)模式。實驗結(jié)果表明,HPNI可以達到12Mpps的包轉(zhuǎn)發(fā)速率,完全可以勝任核心路由網(wǎng)絡(luò)以外網(wǎng)絡(luò)聚合點的工作,比如小型企業(yè)網(wǎng)關(guān)等。另外,因為HPNI的容量可以動態(tài)調(diào)整,因此可以以較高的性價比實現(xiàn)各種性能要求的網(wǎng)絡(luò)轉(zhuǎn)發(fā)節(jié)點?;谕ㄓ锰幚砥骱蜆?biāo)準操作系統(tǒng)的特性,也使得HPNI能夠快速地部署到SDN中。HPNI既可以直接部署在IT server上,也可以部署在虛擬機當(dāng)中,從而實現(xiàn)高速NFV的功能。當(dāng)然,HPNI也存在一點不足,因為采用了輪詢模式,雖然保證了數(shù)據(jù)處理的實時性,但也導(dǎo)致了較大的CPU負載,當(dāng)網(wǎng)絡(luò)流量很低的時候,系統(tǒng)資源利用率不是很高。后續(xù)可以針對此點做一些優(yōu)化,比如結(jié)合機器學(xué)習(xí)算法對輸入數(shù)據(jù)流量進行預(yù)測,當(dāng)輸入流量降低時通過CPU提供的pause指令降低CPU負載,從而降低系統(tǒng)資源的使用。
評論