《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 采用LSI網(wǎng)絡(luò)解決方案實現(xiàn)WCDMA RNC HSPA用戶平面加速
采用LSI網(wǎng)絡(luò)解決方案實現(xiàn)WCDMA RNC HSPA用戶平面加速
電子產(chǎn)品世界
摘要: 隨著高速分組接入(HSPA)峰值數(shù)據(jù)速率不斷提高,目前主要依靠各種通用處理器(CPU)進行用戶平面處理工作的無線 ...
關(guān)鍵詞: 基站 LSI WCDMA RNC HSPA 通信
Abstract:
Key words :

        隨著高速分組接入(HSPA)峰值數(shù)據(jù)速率不斷提高,目前主要依靠各種通用處理器(CPU)進行用戶平面處理工作的無線電網(wǎng)絡(luò)控制器(RNC)平臺已無法滿足日益增加的通信有效負載要求。因此,RNC需要通過新的方法來處理PDCP、無線鏈路控制(RLC)、MAC以及FP等用戶平面無線協(xié)議。由于對峰值數(shù)據(jù)速率要求的提高,以及HSPA用戶數(shù)量和與WCDMA網(wǎng)絡(luò)相關(guān)流量的增加,RNC需要更快速的HSPA。

    本文將介紹如何通過LSIAPP650 Advanced Payload Plus網(wǎng)絡(luò)處理器來加快當(dāng)前的HSPA用戶平面設(shè)計,不管目前的用戶平面運行于何種硬件上。通過讓APP650接管RLC分段/級聯(lián)以及重組等用戶平面處理工作,RNC可針對小型RLC服務(wù)數(shù)據(jù)單元(SDU)提供100Mb/s以上的用戶峰值數(shù)據(jù)速率,并且可使3萬名用戶的總吞吐量達到700Mb/s以上。通過使用APP650分擔(dān)部分處理工作的方法以及高度靈活的RLC(3GPP7版本以上),使每用戶的峰值速率吞吐量能達到200Mb/s以上。

    蜂窩系統(tǒng)的一個重要要求就是為分組數(shù)據(jù)業(yè)務(wù)提供高數(shù)據(jù)速度。為滿足這一要求,3GPP/WCDMA標(biāo)準(zhǔn)R5版和R6版均提出了HSPA標(biāo)準(zhǔn)。盡管3GPP/WCDMA標(biāo)準(zhǔn)R1版就支持分組數(shù)據(jù)通信,但HSPA進一步增強了性能,可提供更高階調(diào)制、快速的調(diào)度以及速率控制等,從而支持更高的每用戶峰值數(shù)據(jù)速率。隨著HSPA的不斷發(fā)展,峰值數(shù)據(jù)速率也將不斷提高。預(yù)計3GPP7版本以上的每用戶峰值數(shù)據(jù)速率將提升至200Mb/s以上。

    在采用HSPA技術(shù)的3G網(wǎng)絡(luò)中,RNC通??刂茢?shù)百個基站。RNC負責(zé)其控制下各蜂窩系統(tǒng)的呼叫設(shè)置和無線電資源管理。WCDMA用戶平面協(xié)議層包括PDCP、RLC、MAC以及FP等,都是在下行方向上的RNC中啟動,和在上行方向上的RNC中終止。

    RLC協(xié)議層是唯一終止于3G網(wǎng)絡(luò)用戶設(shè)備(移動設(shè)備)中的RNC用戶平面層。所有其它層均只位于RNC與基站之間。

    現(xiàn)有RNC平臺通常使用多個通用CPU來處理WCDMA用戶平面協(xié)議棧。隨著HSPA的發(fā)展以及蜂窩數(shù)據(jù)速率的提高,現(xiàn)有RNC架構(gòu)已無法滿足WCDMA網(wǎng)絡(luò)日益提高的通信有效負載要求。

    根據(jù)摩爾定律,CPU的性能每18個月應(yīng)提高1倍。根據(jù)幾份市場研究報告顯示,預(yù)計對RNC用戶平面處理容量的網(wǎng)絡(luò)需求每12個月將提高約3倍,當(dāng)前的RNC用戶平面處理技術(shù)顯然無力應(yīng)付不斷發(fā)展的需求(圖1)。LSI針對這一問題提供了短期和長期解決方案。

        

    本文建議采用的解決方案是將CPU從RLC分段/級聯(lián)工作中釋放出來,從而顯著降低當(dāng)前CPU的工作負載。此前曾將CPU從分段工作中釋放出來用于其它協(xié)議(如TCP)中,以縮短服務(wù)器平臺中的CPU周期。本文將介紹類似理念的應(yīng)用,以加速WCDMA用戶平面處理(尤其是RLC協(xié)議)。LSIAPP650處理器將CPU從分段/級聯(lián)以及重組工作中釋放出來,支持高達3萬用戶的RLC連接。圖2為幾個CPU采用單一APP650處理器作為加速引擎的情況。

              

