?

基于數據面加速器的工業5G協議處理架構研究①

2023-11-20 08:36楊喜寧周一青
高技術通訊 2023年10期
關鍵詞:加速器解密數據包

楊喜寧 周一青 陳 洋

(中國科學院計算技術研究所處理器芯片全國重點實驗室 北京 100190)

(中國科學院大學 北京 100049)

(移動計算與新型終端北京市重點實驗室 北京 100190)

0 引言

為了應對未來爆炸性的移動數據流量增長、海量的設備連接和不斷涌現的各類新業務和應用場景,第5 代移動通信技術(5G)應運而生[1-2]。不同于之前的移動通信技術,5G 網絡的服務對象從傳統的人與人通信拓展到人與物、物與物通信,5G 將開啟一個萬物互聯的新時代,滲透到工業、交通、農業等各個行業,成為各行各業創新發展的助推器[3-4]。支撐如此廣泛應用的基礎是5G 的幾項核心指標,如1 Gbps的用戶體驗速率、面向小包通信時毫秒級的端到端時延以及99.999%的傳輸可靠性[5]。不斷增長的信道帶寬、算法復雜度和更低處理時延對于成本、計算資源和功耗體積等受到嚴格限制的終端設備來說是一個巨大挑戰[6]。

基帶芯片(又稱Modem)作為5G 終端設備的核心器件,對終端設備的通信功能和性能起著決定性的作用。因其復雜的數字信號處理算法和強實時的處理時延需求,通?;谲浻矃f同的異構SoC(systems-on-chip)來實現[7-8]?;鶐酒ɑ鶐盘柼幚砗蛥f議處理兩大部分?;鶐盘柼幚韽V泛采用基于ASIC(application specific integrated circuit)的硬件加速器來實現,并且學術界已有大量針對性的研究[9-11]。文獻[12]提出一種數據流驅動的可編程軟核處理器,可以滿足5G 對FFT(fast Fourier transform)/IFFT 在靈活性和實時性方面的需求。文獻[13]設計一種動態可伸縮的多核SoC(MPSoC)來滿足5G 信號處理在吞吐率和時延指標方面跨越幾個數量級的動態范圍,以提升芯片資源利用率。文獻[14,15]分別對5G 下行同步算法和LDPC(lowdensity parity-check)譯碼算法展開了基于硬件加速器實現方案的研究。

但是對于協議處理,如高層用戶面層2(L2,layer 2),主流的基帶芯片[16-17]僅提供加解密和完整性保護校驗的硬件加速功能,對協議處理的硬件加速和軟硬協同設計的研究較少。文獻[6]提出一種基于加速器處理架構,主要是針對LTE(long term evolution)協議的軟硬件聯合處理,取得了一定的性能增益。然而,隨著5G 的廣泛應用,尤其是在工業領域,除了高帶寬外,時延、可靠性和低抖動等方面的要求也在不斷提高,用戶面協議處理逐漸成為了制約基帶芯片總體性能的新瓶頸[18]。協議處理主要面臨以下挑戰:首先,5G 協議支持多種調度時隙間隔,最小可到0.125 ms,在如此小的時間約束內要進行大量包的實時處理,基于多任務的純軟件協議處理架構難以保證時延穩定,而這恰是工業5G 應用的一個重要需求;其次,為了提升有限的無線空口資源的利用率5G 協議中所有層的協議頭字段大多以比特為單位定義,CPU 軟件訪問這種非字長對齊的數據時效率比較低;此外,5G 協議中承載業務數據的邏輯信道配置參數及各層的頭格式種類繁多,計算字段前后依賴,只能順序解析動態識別后續字段的格式,這增加了解析的難度。傳統以CPU 軟件為主的協議處理架構無法滿足高能效比和可預期的穩定性時延[19]。

在此背景下,本文設計了一種基于軟硬件協同的協議棧處理器架構,利用硬件加速器卸載耗時處理減輕CPU 壓力,在提升5G 協議棧用戶面吞吐率的同時降低處理時延和抖動。本文的主要貢獻如下。

(1)提出一種軟硬協同的5G 協議處理架構,充分利用異構芯片資源,對軟硬件功能進行了合理劃分,減少軟硬件之間的通信開銷,提升系統的執行效率。

(2)設計針對5G 協議的數據面加速器(data path accelerator,DPA),將用戶面協議中頻繁執行且比較耗時的協議數據解析功能從傳統的軟件處理中獨立出來,在降低CPU 負載的基礎上,提升用戶面的包處理速率。

