国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

TM5005GNR系統(tǒng)下行多載波聚合下系統(tǒng)時(shí)延優(yōu)化設(shè)計(jì)

2020-09-10 12:29鄭旸
中國新技術(shù)新產(chǎn)品 2020年13期

鄭旸

摘 ?要:該文圍繞解決TM500測試終端載波聚合下行吞吐率和系統(tǒng)時(shí)延問題,提出了使用多核多線程并行處理來優(yōu)化系統(tǒng)時(shí)延的方案。通過對比分析方案前后的數(shù)據(jù),確定了基于多核多線程并行處理的優(yōu)點(diǎn),針對上述方案的具體實(shí)現(xiàn)進(jìn)行詳細(xì)論述。最后,通過測試儀表與基站聯(lián)調(diào),證明了該測試方案的有效性和可行性。

關(guān)鍵詞:通信與信息系統(tǒng);載波聚合;吞吐率測試;多核多線程

中圖分類號: TN929.5 ? ? ? ? ? ? 文獻(xiàn)標(biāo)志碼:A

1 項(xiàng)目概況

5G NR基站測試儀表被用在5G NR基站的研發(fā)、生產(chǎn)、入網(wǎng)認(rèn)證、維修等多個(gè)環(huán)節(jié),測試儀表的成熟度和高效性對5G NR產(chǎn)業(yè)鏈的發(fā)展和產(chǎn)品研發(fā)起著重要的推動作用[1]。唯亞威公司生產(chǎn)的符合3GPP標(biāo)準(zhǔn)的TM500網(wǎng)絡(luò)測試儀被認(rèn)為是無線網(wǎng)絡(luò)測試的事實(shí)標(biāo)準(zhǔn),在5G研發(fā)生命周期的測試中被市場廣泛采用,并被應(yīng)用于新服務(wù)推出前的網(wǎng)絡(luò)性能壓力測試。5G NR基于毫米波的多載波聚合技術(shù)可以給用戶提供超高速及短時(shí)延的服務(wù),但這對基站及基站測試儀表性能都提出一個(gè)不小的課題。

2 多載波聚合技術(shù)原理

載波聚合(Carrier Aggregation,簡稱CA),通過將多個(gè)連續(xù)或非連續(xù)的載波(Component Carrier,簡稱CC)聚合成更大的帶寬,從而提高頻譜資源的利用率,提升上下行速率。下行N個(gè)小區(qū)載波聚合的最大吞吐率計(jì)算公式如公式(1)所示。

式中:J 表示聚合的載波個(gè)數(shù),表示每個(gè)小區(qū)的層數(shù),表示每個(gè)小區(qū)的最大調(diào)制方式,為調(diào)節(jié)因子,可以配置為1、0.8、0.75和0.4,Rmax為常數(shù),值為 948/1024,為每個(gè)小區(qū)的最大帶寬,為每個(gè)小區(qū)的平均每子幀的OFDM符號數(shù),參數(shù)在FR2下行時(shí)配置為0.18。以FR2 120 kHz子載波間隔的8載波為例,當(dāng)每小區(qū)為2層,PDSCH調(diào)制方式為256-QAM,小區(qū)帶寬為100 M時(shí),下行最大速率可達(dá)8.6 Gbps。

3 5G NR系統(tǒng)下行鏈路載波聚合方案設(shè)計(jì)

3.1 TM500的架構(gòu)設(shè)計(jì)

每個(gè)5G小區(qū)對應(yīng)一個(gè)獨(dú)立的基帶服務(wù)器,運(yùn)行在Dell R630 Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz上。由于載波聚合后的下行數(shù)據(jù)要在MAC層聚合,所以有一臺層2服務(wù)器運(yùn)行在Dell R630 CPU: E5-2687W v4 @ 3.00GHz上,負(fù)責(zé)運(yùn)行L2協(xié)議棧以及管理8個(gè)基帶服務(wù)器。另外一臺層3服務(wù)器負(fù)責(zé)運(yùn)行實(shí)時(shí)的L3協(xié)議棧。TM500作為基站負(fù)載測試儀表,可以模擬每個(gè)eMBB小區(qū)的256個(gè)UE,而每個(gè)UE的PCC,SCC1,SCC2…SCC7可以隨意分布在任何一個(gè)基站服務(wù)器上。

