導航:首頁 > 凈水問答 > 布魯姆過濾演算法

布魯姆過濾演算法

發布時間:2021-02-25 04:25:32

① 求教哪位高手幫我看一下這篇文章究竟說了什麼啊詳細一點~~~ www.arl.wustl.e/~pcrowley/p51-kum

網路回答字數有限制,我就翻譯到4.1前面,我用的Google,直接就可以翻譯的。

摘要:大量的研究大量文獻都集中在改善
最長前綴匹配性能的IP查找。最近,
嵌入式記憶體的架構被提出,其中
提供了非常高的查找和更新的吞吐量。這些架構
經常使用的嵌入式記憶體管線,其中每個階段
存儲單個或查找的特里的水平。甲流
查找請求發出到管道,每一個周期,
為了達到高的吞吐量。最近,Baboescu等。
[21]提出了一種新的架構,它使用循環記憶
管道的部分動態映射到不同的查找特里
階段。
在本文中,我們擴展此一架構方法稱為
圓形,自適應和單調管道(營地),這是
在觀察的基礎的關鍵是圓管道讓脫鉤
從數的水平管道階段
在這個結構。這提供了更加靈活的映射節點
查找的特里的階段。的靈活性,又提高了
內存使用,也減少了總內存和
功耗。這種靈活性是有代價然而,自
發出的請求在任意階段,他們可能會被封鎖
如果他們進入繁忙階段。在極端的情況下,請求可能會阻止
一時間等於管道深度,可能會嚴重影響
管道利用率。我們表明,相當簡單的技術
幾乎可以保證管道的充分利用。這些
技術,具有一個指向這個結構的節點自適應映射耦合
圓形管道,創建一個流水線架構,可運行
在這個結構的大小,不論很高。
1。簡介
在光學和信號技術的最新進展推
超過10 Gbps的網路連接速率,40 Gbps的
現在出現的鏈接。線路卡終止了40 Gbps的IP鏈路
需要提出在8 ns的最小大小的數據包。這樣做,
即將離任的線路卡必須查明是基於分組的
目的地的IP地址和路線的設置。因此,路由
表必須每隔8 ns的搜查。這是具有挑戰性的,因為:
我)的IP地址查找需要一個最長前綴匹配,這反過來
需要幾個每場順序內存訪問,和二)
全球路由表包含十幾萬前綴
並不斷增加。序列化訪問和大量的雙重挑戰
數據集,開啟了新的演算法和數據結構的數量。
許多實現依賴於基於樹的數據結構,
如嘗試,編碼IP路由表。在這些方案中,最長的
前綴發現遍歷從根到節點特里
匹配的葉子節點,使用從一個或多個位步伐
搜索字元串。
為了提高連接速率轉發數據包時,現代
路由器採用專門的硬體基礎,以執行這些想法
IP查詢。內存帶寬是在任何重要的關注
實施,無論是基於片外存儲器或
專用集成電路。例如,在40 Gbps的速度,一個跨越四多位Trie樹
需要8每隔8 ns的內存訪問。實現這一帶寬
使用單一記憶體是個挑戰。一些研究人員
提出了一個流水線特里。這種嘗試使高通量
因為當管道中有足夠的記憶,沒有記憶
舞台不止一次訪問了搜索和每個階段
可以為不同的服務查找每個周期內存請求。
最近,Baboescu等。 [21]提出了一個圓
流水線特里,這是從以前的不同,在
內存配置在一個階段是圓形,多點接入
管道,以便查找可以在任何階段被啟動。在一highlevel,
這個多接入和循環結構,使得更多
特里在映射節點流水線的靈活性,從而
維護統一的內存佔用。在本文中,我們擴展
此一架構方法所謂循環性,適應性和
單調管道(營)。我們的工作,同時利用一
圓形管道,不同於以前的循環管道的建議
在幾個方面。
首先,坎普的方式不同,這個結構是為子分裂嘗試。
而[21]在有一個大的(〜4000)的目標是同樣大小的數
次嘗試,為我們的設計力求簡潔。因此,環磷酸腺苷分割
根成一個子Trie樹和多葉分特里,嘗試。根分特里
首數位處理(例如R)的IP地址,它是實施
為表,索引的IP地址的第一個R位。隨著
這一點,可能有多達2必葉亞嘗試;每個都可以獨立
映射到管道。通過明智的映射
其中,系統維護接近最優內存利用率,而不是
僅在內存空間,而且在訪問的數量,每管道
階段。
第二,有一個分大小不同的特里數量減少,
我們提出了一個不同的啟發式將它們映射到管道階段。
許可作出的全部或部分工作,這數字或硬拷貝
個人或教室使用費規定,未經批准副本
沒有提出或為牟利或商業利益,而副本分發
熊本通知第一頁上的全部引文。要復制否則,或
發布,張貼在伺服器或重新分配清單,須事先特定
允許和/或費用。
ANCS'06十二月3-5日,2006年,聖何塞,加利福尼亞州,美國。

