亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于并行隊列的眾核平臺入侵檢測系統(tǒng)

        2017-11-08 10:21:53陸遙余翔湛
        智能計算機與應用 2017年5期
        關鍵詞:并行計算

        陸遙+余翔湛

        摘要: 本文通過分析和總結以Suricata為代表的現(xiàn)有的主流并行化入侵檢測系統(tǒng)的體系結構,并對Suricata的3種工作方式結合現(xiàn)有tilera系列硬件平臺的硬件特點進行了理論分析。提出了眾核入侵檢測系統(tǒng)的設計要點。并設計了一種基于非統(tǒng)一內(nèi)存訪問與內(nèi)存池的入侵檢測結構。該結構將傳統(tǒng)的流水線模式與并發(fā)模式相結合,在盡可能少地進行核間通訊的前提下,最大程度地提升了單核的內(nèi)存使用效率和cache命中率。同時使用共享內(nèi)存池進一步提高了讀寫密集情況下的內(nèi)存使用效率,使用改進的無鎖通訊隊列保證了核間通訊的效率,使得該架構在眾核平臺具有很高的實用性,其主要模塊的設計思想也具有一定程度上的可移植性。本文最終設計并實現(xiàn)了一個高效的基于眾核平臺的入侵檢測系統(tǒng)。

        關鍵詞:入侵檢測系統(tǒng); 眾核; 流量識別; 并行計算

        中圖分類號: TP393.08

        文獻標志碼: A

        文章編號: 2095-2163(2017)05-0082-05

        Abstract: In view of the hardware characteristics of the existing tilera series hardware platform, the three kinds of working modes of Suricata are analyzed theoretically in this paper. The main points of the design of the system for the detection of the multicore intrusion are put forward.Based on the main point of the design, this paper proposes an intrusion detection architecture which has nonuniform memory access and large page memory pool. The structure combines the traditional pipelined mode with the concurrent mode, and improves the memory efficiency and cache hit rate of the single core to the greatest extent. At the same time, the use of shared memory pool further improves the memory efficiency of dense reading and writing, which makes the structure has very high practicability in the multicore platform, and the design of the main module also has a certain degree of portability. Consequently, this paper designs and implements an efficient intrusion detection system based on manycore platform.

        Keywords: identification detection system; manycore; flow recognition; concurrent computation

        0引言

        據(jù)統(tǒng)計,互聯(lián)網(wǎng)流量已達到每12個月即會增長一倍,超過了摩爾定律的速度[1]。相比于在未來一定時間將持續(xù)快速增長的網(wǎng)絡帶寬,單一處理器的計算能力卻日趨瓶頸。相關人士認為未來芯片的迭代會變得更慢,其間隔可能會達到2.5~3年。目前英特爾最新一代處理器已采用14 nm工藝,正在逐步接近現(xiàn)有處理器架構的物理極限。若按現(xiàn)在的速度繼續(xù)發(fā)展,到21世紀20年代中期,晶體管的尺寸將僅有單個分子大小,晶體管也將變得非常不穩(wěn)定,若沒有新的技術突破,摩爾定律將會徹底終結。同時,由于單純提升主頻而帶來的發(fā)熱等問題,基于單核、多核處理器的普通網(wǎng)絡報文捕獲平臺的計算性能已經(jīng)成為大規(guī)模網(wǎng)絡防火墻、寬帶網(wǎng)絡入侵檢測系統(tǒng)以及高性能路由等網(wǎng)絡工程的性能瓶頸。對于現(xiàn)在乃至未來更大規(guī)模的高速網(wǎng)絡,如何突破普通報文捕獲平臺的性能瓶頸,研究和實現(xiàn)面向大規(guī)模寬帶網(wǎng)絡的高性能網(wǎng)絡數(shù)據(jù)捕獲技術,對并行處理、網(wǎng)絡安全、高性能路由器等諸多領域都有著非常重要的意義。

        作為突破單核、多核性能瓶頸的手段之一,眾核處理器作為擁有強大并行處理能力的新一代處理器,成為有效解決以上問題的手段之一。目前的眾核處理器可集成數(shù)十至幾百個核,每個核是一個執(zhí)行單元,對整個數(shù)據(jù)包或其中的一個子任務進行處理?,F(xiàn)代高性能并行處理系統(tǒng)通常采用超標量流水線結構,數(shù)據(jù)包處理劃分成多個并行子任務集,每個子任務集是由眾核處理器中的若干個核并行執(zhí)行,子任務集到核資源集的映射由運行時系統(tǒng)完成[2]。隨著技術發(fā)展和需求推動,未來處理器將集成幾百甚至上千個核,這類處理器系統(tǒng)一般稱為眾核處理器系統(tǒng)。眾核處理器核數(shù)的增加保證了計算和數(shù)據(jù)處理能力持續(xù)提高,然而如何使這種硬件能力轉變成應用性能的提升,是眾核時代面臨的嚴峻挑戰(zhàn)之一。

        本文基于美國Tilera公司的TILE-Gx系列處理器進行眾核平臺數(shù)據(jù)包捕獲系統(tǒng)的設計。成立于2004年的Tilera是一家致力于開發(fā)通用型多核心處理器的新興無晶圓半導體業(yè)者。該公司的Tile處理器架構源自于Agarwal博士早從1990年代起在麻省理工學院(MIT)研發(fā)的多重處理器叢集技術。其TILE-Gx系列處理器是世界上第一款100核心以上的處理器,采用網(wǎng)格化多核架構,通過iMesh網(wǎng)絡實現(xiàn)眾多處理器核互聯(lián),將單芯片處理能力提高了數(shù)十到數(shù)百倍,在外接2塊Intel萬兆網(wǎng)卡的情況下可以滿足在重要網(wǎng)絡出入口上進行高速捕包的硬件性能需求[3]。endprint

        該平臺具有36個計算核心,64-bit VLIW超長指令字架構并支持64位指令集和40位物理尋址空間,每個通用目的處理核心都有自己的32 KB一級指令緩存、32 KB一級數(shù)據(jù)緩存、256 KB二級緩存切換開關,共享三級緩存,并集成了智能NIC硬件,用于網(wǎng)絡流量的預處理、負載均衡、緩沖管理。TILE-Gx系列采用臺積電40 nm工藝制造,37.5×37.5 mm BGA封裝,主頻為1.2 GHz,所有計算核心共享雙通道內(nèi)存訪問控制,可提供3個PCI-E 2.0 x8、2個千兆和2個萬兆以太網(wǎng)端口、3個USB 2.0端口,典型功耗48 W,平均每個核心不到0.5 W[4]。配合萬兆網(wǎng)絡接口探討此類眾核硬件系統(tǒng)的高速捕包系統(tǒng)架構。

        由此可以看出,該平臺具有典型眾核平臺所具有的特點,即單核計算能力相比傳統(tǒng)單核處理器較弱,相比于已經(jīng)具有單核4.2 GHz,6 MB三級緩存的最新一代英特爾酷睿i7-7700處理器,單核頻率僅有1.2 GHz且只獨占256 KB二級緩存的Tilera-GX36處理器在性能上明顯較差。然而其具有的36核iMesh網(wǎng)絡在大規(guī)模并行計算上可以彌補其單核性能的不足。同時其平均每個核心不到0.5 W的功耗也在實用性上更勝一籌。

        在系統(tǒng)方面,其系統(tǒng)結構如圖2所示,由Hypervisor層、Supervisor層和應用軟件層三層構成。在此,針對各層的功能概述可作闡釋解析如下。

        首先,Hypervisor層是硬件驅動程序層,管理內(nèi)核間、內(nèi)核與IO控制器間的通信,提供—個底層的虛擬內(nèi)存系統(tǒng);每—個內(nèi)核上都運行—個單獨的Hypervisor實例。

        其次,Supervisor層是SMP Linux操作系統(tǒng),通過Hypervisor管理硬件資源,為用戶應用程序和庫提供系統(tǒng)命令、IO設備、進程和虛擬內(nèi)存分配等高級別服務;這一層允許多進程/多線程的應用來提升多核的性能。

        最后,應用軟件層是軟件體系的最上層,該層程序代碼通過操作系統(tǒng)調度、管理硬件資源,實現(xiàn)各種具體應用功能[5]。同時,應用軟件層除了和x86架構一樣支持C實時庫、NetlO庫等標準庫之外,還支持Tilera多核組件庫等專用庫。因此在本質上,使用Tilera眾核處理器的服務器依然具備標準的硬件、底層驅動、操作系統(tǒng)、應用軟件的層級結構。

        2基于眾核平臺的入侵檢測系統(tǒng)模型

        2.1現(xiàn)有x86架構主流入侵檢測系統(tǒng)架構分析

        人們將即時監(jiān)視網(wǎng)絡中的流量傳輸,對可疑傳輸進行報警,并在特定情況下采取主動反制措施的網(wǎng)絡安全設備稱為入侵檢測系統(tǒng)(Intrusion Detection System,IDS)。由定義可以看出在設計上雖然主要行使檢測功能,但仍屬于主動安全防護技術的一種,這使得IDS區(qū)別于其他網(wǎng)絡安全設備。

        按照IETF的定義,一個入侵檢測系統(tǒng)可以分為以下4個組件:

        1)事件產(chǎn)生器(Event generators)。功能目的是從整個計算環(huán)境中獲得事件,并向系統(tǒng)的其他部分提供此事件。

        2)事件分析器(Event analyzers)??山?jīng)過分析得到數(shù)據(jù),并產(chǎn)生分析結果。

        3)響應單元(Response units)。就是對分析結果作出反應的功能單元,可以作出切斷連接、改變文件屬性等強烈反應,也可以只是簡單的報警。

        4)事件數(shù)據(jù)庫(Event databases)。 是存放各種中間和最終數(shù)據(jù)的地方的統(tǒng)稱,既可以是復雜的數(shù)據(jù)庫,也可以是簡單的文本文件[6]。

        在目前的眾多的IDS中,由開放信息安全基金會開發(fā)的Suricata應用最為廣泛,對多線程與分布式計算支持較好,穩(wěn)定性較高的系統(tǒng)之一。Suricata通過libpcap、netmap、af-packet等工具獲取報文,數(shù)據(jù)接收模塊為從網(wǎng)卡的接收隊列中接收數(shù)據(jù)包,并將封裝在Packet結構中,然后放入下一個緩沖區(qū)。解碼模塊對緩沖區(qū)中數(shù)據(jù)包進行解碼,主要是對數(shù)據(jù)包頭部信息進行分析并保存在Packet結構中,再交由流重組TCP模塊對數(shù)據(jù)包進行TCP流重組。重組完成的TCP流由協(xié)議插件模塊檢測是否包含入侵行為,再由Verdict模塊經(jīng)過內(nèi)核對數(shù)據(jù)包進行接收或丟棄的判斷處理。最后通過應答模塊調用libnet對要執(zhí)行阻斷操作的數(shù)據(jù)包進行相應的阻斷處理。

        策略名策略描述特點

        Auto模塊完全解耦,通過緩沖區(qū)交互模塊之間不存在阻塞,充分發(fā)揮計算性能,核間通信開銷大

        Auto-FP合并了解碼/接收,流重組/檢測模塊減少核間通訊,緩沖區(qū)空間小,流重組/檢測模塊計算負擔過重,程序局部性差

        Worker各自worker獨立執(zhí)行所有流程核間通訊開銷低,計算負擔大,最差的程序局部性,模塊之間存在阻塞

        [HT5”SS][ST5”BZ][WT5”BZ][FL(2K2]

        2.2現(xiàn)有x86架構主流入侵檢測系統(tǒng)架構分析

        為了平衡系統(tǒng)核間通訊與程序局部性的開銷,最大化發(fā)揮眾核平臺的性能,本系統(tǒng)提出一種基于并行隊列的處理模型。該模型采用將模塊分組并行的方式,組內(nèi)采用流水線模式處理數(shù)據(jù),組間獨立并行運行,系統(tǒng)流程圖如圖3所示。

        該系統(tǒng)依然按照傳統(tǒng)入侵檢測系統(tǒng)的工作流程設計,劃分為3個主要模塊:數(shù)據(jù)接收模塊、流重組模塊與檢測模塊。架構采用了基于并行隊列的分布式數(shù)據(jù)流模型,其主要流程為數(shù)據(jù)接收模塊完成Tilera硬件api的調用,通過Mpipe進行數(shù)據(jù)包的解碼與負載均衡,將來自旁路監(jiān)聽的網(wǎng)絡端口的數(shù)據(jù)包解析至ip層后直接拷貝至數(shù)據(jù)流保存在iqueue中并完成后續(xù)模塊的硬件綁定與任務派生和相關初始化工作。流重組模塊基于Rafal Wojtczuk的網(wǎng)絡入侵檢測接口Libnids完成tcp流重組與syn表的維護工作,再將數(shù)據(jù)包還原成數(shù)據(jù)流寫入內(nèi)存池,并將各內(nèi)存池所需的描述符結構與緩存數(shù)據(jù)按照各自對應的檢測模塊通過改進的無鎖循環(huán)消息隊列分發(fā)到相應的處理隊列中,進而回收釋放隊列中的內(nèi)存池資源。最后由檢測模塊從內(nèi)存池中獲取內(nèi)容,并調用相應的插件完成解析與響應工作,將相應句柄放入釋放隊列中。endprint

        總體上,該系統(tǒng)結構上與autoFP模式有一定的相似之處,其主要不同之處為數(shù)據(jù)接收模塊使用與硬件交互的Mpipe模塊完成對數(shù)據(jù)包的零拷貝緩存、解析、負載均衡分發(fā)操作,最終的結果通過iqueue環(huán)形隊列進行緩存,又直接使用單獨的內(nèi)存池完成對共享內(nèi)存的管理,并在傳輸層按照一定的比值對所對應的檢測模塊進行流分發(fā),在模塊間通訊策略上采用了改進的無鎖循環(huán)隊列Fast forward recycle queue。而且由單純以CPU的倍數(shù)決定的并發(fā)模型改為按照計算核心的物理空間進行分組同時使用了核心綁定。

        3基于眾核平臺的入侵檢測關鍵技術

        3.1基于Mpipe的高性能數(shù)據(jù)捕獲平臺設計

        為了解決傳統(tǒng)網(wǎng)絡數(shù)據(jù)包捕獲平臺中的性能瓶頸,需要結合新的硬件平臺對于數(shù)據(jù)捕獲流程進行優(yōu)化,減少數(shù)據(jù)拷貝,數(shù)據(jù)同步的過程。對于數(shù)據(jù)包接收、完整性校驗、負載均衡等所有網(wǎng)絡應用均會用到的,原本由系統(tǒng)層面完成的工作,盡可能以新硬件的形式整合進網(wǎng)絡接口中。而對于用戶層空間,則保留對于不同應用程序的接口以對應不同的需求。

        本文設計了基于Tilera公司的Mpipe (Multi-core programmable intelligent packet engine)網(wǎng)絡接口的高性能捕包平臺。數(shù)據(jù)的捕獲、數(shù)據(jù)校驗、負載均衡等操作均通過Mpipe高性能網(wǎng)絡接口完成,Mpipe是基于Tilera平臺的一套高性能網(wǎng)絡接口,理論上可實現(xiàn)40 Gbps線速數(shù)據(jù)流的分類轉發(fā)。通過該平臺可以實現(xiàn)在Tilera眾核服務器設備中從物理網(wǎng)絡接口到用戶空間的直接寫入,并使用專用硬件完成數(shù)據(jù)包的完整性校驗與負載均衡,極大簡化了數(shù)據(jù)捕獲的流程[7]。同時使用無鎖環(huán)形隊列實現(xiàn)了用戶層與硬件網(wǎng)絡接口的高效無鎖通訊,在通訊內(nèi)容上采用基于描述符的消息傳遞機制,減少了數(shù)據(jù)拷貝的開銷。主要的數(shù)據(jù)捕獲流程如圖4所示。

        主要步驟如下:

        1)Mpipe對捕獲的數(shù)據(jù)包進行特征提取,并由專用硬件剝離完成以太包頭部、計算校驗和等操作。

        2)發(fā)起DMA請求,由網(wǎng)卡通過DMA將接收到的數(shù)據(jù)包從網(wǎng)卡緩沖區(qū)寫入內(nèi)核緩沖區(qū)。

        3)使用生成的描述符按照一定的規(guī)則寫入對應用戶空間的Notify ring中。

        4)worker通過notify ring獲取描述符,訪問緩沖區(qū),完成上層操作。

        3.2改進的無鎖隊列核間通信技術

        一般情況下,為了保證數(shù)據(jù)不被多個線程同時讀寫會采用同步鎖以確保同步性,然而這會使得大量線程阻塞在臨界區(qū),造成性能的急劇下降。Lamport算法已經(jīng)證明,在順序一致性模型下,單生產(chǎn)者、單消費者隊列的鎖可以去掉,從而形成一個并發(fā)無鎖隊列[8]。因此并行程序的一致性問題最好通過算法的方式實現(xiàn)進程的順序一致性從而避免沖突。

        在固定尺寸的循環(huán)隊列中,由于不存在同步鎖帶來的延遲,系統(tǒng)核間通信的開銷將重新回到內(nèi)存的讀寫與分配中。在經(jīng)典的無鎖隊列Lamports queue和Fast forward queue中,由于指針指向空間的動態(tài)變化,每次環(huán)形隊列的讀寫都會伴隨一次空間的申請釋放操作。如果想要進一步減少核間通訊的開銷,必將從減少核間通訊時內(nèi)存的申請與釋放操作入手。本系統(tǒng)基于經(jīng)典的無鎖隊列算法,參照下文中內(nèi)存池的內(nèi)存塊回收思想提出了無鎖回收隊列算法(Fast forward recycle queue),算法主要操作如圖5所示。

        [

        無鎖回收隊列算法使用2個Fast forwards CLF Queue分別作為Data queue與Free queue,分別用來保存已使用空間和未使用空間。在隊列初始化時,將為Free queue的每一個元素預分配一部分空間。當有數(shù)據(jù)需要通過隊列傳輸時,將首先從Free隊列中申請需要的空間,并直接使用該部分的內(nèi)存空間保存?zhèn)鬏斀Y果。當讀寫完畢進入傳輸環(huán)節(jié)后,將該空間指針pbuffer寫入data隊列,這樣接收端可以直接通過pbuffer訪問數(shù)據(jù)。當數(shù)據(jù)訪問完成后指針從Data queue中取出重新進入Free queue等待下一次申請。相比于Lamports queue,該方法所使用的Data.rp和Free.wp變量為接收端私有,F(xiàn)ree.rp和data.wp變量為發(fā)送端私有,從而避免了因為共享變量產(chǎn)生的cache顛簸問題。相比于普通的Fast forwards CLF Queue,無鎖回收隊列算法主要的區(qū)別在于內(nèi)存區(qū)塊的映射方式,具體的內(nèi)存區(qū)塊映射方式如圖6所示。

        由圖6可見,F(xiàn)ast forward recycle queue與標準的Fast forward不同之處主要區(qū)別在于其擁有2個隊列,隊列中僅保存buffer指針,而實際的buffer空間是由data_queue與free_queue共享的。當應用程序申請隊列空間時可以直接使用申請的buffer空間作為自身共享緩存,同時通信完成后該區(qū)域也并不釋放,只是將指針歸還到free_queue中,當下一次buffer被申請時數(shù)據(jù)將直接覆蓋寫入該內(nèi)存塊。由于一般類型的數(shù)據(jù)結構大多都有內(nèi)建的邊界控制或同時傳輸緩存區(qū)尺寸的描述符,因此無需考慮此處的數(shù)據(jù)污染問題。通過該方式可以實現(xiàn)僅在系統(tǒng)啟動時完成一次內(nèi)存申請,之后便可直接讀寫重復利用空間。

        4系統(tǒng)綜合性能評估

        采用了基于并行隊列的系統(tǒng)整體性能評估方法測量系統(tǒng)整體吞吐量(Throughput)。其定義為:在沒有包丟失的情況下,設備能夠接受的最大速率,這是衡量入侵檢測系統(tǒng)性能的主要指標之一。

        Tilera Gx36處理器擁有36個計算核心,使用2路NUMA完成內(nèi)存訪問,本系統(tǒng)采用將計算核心鏡像劃分為2組的方式最大限度地使用內(nèi)存控制器的帶寬。通過前一章節(jié)對于入侵檢測系統(tǒng)的模塊計算資源占用測量,可以得到計算量占比最大的分別為檢測和流重組模塊。因此各組均固定使用一個核心作為接收模塊完成數(shù)據(jù)接收與Mpipe調用,之后的其他核心均用作流重組/檢測模塊,其計算核心的比值作為重組/檢測比。在不同協(xié)議/流量環(huán)境,不同計算平臺上可能會存在不同的最優(yōu)值,從而實現(xiàn)最佳的系統(tǒng)性能。本次實驗環(huán)境采用的是每組17個計算核心,出于方便分組考慮使用16個核心綁定流重組/檢測模塊,可采用的重組/檢測比為1/1、1/2、1/3、1/5、1/7,其中1/2為5組重組檢測比為1/2的核心與1組重組檢測比為1/1的核心,1/5為2組1/5的核心與1組1/3的核心,當重組檢測比不一致時存在的負載均衡問題,會結合檢測結果進行探討。endprint

        將本系統(tǒng)部署于最高可達20 Gb/s以上日常流量的某網(wǎng)絡節(jié)點測試環(huán)境中進行測試,同樣使用隨機生成的1 000條http規(guī)則作為參照。經(jīng)測量該實際流量的平均包尺寸為780 byte,其中http協(xié)議流量數(shù)據(jù)包占比約為72%。系統(tǒng)注冊插件為基于AC自動機的http關鍵字檢測模塊,配置有1 000條常用http關鍵字檢測規(guī)則。通過對不同重組/檢測比的系統(tǒng)吞吐量進行測量,并將其與Suricata運行模式中定義的Worker模式為標準的傳統(tǒng)并發(fā)式系統(tǒng)架構的吞吐量進行對比,同時并發(fā)架構未采用計算核心綁定、ncx_pool、無鎖回收隊列等本系統(tǒng)的改進點,系統(tǒng)總體性能如圖7所示,其中橫坐標為重組/檢測比中的分母,即1個重組模塊對應的檢測模塊個數(shù),縱坐標為吞吐量Gb/s。

        從圖7中可以看出,基于非統(tǒng)一內(nèi)存的計算核心分配方案當重組/檢測比較低,即在流重組分配內(nèi)核較多的情況下主要瓶頸在于檢測模塊,當重組檢測比為1/1時相當于只對應一個檢測模塊,其性能略低于未采用任何優(yōu)化的并發(fā)模型,說明其架構性能要明顯弱于系統(tǒng)的并發(fā)模型。隨著重組/檢測比的不斷降低,系統(tǒng)吞吐量顯著提高,這也說明了由于測試流量中http流量占比較高,http關鍵字檢測的計算流程涉及到較為復雜的多模式匹配,同時http實際流量中包含了圖片等容量較大的信息,網(wǎng)絡流量數(shù)據(jù)的檢測開銷明顯大于流重組開銷。隨著檢測模塊的增加開始比達到1/3和1/5時系統(tǒng)性能達到最高值6.9 Gbps。之后隨著流重組模塊的減少,系統(tǒng)吞吐量出現(xiàn)了逐漸下降。

        通過以上數(shù)據(jù)可以看出,由于將內(nèi)存局部性較強的流還原和檢測2個模塊拆分,并按照NUMA節(jié)點的計算核心分配情況進行了分組,同時加入了計算核心綁定,使用ncx_pool內(nèi)存池等優(yōu)化,系統(tǒng)的內(nèi)存利用率得到了有效提升,有效提高了緩存利用率。主要體現(xiàn)在當系統(tǒng)以合適的重組/檢測比運行時吞吐量的明顯提升,相比于傳統(tǒng)的并行模式,在Tilera Gx36平臺下基于非統(tǒng)一內(nèi)存的計算核心分配方案可以使系統(tǒng)吞吐量提升約50%。同時也應注意,在1/2、1/5處由于重組/檢測比會出現(xiàn)負載均衡問題,實際性能會低于該結構下的理論性能。尤其在1/2處可以看到曲線有1個明顯的下凹,此處是因為有1個組從1/2降低到了1/1,即通信隊列的緩存空間需求增加了1倍,此時可能會造成系統(tǒng)阻塞在緩存空間申請?zhí)?,[LL]

        從而影響了系統(tǒng)整體吞吐量??梢酝茰y,隨著可用計算核心數(shù)量的增加,在實現(xiàn)核心均勻分配的情況下,相比于當下,1/2、1/5的重組檢測比的分配方式具有更高的性能。

        5結束語

        本文通過對傳統(tǒng)并行入侵檢測模型與現(xiàn)有Tilera系列硬件平臺的硬件特點進行分析,提出眾核平臺的并行化系統(tǒng)設計要點,并設計和實現(xiàn)了高速并行化入侵檢測系統(tǒng)。本文主要取得的研究成果如下:

        1)分析和總結了以Suricata為代表的主流并行化入侵檢測系統(tǒng)的體系結構,并對Suricata的3種工作方式結合現(xiàn)有tilera系列硬件平臺的硬件特點進行了理論分析,提出了眾核入侵檢測系統(tǒng)的設計要點。

        2)結合提出的系統(tǒng)設計要點,提出了一種基于并行隊列的入侵檢測結構。該結構將傳統(tǒng)的流水線模式與并發(fā)模式相結合,在盡可能少地進行核間通訊的前提下,最大程度地提升了單核的內(nèi)存使用效率和cache命中率。同時使用改進的無鎖回收消息隊列和共享內(nèi)存池進一步提高了讀寫密集情況下的內(nèi)存使用效率,使得該架構在眾核平臺具有很高的實用性,其主要模塊的設計思想也具有一定程度上的可移植性。最終實現(xiàn)了一個高效的基于眾核平臺的入侵檢測系統(tǒng)。

        3)完成了對系統(tǒng)整體在不同核心分配方案下相比于傳統(tǒng)并發(fā)模型的性能測試。實驗結果表明,本系統(tǒng)在眾核平臺的運行效率要明顯優(yōu)于傳統(tǒng)的并行入侵檢測系統(tǒng),體現(xiàn)出了非常高的系統(tǒng)資源使用效率。

        參考文獻:

        譚章熹,林闖,任豐源,等. 網(wǎng)絡處理器的分析與研究[J]. 軟件學報,2003,14(2): 253-267.

        [2] 羅章琪,黃昆,張大方,等. 面向數(shù)據(jù)包處理的眾核處理器核資源分配方法[J]. 計算機研究與發(fā)展,2014,51(6):1159-1166.

        [3] 陳遠知. 多核處理器的里程碑——TILE64[J]. 計算機工程與應用,2009,45(???07-309.

        [4] Tilera. Tile Processor Architecture Overview for the TILE-Gx Series, UG130[Z]. USA:Tilera Corporation,2012.

        [5] 陳遠知,楊帆. Tilera多核處理器網(wǎng)絡應用研究[C]//第五屆信號和智能信息處理與應用學術會議. 北京:中國高科技產(chǎn)業(yè)化研究會,2011:98-100,120.

        [6] 葉穎, 嚴毅. 基于通用入侵規(guī)范下網(wǎng)絡入侵檢測系統(tǒng)的實現(xiàn)[J] . 廣西大學學報(自然科學版),2005,30(Supp):55-57.

        [7] Tilera. MDE mpipe Programmer's Guide, UG506[Z]. USA:Tilera Corporation,2013.

        [8] [JP3]ADVE S V, GHARACHORLOO K. Shared memory consistency models: A tutorial[J]. Computer, 1996,29(12):66-76.endprint

        猜你喜歡
        并行計算
        基于Hadoop的民航日志分析系統(tǒng)及應用
        軟件導刊(2017年1期)2017-03-06 00:10:08
        基于自適應線程束的GPU并行粒子群優(yōu)化算法
        云計算中MapReduce分布式并行處理框架的研究與搭建
        矩陣向量相乘的并行算法分析
        并行硬件簡介
        不可壓NS方程的高效并行直接求解
        基于GPU的超聲場仿真成像平臺
        基于Matlab的遙感圖像IHS小波融合算法的并行化設計
        科技視界(2016年11期)2016-05-23 08:13:35
        大數(shù)據(jù)背景的IT平臺架構探索
        科技視界(2015年30期)2015-10-22 11:44:33
        基于枚舉的并行排序與選擇算法設計
        久久久久久夜精品精品免费啦 | 亚洲长腿丝袜中文字幕 | 国产69精品久久久久777| 国产色诱视频在线观看| 激情中文丁香激情综合| 性感熟妇被我玩弄到高潮| 永久免费a∨片在线观看| 丁香五香天堂网| 亚洲三区二区一区视频| 亚洲精品国产成人久久av盗摄| 精品无码久久久久久久久| 97久久精品午夜一区二区| 中文字幕亚洲人妻系列| 亚洲精品国产熟女久久久| 狠狠摸狠狠澡| 久久久久久久综合狠狠综合| 亚洲综合久久1区2区3区| 亚洲av色福利天堂久久入口| 香港aa三级久久三级| 中国年轻丰满女人毛茸茸| 青青草针对华人超碰在线| 老熟女老女人国产老太| 久久久久波多野结衣高潮| 看全色黄大色黄大片 视频| 亚洲欧美精品伊人久久| 国产精品一区二区午夜久久| 国产精品美女自在线观看| 日韩中文字幕有码午夜美女| 国产在线精品成人一区二区三区 | 久久久中文字幕日韩精品| 小鲜肉自慰网站| 在线观看av手机网址| 亚洲乱码中文字幕第一页| 乱码1乱码2美美哒| 久久97精品久久久久久久不卡| 久久午夜伦鲁鲁片免费| 一区二区三区国产在线视频| 国产人妻精品一区二区三区| 亚洲天堂av免费在线看| 一区二区三区av在线| 成人午夜特黄aaaaa片男男|