(3)采用DPA 與安全加速器(security,SEC)聯動設計,在極少CPU 干預的前提下實現協議數據解析和解密操作的無縫銜接,保證了數據包處理時延的穩定性。

論文的其余部分組織如下:第1 節介紹了本文提出的軟硬件協同的協議棧處理架構;第2 節詳細描述了軟硬件協同的協議處理架構中的核心器件數據面加速器(DPA)的設計細節和并行化策略;第3節為實驗設計與性能驗證分析;第4 節對論文進行總結。

1 軟硬件協同的協議棧處理器架構

協議處理子系統作為基帶芯片中的核心組件之一,主要負責5G 標準高層數據面和控制面協議處理。其系統架構如圖1 所示,包括硬件平臺和協議軟件系統(protocol stack,PS)兩大部分。

1.1 硬件平臺

硬件平臺的核心是一個4 核的CPU,可提供128 Bit 的AXI 總線連接高速DDR 控制器,并通過一個轉換橋連接到各個加速器和外設。硬件平臺還包括以下部分:

? 數據面加速器(DPA),負責協議棧層2(layer 2)協議數據解析及SEC 加速器控制。

? SEC 加速器,用于安全密鑰計算、數據與信令的加密解和完整性保護。在本文提出的架構中,SEC 加速器即可以通過CPU 啟動,也可以不經過CPU 直接由DPA 進行啟動,以避免頻繁中斷造成的額外開銷。

? 中斷控制器和各種外部接口,如PLIC、UART 和PCIe 等。

? UGDMA(uplink gather DMA),控制DMA 執行上行數據的復用與級聯操作的專用加速器。

其中DPA 的設計以及DPA 與SEC 加速器的并行化控制是本文研究的重點。

1.2 數據面加速器

為提升工業5G 協議棧處理的吞吐率和硬件效率,本文基于軟硬協同設計思想,在對協議棧各層執行時間進行測量和時序分析的基礎上(分析結果詳見第3 節),對協議棧的軟硬件功能進行了合理的劃分。具體來講,本文設計一款專用的協議棧數據面加速器(DPA),把用戶面中重復執行、邏輯相對簡單且比較耗時的傳輸塊(transport block,TB)各層協議數據單元(protocol data unit,PDU)解析功能從協議棧軟件中獨立出來。如圖2所示,DPA負責用戶面下行鏈路的協議處理,包含2 方面的功能:一是對從物理層收到的傳輸塊執行快速解析和協議字段提取,并將結果中的有效協議字段按照一定的格式(定義為HFD,header field descriptor)按序存入片內高速共享,存儲后中斷通知CPU 執行用戶面L2(Layer 2)各層協議功能;二是在TB 塊解析過程,若解析出來的PDU 所屬的PDCP(packet data convergence protocol)實體打開了加密完保功能,則DPA為該PDU 配置好相應的算法和解密數據地址等參數,直接啟動SEC 加速器執行完整性保護和解密操作。

圖2 用戶面加速器處理流程

1.3 軟硬協同及并行化設計

為提升用戶面協議處理性能降低時延,基于DPA 的軟硬協同協議處理架構進行了并行化的創新設計。該架構充分利用CPU +AISC 異構資源對協議處理進行了并行化分解,即DPA 進行數據包的解析后將處理結果分發給CPU 和SEC 加速器分別執行協議處理和解密完保操作。傳統的協議棧架構通常是以串行的方式對單個PDU 交替執行各層頭解析和協議處理、解密等操作。這種處理方式雖然可以借助多核分擔各個執行環節形成流水以提升總體吞吐量,但各環節之間交互和銜接也有非常大的開銷,而且會增加每個包的處理時延。本文設計的基于DPA 軟硬協同架構,則對2 個關鍵環節的執行時序進行了并行化分解,如圖3 所示。

圖3 并行化設計

(1)MAC CE(control element)處理與MAC SDU(service data unit)處理的并行化。協議棧收到MAC TB 后,會先依次從中解析出MAC CE 和MAC SDU。MAC CE 如果存在的話會被排布在TB 的最前端[20]。DPA 一旦解析完MAC CE,在立即通知協議棧執行MAC CE 的后續處理的同時可以繼續執行其他MAC SDU 的解析。這樣可以保證協議棧對MAC CE 的處理與DPA 對MAC SDU 的解析同時進行,因MAC CE 通常涉及底層無線資源集或配置參數的快速切換,盡可能提前處理MAC CE 可為物理層及射頻控制爭取更多的響應時間。

