新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于多核處理器的DPI平臺的設計與應用

        基于多核處理器的DPI平臺的設計與應用

        作者: 時間:2014-11-08 來源:網絡 收藏

          前言

        本文引用地址:http://www.104case.com/article/265050.htm

          在目前的安全、數通及電信等諸多領域都可以看到基于多核處理器的設計,它們超強的處理能力使得以往繁復的系統得以減小體積,實現單板平臺。然而,在享受處理性能提升的同時,結構設計人員卻不得不忍受多核高功耗的折磨,動輒幾十瓦甚至上百瓦的功耗成為多核進入更多領域的一個瓶頸。在目前綠色環保的政策下如何實現機房或設備的低功耗成為系統工程師必須考慮的一個重要設計因素。隨著多核集成數量的不斷增加,單純靠芯片工藝和代碼優化來降低功耗越來越難,此時必須要從電路系統設計的角度來全盤考慮問題。

          多核處理器在數據處理過程中的密集運算使得芯片的動態功耗不斷增加,因此可將處理器的一部分負荷卸載到專用加速器中,以此來降低核心芯片的功耗。一方面它可以容許處理器工作在較低的頻率上,大幅降低系統的總功耗,另一方面還可以通過釋放處理器來提升整個系統的性能,或者增加高附加值的應用;最后還可以降低對處理器的要求,同時降低系統的BOM成本。

          目前安全領域的檢測就是一個計算密集型應用,它要求掃描整個數據包,計算開銷非常大。現有網絡設備在實現此功能時大多采用軟件方案,在獨占一個核的情況下也只能達到Mbps的處理能力。實驗表明,通過加入LSI公司的Tarari 專用芯片可以使系統功耗大幅降低,而處理能力可提升至Gbps。本文將以Tarari為例介紹技術以及相關實現。

          DPI技術及芯片介紹

          DPI (Deep Packet Inspection),即“深度報文檢測”。所謂“深度”是和普通的報文分析層次相比較而言的,“普通報文檢測”僅分析IP包的4層以下的內容,包括源地址、目的地址、源端口、目的端口以及協議類型,而DPI 除了對前面的層次分析外,還增加了應用層分析,識別各種應用及其內容,基本概念如圖1所示。

          

        1.jpg

         

          圖1 DPI的基本概念

          普通報文檢測是通過端口號來識別應用類型的。如檢測到端口號為80時,則認為該應用代表著普通上網應用。而當前網絡上的一些非法應用會采用隱藏或假冒端口號的方式躲避檢測和監管,造成仿冒合法報文的數據流侵蝕網絡。此時采用L2~L4層的傳統檢測方法已無能為力了。DPI 技術就是通過對應用流中的數據報文內容進行探測,從而確定數據報文的真正應用。因為非法應用可以隱藏端口號,但目前較難隱藏應用層的協議特征。

          Tarari系列芯片是實現上述功能的一款硬件加速器,它支持行業內標準的正則表達式,規則數可以達到上百萬條,支持POSIX和PCRE。針對安全應用中所需的跨包檢測,Tarari可以對400多萬條數據的上下文進行處理。處理跨包的過程中Tarari會用內部緩存來自動記錄跨包的上下文,包括正則表達式搜索樹的狀態、前一包的部分內容以及所選的指令。該系列芯片從第四代產品(T9000)開始采用ASIC設計,第五代產品則開始采用T10 架構,產品目前包括T1000和兩個系列型號。各芯片間軟件兼容,提供從250Mbps到10Gbps不同的速度等級,以滿足不同應用的需求。

          以系列芯片為例,它外圍存儲采用低成本的DDR2 SDRAM芯片,無需TCAM或者RLDRAM等昂貴存儲器。為了滿足某些高性能場合的需求,也提供擴展接口,方便實現性能升級。在系統接口方面T2000提供PCI、PCI Express等高速接口,每個PCIe通道都具有Gbps的有效吞吐能力,最高可以達到16Gbps。T2000最高可支持10G的單片峰值性能,通過級聯兩片T2000芯片可以提供16Gb/s的吞吐量。T2000 軟件可同時監測多達四塊16Gb/s PCIe電路板并提供負載均衡,從而為最苛刻的網絡環境提供64Gb/s 的性能。T2000系列芯片的體積只有29mm*29mm,典型功耗為5W。

          基于多核處理器的DPI平臺設計

          硬件平臺設計

          無論是Intel和AMD的x86架構,還是MIPs架構,無論是CISC還是RISC,Tarari都可以很好的支持這些主流的處理器技術。

          以某公司基于MIPs的多核芯片為例,圖2所示為Tarari芯片與MIPs多核的設計框圖。由于 Tarari芯片具有PCI、PCI-X以及PCIe接口,因此Tarari可以通過這些接口與滿足條件的多核處理器直接對接。對于很多高速應用,如果PCIe接口類型不匹配,也可以在PCIe與處理器間搭接PCIe與其它接口的轉換橋片。對于低速應用,Tarari可以實現無RAM操作,即無需外圍的DDR2芯片,通過內部存儲器就可以實現數據處理。

          圖2所示電路的工作流程如下:當有數據包從GE接口進入MIPs多核處理器,處理器會通過PCIe接口或者HT橋片將其送入Tarari內容處理器,此時Tarari會通過內部的多個引擎對數據與規則集進行比對匹配,因為匹配規則在處理期間已經調入Tarari芯片的內部緩存,并且數據在處理過程中并不會進行任何形式的存儲,所以匹配過程延時很小。匹配結束后,評估結果同樣經過PCIe或者HT總線送回處理器,上層軟件根據結果來決定對報文的處理。

          

        2.jpg

         

          圖2 基于MIPs多核的DPI平臺設計

          規則集編寫及調用

          Tarari支持豐富的正則表達式語言和各種常用結構,可以在確定速度的情況下并行處理超過100萬條規則,它通過專利技術綜合了DFA和NFA的優點,支持各種復雜的正則表達式。

          如圖3所示,正則表達式內容處理的第一步是編譯規則集,然后將其調入Tarari硬件系統。規則集可以一次全部編譯,也可以只編譯更新部分,即增量編譯。被編譯的規則文本文件在編寫時需要符合語法,編譯結果是一個可以被調入Tarari硬件系統的二進制文件。

          

        3.jpg

         

          圖3 規則集的編譯過程

          全部編譯的好處是可以進行字符級的壓縮,對于許多應用來講,這意味著可以大幅減小編譯輸出的二進制文件大小,特別是對于諸如反垃圾郵件等基于文本的應用,全部編譯同增量編譯相比可以減小編譯結果。字符集壓縮必須要檢索起始狀態條件下的所有規則。因此,某一個規則的更新就會改變二進制指令在所有規則集上的生成方式。所以在這種模式下任一規則的更新都會要求所有的規則被重新編譯。


        上一頁 1 2 下一頁

        關鍵詞: CPU DPI T2000

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 雷山县| 响水县| 家居| 新营市| 延津县| 太康县| 双鸭山市| 阿尔山市| 常州市| 舒兰市| 西林县| 乌拉特后旗| 建宁县| 军事| 遂溪县| 阿鲁科尔沁旗| 巴楚县| 兰州市| 肃宁县| 信丰县| 雷波县| 视频| 绥棱县| 华阴市| 高碑店市| 深圳市| 泾川县| 修文县| 高尔夫| 靖宇县| 定兴县| 嵊泗县| 遂宁市| 屏边| 喀什市| 美姑县| 扶风县| 永泰县| 汾阳市| 定边县| 西林县|