因此層2服務(wù)器作為TM500架構(gòu)的中心節(jié)點(diǎn),要同時(shí)接收并處理來自8個(gè)基帶服務(wù)器的各個(gè)UE的下行數(shù)據(jù),在MAC層聚合后傳給RLC和PDCP層處理,并再對各個(gè)UE遍歷其所有基帶服務(wù)器的下行數(shù)據(jù)CRC結(jié)果,匯總后計(jì)算其HARQ反饋的碼本,再把計(jì)算結(jié)果發(fā)送給其PCC對應(yīng)的基帶服務(wù)器。TM500架構(gòu)設(shè)計(jì)示意圖如圖1所示。

3.2 下行載波聚合的HARQ反饋設(shè)計(jì)

根據(jù)3GPP協(xié)議,在下行載波聚合時(shí),其DL的HARQ反饋是承載在PCC的PUCCH信道上的(當(dāng)有上行載波聚合時(shí),也可以承載在SCC的PUSCH信道上)。因各個(gè)基帶服務(wù)器每個(gè)時(shí)隙獨(dú)自解碼下行PDCCH和PDSCH信道,并把解碼結(jié)果通過消息發(fā)送給L2服務(wù)器。L2服務(wù)器接收到信息后,保存到HARQ反饋目標(biāo)時(shí)隙,并計(jì)算該基帶服務(wù)器目標(biāo)時(shí)隙上PUCCH的SR信息。當(dāng)?shù)三R系統(tǒng)中全部基帶服務(wù)器的消息后,L2服務(wù)器輪詢每個(gè)UE在各個(gè)載波上的HARQ反饋并計(jì)算碼本,保存到目標(biāo)時(shí)隙。然后L2服務(wù)器還需要計(jì)算各個(gè)基帶服務(wù)器在目標(biāo)時(shí)隙上PUCCH的CSI信息。最后根據(jù)每個(gè)UE的PCC所對應(yīng)的基帶服務(wù)器位置,發(fā)送PUCCH的SR/CSI/HARQ反饋信息給相應(yīng)的基帶服務(wù)器。

3GPP在dl-DataToUL-ACK中規(guī)定了下行HARQ反饋的值域(后用HARQ RTT代替)為0~15個(gè)時(shí)隙,以FR2 120 kHz子載波間隔中常用配置的4個(gè)時(shí)隙來計(jì)算。手機(jī)只有4 × 125us/slot = 500 us的反饋時(shí)延預(yù)算。再扣除下行解碼和上行編碼的開銷,實(shí)際留給L2服務(wù)器計(jì)算時(shí)間只有100 us左右。由于各個(gè)基帶服務(wù)器的編解碼優(yōu)化空間是有限的,所以解決系統(tǒng)時(shí)延的關(guān)鍵在于L2服務(wù)器。

4 系統(tǒng)延時(shí)優(yōu)化設(shè)計(jì)

4.1 L2服務(wù)器代碼重構(gòu)

Dell R630為戴爾雙插槽機(jī)架式服務(wù)器,屬于第13代PowerEdge服務(wù)器,采用E5-2687W v4 @ 3.00GHz處理器和四通道DDR4 ECC內(nèi)存。擁有12核,開啟超線程時(shí)可同時(shí)運(yùn)行24個(gè)線程,L3緩存為30 MB。

在代碼重構(gòu)前,3.2章節(jié)所述的L2服務(wù)器的HARQ反饋模塊是一個(gè)線程運(yùn)行在一個(gè)核上,其運(yùn)行時(shí)間約為50 us。在1載波和2載波時(shí),系統(tǒng)的時(shí)延還是能滿足的??僧?dāng)系統(tǒng)擴(kuò)展到8載波時(shí),發(fā)現(xiàn)整個(gè)模塊需要350 us的時(shí)間才能運(yùn)行完,遠(yuǎn)遠(yuǎn)大于100 us的預(yù)算。但同時(shí),服務(wù)器上還有很多核處于空閑狀態(tài),并沒有把Dell R630的性能發(fā)揮到極致,可以通過把該模塊并行運(yùn)行在多個(gè)核上,以此來獲取并行處理的增益。但如3.2章節(jié)所述的,該模塊需要輪詢各個(gè)基帶處理器的數(shù)據(jù)來計(jì)算碼本的步驟,由于各個(gè)基帶處理器上報(bào)的消息到達(dá)順序不同、計(jì)算量不同,簡單的多核多線程并行處理就會有線程間空閑數(shù)據(jù)競爭的風(fēng)險(xiǎn)。

