sRIO 2.0中虛擬通道的優(yōu)勢和加速其采用的技術
Serial RapidIO(sRIO)是一種高性能、基于包的技術,可以用于越來越多的應用,包括無線基礎設施、存儲、醫(yī)學成像和軍工領域。
本文引用地址:http://butianyuan.cn/article/87839.htm利用sRIO 2.0標準,系統(tǒng)設計師能夠選擇從1.25Gbps到6.25Gbps的鏈路速率,以及1x到16x的端口寬度,提供高粒度來選擇最適合具體應用的端口數(shù)據(jù)速率。在sRIO 2.0的物理層增強以外,還有一系列更高級別的功能,是專門為提供空前的交換器結構流量控制而設計的。
虛擬通道(Virtual channel,VC)可提供控制系統(tǒng)的不同類型流量的能力。VC通過將鏈路劃分為幾個獨立的通道,將包分配給一個特定通道,有助于系統(tǒng)設計師控制包流量。第一個VC叫VC0,它是一個采用sRIO 2.0標準的向后兼容VC,與sRIO 1.3規(guī)范鏈路的運行一樣。此外,sRIO 2.0還支持多達8個以上的VC(VC1-VC8)。
圖1虛擬通道帶寬預約
VC增強了對結構中的數(shù)據(jù)流量的控制。每個VC能保證占到鏈路帶寬的一部分。系統(tǒng)設計師能控制多個流量類型的互動,事實上能通過分配帶寬,將它們相互隔離。對延遲敏感的流量(如流視頻)能夠在整個交換器結構中保證分配到一部分帶寬。
由于所有VC可用的帶寬都比保證的要少,所以為了最大限度地利用鏈路,使sRIO 2.0可用于任何可用帶寬。實質上,帶寬的分配是智能的,同時可確保急需比其分配到的帶寬更多的貪婪的VC不能從其他VC搶占帶寬,同時確保只要有包發(fā)送的時候,沒有任何帶寬閑置。
圖2sRIO 1.3系統(tǒng)中的sRIO 2.0交換器操作
圖1顯示VC帶寬預約的優(yōu)勢。三個包流共享一個鏈路,帶寬的10%分配給VC_A,60%分配給VC_B,30%分配給VC_C。在仿真的第一部分中,只有VC_A和VC_C有包要傳送,因此它們的帶寬增長超出了其各自的分配值,以利用分配給VC_B未使用的部分。如圖所示,VC_C能夠占據(jù)可用鏈路帶寬的75%,而VC_A占有其余的25%。sRIO 2.0允許VC使用未被使用的鏈路,包分別按照其相應的帶寬分配出現(xiàn)。在仿真的后半部分,VC_B出現(xiàn)通過共享鏈路傳送的流量。sRIO 2.0允許交換器迅速響應流量的變化,并在需要匹配已編程分配時改變帶寬利用率。在這種情況下,一個間斷但對延遲敏感的流,如VC_B,可快速獲得其 60%的分配。一旦傳送了來自VC_B的包,鏈路使用再一次重新分配給其余有包要傳送的VC。
sRIO 2.0通過提供一個對VC0唯一的功能,可以提供一層額外的鏈路劃分控制。VC0可以進行配置,以服從帶寬預約,就像其他所有VC一樣;或者可配置為能夠自動獲得任何所需的帶寬,而所有剩下的帶寬都分配給所有其他有包要傳送的VC。這有助于控制通過VC0傳送的平面流量,使操作完全獨立于數(shù)據(jù)平面流量,而且只受sRIO 1.3規(guī)范的優(yōu)先權規(guī)則的約束。
VC提供兩種包傳輸模式——連續(xù)傳輸(CT)和可靠傳輸(RT)。RT操作與sRIO規(guī)范較早的版本相似,當包無法接收時重新發(fā)包,確保包傳輸無損。CT是為降低延遲流量而優(yōu)化的,該流量可通過不重新發(fā)包而接受丟包。VC0支持所有定義的優(yōu)先權,只以RT模式操作。
圖3sRIO 1.3和sRIO 2.0系統(tǒng)的結合
更高的VC(1~8)能夠以CT和RT模式運行,有助于客戶優(yōu)化不同類型數(shù)據(jù)的傳輸方法。例如,鑒于控制平面流量可能需要RT提供的響應和保證的發(fā)送,數(shù)據(jù)平面流量(如來自音頻流的)可能從減少的CT延遲獲益,而且如果執(zhí)行重發(fā)的話,就可能受到損失。
交換器供應商面臨的挑戰(zhàn)
在一項規(guī)范中增加功能的挑戰(zhàn)之一是將新的功能集成到現(xiàn)有和下一代系統(tǒng)中。向后兼容性是sRIO規(guī)范開發(fā)流程的基石,但是新標準的推廣過程也同樣重要。系統(tǒng)開發(fā)商將在不久的未來看到越來越多的sRIO 2.0兼容的產(chǎn)品。
交換器供應商很有可能是第一批采用sRIO 2.0的對象。交換器是嵌入式結構生態(tài)系統(tǒng)的基礎,實質上在于新規(guī)范的驗證。如數(shù)字信號處理器和現(xiàn)場可編程門陣列等處理端點,可能會在生產(chǎn)符合最新修訂規(guī)范的新器件方面滯后。因此,交換器供應商在生產(chǎn)下一代解決方案時面臨一個嚴峻的挑戰(zhàn),最初至少是將這些解決方案推向基于現(xiàn)有端點的采用當前技術的系統(tǒng)當中。隨著支持sRIO 2.0的端點的面市,在現(xiàn)有系統(tǒng)進化或新的系統(tǒng)推出時,設計師將向它們過渡。不可避免的是,會有一段sRIO 1.3和sRIO 2.0交迭的延長期。另外,許多系統(tǒng)可能將存在更長的一段時間,需要現(xiàn)有sRIO 1.3子系統(tǒng)與sRIO 2.0兼容子系統(tǒng)進行通信。
不過,不需要現(xiàn)有端點的支持,交換器供應商就能利用sRIO 2.0的很多優(yōu)勢,因為這些優(yōu)點主要集中在交換結構。VC的優(yōu)勢非常具有競爭力,對逐漸采用該技術的支持可能證明對系統(tǒng)設計師有高度的吸引力。因此,交換器供應商的挑戰(zhàn)是在可能由sRIO 1.3兼容端點主導的系統(tǒng)的sRIO結構中,實現(xiàn)對VC功能的過渡支持。此外,交換器供應商必須提供一種簡單的過渡機制,這樣隨著系統(tǒng)進化到只容納 sRIO 2.0器件,結構及其VC的使用也將進化。
用于sRIO 1.3系統(tǒng)的虛擬通道
支持VC的交換器必須提供專門發(fā)送VC包并支持sRIO 2.0帶寬分配需求的內(nèi)部電路。如果交換器是智能的,能夠將一個進來的sRIO 1.3包當作具有更高VC值的sRIO 2.0包發(fā)送的話,這些路徑可被sRIO 1.3兼容包利用。交換器供應商可以為客戶提供編程一個映射協(xié)議的能力,對進入的sRIO 1.3包在緩沖器利用、交換算法決定、負載平衡和帶寬預約方面作為sRIO 2.0包進行處理。這樣就可以為系統(tǒng)設計師提供對sRIO 2.0中定義的結構的控制,即使生成更高VC包的能力是不可用的。這種能力有助于系統(tǒng)設計師支配系統(tǒng)中不同數(shù)據(jù)流的處理,就像整個系統(tǒng)是在以sRIO 2.0器件運行。
圖2描述的就是這個概念。盡管器件只生成sRIO 1.3兼容的流量,交換器可以進行配置來處理某些進來的流量,就像它有更高VC一樣,主要是將sRIO 1.3包映射到編程VC值的sRIO 2.0包。一種可以用來向交換器傳達如何處理一個特定包的方法是使用唯一的目標標識符。這種增強有助于交換器將包發(fā)送到正確的端點,同時基于給被映射的 VC的帶寬分配限制包的流出流量。如圖所示,通過這種特點,交換器可以將三個不同的端點作為VC_A、VC_B和VC_C的發(fā)生器進行處理,到達目標的預期流量可以模仿圖1中顯示的靈活性和響應,這些都不需要使用sRIO 2.0端點。雖然可能限制基于發(fā)送器的流量控制的使用,這種VC映射能力的確有助于系統(tǒng)設計師更精確地接近系統(tǒng)中預期的流量,而不是限制用戶只能遵循 sRIO 1.3包排序規(guī)則。
sRIO 2.0中VC的另外一個關鍵因素是在CT模式運行的能力,這有助于在需要減少延遲的情況下丟下包。任何向采用VC過渡的努力,都要面對這個關鍵的特點。不像sRIO 2.0,如果沒有緩沖空間的話,sRIO 1.3器件不會接受包。交換器供應商可以通過提供一種偽CT模式選項,用sRIO 1.3端點接近sRIO 2.0 CT模式操作,在這種模式中,要重新發(fā)送的包實際上是被一個新的包代替了。這種模式有助于客戶在sRIO 1.3系統(tǒng)中利用在CT模式下運行的VC的延遲優(yōu)勢。
sRIO 1.3和sRIO 2.0系統(tǒng)間的通信
隨著新的sRIO 2.0端點進入市場,很有必要提供一種能夠將兩種規(guī)范連接起來的解決方案,這樣,為sRIO 2.0設計的子系統(tǒng)就能利用它們所有的優(yōu)勢,同時繼續(xù)與現(xiàn)有sRIO 1.3子系統(tǒng)通信。
一個強大的功能就是提供一個作為sRIO 1.3現(xiàn)有流量和sRIO 2.0 VC流量之間的轉換器運行的交換器。sRIO提供內(nèi)置的向后VC值轉換,因為規(guī)定VC值的包頭部分重新使用了優(yōu)先權和關鍵請求流量區(qū)域。雖然這確實有助于 sRIO 1.3器件轉送規(guī)定VC值的sRIO 2.0包,但這是靜態(tài)的轉換,可能滿足不了必須在同一系統(tǒng)中同時支持兩種sRIO版本的系統(tǒng)設計師的需求。
然而,交換器可以作為兩個子系統(tǒng)間的智能互連運行,通過提供一個可編程的轉換功能,每個子系統(tǒng)分別以不同的sRIO版本運行。假設一個系統(tǒng)包括一個現(xiàn)有sRIO 1.3系統(tǒng)板、一個sRIO 2.0系統(tǒng)板和一個具有轉換功能的交換板,如圖3所示,交換器就可以具有一個可編程的轉換功能,在兩個系統(tǒng)之間隨意進行包轉換。這有助于系統(tǒng)設計師在修改子系統(tǒng)時向新的規(guī)范過渡,推出新的子系統(tǒng),使整個sRIO 2.0生態(tài)系統(tǒng)采用所有必要的元件。這個解決方案不是簡單地將包映射到VC并改變交換器處理每個包的方式,而是改變進入包的包頭,重新計算循環(huán)冗余碼校驗 (CRC),并最終生成新的包。系統(tǒng)設計師能夠以最小的影響和巨大的優(yōu)勢利用這種解決方案。
加速sRIO 2.0的成功
sRIO 2.0將是具有強大功能的嵌入式結構,支持各種數(shù)據(jù)流量。VC是將改變系統(tǒng)設計師能夠定義和控制通過其結構的數(shù)據(jù)流的主要元件。交換器供應商的挑戰(zhàn)是為他們的客戶提供能夠迅速利用VC卓越功能的強大sRIO 2.0解決方案,同時隨著生態(tài)系統(tǒng)繼續(xù)發(fā)展,提供一條簡單的途徑使其進化成完整的sRIO 2.0解決方案。
評論