(2)協議棧RLC(radio-link control)/PDCP 的處理與用戶面數據解密完保的并行化處理。當DPA完成RLC、PDCP 和SDAP(service data application protocol)的頭解析后,數據流一分為二:一方面DPA通知協議棧執行RLC 分段重組、ARQ(automatic repeat request)和PDCP 丟棄、排序等協議功能[21];另一方面DPA 啟動SEC 加速器執行解密和完保驗證操作。待SEC 加速器處理完成后中斷通知協議棧PDCP,PDCP 按序遞交完保校驗結果正確的數據給SDAP 進行后續處理。因2 條數據流并行執行,且解密處理耗時較長,因此協議棧完成了RLC、PDCP的相關處理之后,等解密處理一完成就可以遞交數據包。通過這種并行設計,可以在解密過程中盡可能多地并行執行其他協議處理任務,進而降低協議棧的總體處理時延。

2 硬件加速器設計

2.1 總體架構

如圖4 所示,DPA 主要包括控制單元、數據處理和接口3 個部分??刂茊卧卸x了DPA 的配置寄存器,包括邏輯信道、PDCP delivery Count 值、HFD 緩存地址信息、輸入的MAC TB 數據地址和DPA的控制寄存器等。數據處理單元包括的協議棧各層PDU 解析模塊、讀寫DMA(direct memory access)的控制以及輸出FIFO(first-in first-out)操作。接口單元包括獨立的時鐘、復位和中斷信號以及APB(advanced peripheral bus)和AXI(advanced extensible interface)總線。

圖4 DPA 硬件架構

2.2 基于DPA-SEC 協同的協議數據流

DPA 與協議棧CPU、SEC 加速器和存儲模塊(如SRAM/DDR)緊密配合,實現用戶面下行業務的高效處理。如圖5 所示,以DPA 為紐帶的協議數據流處理分為以下4 個階段。

圖5 DPA 數據流

階段1輸出數據準備及DPA 初始化

該階段包括圖5 中步驟1~2,協議棧收到物理層的TB 數據到達中斷,對DPA 進行初始化、參數配置后啟動DPA。

階段2DPA 執行協議數據解析并輸出HFD

該階段為圖中的步驟3~6,一方面DPA 控制RDMA 循環從DDR 中讀取一定長度的TB 數據放入內部輸入FIFO。首次讀取的長度由協議棧配置,之后每次讀取的長度由DPA 根據上一次數據處理的結果進行動態調整,其原則是保證DPA 每次都能從DDR 中讀出一個完整MAC sub PDU 的各協議層PDU 頭。另一方面,DPA 對輸入FIFO 中的數據按照協議格式進行解析,包括MAC CE 和MAC sub PDU 的解析,同時按照設計的HFD 格式(見下節描述)將解析結果通過DPA 內部的輸出FIFO 和WDMA(write DMA)寫入共享的SRAM,交由協議棧進行后續處理。DPA 支持配置獨立的MAC CE 完成中斷和MAC SDU 解析完成中斷。這樣設計的考慮是為了及時優先將MAC CE 處理結果遞交給協議棧,以提升MAC 層控制響應的時效性。

階段3協議處理與SEC 解密并行

本階段為步驟7~10,包含兩大處理過程:一是協議?;贒PA 的解析結果對各層PDU 進行RLC級聯、重復檢測和ARQ 操作,以及PDCP 的排序、去重和丟棄等操作;二是DPA 為所有打開了加密和完保功能的PDU 批量準備SEC 加速器需要的解密算法等參數后,啟動SEC 加速器執行解密、完保校驗操作。

階段4協議棧按序遞交

該階段為步驟11~12,協議棧根據SEC 加速器處理結果,對完保校驗失敗的包進行丟棄操作,再按序將經過RLC 層處理并且完保校驗成功的包遞交給SDAP 執行QoS 流映射操作后轉發給應用處理器(AP)。

2.3 DPA HFD 定義

HFD 是DPA 與協議棧之間進行信息交互的數據格式,關系到軟硬件界面劃分的合理性,對數據傳遞效率有較大影響。在定義HFD 格式之前,首先介紹一下TB 數據的格式。如圖6 所示,每個下行TB中包含若干個MAC subPDU,共有3 種類型: MAC CE、MAC SDU 和padding。其中每個MAC SDU 包含著不同類型的RLC PDU、PDCP PDU 和SDAP PDU。DPA 需要設計合理的HFD 格式來應對標準中控制類、數據類PDU、不同的RLC 模式和SN(sequence number)長度等參數的變化。

圖6 MAC TB 格式