由於事實上,我們的計劃被證明是簡單得多,這
還優雅地處理增量更新。
最後,我們的設計採用了不同的機制來最大限度地提高
管道的利用和處理按順序查找條件。在
特別是,我們的目標是有不超過一管道准入
對於任何階段查找。坎普更進一步,解耦的依賴
對管道級數從特里數
水平。因此,可以聘請了一大批緊湊和快速
流水線,使高吞吐量的同時,耗電低
權力。隨著大量的階段,管道利用率可能降低
顯著。為此,環磷酸腺苷採用有效的計劃
實現高利用率。
我們也提供一個廣泛的分析和設計權衡
其對查找速率和功率消耗。對於真正的路由
表存儲15.00萬前綴,達到40Gbps的坎普
吞吐量為0.3瓦的功耗。推算
250000前綴顯示出功率消耗0.4瓦
相同的吞吐量。
本文的其餘部分組織如下。我們在第二節
討論了相關工作。在第三節中,我們描述的運作
流水線特里。在第四節,我們提出了一個啟發式映射特里
管道階段的節點。在第5節,我們目前的實驗
結果,我們在第六節討論最壞的情況。最後,
第七節,我們總結我們的發現。
2。背景
IP查詢包括確定最長前綴匹配
境內目的地的路由資料庫的地址欄位變數
長度前綴。最長前綴匹配查找的IP已
廣泛的研究。一些著名的IP查找機制,包括
從TCAM的[9] [10]布魯姆過濾器[6]哈希表[1]
基礎的計劃。由於這些是沒有直接關繫到當前
工作中,我們將側重於基礎的查詢計劃的特里。
2.1。 Trie樹的IP查找
一種基於內存的解決方案,很大一部分使用查找嘗試。阿特里
是有序樹的數據結構相關聯的一個字元串SX的每個節點
NX的; SX是儲存在任何沒有明確的樹點,但可以
計算出來後,從特里葉根路徑
NX的節點。一個嘗試的基本性質是一個節點的所有後代
NX的一個共同的前綴,由相關的字元串表示
NX的。在知識產權方面查找,代表二進制的Trie的路由
表可以通過遍歷每個建造從最左邊的前綴
最右邊的位,並在這個結構中插入,為每一個0和一個左孩子
每個兒童的權利1。舉個例子,見圖1(a)和(b)項。
節點對應於有效的前綴必須標有
前綴指針。查找是通過遍歷這個結構,根據
在IP地址中的位。當到達一個葉子,最後
走過標記節點對應於最長前綴匹配。
正如在圖1(b)所示,每個節點包含兩個指針:
一進兒童節點和一個指針數組的前綴。為了減少
內存使用量,葉推(圖1(c))已被提出[1]
其中前綴在非葉節點(例如:小一,小三)被下推
去葉。因此,每個節點存儲任何指針或一個前綴
對兒童的指針數組。不過,葉節點可能推
需要在幾片葉子復制(例如:小三)。因此平均而言,
葉推不減半的內存。此外,它還
復雜的更新。
如果幾個位掃描每個節點遍歷,那麼產生
數據結構是一個多分支樹。在數位scannedonce大步。一個與步幅ð節點會有最大的2D
子節點。在多比特Trie樹,一些前綴可能擴大到
調整到跨越界線,而這可能會增加的大小
路由表。然而,在一個節點遍歷,多個位
掃描,從而減少了掃描次數。由於時間
完成查找由特里深度,選擇確定
步幅查找時間取決於內存的權衡:低進展
允許更緊湊的數據結構,但需要更多的內存
訪問,而更高的進步降低成本的時間在查找
更多的內存。
前綴擴展控制引入了[2],以
解決上述問題。由於內存的最大數量
允許訪問一個查找(即特里深度),此技術使用
動態規劃確定的最低大步領先
總內存。然而,這涉及到兩個重要的限制:
首先,它是從零開始建設一個合適的,但不特里
支持增量更新;第二,並同時降低整體
內存,這種技術不控制每級存儲
住在一個流水線特里。其原因將解釋
不久。
2.2。流水線IP查詢嘗試
一個有效的方式來處理的時間內存權衡是要認識到
會嘗試非常適合用於數據流水線[7] [8]的結構。一
管道中常用的方法是給每個特里特里水平提升到一個不同的
舞台,使查找能發出請求每個周期,從而
增加的吞吐量。除了增加的吞吐量,如
流水線的實現,也適合用於處理更新。
事實上,所提出的建議[7],軟體的前綴插入預處理
和刪除可以被利用,以確定必要的
每個級別進行修改,在這個結構。在第二個
階段,這些寫操作可以在管道中插入
的形式「寫泡沫」。由於連續的字元
流水線作業,寫簡單的技術可以防止
與現有的業務,從查找干擾。
在流水線的實施,這是可取的節點分配
一致通過管道階段。 [7]應用擴展
前綴擴展的版本控制來實現這一目標。
而不是最小化的總內存,修改後的演算法
在最大限度地減小了最大的特里級大小的目標,同時仍
保持總內存不足。通過變步使用
嘗試(有固定的每級大步邁進,但允許在不同的另一種做法是提出[8],其中高度為基礎
(而不是水平為基礎)的流水線的建議。工作不
在平衡內存利用率的目的,相反,它著重於保證
最壞情況下的性能界限。特別是,它著重於
葉推優百特嘗試使用了一種叫做跳節點,
限制了一個葉節點推份數。的用法
跳節點是體現在圖2中,所有的後裔
節點Y代表任何的前綴四(葉推)或小五。顯然,
在Y在根的子樹的所有內部節點可以濃縮成一
跳節點攜帶其餘的部分信息
小五。在文獻[8],研究者認為,跳節點確保數
在葉子葉子推優百特Trie是相等的前綴號碼,
這使澳(1)的更新。不幸的是,因為並不是所有的
的葉節點推副本可去除使用跳節點
(參見圖2 P1)的,這些說法是不正確的。此外,heightbased
流水線階段的不平衡導致;作為一種變通方法,
基於硬體的流水線已經被提出,其中,增加了復雜性
和功耗。
正如我們已經提到,最近和最有效的
流水線特里已提議在[21],它使用一個圓形
管線動態管道入境點。
2.3。高效的編碼的多位- Trie的節點
最後一個相關方面的文獻中研究的是壓縮的使用
以減少內存需求。特別是,呂勒奧
方案[4]是試圖推動適合採用葉,而樹
點陣圖演算法[5]非葉推多位嘗試重點。
具體來說,樹點陣圖允許的O(1)更新相比,
呂勒奧,同時要求比較記憶。如前所述,
由於葉在減少推動成效有限
總內存的要求,我們著重在非葉推嘗試。
我們的方式對這些基礎設施是正交壓縮
技術。因此,我們首先提出我們的映射演算法
簡單優百特特里,然後顯示其適應和多位嘗試
樹點陣圖計劃。
3。坎普
流水線技術是一種有效的方式來實現高查詢率。上一頁
管線計劃是基於這樣的假設,管道
是線性的,並具有獨特的進入和退出點,而且,它是
假設一個全球性的映射是對整個Trie的執行。我們
消除對實際的觀察,基於兩個假設
前綴集目前我們相當多的機會,分裂成一個特里
多個子嘗試,因此,不同的管道入口點可以分配
給他們。這導致許多映射的機會,從
它的任務,可以選擇實現平衡管道
階段。此外,它也消除了兩個重要的局限性所面臨
任何基於全球定位方案,即,1)有多少
流水線階段必然前綴的最大長度,2)增加
一個記憶庫需要一個完整的映射(在場景中
由前綴插入序列生成的溢出)。
我們引進和單調循環的自適應管道
(營地)使用前綴設置的8個小圖3所示沿
與相應的二進制Trie的。這將需要流水線特里
6個階段。 A級基礎測繪成果將在1,2,3,5,2和2
在階段1至6日分別節點,而高度的映射
將導致6,4,2,1,1和1個節點。因此,這兩種映射
造成不平衡的管道和不平衡程度取決於
根據前綴設置。
我們現在考慮這個分裂成四個子分支樹,嘗試。由於前綴
P1是只有1位長,我們首先擴展到2位使用受控
前綴擴展(見圖3)。現在,在所有前綴
資料庫中超過2位,因此,上面的兩個層次
這個結構可以直接存儲在索引表,這讓我們與
三個分四個層次每個嘗試。更一般地,當一個路由
資料庫包含前綴所有這些都不再比X位
(更短的前綴擴展到X位),那麼第一個X水平
這個結構可能取而代之的是一個含有2個條目直接索引表,
每個點的2倍分一試與
最多32個高度 - 十
如果有多個subtries,我們現在爭取獲得一個平衡的映射
對管道級節點。我們利用一個事實,即要求
可以進入和退出在任何階段,從而分根可以嘗試
映射到任何階段。如果我們也允許請求回繞
通過(通過利用循環管道的優勢,即)管道,
我們可以得到一個高度靈活的映射。節點
從分特里根後裔可以存儲在隨後的
管道階段,環繞著一旦到達最後階段。在
上面的例子中,3次嘗試構建從8前綴
表可以映射到四個階段的循環記憶流水線
動態切入點,如圖4。請注意,前兩位是用來確定到管道和隨後的入職階段
位在不同的管道處理階段。
3.1。通用動態循環管道
一個普通圓形管道不得要求要在一個存儲節點
舞台毗鄰父節點的階段。例如,兩個
第一分在前面的例子特里節點可以存儲在
任何兩個不同的階段,因為,不論是這樣的
存儲,查找這個分特里將只訪問每個階段的要求
一次。不過,這需要管道插入無老年退休金計劃時,
要求穿越一個階段,所需的節點不存在。
支持NO - OPS的增加存儲節點的靈活性
各分嘗試可能導致更加均衡的流水線階段。
另一方面,我們將會看到後,它可能會變得復雜
更新方案。
一個普通圓形管道有三個重要的屬性,我)有
允許動態進入和退出點,二)它是圓形的,因此所有
鄰近的階段連接一個方向,及iii)支援
沒有為哪些請求直接傳給了老年退休金計劃時
指定的節點沒有找到。相應的映射演算法
繪制了各子特里根管道階段,一些
後續節點映射,這樣,A)的一個節點是一個存儲
階段,至少有一個提前(包括環繞式)的
階段,其母公司的存儲位置,和b)終止所有查找路徑
然後才作出通過管道循環。因此,沿著任何節點
路徑映射到一個單調遞增的階段,管道
每查找保證讓最多一個訪問到內存
階段。
可以說,它的查找吞吐量一般通告
管道匹配的任何其他管道,因為查找請求
最多一次訪問一個內存。但是,允許動態
由於引入的切入點,要求沖突的新問題。
請求爭奪進入第i個階段可能要等
直到泡沫(空閑周期)時出現。在極端的情況下,請求
可能要無限期地等待這樣一個泡沫,如果其他要求
進入管道每個周期,保持其入境
繁忙的階段。這可能導致非確定性的高性能,低
管道利用率和out - of -訂貨要求加工。然而,
下一步,我們將看到,相對簡單的技術加上
憑借在管道的運行率小加速確保確定性
性能。
3.2。詳細的架構的陣營
一個cAMP系統的原理框圖所示
圖5中,其中一個圓形管道組成的回憶。該
第一個塊進行直接查表上第一台X的位
地址(x是在查找Trie的初始步幅),其中規定
該階段的相應的子Trie樹的根節點的位置。
隨後,通過查找請求的子樹遍歷
被分派到那個階段。所有請求都存儲在入口
在每個內存先進先出舞台前。只要相應的
接收到一個泡沫階段(空閑周期),在請求
FIFO的頭部發出到管道。一旦請求遍歷
通過管道到達階段包含最後一個節點,
它與任何出來的有效下一跳信息或無
匹配。
在每個階段前入口的FIFO中起著關鍵作用
提高了工作效率。考慮這樣一個沒有排隊系統。
這可能是一個n流查找請求進入某一階段
造成了在管道ñ請求列車。所有後續
請求爭奪進入管道可能要等待ncycles。因此,效率可低至50%,因為
管道服務請求,然後等待ñ維修之前,對n個周期
隨後的請求。最壞的情況下還可以更效率
低。考慮一個情況時,要求進入管道
未來等待1個周期。進入後,第三要等待2
周期。因此,我請求等待我第1個周期,這將導致
一個效率非常低。
入口的FIFO作為緩沖服務重新排列,這省卻了
以上線路阻塞頭。如果一個請求必須等待幾個周期
才可以得到服務,將一直留在隊列中,因此並
不能阻止隨後的請求。很直觀的,更大的要求
隊列將提高流水線效率,因為他們將
提供對請求延長豁免權,必須阻止
在被服務。
在完善調度到管道中,這些FIFO的速度
也導致請求被服務的順序進行。因此,
目前可選的重排序緩沖區是在輸出端,它恢復
命令要求。重新排序是可選的,因為問題的
出序只出現在不同的數據包註定
目的地。一個TCP流將永遠不會遇到任何重新排序,
任何兩個數據包具有相同的前綴(從而指定
同樣的「下一跳」)總是通過在相同的路徑遍歷
查找特里。因此,這些請求將爭奪進入管道
在同一階段,他們總是先入firstout服務
秩序。現在,我們介紹了流程效率度量和
針對不同管道的特點配置和輸入點擊量
模式。
3.3。表徵管路效率
一個度量刻畫坎普管道利用效率。
管道利用率是時間的一小部分仍然管道
忙碌只要有一個查找連續積壓
請求。另一個指標,它更直接地體現了性能,
是查找每個周期或lpc,即在該查詢的速度
請求被分派到管道。
線性管道保證了管道的1但是利用的LPC
如果能保持較低的前綴大部分都不是32位長
(因此,他們不使用的所有階段)。在流水線上的一個營地,
另一方面,可以利用管道的方式之一,因此要求
利率可能會派出超過每個周期為高。它可能發生,
i)當大多數請求不要通過一個完整的圓
管道,或ii)當有更多的流水線級數比有
在這個結構的水平。因此,每當有人走過流水線階段不
一個請求,爭進入新的要求可以有
發行。請注意,實際的IP查詢,其中一大部分的前綴
只有24位長,留下一個階段unused.In很大一部分為了評估cAMP的效率,我們已經完成
一管道利用率和一階分析結果
委會。為了簡化分析這里,我們假設所有
請做一個完整的圓通過管道有
是因為許多流水線階段,因為在這個結構的水平(在本
案件管道利用率將等於委會)。後來我們考慮
情況下,當請求不要讓一個完整的圓。該
現在唯一的變數是管道中的切入點。我們認為
以下四個方面的到達的請求的入口點的分布:
我)均勻隨機,二)短脈沖的隨機均勻
每個流水線階段的要求,及iii)均勻長一陣
要求在每個階段,四)加權隨機的,因此有些管道
階段獲得比別人更多的請求。
毫不奇怪,長的請求導致突發利用率高
因為當多個請求到達的階段,他們是服務
沒有沖突。另一方面,當突發長度
相媲美的管道深度,請求列車創建和
隨後爆發可能要等待才能發出。
加權隨機均勻的要求來港定居人士可以模擬
使用離散時間馬爾可夫鏈,但是,我們略過細節
由於空間的限制。
我們將繼續與我們的軟體模擬的結果,
我們產生上述四個模式和請求到達
測量結果的LPC。我們的代表有24個管道安裝
通過循環階段,要求在退出之前的所有階段。在
圖6,我們的報告不同大小的LPC請求隊列。這是
顯然,一個0.8的LPC可以實現所有的交通模式,
一旦請求隊列的大小為32。這表明該難民營仍
80%,幾乎所有的交通模式的高效。在另一
實驗中,我們固定在每周期0.8請求到達率和
要求在32個隊列的大小和測量的丟棄率和平均
延遲請求的經驗。在運行實驗
為100多萬次迭代,沒有請求被丟棄
,平均延遲請求有經驗的只有幾千萬
循環。
3.4。當被委會大於一?
雖然直線管道委會始終是一個,委會的
坎普可以設計為大於一,它可以改善
吞吐量。這是可能的,因為營友體驗一
Trie的數據結構要進一步流水線,直至數
階段,遠高於在這個結構層次多。例如,
三個子映射的嘗試如圖3至六個月
階段的管線圖7所示。正如我們不久將會看到,隨著
許多次嘗試,就不難確定每個偏移
他們讓每一個階段的管道幾乎保持一致
填充。當管道中有許多階段,每個
分特里(及其查找請求)將跨越的各個階段只有一小部分。這會導致每一個調度周期率比一個高,
假定所有抵港請求不相同的子樹遍歷。
事實上,當次嘗試,因此相關的前綴是
近均勻分散各地的所有階段(因為階段
是平衡的),它不太可能所有查詢請求將爭
進入一個階段。一個正交因子是導致更高的LPC
事實上,大多數前綴的24位密切附近。
這是既不困難,也不昂貴,實施更加管道
trie樹比一階段的水平。從實踐的角度來看,
多位Trie樹和相應的節點編碼(樹點陣圖或
形狀轉移特里),不僅可以減少總的內存需求
還有效地提高了管道的若干階段。
例如,K的步伐將減少層數
(和內存訪問)在特里由K因子,它可以
直接導致一個k -倍委會。
我們現在提出了一個安裝的LPC那裡有32階段
管道和小組試圖控制最左邊的24 - 位前綴。
每個子Trie的用途跨越三樹點陣圖,因此,一個單一的查詢
對面的路徑最多8流水線階段跨越。在這個實驗中,我們
還假設前綴的平均長度為24位,因此,申請
透過平均只有6個階段遍歷。由於在繪制的LPC
圖8的LPC為3至5,即使是交通大爆發。
對於規模較小的爆發,這是更現實,更委會
高。
4。映射IP - LOOKUP的嘗試坎普
為了使擬議的基礎設施運作,我們需要一個映射
特里分配演算法節點到流水線階段。
該演算法的主要目的是要達到均勻分布
對階段的節點。尤其是,映射應
盡量減少最大的(瓶頸)舞台大小。這將
不僅可以使高通量的機會,也減少了
在更新過程中不平衡的管道。

閱讀全文

與布魯姆過濾演算法相關的資料

熱點內容
雨污水管線的材質 瀏覽:968
施特勞斯智飲機濾芯是什麼 瀏覽:631
污水處理產業扶持政策有哪些 瀏覽:811
錦鯉魚池過濾泵流量 瀏覽:711
超濾器是什麼意思 瀏覽:881
純水靜靜怎麼打 瀏覽:846
超濾截COD 瀏覽:914
電子超純水水罐用什麼材質 瀏覽:49
清除水垢硅磷晶 瀏覽:519
crv空氣凈化器怎麼打開 瀏覽:526
反滲透膜低溫清洗 瀏覽:785
鄭州過濾王管理中心地址 瀏覽:872
水水垢成分 瀏覽:866
陝西原裝外置污水提升泵要多少錢 瀏覽:419
聚聚乙烯樹脂粉袋 瀏覽:739
飲水機漏水屬於什麼原因 瀏覽:824
污水廠硝化脫模怎麼處理 瀏覽:924
vue2內置過濾器 瀏覽:386
植物芳香油蒸餾設備 瀏覽:418
聚醚楓超濾膜進水pH 瀏覽:907