相對于通常受限于單核或單線程性能的非加速方案而言,這種加速方案具有明顯的優(yōu)勢。以前,提高HSPA峰值數(shù)據(jù)速率和增加用戶(使用典型的CPU和操作系統(tǒng)模型,用CPU進行用戶平面處理的用戶)數(shù)量要求單用戶處理軟件在多個處理器上并行或管道化操作。這種軟件工作方式不僅極其復(fù)雜、成本高昂,而且容易出錯。與此不同的是,我們可利用LSIAPP650處理器來負責(zé)一些CPU工作強度最高的處理任務(wù),從而節(jié)約50%乃至更多的CPU處理資源。而且在采用同一硬件時,高峰值數(shù)據(jù)速率與總體吞吐量將提高一倍以上。

APP650在用戶平面處理方面的優(yōu)勢

APP650網(wǎng)絡(luò)處理器由幾個處理單元組成,其中包括模式處理器、流量管理和狀態(tài)引擎等。

模式處理器主要負責(zé)數(shù)據(jù)包分類,其采用管線化、多線程的多處理器架構(gòu)。模式處理器的每管線級能在每個時鐘周期的不同上下文/線程下工作,這不同于管線中的所有指令必須屬于單個上下文且只有上下文暫停(高速緩存缺失、存儲器訪問、分支預(yù)測錯誤等)時才打開管線中上下文執(zhí)行的傳統(tǒng)通用架構(gòu)。在傳統(tǒng)的單線程架構(gòu)中,讓執(zhí)行管線保持繁忙比較困難,因為管線中的所有指令都屬于單線程。在APP650架構(gòu)中,如果上下文執(zhí)行的函數(shù)調(diào)用時延較高,那么該函數(shù)調(diào)用在管線中的位置會被分配給其他上下文。因此,APP650多線程架構(gòu)能支持零周期上下文切換功能,這在單線程的多核架構(gòu)中是不能實現(xiàn)的。模式處理引擎可提供144個不同的上下文,能全面利用硬件資源,并避免存儲器出現(xiàn)時延。

與此形成對比的是,CPU的存儲器瓶頸會導(dǎo)致我們難以充分利用資源,而且會浪費CPU的工作周期。APP650網(wǎng)絡(luò)處理器會為即將到達的數(shù)據(jù)包分配一個上下文,這樣許多數(shù)據(jù)包能同時處理。由于我們能同時處理許多數(shù)據(jù)包,這樣就能充分利用CPU資源,而且還能實現(xiàn)高達5.9Gb/s的數(shù)據(jù)速率。

在APP650架構(gòu)中,機制與策略是彼此獨立的。硬件負責(zé)提供機制,而軟件負責(zé)提供策略。APP650架構(gòu)是在硬件中執(zhí)行存儲器管理與數(shù)據(jù)移動,因此在牽涉到存儲器的分配與釋放、數(shù)據(jù)包指針的跟蹤或者數(shù)據(jù)復(fù)制到不同存儲器地址等方面時間,不會出現(xiàn)軟件消耗資源的問題。APP650硬件就每個數(shù)據(jù)包調(diào)用軟件來提供決策,避免了因中斷處理或輪詢而浪費CPU資源。APP650網(wǎng)絡(luò)處理器還包括了預(yù)排序修改(PQM)引擎,其不僅能在數(shù)據(jù)包的不同部分中插入或刪除數(shù)據(jù),而且還可將數(shù)據(jù)包分段為許多子數(shù)據(jù)包。PQM引擎的上述特性可顯著加速RLC分段/排序進程。另外,APP650網(wǎng)絡(luò)處理器還有一個重要特性,就是硬件輔助多字段數(shù)據(jù)包分類。數(shù)據(jù)包分類可能占用很多CPU資源,但在APP650網(wǎng)絡(luò)處理器上數(shù)據(jù)包分類非常高效。