為減少各層之間頭字段的冗余信息,DPA 的HFD 采用了跨層扁平的格式定義。圖7 給出了AM分段PDU、基于RLCUM(unacknowledged mode)的PDCP 控制PDU 和SDAP 數據PDU 這3 種類型的HFD 格式,此外還可以定義出MAC CE 及其他各類型的HFD 共計10 種,可以完全覆蓋標準規定的所有協議頭類型。以UM_SDAP_DATA 為例,其表示該HFD 是一個非分段的基于RLC UM 信道且帶SDAP 頭的業務數據包,它只定義了PDCP count 值、SN 等必要信息,而RLC SI(segment indication)和其他協議頭中的一些保留字段則被去除,以減少內存占用。

此外,為保證CPU 對HFD 數據的讀取速度,HFD 的各個字段長度均按CPU 字長設定,并且將HFD 的輸出格式定義為基于靜態內存的序列化存儲結構,并在HFD 緩沖區的開頭指示DPA 從TB 解析出的MAC sub PDU 的總數量,方便CPU 直接快速遍歷每一個PDU 的HFD。

2.4 業務數據內存分配討論

DPA 完成協議字段解析后,最終可以得到MAC TB 中所包含的業務數據(即IP 包)信息。每個TB中包含大量IP 包,并且這些IP 包并非總是按序達到,而PDCP 要保證按序遞交,因此協議棧不得不先緩存這些IP 包,這就涉及到內存分配的問題。最直接的做法是為每一個IP 包單獨分配內存,這要求DPA 加速器實現一個內存管理功能,這不僅增加了設計復雜度也會導致加速器與CPU 之間共享內存競爭訪問的問題。本文采用一種改進的方法,在DPA 啟動之前就由CPU 預先分配好足以容納MAC TB 中所有業務數據包的大塊內存空間(稱其為業務緩存),DPA 只要計算每個IP 包的內存偏移并將其存入HFD 中,CPU 中的PDCP 任務按序遞交一個IP包后標記其釋放狀態,待所有業務數據包均被遞交后,回收業務緩存。該方案大幅減少了內存分配的次數,可以提升協議數據處理速率。

3 仿真結果分析

3.1 工業5G 業務模型分析

為驗證工業5G 不同業務模型下協議棧對處理資源的占用情況,本文基于課題組研發的5G 協議棧搭建了軟件驗證環境。如圖1 所示,traffic config模塊可以根據需求配置不同的業務參數,本文中定義了高頻次小包和大帶寬2 種典型的工業5G 業務場景,并利用物理層模擬器(PHY emulator)生成不同業務場景的MACTB 包并發送給協議棧(L2)進行處理,同時對協議棧處理時間進行測量統計。如圖8所示,在每個調度間隔內數據包數量不變(如108包/TTI)的情況下,隨著數據包增大,層2的總處理時間(L2 time)及各部分的處理時間增長平緩,帶寬增加40 多倍的前提下,協議棧用戶面的處理cycle數僅增加不到2 倍。而如圖9 所示,對于高頻次小數據業務(如500 包/TTI),在業務帶寬僅增加10 倍的情況下,協議棧層2 的處理cycle 數增加了約10 倍。這說明協議棧用戶面對數據包的數量比較敏感,工業5G 高頻次小包的業務特點嚴重制約協議包處理吞量。

圖9 不同小包數量處理性能

3.2 軟硬協同協議處理架構性能分析

為驗證本文設計的基于軟硬件協同的協議處理架構,開發了5G 用戶面協議處理加速器DPA 和SEC 加速器,并基于EDA 搭建了軟硬協同驗證環境,其功能組成如圖1 所示。本節將從時延、時序、包處理通量等方面對DPA 及本文提出的協同架構進行性能分析。驗證環境中CPU 的時鐘頻率為1.2 GHz,SEC 加速器、DPA 加速器的時鐘頻率為500 MHz。

3.2.1 時延和時序分析

首先基于軟硬協同的驗證環境,對協議棧下行業務數據處理進行時延分解和時序分析。每個調度周期,下行空口數據經過物理層的處理后生成一個MAC TB 包,經過協議棧的處理將TB 包中的業務數據解析、解密,再按序遞交給AP。