4.2 下行多載波L2服務(wù)器并行處理設(shè)計(jì)

首先為該模塊啟動8個(gè)線程,每2個(gè)線程在一個(gè)核上。指定核#0上線程#0為主線程,其余為輔線程。8個(gè)線程分別和一個(gè)基帶服務(wù)器綁定,接收其上報(bào)的下行解碼數(shù)據(jù),并預(yù)計(jì)算其上PUCCH的SR信息。主線程計(jì)算完后負(fù)責(zé)檢查其他輔線程是否也計(jì)算完畢PUCCH的SR信息,而其他輔線程計(jì)算完畢SR信息處于等待狀態(tài)。

當(dāng)主線程發(fā)現(xiàn)全部線程都計(jì)算完P(guān)UCCH的SR信息后,開始遍歷全部基帶服務(wù)器的下行解碼數(shù)據(jù),并匯總計(jì)算HARQ反饋碼本,保存在目標(biāo)時(shí)隙的該UE的PCC所在的基帶服務(wù)器的緩存里。當(dāng)所有UE的HARQ反饋碼本計(jì)算完畢后,主線程通知各個(gè)輔線程可以開啟后續(xù)計(jì)算。

接下來8個(gè)線程同時(shí)并行計(jì)算其所對應(yīng)的基帶服務(wù)器上PUCCH的CSI信息。最后再分別并行,把PUCCH的CSI/SR/HARQ反饋信息一起發(fā)送給其對應(yīng)的基帶服務(wù)器,基帶服務(wù)器完成PUCCH信道編碼。

這其中多線程之間的同步是設(shè)計(jì)的關(guān)鍵。Linux下提供了多種方式來處理線程同步,最常用的是互斥鎖、條件變量、信號量和讀寫鎖。但為了節(jié)省耗時(shí),采用了原子操作、內(nèi)存屏障和揮發(fā)變量相結(jié)合的方法。

原子操作是一種基于基本數(shù)據(jù)類型的同步形式,底層用匯編鎖來控制變量的變化,保證數(shù)據(jù)的正確性,好處在于不會block互相競爭的線程,且相比鎖耗時(shí)很少。

內(nèi)存屏障則是為了達(dá)到最佳性能,編譯器通常會對匯編級別的指令進(jìn)行重新排序,從而保持處理器的指令管道盡可能的滿。作為優(yōu)化的一部分,編譯器可能會對內(nèi)存訪問的指令進(jìn)行重新排序(在認(rèn)為不會影響數(shù)據(jù)正確性的前提下),然而,這并不一定都是正確的,順序的變化可能導(dǎo)致一些變量的值得到不正確的結(jié)果。內(nèi)存屏障是一種不會造成線程擁塞的同步工具,它用于確保內(nèi)存操作的正確順序。內(nèi)存屏障像一道屏障,迫使處理器在其前面完成必須的加載或者存儲的操作。內(nèi)存屏障常被用于確保一個(gè)線程中,可被其他線程訪問的內(nèi)存操作按照預(yù)期的順序執(zhí)行。

揮發(fā)變量是另外一種針對變量的同步工具。眾所周知,CPU訪問寄存器的速度比訪問內(nèi)存速度快很多,因此,CPU有時(shí)候會將一些變量放置到寄存器中,而不是每次都從內(nèi)存中讀?。ɡ鏵or循環(huán)中的i值)從而優(yōu)化代碼,但是可能會導(dǎo)致錯誤。對一個(gè)變量加上volatile關(guān)鍵字,可以迫使編譯器每次都重新從內(nèi)存中加載該變量,而不會從寄存器中加載。

