周慧琴
(忻州師范學院,山西忻州034000)
網(wǎng)絡內(nèi)容監(jiān)測系統(tǒng)在功能結構、應用方向等方面與一般網(wǎng)絡鏈路流量監(jiān)測系統(tǒng)不同,網(wǎng)絡內(nèi)容監(jiān)測系統(tǒng)從應用方面來說主要是對網(wǎng)絡匯聚處的數(shù)據(jù)流量進行監(jiān)測,而且網(wǎng)絡內(nèi)容監(jiān)測系統(tǒng)的根本目的是對網(wǎng)絡數(shù)據(jù)信息進行審查,掃描和識別網(wǎng)絡信息的具體內(nèi)容.網(wǎng)絡內(nèi)容監(jiān)測系統(tǒng)的關鍵模塊是負責與數(shù)據(jù)信息緩沖隊列相關數(shù)據(jù)結構直接聯(lián)系,從系統(tǒng)結構上來看其核心模塊與數(shù)據(jù)信息匹配識別相關.網(wǎng)絡內(nèi)容監(jiān)測系統(tǒng)與一般網(wǎng)絡協(xié)議監(jiān)測系統(tǒng)工作流程相似,但又存在著多種差異之處,因此,在對網(wǎng)絡內(nèi)容監(jiān)測系統(tǒng)進行多核優(yōu)化處理的過程中也會體現(xiàn)出很多特性特點,尤其是其優(yōu)化結果能夠真正達到提高網(wǎng)絡性能的目的[1].由于網(wǎng)絡內(nèi)容監(jiān)測系統(tǒng)能夠?qū)⒕W(wǎng)絡流量中包含的內(nèi)容信息進行還原,并按照既定條件抓取網(wǎng)絡流量中的特定內(nèi)容信息,文章通過研究網(wǎng)絡內(nèi)容監(jiān)測系統(tǒng)多核優(yōu)化的問題,根據(jù)不同的網(wǎng)絡協(xié)議類型,不斷探索系統(tǒng)在審查網(wǎng)絡數(shù)據(jù)信息方面的獨特優(yōu)勢[2].
(1)當網(wǎng)絡內(nèi)容監(jiān)測系統(tǒng)(IRCMS)處于串行工作模式時,對其進行網(wǎng)絡性能分析,通過實驗在單核處理器平臺上測試IRCMS系統(tǒng)的數(shù)據(jù)信息吞吐量性能,并根據(jù)相關指標分析IRCMS系統(tǒng)存在的性能瓶頸.
(2)當IRCMS系統(tǒng)運行于多核處理器平臺時,逐個增加單核處理器的核心個數(shù),測試系統(tǒng)吞吐量性能是否能夠提高.
(3)綜合分析處于多核處理器平臺中IRCMS系統(tǒng)存在的性能瓶頸問題,針對具體問題提出多核性能優(yōu)化策略.
(4)對完成多核優(yōu)化之后IRCMS系統(tǒng)的數(shù)據(jù)信息吞吐量進行測試,與優(yōu)化之前的吞吐量性能進行對比分析,得到性能提升比例.
(5)以IRCMS系統(tǒng)作為多核優(yōu)化案例,分析應用了創(chuàng)新多核優(yōu)化策略之后,IRCMS系統(tǒng)吞吐量性能提高的特點和規(guī)律.
2.1.1 實驗硬件平臺
實驗測評的硬件平臺應用的是戴爾R710型號的多核服務器,服務器總共包含8個核心處理器(核心0至核心7),處理器采用的是Core微架構的Nehalem處理器.
2.1.2 實驗軟件平臺
實驗測評的軟件平臺選用的是CENT OS 5.3的 Linux發(fā)行版本,以及 Kernel 2.6.18操作系統(tǒng)內(nèi)核;實驗編譯環(huán)境選用的是GCC 4.1.2編譯器;系統(tǒng)測試工具為英特爾性能分析器.
2.1.3 實驗業(yè)務流量
實驗業(yè)務流量采用的是S市聯(lián)通寬帶網(wǎng)絡出口鏈路的真實業(yè)務流量,如表1所示.
表1 實驗業(yè)務流量情況Tab.1 Experimental traffic situation
IRCMS系統(tǒng)在單核處理器平臺中的吞吐量性能如表2所示.
表2 ITCMS系統(tǒng)單核處理器平臺吞吐量性能分析Tab.2 Analysis of throughput performance of single core processor platform ITCMS system
為了研究測評網(wǎng)絡內(nèi)容監(jiān)測系統(tǒng)由單核處理器平臺轉移到多核處理器平臺之后,網(wǎng)絡性能是否能夠得到擴展式提升,因此,對IRCMS系統(tǒng)運行于多核處理器平臺中時的吞吐量進行性能測試[4-6].
表3 ITCMS系統(tǒng)多核處理器平臺吞吐量性能分析Tab.3 Analysis of throughput performance of multi-core processor platform ITCMS system
表3中,當IRCMS系統(tǒng)在2個核心的多核處理器平臺運行時,吞吐量性能是在單核處理器平臺運行的128.35%,但是,IRCMS系統(tǒng)性能提升只是通過單純增加實驗硬件配置得到的,吞吐量性能提升的幅度只限于30%左右.隨著核心數(shù)量的不斷增加,IRCMS系統(tǒng)的吞吐量性能沒有明顯幅度提升,由此,能夠得到的結論是,IRCMS系統(tǒng)吞吐量性能提升并不具有良好的擴展性.而且,由表3數(shù)據(jù)分析可以表明,單純地增加核心處理器的硬件數(shù)量,網(wǎng)絡內(nèi)容監(jiān)測系統(tǒng)的吞吐量性能不能夠得到大幅度提升,因此,只能通過優(yōu)化軟件系統(tǒng)提高網(wǎng)絡內(nèi)容監(jiān)測系統(tǒng)的網(wǎng)絡性能.
多核平臺性能優(yōu)化中的流水線并行方式是有效的優(yōu)化方法,是由處理器執(zhí)行并行命令引鑒的,流水線并行方式是將系統(tǒng)的不同部分分為多個執(zhí)行階段,它們之間的耦合程度非常低,再將這些部分命令并行執(zhí)行.本文對IRCMS系統(tǒng)進行多核性能優(yōu)化實驗,采用的就是由其本身特性決定的三級流水線并行方式.在IRCMS系統(tǒng)中,功能線程分為F1、F2和F3三種,當運行于單核處理器平臺時仍然保持串行工作模式,本文根據(jù)主體功能線程的本身特點,分為多個不同的流水線結構單元,從而形成三級流水線并行的方式,再將三個不同的單元分別置于多核處理器平臺的核心處理器中,以便能夠同時得到數(shù)據(jù)信息資源進行計算.應用三級流水線并行方法進行多核優(yōu)化之后,能夠有效保證每個流水線的單元完成的是真正的并行處理[7].
圖1 三級流水線并行結構示意圖Fig.1 three level pipeline parallel structure schematic diagram
3.2.1 流水線單元之間硬件資源配置比例
本文多核優(yōu)化性能實驗中采用的多核平臺共包含8個核心處理器,只有核心0的作用限于數(shù)據(jù)流量的輸入,其他的7個核心處理器都用作于IRCMS系統(tǒng)的多核性能優(yōu)化處理.流水線單元之間硬件資源配置比例,是要根據(jù)單元之間的功能的重要性,以及計算的具體需求,將不同的核心分配于不同的流水線階段中,使得并行處理策略能夠更加有針對性.因此,以圖1的方式完成了流水線結構劃分之后,能夠明確計算需求最為密集的部分是第Ⅱ單元,當多核處理器平臺增加了新的計算核心時,根據(jù)優(yōu)先分配的原則發(fā)配到第Ⅱ單元使用.
3.2.2 流水線單元之間線程數(shù)量的匹配
當完成分配計算核心之后,需要對流水線單元線程數(shù)量進行比例配置,由于流水線單元線程的基于核心運行和執(zhí)行系統(tǒng)任務的最小單位,因此,如果需要調(diào)節(jié)軟件系統(tǒng)在每個階段處理數(shù)據(jù)信息的速度,或者對不同模塊運行造成的開銷進行調(diào)節(jié),可以通過增加和減少流水線單元線程數(shù)量來完成.而且,在對某個流水線單元的線程數(shù)量進行配置時,通常情況下要比投入的計算核心數(shù)量大,或者與投入的計算核心數(shù)量相等,由此才能夠真正保證計算資源的充分利用.
固定調(diào)度指的是在充分利用核心處理器的親和性前提下,將單元線程與特定計算核心通過關聯(lián)使其運行于此計算核心之中,不會隨意發(fā)生跳轉.本文IRCMS系統(tǒng)的多核平臺性能優(yōu)化采用的結合Linux調(diào)度的固定調(diào)度方式,將IRCMS系統(tǒng)中的部分線程進行固定,另一部分線程由Linux將兩部分結合共同完成調(diào)度任務.應用結合Linux調(diào)度的固定調(diào)度方式與傳統(tǒng)的固定調(diào)度方式比較而言,靈活性有了明顯提高,但是需要基于流水線單元資源配比之上才能應用[8].
3.4.1 對隊列結構進行優(yōu)化
對于某個隊列來說,當這個隊列的共享線程數(shù)量過多,就會引起隊列之間的同步競爭,甚至出現(xiàn)嚴重的串行化情況.因此,如果要降低由于共享造成隊列之間競爭的程度,需要以最大限度將隊列局部化,將共享資源進行分解,以此達到減少隊列的線程數(shù)量.
3.4.2 對銜接方式進行優(yōu)化
銜接方式指的是線程和隊列之間互相進行訪問.通過對銜接方式進行優(yōu)化,能夠合理分配進行系統(tǒng)工作,具體優(yōu)化步驟如下:
如圖2所示,在第I單元中,F(xiàn)1線程是與Ⅰ-Ⅱ隊列相互連接的,同時應用了報文連接分發(fā)的方式.網(wǎng)絡源地址、網(wǎng)絡目的地址、網(wǎng)絡源端口、網(wǎng)絡目的端口和網(wǎng)絡協(xié)議的報文使用的是同一個連接.F1線程將此報文的連接傳送到Ⅰ-Ⅱ相同的隊列中,由此,F(xiàn)2線程可以在第Ⅱ單元中對同一個連接的報文內(nèi)容信息進行掃描和審查,得到的匹配結果具有較強的相關性,使得系統(tǒng)管理員能夠盡早發(fā)現(xiàn)問題所在.
在第Ⅱ單元中,F(xiàn)2線程與Ⅰ-Ⅱ隊列、F2線程與Ⅱ-Ⅲ隊列之間采用的是相同的一對一處理固定銜接方式.
在第Ⅲ單元中,F(xiàn)3線程與Ⅱ-Ⅲ隊列之間的銜接應用的是輪詢訪問的銜接方式,F(xiàn)3線程對每一個匹配結果的緩沖隊列進行輪詢訪問,并將其結果存儲到數(shù)據(jù)庫中[9].
將對隊列結構和銜接方式進行優(yōu)化進行綜合分析之后,得到IRCMS系統(tǒng)的多核優(yōu)化隊列結構圖,其隊列數(shù)量能夠根據(jù)投入的計算核心數(shù)量,以及流水線單元之間的現(xiàn)場配置比例關系進行靈活變化.
圖2 IRCMS系統(tǒng)多核優(yōu)化隊列結構圖Fig.2 multi-core queue structure diagram of IRCMS system
通過對隊列結構和銜接方式進行優(yōu)化,能夠有效的將隊列線程局部化,真正降低了線程數(shù)量過多而造成的隊列競爭程度.
在IRCMS系統(tǒng)應用了上一章節(jié)提出的多核平臺性能優(yōu)化策略進行多核優(yōu)化之后,稱之為AIRCMS系統(tǒng).
表4 AIRCMS多核處理器平臺的吞吐量Tab.4 The throughput of AIRCMS multi processor platform
當實驗投入了3個核心處理器時,AIRCMS系統(tǒng)的吞吐量性能隨著核心數(shù)量的增加而明顯大幅度提高.當投入了7個核心處理器時,AIRCMS系統(tǒng)的吞吐量性能能夠達到416.34Mbps,與投入單個核心處理器的吞吐量性能相比較而言,吞吐量性能提高了436.10%,圖3給出了AIRCMS系統(tǒng)在采用了多核優(yōu)化策略之后,與未采用多核優(yōu)化策略的系統(tǒng)吞吐量性能變化情況[10].
圖3 多核優(yōu)化策略應用前后系統(tǒng)吞吐量性能對比圖Fig.3 The system throughput performance comparison chart of multi core optimization strategy before and after
本文提出的多核優(yōu)化策略需要投入的計算核心為3個.由此在圖3中,采用多核優(yōu)化策略進行優(yōu)化之后的AIRCMS系統(tǒng)的性能折線圖并沒有計算核心為2時的吞吐量性能點.對于沒有采用多核優(yōu)化策略的IRCMS系統(tǒng)來說,為了能夠與AIRCMS系統(tǒng)性能提升的擴展性進行對比,因此,記錄了核心2至核心7的吞吐量性能數(shù)據(jù)信息.
由圖3可以看出,IRCMS系統(tǒng)的吞吐量性能應用了多核優(yōu)化策略之后有了明顯提高,能夠隨著投入計算核心的數(shù)量增加而持續(xù)升高.當沒有應用多核優(yōu)化策略時,IRCMS系統(tǒng)的吞吐量性能不能夠隨著計算核心數(shù)量的增加而明顯提高.因此,如果需要網(wǎng)絡內(nèi)容監(jiān)測系統(tǒng)在充分利用硬件資源的前提下,網(wǎng)絡性能能夠有顯著性提高,必須有針對性將多核優(yōu)化策略應用于軟件系統(tǒng)中.
(1)定義多核優(yōu)化加速比指標
指標多核優(yōu)化加速比記作Sr,指的是綜合考慮了并行執(zhí)行開銷之后的系統(tǒng)理論加速比,而系統(tǒng)理論加速比是多核優(yōu)化加速比的基礎.
(2)多核優(yōu)化加速比公式
上述公式(1)中,f作為串行比例;n作為投入到系統(tǒng)運行計算的核心數(shù)量;fr作為并行執(zhí)行開銷與并行執(zhí)行計算時間之比.表5給出了當投入不同的核心數(shù)量時,串行比例f的變化情況.
表5 投入不同的核心數(shù)量時f的變化情況Tab.5 The function changes when input different number of cores
表6 并行執(zhí)行開銷與并行執(zhí)行計算時間之比frTab.6 The ratio frof parallel execution overhead and parallel execution of computation time
根據(jù)公式(1),計算AIRCMS系統(tǒng)的多核優(yōu)化加速比指標,如表7所示:
表7 AIRCMS系統(tǒng)多核優(yōu)化加速比Tab.7 The AIRCMS system kernel optimization speedup
將AIRCMS系統(tǒng)的多核優(yōu)化加速比指標與實際吞吐量性能提升比例進行對比,如圖4所示.
圖4 AIRCMS系統(tǒng)多核優(yōu)化加速比指標與實際吞吐量性能提升比例對比Fig.4 The ratio index of AIRCMS system kernel optimization speedup comparison with the actual throughput performance
對AIRCMS系統(tǒng)串行開銷比例f,以及并行執(zhí)行產(chǎn)生的新的開銷比例fr進行測量計算,能夠得到AIRCMS系統(tǒng)的多核優(yōu)化加速比指標值數(shù).圖4中,多核優(yōu)化加速比計算的吞吐量提升比例與系統(tǒng)吞吐量提升比例基本相同,但是在折線圖的后半部分出現(xiàn)了明顯差異,當計算核心的數(shù)量6和7時,系統(tǒng)吞吐量性能的提升已經(jīng)開始落后于多核優(yōu)化加速比例的提升.這是由于當計算核心的數(shù)量為6和7時,IRCMS系統(tǒng)中有兩路F1線程同時運行于流水線第I單元部分,從而降低了系統(tǒng)吞吐量性能的提升比例,因此與多核優(yōu)化加速比計算的吞吐量性能之間存在一定距離.總之,當IRCMS系統(tǒng)應用了本文提出的多核優(yōu)化加速策略之后,吞吐量性能的提升幅度與多核優(yōu)化加速比計算過后得到的理論吞吐量性能提升幅度基本相同.
由于網(wǎng)絡內(nèi)容監(jiān)測系統(tǒng)存在著嚴重的網(wǎng)絡性能瓶頸,主要體現(xiàn)于報文數(shù)據(jù)的壓縮、譯碼和傳輸,以及關鍵字匹配等方面.尤其是當網(wǎng)絡內(nèi)容監(jiān)測系統(tǒng)需要完成關鍵字匹配工作時,其開銷能夠占據(jù)到系統(tǒng)總體開銷的一半之多.本文選擇了自主研發(fā),且具有代表性的IRCMS系統(tǒng),對IRCMS系統(tǒng)在多核處理器平臺上的網(wǎng)絡性能進行優(yōu)化,根據(jù)IRCMS系統(tǒng)的實際情況提出了一套多核平臺性能優(yōu)化策略,并將其應用于IRCMS系統(tǒng)中進行評測,得到了AITCMS系統(tǒng)的吞吐量性能,將其與未應用多核優(yōu)化策略的ITCMS系統(tǒng)的吞吐量性能進行對比分析,當投入的計算核心數(shù)量為7時,系統(tǒng)吞吐量性能的提升是之前的436.10%.因此,本文提出的多核平臺性能優(yōu)化策略能夠使網(wǎng)絡內(nèi)容監(jiān)測系統(tǒng)將集中于某一點的制約吞吐量性能的因素平均分配于多個資源中,從根本上提升了網(wǎng)絡內(nèi)容監(jiān)測系統(tǒng)的整體性能,具有良好的現(xiàn)實意義和應用前景.
[1]趙林海,李曉風,譚海波.基于CACTI的分布式ORACLE監(jiān)控系統(tǒng)的設計與實現(xiàn)[J].計算機系統(tǒng)應用.2010,19(09):134-138.
[2]陳曉霞,任勇毛,李俊,張瀟丹.網(wǎng)絡測量與分析研究綜述[J].計算機系統(tǒng)應用.2010,19(07):244-249.
[3]宋焱淼,皇安偉,穆源,王芳.基于OWAMP的網(wǎng)絡性能測量技術[J].計算機工程.2009,35(14):138-141.
[4]陳松,王珊,周明天.分層的互聯(lián)網(wǎng)綜合測量管理系統(tǒng)的研究[J].計算機工程與應用.2009,45(14):07-09.
[5]馬維旻,曾宇胸,楊永平.一種分布式的寬帶網(wǎng)絡測量系統(tǒng)[J].計算機系統(tǒng)應用.2011,20(02):09-13.
[6]張瀟丹,李俊.一種基于云服務模式的網(wǎng)絡測量與分析架構[J].計算機應用研究.2012,29(02):725-729.
[7]程帆,王曉明.P2P網(wǎng)絡中基于分組的成員管理方案[J].計算機工程.2012,38(01):256-257.
[8]Tierney B,Boote J,Boyd E,et al.Instantiating a Global Net work Measurement Framework[R].LBNL Technical Report LBNL-1452E.2009.
[9]Zurawski J,Boote J,Boyd E,et al.Hierarchically federated registration and lookup within the perfsonar framework(short paper,poster session)[C].Tenth IFIP/IEEE International Symposium on Integrated Network Management,2007.
[10]Guido R Hiertz,Dee Denteneer,Zang Yunpeng,et al.The IEEE 802.11 universe[J].Communications Magazine,IEEE.2010,48(1):62-70.
[11]Bo Xing,Seada K Venkatasubramanian.An experimental study on Wi-Fi Ad-Hoc mode for mobile device-to-device video delivery[C].Brazil:IEEEINFOCOM Workshops,2009:1-6.