• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種高速并行的無鎖流表路由查找方法技術

    技術編號:8347949 閱讀:254 留言:0更新日期:2013-02-21 01:29
    本發明專利技術涉及路由查找算法,具體說是一種多核處理器高速并行的無鎖流表路由查找方法。多核處理器并行執行環境中,采用與核數相對應數目流表的設計結構,并用多核中控制平面與數據平面相結合的方式,將流表中表項的刪除操作分割成兩個相對獨立的FLOW_INVALID(失效)和FLOW_DELETE(刪除)階段,使得多個核對一張流表同時進行讀寫操作而無需依賴資源鎖的控制。本發明專利技術所述的高速并行的無鎖流表路由查找方法,解決多核處理器并行執行過程中,現有流表設計方法造成的數據處理瓶頸問題,實現了多核并行執行過程中數據轉發的安全性和快速性,提高大容量系統路由查找速度和并行路由查找的性能。

    【技術實現步驟摘要】

    本專利技術涉及路由查找算法,具體說是,尤指多核處理器高速并行的無鎖流表路由查找方法
    技術介紹
    隨著網絡帶寬的急劇增加,使得網絡的鏈路速率發展到lOGb/s,甚至更高,應用高性能的多核處理器硬件平臺和高速的路由查找算法,設計出滿足網絡性能要求的路由器顯得非常必要。傳統的單核處理器的處理能力受到主頻和功耗等因素的制約,在性能上難以滿足日益增長的網絡數據處理任務要求。高性能的多核處理器在數據處理過程中能夠實現并行處理,網絡延時小,數據吞吐量大,在當前的高端路由器中有著一定的應用范 圍。但是,傳統的基于基數排序樹(Radix Trie)、多分支Trie樹(Multibit Trie,多分支查找樹)、分段地址等路由查找算法多應用在串行數據流處理的單核處理器中,這些算法在多核處理器中, 由于多核并行執行數據處理導致的路由資源競爭,易造成數據瓶頸,使得多核處理器的并行處理能力不能完全得以發揮,造成極大的資源浪費。路由查找的專用芯片TCAM(Ternary Content Addressable Memory,三態內容尋址存儲器),由于其價格高昂,不適合在一些對成本敏感的路由器設計中廣泛采用,而SDRAM (同步動態隨機存儲器)價格低廉,因此開展基于SDRAM的快速路由查找算法的應用研究顯得異常重要。高端路由器進行路由轉發時其轉發條目可達到百萬之上,在眾多的路由條目中匹配一條路由所消耗的時間主要取決于查找算法的性能。為了提高路由性能,在路由表設計過程中,基于原有路由表上再增加一張表,形成兩層路由表的結構設計。第一層表是總表, 保存著所有的路由條目和信息;新增的第二層表為流表,保存一定時間段下的常用路由的路由表項信息(Entry)。每次數據包轉發過程中,先去流表中進行查找,如果在流表中查找到匹配的路由表項信息,則數據包直接根據匹配的路由表項信息中的路由信息輸出到出端口 ;如果查詢不成功,則再進入總表中查找,在總表中查找到匹配的路由條目和信息后,將數據轉發出去的同時并將該匹配的路由條目和信息添加到流表中,方便同一數據流的下一個數據包在流表中查找。之所以采用流表的查找策略可以提高路由查找的效率,是因為流表中維護的路由條目遠遠小于總表,在流表中進行一次路由匹配與在總表中去匹配所需要的平均時間要小,并且,一般在路由表設計的時候,將流表置于處理器內部的Cache(高速緩沖存儲器)中,使得基于流表的路由查找方式在性能上有更大的提升。上述基于流表的路由查找策略在單核串行處理方式上的確可以優化性能,提高路由查找的性能。為了提高多核處理器查找的性能,同樣引入了流表的設計思想,但是由于多核處理器并行處理的特點,表項資源的共享和互斥問題給流表的設計提出了新的挑戰。一般常用的方法是在系統的Cache上創建一張多個核(處理器的核)共享的流表, 但是多個核共同使用一張表必定造成資源的競爭,為了保證數據處理的安全性通常的解決辦法就是采用資源鎖,這在并行處理上容易造成數據處理瓶頸。同時每個核上處理的數據各不一樣,倉Ij建的表項形成的流表表項數目較多,對于基于流表的遍歷查找效率有所打折。另一種方法是在系統的Cache上創建與核數相對應數目的流表,每個核維護一張流表,這種方式對于多核系統中同一個流的數據包送往同一個核處理的核間調度機制來說不會存在流表的競爭關系。因為相同的數據流在同一個核上進行處理,建立的流表的表項不會被其它核所用,此時這個流表只屬于這個核所私有,數據包路由查找在該核上串行實現,多核間對于流表不會存在競爭的關系,如圖I所示的核I上處理數據流“A”。但流分類一般采用Hash算法(哈希算法),因Hash沖突的存在,導致Hash值相同但對應轉發表不在流表中的數據流會進入同一個核進行處理,由于查表失敗而只能進入總表中進行第二次查找,從而對系統性能產生一定影響。對于多核數據流無序調度機制來講,也會產生問題,同一個數據流的數據包可能會發送到幾個不同的核上去處理,在處理的過程中它們共享一張流表,因此存在相互競爭的關系。如圖I所示核2、核3和核4處理數據流“O”時所示,三個核處理的數據包都需要用到同一張流表,此時就會發生假如一個核上的數據包正在查詢該數據包流對應的流表的某一個表項時,另一個核正對該表項進行刪除,此時就會造成沖突,出現數據丟包等錯誤現象。常用的解決辦法就是對流表增加資源鎖,在無序的并行處理機制中,同一時間只允許一個核對其某一流表進行操作。采用流表設計的路由查找策略可以提升路由查找的性能,當前在單核處理中存在廣泛的應用,但是在多核處理器執行并行查找的特殊環境下,對流表資源存在競爭的關系, 上述方法依舊會產生路由過程中的數據處理瓶頸,對多核的并行處理效率的較大影響,并造成數據處理延時加大。
    技術實現思路
    針對現有技術中存在的缺陷,本專利技術的目的在于提供,解決多核處理器并行執行過程中,現有流表設計方法造成的數據處理瓶頸問題,實現了多核并行執行過程中數據轉發的安全性和快速性,提高大容量系統路由查找速度和并行路由查找的性能。為達到以上目的,本專利技術采取的技術方案是,其特征在于,包括以下步驟步驟I :控制平面定期分別對初始化創建的N個流表g_flow_table中的表項進行遍歷,0=〈i〈N,N值等于多核處理器的核數且N大于等于2,每遍歷一個表項的同時對表項的創建時間進行檢測;步驟2 :控制平面執行表項時間檢測函數,如果當前時間time_info. current_ time〉表項的創建時間 flow_entry. create_time+ 生存周期時間 time_info. expired_ time,表明該表項已經超期,則通過消息發送函數向表項對應的核發送超期消息FL0W_ INVALID,同時,將該表項通過鏈表添加函數添加到超期池g_expired_flow_pool對應的鏈表中;步驟3 :控制平面對超期池g_expired_flow_pool對應的鏈表進行遍歷,如果當前時間 time_info. current_time> 表項的創建時間 flow_entry. create_time+2* 生存周期時間time_info. expired_time,表明該表項需要從內存中刪除,貝U通過消息發送函數向表項對應的核發送釋放內存消息FL0W_DELETE。在上述技術方案的基礎上,步驟4 :數據平面通過接收函數接收控制平面通過消息發送函數發送過來的消息,并對消息的種類進行分析;如果控制平面通過消息發送函數發送過來的消息是超期消息FL0W_INVALID,表明需要將對應的表項從流表中移出,則數據平面調用移出函數,通過雙向鏈表中表項結點的操作(例如next->prev=prev,prev_>next=next)將該表項從流表的鏈表中移出,并將該表項通過鏈表添加函數添加到超期池g_expired_flow_pool對應的鏈表中,此時并未釋放表項內存,因此可以保證可能正在利用該表項進行轉發操作的其它核,將數據包順利轉發出去;如果控制平面通過消息發送函數發送過來的消息是釋放內存消息FL0W_DELETE, 表明需要將該表項從流表中刪除,并釋放內存空間,則數據平面調用刪除函數,將該表項從流表中刪除并釋放內存空間。在上述技術方案的基礎上,還本文檔來自技高網
    ...

    【技術保護點】
    一種高速并行的無鎖流表路由查找方法,其特征在于,包括以下步驟:步驟1:控制平面定期分別對初始化創建的N個流表g_flow_table[i]中的表項進行遍歷,0=表項的創建時間flow_entry.create_time+生存周期時間time_info.expired_time,表明該表項已經超期,則通過消息發送函數向表項對應的核發送超期消息FLOW_INVALID,同時,將該表項通過鏈表添加函數添加到超期池g_expired_flow_pool對應的鏈表中;步驟3:控制平面對超期池g_expired_flow_pool對應的鏈表進行遍歷,如果當前時間time_info.current_time>表項的創建時間flow_entry.create_time+2*生存周期時間time_info.expired_time,表明該表項需要從內存中刪除,則通過消息發送函數向表項對應的核發送釋放內存消息FLOW_DELETE。

    【技術特征摘要】

    【專利技術屬性】
    技術研發人員:范富明李念軍
    申請(專利權)人:武漢烽火網絡有限責任公司
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 亚洲真人无码永久在线| 久久无码av三级| 日韩AV无码精品人妻系列| 少妇人妻偷人精品无码视频| 中文字幕丰满伦子无码| 亚洲av永久无码| 亚洲VA中文字幕不卡无码| 在线观看无码AV网站永久免费| 日韩AV无码精品一二三区| 久久影院午夜理论片无码| 无码GOGO大胆啪啪艺术| 精品无码国产污污污免费网站国产| 未满小14洗澡无码视频网站| 色欲AV无码一区二区三区 | 免费无码成人AV在线播放不卡| 亚洲色无码专区一区| 亚洲精品无码久久久久去q | 人妻少妇精品无码专区漫画| 中文字幕人妻无码一夲道 | MM1313亚洲精品无码久久| 日韩人妻无码精品久久免费一| yy111111少妇影院里无码| 亚洲日韩一区二区一无码| 亚洲精品无码专区久久久 | 中文字幕无码高清晰| 中文无码久久精品| a级毛片无码免费真人久久| 国产色无码精品视频国产| 亚洲heyzo专区无码综合| 亚洲av无码不卡久久| 亚洲av永久无码精品天堂久久| 中文字幕无码日韩专区免费| 一本久道中文无码字幕av| 67194成是人免费无码| 精品无码综合一区二区三区| 国产精品无码久久四虎| 少妇无码太爽了不卡视频在线看 | 在线观看无码的免费网站| 国产品无码一区二区三区在线| 亚洲精品无码专区久久| 亚洲午夜无码久久久久小说|