因此,在判斷SR數(shù)據(jù)是否收集齊處加上原子或的操作,來檢查各個(gè)輔線程是否完成了PUCCH的SR計(jì)算。而每個(gè)輔線程在判斷是否遍歷完畢處會有一個(gè)原子異或的操作來表示其已經(jīng)完成,由主線程完成HARQ碼本計(jì)算后,通過原子與的操作來釋放輔線程進(jìn)行后續(xù)的計(jì)算,并通過空循環(huán)來等待主線程完成該處的同步釋放工作。通過定義揮發(fā)變量的操作,以此來保證各個(gè)輔線程從內(nèi)存中讀取同步變量。遍歷完畢后,調(diào)用了內(nèi)存屏障,從而確保各個(gè)輔線程再次計(jì)算時(shí)內(nèi)存訪問次序的正確性。

5 仿真與結(jié)果分析

在和基站聯(lián)調(diào)運(yùn)行1個(gè)UE,F(xiàn)R2 120 kHz子載波間隔的下行8載波聚合的用例時(shí)可知,在代碼重構(gòu)前,由于HARQ反饋來不及反饋給基站,出現(xiàn)了一定概率的HARQ重傳,最大速率只能達(dá)到1.2 Gbps。而在代碼重構(gòu)后,則可以穩(wěn)定達(dá)到理論上的最大峰值速率4.2 Gbps。重構(gòu)前后指標(biāo)對比見表1。

但隨著模擬UE個(gè)數(shù)的增加,發(fā)現(xiàn)每個(gè)時(shí)隙需要上報(bào)的PUCCH個(gè)數(shù)也會增加,從而導(dǎo)致L2服務(wù)器的該模塊負(fù)載也在增加,并最終會導(dǎo)致來不及上報(bào)PUCCH的信息(RTT margin為負(fù)數(shù))。從圖2中可見,RTT margin的趨勢不僅和小區(qū)數(shù)目有關(guān)還和UE數(shù)目有關(guān)。而當(dāng)線程增加后,對RTT margin是有所提高的。

另外,L2服務(wù)器上其他模塊如PDCP、RLC在下行8載波聚會時(shí),也存在負(fù)載過高的現(xiàn)象,會出現(xiàn)丟包現(xiàn)象,并對發(fā)包率、加密算法以及包的大小敏感。

6 結(jié)論

該文提出的利用Dell R630服務(wù)器E5-2687W v4 @ 3.00GHz多核多線程并行計(jì)算的方法,可以有效解決TM500基站測試儀表在FR2 120KHz子載波間隔,下行8載波,64-QAM時(shí)的最大吞吐率和HARQ反饋時(shí)延的問題。也意識到多核多線程增加了代碼的復(fù)雜度和調(diào)試難度,不同線程間的同步方法各有利弊,如果根據(jù)架構(gòu)實(shí)際情況合理設(shè)計(jì)和利用,可以獲得最大化收益。但也看到了在UE個(gè)數(shù)增加時(shí)依舊面臨的問題。在未來載波聚合的小區(qū)有可能達(dá)到32個(gè)或者更多,除了升級更高級的硬件服務(wù)器之外,更加充分地利用多核多線程并行計(jì)算的優(yōu)勢,或許是在不增加產(chǎn)品成本下的一個(gè)不錯的解決方案。

參考文獻(xiàn)

[1]王順.載波聚合下行吞吐率測試的設(shè)計(jì)與實(shí)現(xiàn)[J].軟件,2015,36(10):68-71.

靖西县| 夹江县| 彝良县| 澳门| 砚山县| 金溪县| 蓝山县| 耒阳市| 金坛市| 禹城市| 贞丰县| 和硕县| 临澧县| 德清县| 长葛市| 镇安县| 河津市| 册亨县| 福泉市| 攀枝花市| 赤峰市| 星子县| 冕宁县| 忻城县| 庆元县| 五家渠市| 西畴县| 根河市| 江永县| 新平| 城固县| 鄂伦春自治旗| 确山县| 永清县| 常山县| 阳新县| 弥勒县| 溆浦县| 武城县| 陈巴尔虎旗| 晋江市|