本發明專利技術公開了一種交叉點小緩存的高性能crossbar調度方法,主要包括排隊技術和crossbar調度算法,其方法是,分組在輸入端和crossbar交叉點兩處存儲,到達的分組被劃分成固定長度的信元根據其目標轉發端口放入相應的隊列進行排隊,交叉點設立較小容量的緩存,解開了輸入與輸出調度匹配的耦合;在輸入端與輸出端分別采用調度器,輸入端采用最長隊列預測機制算法選擇一個信元進入相應的交叉點緩存,輸出端采用簡單的輪詢算法選擇一個交叉點緩存中的信元輸出;該調度方法穩定、高效、復雜度低,適用于大容量的高速路由器/交換機。
【技術實現步驟摘要】
本專利技術涉及,主要適用于高速、多 端口、大容量的IP路由器/交換機。
技術介紹
IP路由器/交換機是因特網中重要的網絡互聯設備,隨著Internet規模和容量的 飛速增長,以及多業務的發展,要求路由器不僅支持多端口、高速鏈路速率、具備大容量的 處理能力,還要能提供一定的QoS保證,具體表現在滿足吞吐量、帶寬、時延等方面的不同 需求。在路由器中,交換網絡用于建立輸入與輸出端之間的數據通路,負責數據的轉發,是 制約路由器端口速度和容量的關鍵因素。 交換結構中典型的分組緩存機制大致有3種輸出緩存(0Q :0utput Queuing)、 輸入緩存(IQ :Input Queuing)和聯合輸入輸出緩存(CI0Q-Combined Input Output Queuing)。這3種典型的交換結構均采用單一調度器,來尋找輸入與輸出之間的最大或極 大匹配。由于需要集中控制,大大限制了交換結構的可擴展性。目前一種有效地提高交換 結構可擴展性途徑是將緩存設置在交換陣列的交叉點處,這樣調度器在輸入/輸出端可以 獨立執行,不需要集中控制。近年來VLSI技術的發展使得在中小規模的交換陣列中設置少 量緩存已成為可能。如Xilinx公司開發的Xilinx XCV812E,在16X 16的交換陣列中做進 了 1. 12Mbits的RAM,每個交叉點可以緩存4Kbits的數據。在交換陣列的交叉開關處緩存 分組是早期的分組交換機用來解決阻塞問題的手段。依據目前的技術條件,交叉點緩存尚 不足以存放所有滯留在交換結構中的分組,仍然需要與輸入緩存結合使用,這就是聯合輸 入交叉點緩存(CICQ-Combined Input andCrosspoint Queuing)交換結構。由于CICQ結 構與IQ結構面臨同樣的隊頭阻塞(head of lineblocking)問題,CICQ的輸入緩存一般也 采用虛輸出隊列技術(VOQ:Virtual Output Queuing)。 對于crossbar調度算法的問題,與0Q, IQ和CI0Q等交換結構相比,CICQ特別具備 的交叉點緩存的特點,解開了輸入與輸出調度匹配的耦合,從而可以在輸入和輸出端分布 式地進行調度。在CICQ交換結構上,實用的調度算法設計往往注重三個指標小緩存、低復 雜度和高吞吐率。小緩存是指CICQ結構本身所具備的特定指標。與IQ,0Q,CI0Q等其他交 換結構不同,鑒于目前VLSI技術,尚不能在CICQ結構Crossbar的交叉點處植入足夠大的 緩存。因此,設計CICQ交換結構的調度算法首先必須能工作于小緩存這個特定指標下。 低復雜度是針對高速交換的設計需求而提出的核心指標。 一般情況下,交換機每塊線卡至 少能支撐100ms的分組緩沖,對于40Gbps的鏈路而言,緩沖區至少要達到500MB,復雜度高 的調度算法將導致仲裁時間過長而成為交換機調度的瓶頸,特別對于支持大端口和高鏈路 帶寬的交換機而言,其調度器的執行時間越短越好,這需要調度算法的復雜度盡可能地低, 并且,低復雜度的調度算法意味著更容易在硬件設計中得以實現。高吞吐率是對任何交換 結構調度算法設計需求而提出的根本指標,一個具備實用性的調度算法是指在各種流量下 均能達到至少95%以上的吞吐率。 綜觀已有的研究成果,關于CICQ交換結構調度算法的研究分為兩大類一類是純 理論分析,探討CICQ調度算法的吞吐量、時延、服務質量保證等性能的理論基礎但是卻存 在復雜、硬件難以實現的問題,無法在高速的環境下應用。 關于CICQ交換結構調度算法另一類研究方法是從實用性出發,以交叉點小緩存、 高效、低復雜度、硬件易實現作為性能指標,設計各種易于硬件實現的快速啟發式調度算 法。這類算法的共同點在于減少控制信息量和復雜的計算,一般采用兩種手段一種是依 據交叉點緩存的狀態信息進行調度;另一種是基于輪轉(Round-Robin)機制。MCBF(Most Critical BufferFirst)和LFF-LBF算法都是依據交叉點緩存的忙閑來進行輸入/輸出調 度,使得交叉點緩存得到充分的利用,仿真結果表明算法在均勻流量下具有良好的時延、穩 定性能。然而這兩種算法沒有考慮輸入端隊列的狀態,在非均勻流量下會出現不穩定現象, 導致性能嚴重下降。 由于輪轉機制具有低復雜度、硬件易實現等優良特性,成為實用性研究方面的重 點,其中典型的調度算法有RR-RR和LQF(Longest Queue First)-RR。雖然RR-RR簡單易實 現、復雜度僅為0(1),但是在非均勻流量下不能提供良好的吞吐量和時延性能。LQF-RR算 法在輸入端總是優先服務最長的V0Q,盡量保持各個隊列調度均衡,在各種流量下都具有優 良的性能,然而該算法復雜度為O(logN),限制了算法在高速處理環境下的應用。為了提高 CICQ交換結構在非均勻流量下的性能,研究者通過改進輪轉指針更新的規則,基于RR-RR 提出了眾多改進算法,基本思想是通過為每個V0Q隊列分配固定的調度份額、或者根據相 鄰調度V0Q長度關系的差分因子來約束輪轉指針的更新,這些算法的復雜度都是0(1), 保留了 RR-RR低復雜度的特點,仿真結果表明,當每個交叉點容量是1個信元大小時,在非 均勻流量下能夠獲得較好的吞吐量和時延性能,然而它們的差分因子或者份額的取 值都是仿真得到的經驗值,在復雜的業務流量下無法得到可靠性驗證。 因此,高效、實用的調度算法應當在簡單的RR-RR算法的基礎上,通過某些指針更 新策略彌補其在非均勻流量下性能不佳的缺憾,并且新的更新策略不依賴其他人為設定的 經驗參數。
技術實現思路
本專利技術的目的是提供一種交叉點小緩存,硬件易實現的高性能crossbar 調度方法。基于最長隊列預測的輪轉型調度算法RR-LQD(Round Robin with Longest QueueDetecting)的主要思想是在輸入端內局部預測隊列最長的V0Q并盡力為該隊列服 務,保持調度中各個隊列長度均衡,在保持低復雜度的同時提高系統穩定以及在非均勻流 量下吞吐量、時延等性能。 本專利技術的適用于高速、多端口 、大容量IP路由器/交換機的crossbar調度方法由 排隊技術和RR-LQD調度算法構成,具體如下 (1)信元排隊不同長度的IP分組在轉發前劃分成固定長度的信元,在輸出端 重組后再發送到鏈路上去。信元到達過程是一個離散時間隨機過程,每個輸入端每個時隙 至多到達一個信元。輸入隊列采用V0Q排隊技術,若輸入端i到達一個目的端為j的信元 (1《i, j《N),那么該信元被放入V0Qij隊列中。crossbar的每個交叉點都有緩存,每個 輸入端和每個輸出端可以相互獨立地和交叉點緩存進行交換。 (2) RR-LQD算法分為輸入調度和輸出調度兩部分,每個輸入調度器維護兩個指針 最長隊列預測指針dp和輪轉指針rp (1《dp,rp《N);每個輸出端調度器維護一個輪轉指4針p(l《p《N)。這些指針分別指向當前優先服務的隊列或交叉點。算法具體描述如下 輸入端調度首先進行最長隊列預測輸入調度器從dp指向的位置開始,通過輪 轉策略尋找第一個隊列長度大于當前dp所指向VOQ的隊列。若找到,更新dp指針,指向該 預測的隊列;否則本文檔來自技高網...
【技術保護點】
一種交叉點小緩存的高性能crossbar調度方法,包括排隊技術和crossbar調度算法,其特征在于: (1)、不同長度的IP分組在轉發前劃分成固定長度的“信元”,在輸出端重組后再發送到鏈路上去;輸入隊列采用虛擬輸出排隊(VOQ)技術,若輸入端i到達一個目的端為j的信元(1≤i,j≤N),那么該信元被放入VOQ↓[ij]隊列中;crossbar的每個交叉點都有少量緩存,每個輸入端和每個輸出端可以相互獨立地和交叉點緩存進行交換; (2)、crossbar調度算法稱為RR-LQD,RR-LQD算法分為輸入調度和輸出調度兩個部分:輸入調度階段:每個輸入調度器維護最長隊列預測指針dp和輪轉指針rp兩個指針(1≤dp,rp≤N),每個時隙開始時首先進行最長隊列預測,從dp指向的位置開始,通過輪轉策略尋找第一個隊列長度大于當前dp所指向VOQ的隊列;若找到,更新dp指針,指向該預測的隊列,否則,dp指針不更新;然后判斷預測隊列是否為EVOQ(非空且對應的交叉點不滿),此時,調度器認為dp指針指向的隊列就是該輸入端中“最長”的隊列,要優先對它服務,判斷預測隊列是否為EVOQ,若是EVOQ,則調度器將它的隊頭信元調度至相應的交叉點緩存,若不是EVOQ,則調度器從rp指向的位置開始,通過輪轉策略尋找下一個EVOQ,若找到則調度器將它的隊頭信元調度至相應的交叉點緩存,并將rp更新至該EVOQ的下一個位置,若找不到則rp保持不變; 輸出調度階段:每個輸出端調度器維護一個輪轉指針p(1≤p≤N),每個時隙開始時從p指向的位置開始,通過輪轉策略尋找下一個非空的交叉點,若找到,則將該交叉點的隊頭信元調度輸出;若找不到則p保持不變。...
【技術特征摘要】
一種交叉點小緩存的高性能crossbar調度方法,包括排隊技術和crossbar調度算法,其特征在于(1)、不同長度的IP分組在轉發前劃分成固定長度的“信元”,在輸出端重組后再發送到鏈路上去;輸入隊列采用虛擬輸出排隊(VOQ)技術,若輸入端i到達一個目的端為j的信元(1≤i,j≤N),那么該信元被放入VOQij隊列中;crossbar的每個交叉點都有少量緩存,每個輸入端和每個輸出端可以相互獨立地和交叉點緩存進行交換;(2)、crossbar調度算法稱為RR-LQD,RR-LQD算法分為輸入調度和輸出調度兩個部分輸入調度階段每個輸入調度器維護最長隊列預測指針dp和輪轉指針rp兩個指針(1≤dp,rp≤N),每個時隙開始時首先進行最長隊列預測,從dp指向的位置開始,通過輪轉策略尋找第一個隊列長度大于當前dp所指向VOQ的隊列;若找到,更新dp指針,指向該預測的隊列,否則,dp指針不更新;然后判斷預測隊列是否為EVOQ(非空且對應的交叉點不滿),此時,調度器認為dp指針指向的隊列就是該輸入端中“最長”的隊列,要優先對它服務,判斷預測隊列是否為EVOQ,若是EVOQ,則調度器將它的隊頭信元調度至相應的交叉點緩存,若不是EVOQ,則調度器從rp指向的位置開始,通過輪轉策略尋找下一個EVOQ,若找到則調度器將它的隊頭信元調度至相應的交叉點緩存,并將rp更新至該EVOQ的下一個位置,若找不到則rp保持不變;輸出調度階段每個輸出端調度器維護一...
【專利技術屬性】
技術研發人員:彭來獻,趙文棟,路欣,田暢,
申請(專利權)人:中國人民解放軍理工大學,
類型:發明
國別省市:84[]
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。