專利名稱:用于輸入排隊交換機的基于差分幀的調度的制作方法
用于輸入排隊交換機的基于差分幀的調度相關申請的交叉引用本申請要求于2009年11月4日提交的美國臨時專利申請No. 61/258,097的權益。為了所有的目的,將該臨時專利申請的公開內容以引用的方式并入本文中。
背景技術:
除非本文中另行指出,否則在本節中描述的材料并非本申請的權利要求的現有技術,且不因為其被本節包括而被承認為現有技術。可以將網絡建模為由對業務進行路由的交換機構成。如果交換機構成的內部加速是一,并將時間分為時隙,則單元傳輸(cell transfer)就受到唯一的配對約束即,在時隙中,一個單元可以從輸入離開,且一個單元也可以到達一個輸出。因此,在單元傳輸之前需要調度,以計算輸入與輸出之間的匹配。隨著實時應用(比如視頻和語音)的快速增長,對調度算法加以更嚴格的要求,要求這些調度算法具有低計算復雜度,并在吞吐量、延遲、延遲抖動和公平方面實現良好的性能。之前,提出了逐時隙匹配算法(比如,最大尺寸匹配(MSM))來最大化每個時隙中的吞吐量性能。這些方案一般基于收集到的輸入隊列的信息來計算在每個時隙中的匹配,并對匹配算法的計算復雜度加以嚴格的要求,計算復雜度是在設計具有大交換機尺寸的高速路由器中的主要可擴縮性問題之一。在用于逐幀計算輸入/輸出匹配的基于幀的匹配方案中,每個幀由一定數目的連續時隙構成。這些方案將計算匹配的頻率從每個時隙降低到每個幀。
發明內容
本公開描述一種用于在網絡環境中調度輸入排隊交換機的方法。根據一些不例,所述方法可以包括將可用時隙的預定部分專門用于每個交換機端口對,其中,交換機端口對在其專用時隙內不受調度約束,且根據預定順序來移除對專用時隙的分配。所述方法還可以包括根據所述預定順序來補充對專用時隙的分配,并使交換機端口對能夠借用其他交換機端口對的專用時隙。本公開還提供一種用于在網絡環境中調度輸入排隊交換機的裝置。根據一些示例,所述裝置可以包括存儲器,被配置為存儲指令,且還存儲與交換機端口對相關聯的對網絡業務進行定向的網絡信息數據;以及處理器,耦合到所述存儲器,其中,所述處理器適于執行所述指令,當所述指令被執行時,所述指令將所述處理器配置為將可用時隙的預定部分專門用于每個交換機端口對,其中,交換機端口對在其專用時隙內不受調度約束,且根據預定順序來移除對專用時隙的分配。所述處理器還可以根據所述預定順序來補充對專用時隙的分配,并使交換機端口對能夠借用其他交換機端口對的專用時隙。本公開還描述一種計算機可讀存儲介質,其具有存儲于其上的用于以基于差分幀(differential frame)的方式在網絡環境中調度輸入排隊交換機的指令。根據其它示例,所述指令可以包括將可用時隙的預定部分專門用于每個交換機端口對,其中,交換機端口、對在其專用時隙內不受調度約束,且根據預定順序來移除對專用時隙的分配。所述指令還可以包括根據所述預定順序來補充對專用時隙的分配,并使交換機端口對能夠借用其他交換機端口對的專用時隙。以上發明內容僅僅是說明性的,而絕不是限制性的。除了上述示例性的各方案、各實施例和各特征之外,參照附圖和以下詳細說明,將清楚其他方案、其他實施例和其他特征。
根據以下說明和所附權利要求,結合附圖,本公開的前述和其他特征將更加清楚。在認識到這些附圖僅僅示出了根據本公開的一些示例且因此不應被認為是限制本公開范圍的前提下,通過使用附圖以額外的特征和細節來詳細描述本公開,在附圖中圖I示出了示例2入/2出交換機對以及該交換機對的各種置換矩陣;圖2示出了用于產生針對長度為6的圓形陣列的二分順序(dichotomy order)O的示例;圖3示出了在具有不同幀長度的靜態均勻業務下的在根據至少一些實施例的系統中的“吞吐量性能”對“業務負載”的比較;圖4示出了在具有不同幀長度的靜態均勻業務下的在根據至少一些實施例的系統中的“抖動性能”對“業務負載”的比較;圖5示出了在均勻業務下的在根據至少一些實施例的系統中的“平均計算復雜度”對“幀長度”對“輸入負載”的比較;圖6示出了通用計算設備,該通用計算設備可以用于實現針對輸入排隊交換機的基于差分幀的網絡業務調度;圖7是示出了針對輸入排隊交換機的基于差分幀的調度的示例方法的流程圖,該示例方法可以由諸如圖6中的設備600之類的計算設備來執行;圖8示出了示例計算機程序產品的框圖,其全部根據本文所述的至少一些實施例來布置。
具體實施例方式在以下詳細說明中,參考了作為詳細說明的一部分的附圖。在附圖中,類似符號通常表示類似部件,除非上下文另行指明。
具體實施方式
部分、附圖和權利要求書中記載的示例性實施例并不是限制性的。在不脫離在此所呈現主題的精神或范圍的情況下,可以利用其他實施例,且可以進行其他改變。應當理解,在此一般性記載以及附圖中圖示的本公開的各方案可以按照在此明確公開的多種不同配置來設置、替換、組合、分割和設計。本公開總體涉及與針對輸入排隊交換機的基于差分幀的調度相關的方法、裝置、系統、設備和/或計算機程序產品等。簡而言之,針對具有虛擬輸出隊列(VOQ)的輸入排隊(IQ)交換機,可以采用基于差分幀的調度方案。差分調度可以基于2個連續幀中的業務差異來調整先前的調度。為了 以低復雜度來保證服務質量(QoS),該調整可以首先在每個幀中為每個端口對保留一些時隙,然后根據二分順序來釋放過剩的分配并補充不足的分配,其被設計為用于高吞吐量、低抖動、公平和低計算復雜度。圖I示出了根據本文所述的至少一些實施例所布置的示例2入/2出交換機對和針對該交換機對的各種置換矩陣。具有虛擬輸出隊列(VOQ)的輸入排隊(IQ)縱橫制(crossbar)交換機構成是在高速路由器和交換機的設計中新近的方案。在這種交換機構成中,根據分組的目的地端口,在輸入之前將到達的分組進行排隊,這稱為虛擬輸出隊列。與傳統IQ或輸出排隊(OQ)方案相比,利用VOQ的IQ方案克服了輸出排隊方案的糟糕的可擴縮性。另一方面,利用VOQ的IQ避免了由于在現有輸入排隊方案中的眾所周知的隊頭(headof line, H0L)阻塞問題所產生的性能劣化。
對于交換機操作,可以使用逐時隙匹配算法(比如最大尺寸匹配(MSM))來最大化每個時隙中的吞吐量性能。這些方案基于收集到的輸入隊列的信息來計算每個時隙中的匹配。它們對匹配算法的計算復雜度加以嚴格的要求,計算復雜度是在設計具有大交換機尺寸的高速路由器中的主要可擴縮性問題之一。基于幀的匹配方案逐幀計算輸入/輸出匹配,其中,每個幀由一定數目的連續時隙構成。它們將計算匹配的頻率從每個時隙降低到每個幀。為了進一步減少計算時間,可以使用基于差分幀的調度。網絡中的數據業務遵循長期依賴性,且具有自相似的屬性。在2個連續幀之間的這種業務相關性構成了基于差分幀的調度的基礎。不在每個幀中從頭開始計算匹配,而是基于差分幀的調度將先前幀中的調度缺省作為當前幀的調度。然后,調整該調度,以滿足當前幀中的業務需求。由于在2個連續幀中的業務差異一般小于I個幀中的絕對業務,因此減輕了計算負擔。針對IQ交換機的網絡業務分配的設計目標包括更低的計算時間、更高的吞吐量、更低的延遲抖動、以及公平。可以通過將業務需求矩陣分解為具有理論最小總權重的置換矩陣的加權組合,來實現優化的吞吐量。每個置換矩陣可以對應于時隙中的匹配。在考慮延遲抖動和公平性能時,可以采用貪婪低抖動分解(GLJD)算法。此外,將業務矩陣分解為置換矩陣的組合,GLJD算法添加了對分解后的置換矩陣中非零項的非重疊位置的附加約束。在分解之后,可以采用加權輪循(Weighted Round Robin,WRR)方案來調度這些分解后的矩陣。備選地,也可以使用具有平滑輪循(Smoothed Round Robin, SRR)的二值矩陣分解(BMD)算法來調度這些分解后的矩陣。然而,有時候向端口對授予了比GLJD和BMD中要求的更多的分配。也被稱為過度分配(over-allocation),即使對分解后的置換矩陣進行了理想調度,該現象也可以導致未預期的高抖動和不公平。如示圖100所示,可以將具有2個輸入INl和IN2以及2個輸出OUTl和0UT2的交換機對102的連接表示為包含可能的輸入-輸出連接在內的置換矩陣104。例如,在具有
8個時隙1、2.....8的幀周期中,可以由T來描述2x2交換機的業務需求,其中,Ti,j是從
輸入i向輸出j發送業務所需的時隙。假定示例場景[I] T2x2 = \ \端口對(1,1)、(1,2)和(2,I)具有要發送的4個分組,而端口對(2,2)僅具有要發送的2個分組。BV和GLJD分解產生了以下置換矩陣的加權和I4a <4\l +4^ il,其中,〈意味著右側的每一項不小于左側的對-4· 2」 LfJ I」 Li U-
應項。然后,可以用具有2個時隙的相等間隔來調度2個分解后的置換矩陣_9]置換矩陣:[;K K K K K ;] G K ;]時隙12 3 4 5 6 7 8向僅需要2個時隙的端口對授予了 4個時隙,即1、3、5、7。用于調度的通常方案是選擇最早的2個時隙,時隙I和3。在該情況下,在這2個分配之間的間隔(時間差)是2個時隙,而在第2分配和下一幀中的分配之間的間隔不小于6個時隙,從而導致了高抖動。取而代之地,選擇時隙I和5可以產生低延遲抖動。此外,過度分配還造成了在端口對之間的短期不公平,因為在頭4個時隙期間發送端口對的100%的業務,而在相同時間中僅發送其他端口對的50 %的業務。為了避免由于過度分配帶來的未預期的高抖動和不公平,根據一些實施例,可以采用差分二分時隙分配(DDSA),以剛好分配用于容納每個端口對的業務需求的時隙量。具體地,DDSA執行以下操作來實現良好的性能。第一,DDSA通過將一些時隙專用于每個端口對,將緊密耦合的端口對加以去耦合。在其專用時隙內,端口對不再受調度約束。該操作可以降低調整過程中的計算復雜度。第二,DDSA可以根據具體設計的順序對專用時隙的分配進行移除和補充,這有助于DDSA實現良好的性能。第三,為了實現高吞吐量,DDSA可以允許端口對借用其他端口對的專用時隙。不從頭構造調度,而是DDSA將上一幀中的調度缺省地視為針對當前幀的調度。然后,根據2個幀中的業務差異,DDSA可以調整調度,以滿足當前幀的實際業務需求。一般而言,該調度可以包括2個步驟。如果幀中的請求小于在先幀中的請求,則可以從調度S°中移除冗余分配,否則可以將不足的分配補充到S°中。根據一些實施例的調度算法可以用低復雜度來移除和補充分配,且同時維護高吞吐量、抖動和公平性能。由于不能用相同時隙來分配具有相同輸入或輸出端口的2個端口對,端口對彼此緊密地耦合給移除和補充過程增加了復雜度。根據實施例的算法可以將一些時隙專門用于每個端口對。在專用時隙中,端口對不再受到約束。換言之,任何專用時隙可以用于在每個幀中調度,因此減少了在搜索合適時隙時所用的時間。此外,可以根據具體設計的順序來移除和補充專用時隙的分配,這有助于DDSA實現良好的性能。此外,DDSA可以使得端口對能夠在需要時借用其他端口對的專用時隙,以優化吞吐量。如上所述,根據實施例的DDSA算法可以將時隙集合專門用于每個端口對,以節約搜索分配時隙的時間。在它們對應的專用時隙中,將端口對去耦合,且端口對不再受以下約束端口不能同時向多于一個端口發送或從多于一個端口接收。在每巾貞中,端口對可以任意地選擇任何專用時隙,這暗示了在選擇方面的低復雜度。一般而言,端口對的專用時隙可以滿足以下準則。首先,具有相同輸入或輸出的端口對的專用時隙可能不重疊。其次,端口對的專用時隙的數目能夠容納其業務需求。為了滿足第一準則,DDSA可以將端口對分組,以使得相同組中的端口對不具有相同的輸入或輸出。然后,DDSA可以逐組分配專用時隙。對于第二標準,DDSA可以嘗試將更多的時隙專門用于具有更大業務需求的端口對。具體地,DDSA可以將具有相似業務需求的端口對分在相同組中,然后基于該組內的端口對的業務需求來分配專用時隙。 令Gk描述組k中的端口對,如果(i,j)屬于組k,則三維布爾變量Gkiij等于1,否則等于O。通過分組,可以將約束歸納為
權利要求
1.一種用于在網絡環境中調度輸入排隊交換機的方法,所述方法包括 將可用時隙的預定部分專門用于每個交換機端口對,其中,交換機端口對在其專用時隙內不受調度約束; 根據預定順序來移除對專用時隙的分配; 根據所述預定順序來補充對專用時隙的分配;以及 使交換機端口對能夠借用其他交換機端口對的專用時隙。
2.根據權利要求I所述的方法,還包括對所述交換機端口對進行分組,以使得相同組中的交換機端口對不具有相同的輸入或輸出。
3.根據權利要求I所述的方法,還包括逐組分配專用時隙,其中,將具有相似業務需求的交換機端口對分在相同組中,然后基于每個組內的交換機端口對的業務需求來分配專用時隙。
4.根據權利要求I所述的方法,將專用時隙用于每個幀中的調度,從而減少在搜索合適時隙時所用的時間。
5.根據權利要求4所述的方法,其中,基于長期統計業務到達率信息來對時隙進行專用。
6.根據權利要求I所述的方法,還包括對所述交換機端口對進行分組,從而使交換機端口對的業務到達率的總方差最小。
7.根據權利要求I所述的方法,還包括基于二分順序來選擇專用時隙,其中,確定可用時隙之間的間隔,并選擇最大間隔的中間位置上的時隙。
8.根據權利要求I所述的方法,還包括允許業務請求超過其專用時隙的容量的交換機端口對從其他交換機端口對借用專用時隙。
9.根據權利要求8所述的方法,還包括使交換機端口對能夠首先取回借給其它交換機端口對的專用時隙,從而使交換機端口對能夠以最高優先級來使用他們的專用時隙。
10.一種用于在網絡環境中調度輸入排隊交換機的裝置,所述裝置包括 存儲器,被配置為存儲指令,且還存儲與交換機端口對相關聯的對網絡業務進行定向的網絡信息數據; 處理器,耦合到所述存儲器,其中,所述處理器適于執行所述指令,當所述指令被執行時,所述指令將所述處理器配置為 將可用時隙的預定部分專門用于每個交換機端口對,其中, 交換機端口對在其專用時隙內不受調度約束; 根據預定順序來移除對專用時隙的分配; 根據所述預定順序來補充對專用時隙的分配;以及 使交換機端口對能夠借用其他交換機端口對的專用時隙。
11.根據權利要求10所述的裝置,其中,所述處理器還被配置為對所述交換機端口對進行分組,以使得相同組中的交換機端口對不具有相同的輸入或輸出。
12.根據權利要求10所述的裝置,其中,所述處理器還被配置為逐組分配專用時隙,以使得將具有相似業務需求的交換機端口對分在相同組中,然后基于每個組內的交換機端口對的業務需求來分配專用時隙。
13.根據權利要求10所述的裝置,其中,所述處理器還被配置為將專用時隙用于每個幀中的調度,從而減少在搜索合適時隙時所用的時間。
14.根據權利要求13所述的裝置,其中,基于長期統計業務到達率信息來對時隙進行專用。
15.根據權利要求10所述的裝置,其中,所述處理器還被配置為對所述交換機端口對進行分組,從而使交換機端口對的業務到達率的總方差最小。
16.根據權利要求10所述的裝置,所述處理器還被配置為基于二分順序來選擇專用時隙,以確定可用時隙之間的間隔,并選擇最大間隔的中間位置上的時隙。
17.根據權利要求10所述的裝置,所述處理器還被配置為允許業務請求超過其專用時隙的容量的交換機端口對從其他交換機端口對借用專用時隙。
18.根據權利要求17所述的裝置,所述處理器還被配置為使交換機端口對能夠首先取回借給其它交換機端口對的專用時隙,從而使交換機端口對能夠以最高優先級來使用他們的專用時隙。
19.一種計算機可讀存儲介質,其具有存儲于其上的用于以基于差分幀的方式在網絡環境中調度輸入排隊交換機的指令,所述指令包括 將可用時隙的預定部分專門用于每個交換機端口對,其中,交換機端口對在其專用時隙內不受調度約束; 根據預定順序來移除對專用時隙的分配; 根據所述預定順序來補充對專用時隙的分配;以及 使交換機端口對能夠借用其他交換機端口對的專用時隙。
20.根據權利要求19所述的計算機可讀存儲介質,其中,所述指令還包括 使更早借用的交換機端口對優先于較晚借用的另一交換機端口對; 使交換機端口對能夠首先取回借給其它交換機端口對的專用時隙,從而使交換機端口對能夠以最高優先級來使用他們的專用時隙;以及針對交換機端口對的總數,對吞吐量進行歸一化。
全文摘要
針對具有虛擬輸出隊列(VOQ)的輸入排隊(IQ)交換機,采用基于差分幀的調度方案。差分調度基于2個連續幀中的業務差異來調整先前的調度。為了以低復雜度來保證服務質量(QoS),該調整首先在每個幀中為每個端口對保留一些時隙,然后根據二分順序來釋放過剩的分配并補充不足的分配,其被設計為用于高吞吐量、低抖動、公平和低計算復雜度。
文檔編號H04L12/28GK102640457SQ201080048846
公開日2012年8月15日 申請日期2010年11月3日 優先權日2009年11月4日
發明者尼爾萬·安薩里, 張晶晶 申請人:新澤西理工學院