串行RapidIO與萬兆位以太網(wǎng)
移動應用中多媒體內(nèi)容的爆炸式增長孕育了無線網(wǎng)絡的又一次進化。為了趕上日益增多的語音和數(shù)據(jù)通信量需求,就必須開發(fā)出高性能的系統(tǒng)。為了在競爭如此激烈的市場上保持領(lǐng)先,系統(tǒng)設計人員必須選擇一種可擴展的互連標準,以提供更佳的性能、成本、功耗和可靠性。串行RapidIO(S-RIO)是唯一能夠滿足無線基帶處理應用的特定需求的協(xié)議,不過萬兆位以太網(wǎng)(10GE)有時也被看作一種替代性解決方案。
要理解10GE和S-RIO之間的差別,首先必須了解這兩種標準的發(fā)展歷史。以太網(wǎng)標準是專為大型局域網(wǎng)或廣域網(wǎng)而設計的,其前提是網(wǎng)絡上存在著功能強大的處理器,能夠加強軟件協(xié)議棧。這些種類的網(wǎng)絡上的事務實際上通常都包含大量的數(shù)據(jù)通信流量,具有很高的數(shù)據(jù)承載量。但是,無線基帶處理則具有與之不同的需求。在無線系統(tǒng)中,高性能處理部件都同時攜帶有控制面和數(shù)據(jù)面的通信量,并需要在彼此之間進行快速而可靠的通信。串行RapidIO就是為了支持這種類型的需求而量身設計的。
性能很重要
3G+與4G無線協(xié)議以及高級天線系統(tǒng)(AAS)架構(gòu)都需要強大且可預知的系統(tǒng)性能。為了滿足這種需求,在RapidIO標準中,延遲和協(xié)議效率被給予了特殊的關(guān)注。為了盡量縮短延遲,RapidIO的設計采用了較短的數(shù)據(jù)包報頭以及基于目標ID(DesTID)的簡單路由選擇架構(gòu)。這種簡單的傳輸層功能實現(xiàn)了100ns以內(nèi)的直通交換機延遲。RapidIO提供了對傳輸中的數(shù)據(jù)包進行“stomp”的功能,從而使得交換機設備無須接收到整個數(shù)據(jù)包就能夠?qū)⑵滢D(zhuǎn)發(fā)(“stomp”是一種控制符號,在RapidIO協(xié)議中用于在遇到錯誤時取消已部分傳輸?shù)臄?shù)據(jù)包)。這種功能在不影響可靠性的前提下提高了系統(tǒng)的整體性能。如果在轉(zhuǎn)發(fā)的數(shù)據(jù)包中檢測到錯誤,RapidIO端口在無須軟件干預的情況下就能夠?qū)鬏斨械臄?shù)據(jù)包進行“stomp”處理。
相反,10GE數(shù)據(jù)包的報頭要長得多,從而導致與其他處理部件進行通信的延遲增加。對于局域網(wǎng)與廣域網(wǎng)而言,較長的數(shù)據(jù)包長度可以補償較長的報頭長度及相關(guān)開銷所帶來的影響。但是,與局域網(wǎng)/廣域網(wǎng)模型中的通信量相比,無線應用中的通信量通常長度較短,而數(shù)量較多。對于這種承載量較小的通信量而言,10GE標準中較長的數(shù)據(jù)包報頭就會給每次事務的效率帶來不利影響,并降低系統(tǒng)的整體性能。10GE標準中第2層的交換機延遲也要比S-RIO中的延遲大得多,在最佳情況下也要遠遠超過200ns。以太網(wǎng)不能對傳輸中的數(shù)據(jù)包進行“stomp”處理。相反,它會“盡力”去傳遞數(shù)據(jù)包,并依賴第3或第4層的軟件來驗證數(shù)據(jù)包內(nèi)容的完整性。
在不影響性能的前提下實現(xiàn)可靠性
可靠性是RapidIO的閃光點。內(nèi)置在硬件中的確認設計防止了數(shù)據(jù)包丟失并保證了數(shù)據(jù)包的傳送。保證可靠的數(shù)據(jù)包傳送的機制是在物理層以純硬件方式實現(xiàn)的。在硬件中實現(xiàn)數(shù)據(jù)包的傳送對于系統(tǒng)的性能具有重大的積極影響。因為無須軟件干預就能夠?qū)崿F(xiàn)可靠的傳送,事務就不會因為軟件例程而引入延遲。對于10GE標準而言,物理層只是盡最大努力去管理數(shù)據(jù)包的傳送(也就是說,可能存在丟包)。要確保數(shù)據(jù)包傳送成功,需要交由TCP層處理,在TCP層中,可靠的傳送機制可能是在軟件中實現(xiàn)的。
訪問軟件層需要花費寶貴的時間,消耗處理資源且對系統(tǒng)性能不利。10GE設計中的這種軟件干預可能引入超過10μs的系統(tǒng)延遲。相反,S-RIO的系統(tǒng)延遲只有約1μs。10GE系統(tǒng)中的數(shù)據(jù)包重傳則更為復雜,可能會消耗數(shù)十微妙。而對于S-RIO設計而言,數(shù)據(jù)包重傳是透明的,完全由硬件來處理,只需不到1μs即可完成。同時,依賴軟件來確保數(shù)據(jù)包的傳送會造成不確定的系統(tǒng)延遲。根據(jù)在數(shù)據(jù)包到達時正在運行的軟件例程的不同,完成數(shù)據(jù)包傳送操作所需要的時間在一定程度上是不可預測的。10GE依靠軟件來確保數(shù)據(jù)包的傳送,所以對于那些希望獲得較短而確定的延遲的系統(tǒng)而言,不是一個好的選擇。
考慮系統(tǒng)成本,而不僅僅是設備成本
為了運行用于實現(xiàn)協(xié)議棧的軟件,10GE需要用到處理器。這種對軟件棧的管理工作增加了處理開銷,降低了系統(tǒng)效率。以太網(wǎng)可能會耗費15%~30%的處理性能用于軟件棧的管理。對于100美元的處理器而言,這就等于是每臺處理器15~30美元的看不到的系統(tǒng)互連成本。在RapidIO系統(tǒng)中,協(xié)議會盡量減少對軟件的依賴性,從而降低處理器的負荷,同時節(jié)省下來的開支可用于更快的處理器上,從而以更低的成本實現(xiàn)性能更高的系統(tǒng)。
系統(tǒng)功耗
既然處理RapidIO協(xié)議所需的處理器負荷降低了,系統(tǒng)功耗也將隨之降低。因為用于協(xié)議管理的數(shù)千兆赫茲處理器的使用量減少了,所以系統(tǒng)的功耗能夠保持在最低值。因此,它還能降低熱管理成本并降低系統(tǒng)復雜度。在10GE系統(tǒng)中,對處理資源較多的使用量會造成更高的系統(tǒng)功耗。
可擴展性提供了具有競爭力的優(yōu)勢
無線基礎設施市場中的競爭是很激烈的。因為供應商們彼此之間爭著要在每條線路卡上提供更多的用戶,所以建立可擴展的系統(tǒng)就是至關(guān)重要的。系統(tǒng)設計人員必須設計出一種架構(gòu),使其只需經(jīng)過簡單修改就能夠適應性能的變化。RapidIO系統(tǒng)使用相同的寄存器組,就能夠輕松地從最低速率擴展到最高速率。可用的端口速率是1、2、2.5、4、5、8、10、16和20Gb/s。相反,為了使以太網(wǎng)從1Gb速率升級到10Gb帶寬,則需要一組新的寄存器,并且要對系統(tǒng)軟件進行大量的更改。10GE生態(tài)系統(tǒng)所缺少的另一個重要部件是小端口數(shù)交換機。大多數(shù)設備要面對的都是擁有眾多1GE端口卻只有2個10GE端口的大端口數(shù)底板或聚合設備。
S-RIO的優(yōu)點包括:延遲小且確定,系統(tǒng)處理器負荷較低,可靠性高,處理器與協(xié)議管理軟件之間的耦合度低。這些優(yōu)點使得S-RIO成為了無線應用的默認協(xié)議選擇。盡管10GE是無線基帶應用的一種可行的選擇,但因其自身的劣勢,通常會被設計人員舍棄。通過使用RapidIO,設計人員能夠建立可擴展的系統(tǒng),盡量提高性能,同時盡量降低功耗與成本,并且能夠在高度競爭的市場上縮短完成時間。