李彥廣
(商洛學(xué)院 數(shù)學(xué)與計算機應(yīng)用學(xué)院,陜西 商洛 726000)
基于多核優(yōu)化的網(wǎng)絡(luò)內(nèi)容監(jiān)測系統(tǒng)優(yōu)化策略
李彥廣
(商洛學(xué)院 數(shù)學(xué)與計算機應(yīng)用學(xué)院,陜西 商洛 726000)
網(wǎng)絡(luò)中的不良信息通常以電子郵件、網(wǎng)頁瀏覽、論壇發(fā)布等形式進行傳播,針對網(wǎng)絡(luò)內(nèi)容監(jiān)測系統(tǒng)存在的報文數(shù)據(jù)壓縮、譯碼傳輸和關(guān)鍵字匹配等性能問題,本文提出了一種網(wǎng)絡(luò)內(nèi)容監(jiān)測系統(tǒng)的多核平臺性能優(yōu)化策略,并將其應(yīng)用到系統(tǒng)中進行測試。實驗表明:當核心處理器的計算核心數(shù)量增加到7個時,完成多核優(yōu)化的網(wǎng)絡(luò)內(nèi)容監(jiān)測系統(tǒng)的數(shù)據(jù)吞吐量能夠達到優(yōu)化之前的436.1%,有效提高了系統(tǒng)的網(wǎng)絡(luò)性能。
網(wǎng)絡(luò)內(nèi)容監(jiān)測系統(tǒng);多核優(yōu)化;吞吐量;處理器
相比于一般對網(wǎng)絡(luò)鏈路流量進行監(jiān)測的系統(tǒng),網(wǎng)絡(luò)內(nèi)容監(jiān)測系統(tǒng)主要是對網(wǎng)絡(luò)匯聚處的數(shù)據(jù)流量進行監(jiān)測,而且網(wǎng)絡(luò)內(nèi)容監(jiān)測系統(tǒng)的根本目的是對網(wǎng)絡(luò)數(shù)據(jù)信息進行審查,掃描和識別網(wǎng)絡(luò)信息的具體內(nèi)容[1]。網(wǎng)絡(luò)內(nèi)容監(jiān)測系統(tǒng)的關(guān)鍵模塊是負責(zé)與數(shù)據(jù)信息緩沖隊列相關(guān)數(shù)據(jù)結(jié)構(gòu)直接聯(lián)系,從系統(tǒng)結(jié)構(gòu)上來看其核心模塊與數(shù)據(jù)信息匹配識別相關(guān)。
網(wǎng)絡(luò)內(nèi)容監(jiān)測系統(tǒng)與一般網(wǎng)絡(luò)協(xié)議監(jiān)測系統(tǒng)工作流程相似,但又存在著多種差異。因此,在對網(wǎng)絡(luò)內(nèi)容監(jiān)測系統(tǒng)進行多核優(yōu)化處理的過程中也會體現(xiàn)出很多特性特點,尤其是其優(yōu)化結(jié)果能夠真正達到提高網(wǎng)絡(luò)性能的目的。
由于網(wǎng)絡(luò)內(nèi)容監(jiān)測系統(tǒng)能夠?qū)⒕W(wǎng)絡(luò)流量中包含的內(nèi)容信息進行還原,并按照既定條件抓取網(wǎng)絡(luò)流量中的特定內(nèi)容信息,本文通過研究自主研發(fā)的網(wǎng)絡(luò)內(nèi)容監(jiān)測系統(tǒng)(IRCMS)多核優(yōu)化的問題,根據(jù)不同的網(wǎng)絡(luò)協(xié)議類型,探索系統(tǒng)在審查網(wǎng)絡(luò)數(shù)據(jù)信息方面的獨特優(yōu)勢。
1)當網(wǎng)絡(luò)內(nèi)容監(jiān)測系統(tǒng)(IRCMS)處于串行工作模式時,對其進行網(wǎng)絡(luò)性能分析,通過實驗在單核處理器平臺上測試IRCMS系統(tǒng)的數(shù)據(jù)信息吞吐性能,并根據(jù)相關(guān)指標分析IRCMS系統(tǒng)存在的性能瓶頸。
2)當IRCMS系統(tǒng)運行于多核處理器平臺時,逐個增加單核處理器的核心個數(shù),測試系統(tǒng)吞吐量性能[2]是否能夠提高。
3)綜合分析處于多核處理器平臺中的IRCMS系統(tǒng)存在的性能瓶頸問題,針對具體問題提出多核性能優(yōu)化策略。
4)對完成多核優(yōu)化之后IRCMS系統(tǒng)的數(shù)據(jù)信息吞吐量進行測試[3],與優(yōu)化之前的吞吐量性能進行對比分析,得到性能提升比例。
5)以IRCMS系統(tǒng)作為多核優(yōu)化案例,分析應(yīng)用了創(chuàng)新多核優(yōu)化策略之后,IRCMS系統(tǒng)吞吐量性能提高的特點和規(guī)律。
1)實驗硬件平臺
實驗測評的硬件平臺應(yīng)用的戴爾R710型號的多核處理器,服務(wù)器總共包含8個核心處理器(核心0至核心7),處理器采用的是Core微架構(gòu)的Nehalem處理器。
2)實驗軟件平臺
實驗測評的軟件平臺選用的是CENT OS 5.3的Linux發(fā)行版本,一級Kemel 2.6.18操作系統(tǒng)內(nèi)核;實驗編譯環(huán)境選用的是GCC 4.1.2編譯器;系統(tǒng)測試工具為英特爾性能分析器。
3)實驗業(yè)務(wù)流量
實驗業(yè)務(wù)流量采用的是S市聯(lián)通寬帶網(wǎng)絡(luò)出口鏈路的真實業(yè)務(wù)流量,如表1所示。
表1 實驗業(yè)務(wù)流量情況Tab.1 The business fl ow conditions
IRCMS系統(tǒng)在單核處理器平臺上的吞吐量性能如表2所示。
表2 IRCMS系統(tǒng)單核處理器平臺吞吐量性能分析Tab.2 IRCMS single-core processor platform system throughput performance analysis
為了研究測評網(wǎng)絡(luò)內(nèi)容監(jiān)測系統(tǒng)由單核處理器平臺轉(zhuǎn)移到多核處理器平臺之后,網(wǎng)絡(luò)性能是否得到擴展式提升,對IRCMS系統(tǒng)運行于多核處理器平臺時的吞吐量進行性能測試[4-6]。
表3 IRCMS系統(tǒng)在多核處理器平臺吞吐量性能分析Tab.3 IRCMS multi-core processor platform system throughput performance analysis
表3中,當IRCMS系統(tǒng)在2個核心的多核處理器平臺運行時,吞吐量性能是在單核處理器平臺運行的128.35%。但是,IRCMS系統(tǒng)性能提升只是通過但村增加實驗硬件配置得到的,吞吐量性能提升的幅度只限于30%左右。隨著核心處理器的不斷增加,IRCMS系統(tǒng)的吞吐性能沒有明顯幅度提升。由此可以得出:IRCMS系統(tǒng)吞吐量性能提升并不具有良好的擴展性,只能通過優(yōu)化軟件來提高網(wǎng)絡(luò)內(nèi)容監(jiān)測系統(tǒng)的網(wǎng)絡(luò)性能。
多核平臺性能優(yōu)化中的流水線并行方式是有效的優(yōu)化方法,是由處理器執(zhí)行并行命令引鑒額的,流水線并行方式是將系統(tǒng)的不同部分分為多個執(zhí)行階段,它們之間的耦合程度非常低,再將這些部分命令并行執(zhí)行。本文對IRCMS系統(tǒng)進行多核性能優(yōu)化實驗,采用的就是由其本身特性決定的三級流水線并行方式。在IRCMS系統(tǒng)中,功能線程分為F1、F2和F3 3種,當運行于單核處理器平臺時仍然保持串行工作模式,因此根據(jù)主體功能線程的本身特點,分為多個不同的流水線結(jié)構(gòu)單元,從而形成三級流水線并行的方式,再將3個不同的單元分別置于多核處理器平臺的核心處理器中,以便能夠同時得到數(shù)據(jù)信息資源進行計算。應(yīng)用三級流水線并行方法進行多核優(yōu)化后,能夠有效保證每個流水線的單元完成的是真正的并行處理[7]。
1)流水線單元之間硬件資源配置比例
本文多核優(yōu)化性能實驗中采用的多核平臺共包含8個核心處理器,只有核心0的作用限于數(shù)據(jù)流量的輸入,其他的7個核心處理器都用作于IRCMS系統(tǒng)的多核性能優(yōu)化處理。流水線單元之間硬件資源配置比例,是要根據(jù)單元之間的功能的重要性,以及計算的具體需要,將不同的核心分配于不同的流水線階段中,使得并行處理策略能夠更加有針對性。
2)流水線單元之間線程數(shù)量的匹配
當完成分配計算核心之后,需要對流水線單元線程數(shù)量進行比例配置,由于流水線單元線程的基于核心運行和執(zhí)行系統(tǒng)任務(wù)的最小單位,因此如果需要調(diào)節(jié)軟件系統(tǒng)在每個階段處理數(shù)據(jù)信息的速度,或者對不同模塊運行造成的開銷進行調(diào)節(jié),可以通過增加和減少流水線單元線程數(shù)量來完成。而且,在對某個流水線單元的線程數(shù)量進行配置時,通常情況下要比投入的計算核心數(shù)量大,或者與投入的計算核心數(shù)量相等,由此才能夠真正保證計算資源的充分利用。
固定調(diào)度指的是在充分利用核心處理器的親和性前提下,將單元線程與特定計算核心通過關(guān)聯(lián)使其運行于此計算核心之中,不會隨意發(fā)生跳轉(zhuǎn)。本文IRCMS系統(tǒng)的多核平臺性能優(yōu)化采用結(jié)合Linux調(diào)度的固定調(diào)度方式,將IRCMS系統(tǒng)中的部分線程進行固定,另一部分線程由Linux將兩部分結(jié)合共同完成調(diào)度任務(wù)。應(yīng)用結(jié)合Linux調(diào)度的固定調(diào)度方式與傳統(tǒng)的固定調(diào)度方式相比,靈活性明顯提高,但是需要基于流水線單元資源配比之上才能應(yīng)用[8]。
1)對隊列結(jié)構(gòu)進行優(yōu)化
對于某個隊列來說,當這個隊列的共享線程數(shù)量過多,酒會引起隊列之間的同步競爭,甚至出現(xiàn)嚴重的串行化情況。因此,如果要降低由于共享造成隊列之間競爭的程度,需要最大限度的將隊列局部化,對共享資源進行分解,以此達到減少隊列的線程數(shù)量。
2)對銜接方式進行優(yōu)化
銜接方式指的是線程和隊列之間互相進行訪問。通過對銜接方式進行優(yōu)化,能夠合理分配進行系統(tǒng)工作,具體優(yōu)化步驟如下:
圖1 IRCMS系統(tǒng)多核優(yōu)化隊列結(jié)構(gòu)圖Fig.1 Multi-core IRCMS system optimization queue structure
如圖1所示,在第Ⅰ單元中,F(xiàn)1是線程是與Ⅰ-Ⅱ隊列相互連接的,同時應(yīng)用了報文連接分發(fā)的方式。網(wǎng)絡(luò)源地址、網(wǎng)絡(luò)目的地址、網(wǎng)絡(luò)源端口、網(wǎng)絡(luò)目的端口和網(wǎng)絡(luò)協(xié)議的報文使用的是同一個連接。F1線程將此報文的連接傳送到Ⅰ-Ⅱ相同的隊列中,由此,F(xiàn)2線程可以在第Ⅱ單元中對同一個連接的報文內(nèi)容信息進行掃描和審查,得到的匹配結(jié)果具有較強的相關(guān)性,使得系統(tǒng)管理員能夠盡早發(fā)現(xiàn)問題所在。
在第Ⅱ單元中,F(xiàn)2線程與Ⅰ-Ⅱ隊列、F2線程與Ⅱ-Ⅲ隊列之間采用的是相同的一對一處理固定銜接方式。
在第Ⅲ單元中,F(xiàn)3線程與Ⅱ-Ⅲ隊列之間的銜接應(yīng)用的是輪詢訪問的銜接方式,F(xiàn)3線程對每一個匹配結(jié)果的緩沖隊列進行輪詢訪問,并將其結(jié)果存儲于數(shù)據(jù)庫中[9]。
通過對隊列結(jié)構(gòu)和銜接方式進行優(yōu)化綜合分析后,得到IRCMS系統(tǒng)的多核優(yōu)化結(jié)構(gòu)圖,其隊列數(shù)量能夠根據(jù)投入的計算核心數(shù)量,以及流水線單元之間的現(xiàn)場配置比例關(guān)系進行靈活變化,從而真正降低了線程數(shù)量過多而造成的隊列競爭程度。
在IRCMS系統(tǒng)應(yīng)用了上一章節(jié)提出的多核平臺性能優(yōu)化策略進行多核優(yōu)化之后,稱之為AIRCMS系統(tǒng)。
表4 IRCMS系統(tǒng)在多核處理器平臺吞吐量性能分析Tab.4 IRCMS multi-core processor platform system throughput performance analysis
當實驗投入了3個核心處理器時,AIRCMS系統(tǒng)的吞吐量性能隨著核心數(shù)量的增加而明顯大幅度提高。當投入了7個核心處理器時,AIRCMS系統(tǒng)的吞吐量性能能夠達到416.34 Mbps,與投入單個核心處理器的吞吐量性能相比較而言,吞吐量性能提高了436.10 %,圖2給出了AIRCMS系統(tǒng)在采用了多核優(yōu)化策略之后,與未采用多核優(yōu)化策略的系統(tǒng)吞吐量性能變化情況[10]。
圖2 多核優(yōu)化策略應(yīng)用前后系統(tǒng)吞吐量性能對比圖Fig.2 Multi-core system throughput performance comparison before and after optimization strategy application
文中提出的多核優(yōu)化策略需要投入的計算核心是3個。由此在圖2中,采用多核優(yōu)化策略進行優(yōu)化之后的AIRCMS系統(tǒng)的性能折線圖并沒有計算核心為2時的吞吐量性能點。對于沒有采用多核優(yōu)化策略的IRCMS系統(tǒng)來說,為了能夠與AIRCMS系統(tǒng)性能提升的擴展性進行對比,因此記錄了核心2到核心7的吞吐量性能數(shù)據(jù)信息。
由圖2可以看出,IRCMS系統(tǒng)的吞吐量性能應(yīng)用了多核優(yōu)化策略之后有了明顯提高,能夠隨著投入計算核心的數(shù)量增加而持續(xù)提高。當沒有應(yīng)用多核優(yōu)化策略時,IRCMS系統(tǒng)的吞吐量性能不能夠隨著計算核心的數(shù)量增加而明顯提高。因此,如果需要網(wǎng)絡(luò)內(nèi)容監(jiān)測系統(tǒng)在充分利用硬件資源的前提下,網(wǎng)絡(luò)性能能夠有顯著提高,必須有針對性將多核優(yōu)化策略應(yīng)用于軟件系統(tǒng)中[11]。
1)系統(tǒng)理論加速比
指標多核優(yōu)化加速比記作Sr,指的是綜合考慮了并行執(zhí)行開銷之后的系統(tǒng)理論加速比,而系統(tǒng)理論加速比是多核優(yōu)化的基礎(chǔ)。其中:
2)多核優(yōu)化加速比公式
在系統(tǒng)進行并行優(yōu)化的過程中,會引入包括原子操作、同步鎖操作等不可避免的新開銷,這些新的開銷都會對系統(tǒng)理論加速比造成一定影響,而阿姆達爾法則提出的優(yōu)化理想效果是幾乎不存在的。由于系統(tǒng)并行優(yōu)化引入新的開銷問題,本文在阿姆達爾法則的基礎(chǔ)之上提出了新的多核優(yōu)化加速比的評價指標,并給出了其計算方法。
多核優(yōu)化加速比的推導(dǎo)過程如下:
其中,Tparallel為計算時間,f 為串行比例, n為投入到系統(tǒng)運行計算的核心數(shù)量,fr為并行執(zhí)行開銷與并行執(zhí)行計算時間之比。
表5 AIRCMS系統(tǒng)多核優(yōu)化加速比Tab.5 Multi-core AIRCMS system optimization speedup
根據(jù)多核優(yōu)化加速比的計算公式,結(jié)合表5得出了AIRCMS系統(tǒng)的多核優(yōu)化加速比。
將AIRCMS系統(tǒng)的多核優(yōu)化加速指標與實際吞吐量性能提升比例進行對比,如圖3所示。
圖3 AIRCMS系統(tǒng)多核優(yōu)化加速比指標與實際吞吐量性能提升比例對比Fig.3 AIRCMS multi-core optimization speed ratio system and the actual throughput performance ratio
對AIRCMS系統(tǒng)串行開銷比例f,以及并行執(zhí)行產(chǎn)生的新的開銷比例fr進行測量計算,能夠得到AIRCMS系統(tǒng)的多核優(yōu)化加速比指標值數(shù)。圖3中,多核優(yōu)化加速比計算的吞吐量提升比例與系統(tǒng)吞吐量提升比例基本相同,但是在折線圖的后半部分出現(xiàn)了明顯差異,當計算核心的數(shù)量達到6和7時,系統(tǒng)吞吐量性能的提升已經(jīng)開始落后于多核優(yōu)化加速比例的提升。這是由于當計算核心的數(shù)量達到6和7時,IRCMS系統(tǒng)中有兩路F1線程同時運行于流水線第Ⅰ單元部分,從而降低了系統(tǒng)吞吐量性能的提升比例,因此與多核優(yōu)化加速比計算的吞吐量性能之間存在一定距離??傊?,當應(yīng)用本文提出的多核優(yōu)化加速策略之后,吞吐量性能的提升幅度與多核優(yōu)化加速比計算過后得到的理論吞吐量性能提升幅度基本相同。
由于網(wǎng)絡(luò)內(nèi)容監(jiān)測系統(tǒng)存在著嚴重的網(wǎng)絡(luò)性能瓶頸,尤其是當網(wǎng)絡(luò)內(nèi)容監(jiān)測系統(tǒng)需要完成關(guān)鍵字匹配工作時,其開銷能夠占據(jù)到系統(tǒng)總體開銷的一半之多。本文將網(wǎng)絡(luò)內(nèi)容監(jiān)測與多核處理器結(jié)合之后,對網(wǎng)絡(luò)內(nèi)容監(jiān)測系統(tǒng)在多核處理器平臺上的性能優(yōu)化進行深入研究。根據(jù)IRCMS系統(tǒng)的實際情況提出了一套多核平臺性能優(yōu)化策略,測試并對比分析了AIRCMS系統(tǒng)的吞吐量性能,相比于未應(yīng)用多核優(yōu)化策略的系統(tǒng),性能有明顯提升。
文中提出的多核平臺性能優(yōu)化策略能夠使網(wǎng)絡(luò)內(nèi)容監(jiān)測系統(tǒng)將集中于某一點的制約吞吐量性能的因素平均分配于多個資源中,從根本上提升了網(wǎng)絡(luò)內(nèi)容監(jiān)測系統(tǒng)的整體性能,具有良好的現(xiàn)實意義和應(yīng)用前景。
[1] 趙林海, 李曉風(fēng), 譚海波. 基于CACTI的分布式ORACLE監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J]. 計算機系統(tǒng)應(yīng)用, 2010,19(9):134-137.
ZHAO Lin-hai, LI Xiao-feng, TAN Hai-bo. Design and implementation of distributed oracle monitor system based on CACTI[J]. Computer Systems & Applications, 2010, 19(9):134-137.
[2] 陳曉霞, 任勇毛, 李俊,等. 網(wǎng)絡(luò)測量與分析研究綜述[J].計算機系統(tǒng)應(yīng)用, 2010, 19(7):244-249.
CHEN Xiao-xia, REN Yong-mao, LI Jun, et al. A survey on network measurement and analysis[J]. Computer Systems &Applications, 2010, 19(7):244-249.
[3] 宋焱淼, 皇安偉, 穆源,等. 基于OWAMP的網(wǎng)絡(luò)性能測量技術(shù)[J].計算機工程, 2009, 35(14):138-141.
SONG Yan-miao, HUANG An-wei, MU Yuan, et al. Network performance measurement technique based on OWAMP[J].Computer Engineering, 2009, 35(14):138-141.
[4] 陳松, 王珊, 周明天. 分層的互聯(lián)網(wǎng)綜合測量管理系統(tǒng)的研究[J]. 計算機工程與應(yīng)用, 2009, 45(14):7-9.
CHEN Song, WANG Shan, ZHOU Ming-tian. Research on layered internet synthetic measurement management system[J].Computer Engineering and Applications, 2009, 45(14):7-9.
[5] 王瑞剛.多用途以太網(wǎng)分路器的設(shè)計與實現(xiàn)[J].電視技術(shù),2011, 35(5):74-76.
WANG Rui-Gang. Implementation and design of ethernet divider for multi-application[J]. Video Engineering, 2011,35(5):74-76.
[6] 張瀟丹, 李俊. 一種基于云服務(wù)模式的網(wǎng)絡(luò)測量與分析架構(gòu)[J]. 計算機應(yīng)用研究, 2012, 29(2):725-729.
ZHANG XIAO-dan, LI Jun. Network measurement and analysis architecture of cloud service[J]. Application Research of Computers, 2012, 29(2):725-729.
[7] 程帆, 王曉明. P2P網(wǎng)絡(luò)中基于分組的成員管理方案[J].計算機工程, 2012, 38(1):256-260.
CHEN Fan, WANG Xiao-ming. Membership management scheme based on grouping in P2P Network[J]. Computer Engineering, 2012, 38(1):256-260.
[8] Tiemey B, Boote J, Boyd E, et al. Instantiating a global network measurement framework[J]. LBNL Technical Report, 2009(8):105-117.
[9] Zurawski J, Boote J, Boyd E, et al. Hierarchically federated registration and lookup within the perfsonar framework[J]. IEEE international symposium on integrated network management,2007, 22(9):93-112.
[10] Guido R, Hiertz D D, Zang Y P, et al. The IEEE 802.11 universe[C]// IEEE Communications Magazine. 2010:54-68.
[11] Xing B, Seada K. An experimental study on Wi-Fi Ad-Hoc mode for mobile device-to-device video delivery[C]//IEEE INFOCOM Workshops, 2009:66-88.
Optimization strategy based on multicore optimization of network content monitoring system
LI Yan-guang
(College of Mathematics and Computer Application, Shangluo University,Shangluo 726000, China)
Bad information in the network is usually by e-mail, Web browsing, forum posting and other forms of spread compression for packet data network content monitoring system exists, the problem of decoding the transmission and keyword matching performance, the paper proposes a network contentthe monitoring system of the multi-core platform performance optimization strategy, and apply it to the test system. The experiments shows that when the number of core processor computing core increased to 7, the completion of the multi-core optimized web content monitoring system data throughput can be achieved 436.1% before optimization, effectively improves the performance of the system.
network content monitoring system; multicore optimization; throughput; processor
TP302
A
1674-6236(2014)14-0021-04
2013-11-06 稿件編號:201311053
陜西省教育廳科研專項(2013jk1160);商洛學(xué)院基金項目(09sky007);商洛學(xué)院服務(wù)地方專項(12sky-fwdf013)
李彥廣(1978—),男,陜西鎮(zhèn)安人,講師。研究方向:網(wǎng)絡(luò)數(shù)據(jù)庫。