APP650狀態(tài)引擎提供了跟蹤數(shù)據(jù)包相關(guān)狀態(tài)的機制。在RLC處理中,我們用該引擎跟蹤RLC連接狀態(tài)。舉例來說,與每個RLC連接相關(guān)的12位序列號都是狀態(tài)引擎所跟蹤的協(xié)議狀態(tài)的一部分。

在APP650網(wǎng)絡(luò)處理器中,硬件將軟件作為子例程調(diào)用,就緩沖管理、流量整形/調(diào)度和數(shù)據(jù)包修改提供決策。軟件運行在基于超長指令字(VLIW)架構(gòu)的三個計算引擎上。緩沖管理計算引擎強制執(zhí)行數(shù)據(jù)包丟棄策略并保持排序統(tǒng)計數(shù)據(jù)。流量整形器引擎確定每個隊列的服務(wù)質(zhì)量(QOS)和服務(wù)等級(COS)處理。流編輯器計算引擎執(zhí)行協(xié)議數(shù)據(jù)單元(PDU)修改。APP650網(wǎng)絡(luò)處理器的硬件輔助流量管理支持成千上萬隊列的確定性流量管理行為,同時還提供了一個框架,通過C編程語言子集進行流量管理算法定制。由于流量管理功能由不同引擎執(zhí)行,因此分類工作負載不會影響流量管理的確定性。

與此形成對比的是,CPU架構(gòu)要在支持數(shù)據(jù)包處理應(yīng)用的同一處理器池上或在一個單獨分配的內(nèi)核上執(zhí)行流量管理算法。這兩種情況都會造成硬件資源在確定性方面利用不充分。此外,軟件程序員還要負責(zé)流量管理解決方案開發(fā)的各方面工作。APP650架構(gòu)通過硬件框架消除了上述各種復(fù)雜問題,軟件程序員只需做出流量決策。

APP650架構(gòu)的構(gòu)建使軟件開發(fā)人員不用考慮硬件多線程和并行處理的問題。因此,APP650架構(gòu)所需較少的軟件編程,相對于現(xiàn)有的CPU無線用戶平面解決方案而言能大幅提高吞吐量。

LSI提供了豐富的軟件開發(fā)環(huán)境,包括確保周期精度的仿真器,可用作功能調(diào)試和應(yīng)用性能分析。此外,仿真器工具還能用來確定不同硬件資源的利用。

將CPU從RLC分段/級聯(lián)任務(wù)中釋放出來

根據(jù)所需可靠性的不同,RLC可分為三種不同的工作模式。我們在本文中只討論RLC確認模式(AM)。RLCAM模式通過自動重復(fù)請求(ARQ)協(xié)議來提供可靠的通信。

在RNC下行方向上,發(fā)送器執(zhí)行SDU的分段和級聯(lián)任務(wù)。RLCSDUs可映射至RLCPDUs,發(fā)送并置于重傳隊列中。在不同條件下,發(fā)送器可生成狀態(tài)報告并反饋給對等RLC。狀態(tài)報告可作為獨立的RLCPDU發(fā)送,如果有足夠的填充碼的話,它也可附帶在數(shù)據(jù)PDU末端上。

在RNC上行方向上,RLCAM實體從MAC層接收RLCPDUs。解碼后提取RLC報頭,并用于SDUs的重組。所有狀態(tài)和控制PDU都經(jīng)過處理,且相關(guān)信息將被發(fā)送至RLC發(fā)送端。發(fā)送端將根據(jù)接收到的狀態(tài)PDU檢查重傳緩沖器。此外,RLC報頭中的信息也可用于生成狀態(tài)PDUs。

在CPU資源庫中,RLC層的SDU與RLCPDU分段/級聯(lián)會消耗大部分CPU資源。由于分段/級聯(lián)以及重組能以高數(shù)據(jù)速率在所有RLC通道上執(zhí)行,因此可將CPU從上述工作中釋放出來,從而顯著節(jié)約CPU資源。圖4顯示了RLC發(fā)送器的不同組件以及加速引擎和CPU集之間的分區(qū)。我們的目標(biāo)就是將CPU從高帶寬工作中釋放出來。

在該設(shè)計方案中,RLC狀態(tài)管理和控制仍由CPU資源庫處理。對狀態(tài)PDU進行處理,并將一系列命令重傳給減負引擎(offloadengine)。

例如,在RNC發(fā)送器中斷言RLCPDUPOLL位將導(dǎo)致RLC對等對狀態(tài)PDU進行傳輸。狀態(tài)PDU由RNCCPU資源庫處理,隨后加速引擎將接到指令,將RLCPDU從重傳隊列中釋放出來,或向?qū)Φ萊LC重傳PDU。

