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