如表1 所示,基于64 字節包長和每個調度間隔(TTI)500 包的業務負載對純軟件處理和軟硬協同處理(下文簡稱協同架構)2 種方案進行了模塊級的處理時延量化分析。其中Interrupt Delay 代表的是MAC/PHY 以及SEC 加速器與CPU 之間的中斷開銷,DPA Setup 代表CPU 軟件配置并啟動DPA 的處理時延,PDU Parser 代表使用軟件方案實現DPA 功能的處理時間,MAC-RLC-PDCP1 代表協議棧MAC、RLC 以及PDCP 丟棄、排序功能的處理時間,PDCP2-SDAP 代表PDCP 根據完全校驗結果進行數據包遞交處理的處理時延,Decipher(AES)代表基于AES 解密算法的SEC 加速器對數據進行解密處理的時延。需要特別說明的是,軟件方案和協同架構中的解密操作均通過硬件加速器完成。另外,由于協同架構中采用了并行化處理,因此總處理時間將以并行路徑中執行時間較長的路徑來計算,根據計算結果可知使用軟硬件協同的方案處理時延可以降低28.3%。

表1 時延分析

如圖10 所示,DPA 采用的并行化設計,使得DPA 完成協議數據解析后SEC 解密操作與協議軟件處理并行進行,相對于串行處理方案,其總體執行時間可以下降48.1 μs。

圖10 不同小包數量處理性能

3.2.2 包處理通量分析

本文將包處理通量定義為每個TTI 內可以處理的包數量。如圖11 所示,通過對每個TTI 內不同包數量業務負載的測試,對比軟件方案和協同架構的性能結果發現,業務負載越大,協同架構的性能提升增益也越高,處理性能平均提升38%。另外若將協議處理時間約束限制在200 μs 內,協同架構的包處理通量提升了約67%,高達1000 包/s。而對于工業5G 網絡0.5 ms 的時隙周期配置,協同架構的包通量大于2000 包/s,可以滿足工業5G 大規?,F場節點集中式數據采集的需求。

圖11 處理時延對比分析

3 對比分析

基于對協議棧數據流的分析和并行化處理架構研究以及DPA 硬件設計的成果,本文在SMIC 的12 nm工藝節點下實現了DPA 加速器,工作主頻為500 MHz。因與CPU 及SEC 加速器共享外部SRAM存儲,DPA 加速器內部不包含數據存儲單元,其核心單元面積僅約為0.014 mm2,具有較好的硬件效率。另外,本文將軟硬協同的架構與文獻[19]中的以sDMA 加速器為核心的架構進行了性能對比。為保證對比公平,將本文協同架構中的CPU 主頻與加速器主頻分別歸一化至sDMA 方案中的500 MHz 和200 MHz,并且采用與sDMA 中相同的SEC 加速器性能指標,業務負載統一設定為1 Gbps 吞吐率。對二者下行用戶面軟硬件總體處理時延進行測量后發現,本文基于DPA 的軟硬協同架構總處理時延為623.3 μs,相對于sDMA 的1600 μs,性能提升大于50%。這主要得益于協同架構中SEC 解密與協議處理的并行化實現,以及軟硬協同架構合理的軟硬件劃分和高效的時序控制流程。

4 結論

本文面向工業5G 協議處理器架構展開研究。針對工業應用在吞吐率、時延和包處理通量等性能指標方面對5G 基帶芯片協議處理帶來的挑戰,本文提出一種軟硬件協同的協議處理架構。首先,對該架構的硬件組成、數據面加速器功能進行了總體介紹,并重點分析了軟硬協同的并行化設計思路。該架構對協議處理的軟硬件功能進行了合理劃分,將用戶面協議中重復執行、邏輯相對簡單且比較耗時的協議數據解析功能從軟件中獨立出來,使用DPA 來實現。接著,本文從硬件設計、DPA-SEC 加速器協同執行流程和HFD 定義3 個方面對DPA 加速器進行了詳細的設計分析,并討論了DPA 在內存管理方面的改進。最后通過搭建系統級的驗證環境對本文提出的協議處理架構進行了性能分析。實驗結果表明,軟硬協同的處理架構利用硬件加速及并行化等手段,在不同業務負載下,相比純軟件的實現方案,協議總體處理時延平均下降28.3%,包處理通量平均提升38%;在0.5 ms 的時隙周期配置下,協同架構的包通量大于2000 包/s,可以滿足工業5G 大規?,F場節點集中式數據采集的需求。本文的研究成果對業內5G 基帶芯片協議架構設計具有一定的借鑒意義。未來研究重點是進一步探索高層協議棧中排序、復用等其他功能基于硬件化實現的可行性和實現方案。

猜你喜歡
加速器解密數據包
莫比斯加速器眾創辦公空間
知識快餐店 科學加速器
全民小康路上的“加速器”
炫詞解密
解密“一包三改”
炫詞解密
SmartSniff
解密“大調解”
視覺注意的數據包優先級排序策略研究
移動IPV6在改進數據包發送路徑模型下性能分析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合