如圖5所示,RLCSDU緩沖器將被保存在加速引擎中。由于CPU資源庫不接收SDU,因而可通過SDU的減負、分類以及緩沖節(jié)約大量CPU資源。

流量控制是RLC協(xié)議的另一項功能。該功能使RLC接收器能夠控制傳輸RLCPDU的對等的速率。流量控制邏輯在CPU資源庫中實施,停止或恢復(fù)RLC通道的命令由該邏輯提交至加速引擎。

RLC分段/級聯(lián)以及重組減負的性能分析

為了演示APP650網(wǎng)絡(luò)處理器作為RLC加速引擎的功能并分析其系統(tǒng)性能,我們設(shè)計并實施了概念驗證原型。在原型設(shè)計中,傳輸進來的RLCSDU可在APP650網(wǎng)絡(luò)處理器中實現(xiàn)緩沖。在每一個傳輸時間間隔(TTI),對所有緩沖的SDU都進行分段和級聯(lián),并將RLCPDU傳輸至千兆以太網(wǎng)端口。隨后,將RLCPDU回路返回至APP650網(wǎng)絡(luò)處理器,并經(jīng)過重組進程將SDU傳回至測試設(shè)備。圖5顯示了測試配置情況。

最多可創(chuàng)建30,000個RLC連接,并可針對不同的SDU大小測量可持續(xù)吞吐量??稍谠谒蠷LC連接上完成分段/級聯(lián)以及重組。在所有實驗中,均采用兩個SDU突發(fā)長度進行定期突發(fā)。突發(fā)的時間間隔與TTI一致。在所有實驗中,可將RLCPDU大小均設(shè)為100字節(jié)。

表1顯示了SDU大小為142至442字節(jié)情況下的30,000個RLC通道的RLCSDU總吞吐量。請注意,無論SDU多大,所有30,000個通道的吞吐量均約為700Mb/s。這種決定性是通用處理器架構(gòu)所無法實現(xiàn)的。對于30,000個連接而言,吞吐量受傳輸RLCPDU的千兆以太網(wǎng)接口帶寬的限制,而與APP650的處理能力無關(guān)。預(yù)配置的RLC連接的數(shù)量不會影響吞吐量,這是因為所有RLC配置數(shù)據(jù)均保存在分類樹中(查詢延遲取決于模式大小,而非分類樹中項目的數(shù)量),并且與RLC連接相關(guān)的所有狀態(tài)均保存在狀態(tài)引擎內(nèi)部存儲器中。

APP650仿真器可用于提供資源利用信息(表2)。結(jié)果顯示了高RLC通道數(shù)情況下且總吞吐量達700Mb/s時的APP650上下文利用率。首處理(firstpass)和次處理(secondpass)上下文利用率分別為51%和10%,從而表明即便在此類極高的速率情況下,APP650網(wǎng)絡(luò)處理器仍有進一步提高功能的足夠空間。

結(jié)論

隨著HSPA峰值數(shù)據(jù)速率不斷提高,依靠一系列CPU內(nèi)核來進行WCDMA用戶平面處理的現(xiàn)有RNC平臺已經(jīng)不能滿足流量工作負載提高的要求了?,F(xiàn)有RNC平臺的問題在于,用戶平面處理(大多為數(shù)據(jù)處理)的性質(zhì)不適用于通用CPU架構(gòu)。無線用戶平面處理要求對周期資源占用較高的功能進行優(yōu)化,如RLC分段/級聯(lián)和重組等。

本文介紹了一種可加速現(xiàn)有RNC WCDMA用戶平面協(xié)議棧的方案,即讓APP650網(wǎng)絡(luò)處理器來完成RLC分段/級聯(lián)和重組的工作。本文討論了APP650架構(gòu)的眾多優(yōu)勢,如高效處理數(shù)據(jù)包的確定性等。仿真與原型設(shè)計表明,APP650網(wǎng)絡(luò)處理器可為30KRLC通道提供高達700Mb/s的總吞吐量。對于高度靈活的RLC而言,我們能實現(xiàn)超過200Mb/s的單RLC通道峰值速率。

簡言之,可將APP650網(wǎng)絡(luò)處理器用作用戶平面加速器,以解決當(dāng)前RNC系統(tǒng)所面臨的用戶平面峰值和總速率等難題。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。