亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于電信網(wǎng)絡(luò)應(yīng)用的無鎖緩沖器管理方案的制作方法

文檔序號(hào):6362115閱讀:206來源:國(guó)知局
專利名稱:用于電信網(wǎng)絡(luò)應(yīng)用的無鎖緩沖器管理方案的制作方法
技術(shù)領(lǐng)域
本發(fā)明的示例性實(shí)施例涉及一種無鎖緩沖器管理方案,所述方案用于使用多核處理器的單一調(diào)制解調(diào)器板上的多小區(qū)支持。盡管本發(fā)明特別涉及無線電信領(lǐng)域,并且由此將特別參考其來進(jìn)行描述,但應(yīng)當(dāng)認(rèn)識(shí)到,本發(fā)明可以在其它領(lǐng)域和應(yīng)用中有用。
背景技術(shù)
作為背景,LTE (長(zhǎng)期演進(jìn))是正在迅速演進(jìn)的3GPP項(xiàng)目,其目標(biāo)是改進(jìn)UMTS (通用移動(dòng)電信系統(tǒng))移動(dòng) 電話標(biāo)準(zhǔn)以應(yīng)付未來的通信網(wǎng)絡(luò)需求。LTE提升無線網(wǎng)絡(luò)效率和帶寬,降低成本并增強(qiáng)服務(wù)體驗(yàn)。特別地,LTE利用新頻譜機(jī)會(huì),并且提供與其它開放標(biāo)準(zhǔn)的更好集成。LTE通常包括LTE RAN (無線電接入網(wǎng)絡(luò))(也稱為E-UTRAN)連同EPS (演進(jìn)的分組系統(tǒng),也稱為演進(jìn)的分組核心)。通常將通信系統(tǒng)拆分成兩個(gè)主要功能:數(shù)據(jù)平面功能和控制平面功能。在之前的LTE產(chǎn)品中,在調(diào)制解調(diào)器板上使用至少兩個(gè)處理器:一個(gè)用于支持控制平面功能(非實(shí)時(shí)的,例如操作、維護(hù)和管理(或0Α&Μ),以及呼叫處理管理相關(guān)功能),以及另一個(gè)用于端接和支持?jǐn)?shù)據(jù)平面功能(實(shí)時(shí)的,例如LTE2層處理)??刂坪蛿?shù)據(jù)平面這兩者使用不同的操作系統(tǒng)(OS)實(shí)例,例如用于控制平面的Linux,和用于數(shù)據(jù)平面核心的諸如vXWorks (由加利福尼亞阿拉米達(dá)的Wind River Systems制作和出售)的實(shí)時(shí)OS。通常,一個(gè)調(diào)制解調(diào)器板支持一個(gè)扇區(qū)或小區(qū)。因此,為支持多小區(qū)(例如3小區(qū)或6小區(qū))配置,將有必要提供與小區(qū)數(shù)量一樣多的調(diào)制解調(diào)器板。多核處理器可以在調(diào)制解調(diào)器板上的LTE無線基站中使用。諸如在包含全部八個(gè)核心的一個(gè)SMP分區(qū)上運(yùn)行的具有PREEMPT_RT補(bǔ)丁的SMP Linux操作系統(tǒng)。在該配置中,控制平面(非實(shí)時(shí)線程/進(jìn)程)和數(shù)據(jù)平面(實(shí)時(shí)線程/進(jìn)程)共享同一操作系統(tǒng)實(shí)例,即使其一定會(huì)在不同核心上運(yùn)行。由此,存在對(duì)無鎖的緩沖器管理方案的需求,否則可能導(dǎo)致極大的等待時(shí)間尖峰。所述情形可以嚴(yán)重危害或破壞LTE2層實(shí)時(shí)處理需求。在SMP環(huán)境中,由一個(gè)核心上的非實(shí)時(shí)進(jìn)程或線程獲取的鎖可以導(dǎo)致對(duì)于不同核心上正等待該鎖被釋放的實(shí)時(shí)線程或進(jìn)程的等待時(shí)間尖峰。

發(fā)明內(nèi)容
此處描述一種SMP環(huán)境中的無鎖緩沖器管理方案。示例性實(shí)施例利用諸如緩沖器管理器(BMan)的調(diào)制解調(diào)器板上的硬件部件來沖裁來自多個(gè)核的對(duì)緩沖器的同時(shí)訪問。由于未占用任何軟件鎖,所以沒有任何進(jìn)程或線程將在等待鎖被釋放時(shí)被阻塞。例如帶有PREEMPT_RT的SMPLinux的操作系統(tǒng)(OS)不是例如vxWorks的硬核心實(shí)時(shí)OS。因此,定義所述緩沖方案是重要的;否則,操作系統(tǒng)不能滿足LTE2層調(diào)度器的實(shí)時(shí)處理需求。從應(yīng)用軟件的角度看,硬件仲裁將使得看起來就像同時(shí)來自各種核心的對(duì)緩沖器的全部請(qǐng)求已在沒有任何進(jìn)程或線程被阻塞的情況下幾乎并行地被處理。于是不存在任何極大等待時(shí)間尖峰。此處還描述一種用于SMP Linux的零復(fù)制緩沖器管理方案,數(shù)據(jù)由此被用戶空間應(yīng)用發(fā)送或接收。為達(dá)到跨用戶到內(nèi)核空間邊界的零復(fù)制,緩沖器存儲(chǔ)器不得不經(jīng)過內(nèi)核到用戶空間映射。經(jīng)由分配連續(xù)的存儲(chǔ)器塊,使得內(nèi)核到用戶空間映射和緩沖器池的填充(seeding)較簡(jiǎn)單。使用數(shù)學(xué)公式來計(jì)算特定緩沖器在指定池中的指針地址使得所述緩沖器管理方案更確定和魯棒,并且其在緩沖器管理簿記和垃圾收集活動(dòng)中提供重大幫助。這將還有助于實(shí)現(xiàn)對(duì)存儲(chǔ)器損壞的高效檢查。在所述處理環(huán)境中,中間件層通常對(duì)應(yīng)用層隱藏所有硬件特定實(shí)現(xiàn)細(xì)節(jié)。核心抽象層(CAL)提供對(duì)多核處理器及其數(shù)據(jù)路徑加速體系結(jié)構(gòu)(或DPAA)的抽象。為部署所述調(diào)制解調(diào)器板,所述CAL提供各種服務(wù),例如針對(duì)LTE2層應(yīng)用的零復(fù)制無鎖緩沖器管理方案,以及,針對(duì)多小區(qū)配置的對(duì)背板以太網(wǎng)驅(qū)動(dòng)(BED)接口的支持,其中,所述背板以太網(wǎng)驅(qū)動(dòng)接口用于去往和來自控制板的無線電鏈路控制(RLC)服務(wù)數(shù)據(jù)單元(SDU)發(fā)送和接收。在本發(fā)明的一方面中,提供一種用在電信網(wǎng)絡(luò)中的調(diào)制解調(diào)器上的多核處理器中的緩沖器管理機(jī)制。所述緩沖器管理機(jī)制包括為一個(gè)或更多2層應(yīng)用提供緩沖器管理服務(wù)的緩沖器模塊,其中,所述緩沖器模塊至少為正在用戶空間中運(yùn)行的應(yīng)用軟件提供用戶空間應(yīng)用接口。所述緩沖器管理機(jī)制還包括管理多個(gè)單獨(dú)的令牌池的緩沖器管理器,其中,所述令牌包括指向外部存儲(chǔ)器中的存儲(chǔ)器區(qū)域的指針。另外,所述緩沖器管理機(jī)制包括客戶驅(qū)動(dòng)器,所述客戶驅(qū)動(dòng)器管理將被用于用戶平面數(shù)據(jù)分發(fā)的、包括緩沖器池和幀隊(duì)列的數(shù)據(jù)路徑加速體系結(jié)構(gòu)(DPAA)資源??蛇x地,所述客戶驅(qū)動(dòng)器可以進(jìn)一步用于實(shí)施一系列功能。例如,所述客戶驅(qū)動(dòng)器可以獲取連續(xù)的外部存儲(chǔ)器塊。接下來,所述客戶驅(qū)動(dòng)器可以將內(nèi)核空間存儲(chǔ)器映射到用戶空間,以便允許用戶模式應(yīng)用在不需要實(shí)施數(shù)據(jù)復(fù)制的情況下訪問存儲(chǔ)在所述外部存儲(chǔ)器中的數(shù)據(jù)。所述客戶驅(qū)動(dòng)器可以還初始化一些池、每個(gè)池的一些令牌以及所述令牌所指向的一定尺寸的緩沖器。最后,所述客戶驅(qū)動(dòng)器可以用令牌填充所述池。在本發(fā)明的另一方 面中,提供一種裝置,所述裝置用于提供電信網(wǎng)絡(luò)中的多小區(qū)支持。所述裝置一般包括調(diào)制解調(diào)器板和多核存儲(chǔ)器,所述多核處理器包括多個(gè)連接到所述調(diào)制解調(diào)器板的處理器核心。關(guān)于所述多核處理器,使用包括在其中的處理器核心的全部定義單一分區(qū),并且其中,所述單一分區(qū)用于執(zhí)行全部控制平面功能和全部數(shù)據(jù)平面功能。進(jìn)一步地,核心抽象層對(duì)正在所述單一分區(qū)中的處理器核心上運(yùn)行的應(yīng)用軟件隱藏任何核心特定細(xì)節(jié)。所述核心抽象層恰當(dāng)?shù)匕橐粋€(gè)或更多2層應(yīng)用提供緩沖器管理服務(wù)的緩沖器模塊,其中,所述緩沖器模塊至少為正在用戶空間中運(yùn)行的應(yīng)用軟件提供用戶空間應(yīng)用接口。所述核心抽象層還包括管理多個(gè)單獨(dú)的令牌池的緩沖器管理器,其中,所述令牌包括指向外部存儲(chǔ)器中的存儲(chǔ)器區(qū)域的指針。另外,所述核心抽象層包括客戶驅(qū)動(dòng)器,所述客戶驅(qū)動(dòng)器管理將被用于用戶平面數(shù)據(jù)分發(fā)的、包括緩沖器池和幀隊(duì)列的數(shù)據(jù)路徑加速體系結(jié)構(gòu)(DPAA)資源。從下面提供的詳細(xì)描述中,本發(fā)明的進(jìn)一步適用范圍將變得顯而易見。然而應(yīng)當(dāng)理解,所述詳細(xì)描述和特定示例在指示本發(fā)明的優(yōu)選實(shí)施例的同時(shí),僅作為示例被給出,因?yàn)楸景l(fā)明的精神和范圍內(nèi)的各種改變和修改對(duì)于本領(lǐng)域的技術(shù)人員將變得顯而易見。


本發(fā)明存在于設(shè)備的各種部分以及方法的步驟的構(gòu)造、安排和組合中,由此實(shí)現(xiàn)如下文中充分闡述、特別在權(quán)利要求中指出并且在附圖中示出的所設(shè)想目的,其中:圖1示出了根據(jù)本發(fā)明的方面的平臺(tái)體系結(jié)構(gòu)的一個(gè)實(shí)施例;圖2示出了用于實(shí)現(xiàn)圖1中所示的核心抽象層的一個(gè)示例性體系結(jié)構(gòu);圖3示出了用于使用多核處理器的單一調(diào)制解調(diào)器板上的多小區(qū)支持的一個(gè)示例性無鎖緩沖器管理方案;以及圖4示出了存儲(chǔ)器和緩沖器池的獲取和填充的高層視圖。
具體實(shí)施例方式現(xiàn)在參考附圖,其中,附圖中所示僅用于示出示例性實(shí)施例,并且不用于限制所要求權(quán)利的主題,圖1提供系統(tǒng)的視圖,其中,當(dāng)前描述的實(shí)施例可以被并入所述系統(tǒng)中。現(xiàn)在參考圖1,其示出了一個(gè)示例性平臺(tái)體系結(jié)構(gòu)100。該體系結(jié)構(gòu)通常在調(diào)制解調(diào)器板上使用,但應(yīng)當(dāng)理解,其可以在其它應(yīng)用中使用。在該實(shí)施例中,使用其中的全部八個(gè)核心定義一個(gè)分區(qū)。然而應(yīng)當(dāng)認(rèn)識(shí)到,多核處理器100可以具有任意數(shù)量的核心。通過該實(shí)施例,由此有可能使用在核心(例如八個(gè)核心 )的全部上運(yùn)行的單一對(duì)稱多處理(SMP)操作系統(tǒng)(OS)實(shí)例102。由于控制和數(shù)據(jù)平面在一個(gè)OS實(shí)例之下,所以通常需要注意確保伴隨數(shù)據(jù)平面的問題不會(huì)也破壞控制平面。在該示例中,多核處理器100為三個(gè)小區(qū)(在該圖中被示為104、106和108)提供服務(wù)。每個(gè)小區(qū)需要上行鏈路(UL)調(diào)度器(在該圖中被示為110、112和114)和下行鏈路(DL)調(diào)度器(在圖1中被示為116、118和120)。已知,無線電鏈路控制(RLC)層用于對(duì)跨LTE空中接口發(fā)送和接收的分組幀進(jìn)行分段、連結(jié)和糾錯(cuò)。無線電鏈路控制和媒體訪問控制(RLC/MAC)軟件在GPRS (2.5G)無線棧中被使用。其提供移動(dòng)臺(tái)與基站控制器(BSC)之間的確認(rèn)的和未確認(rèn)的數(shù)據(jù)傳輸。由此,還包括RLC/MAC框122,其是在移動(dòng)臺(tái)與網(wǎng)絡(luò)之間使用的空中接口上的基本傳輸單元。其用于傳輸數(shù)據(jù)和RLC/MAC信令。多核處理器100還提供操作、維護(hù)和管理(0Α&Μ) 124和CALLLP模塊126。另外,多核處理器100包括核心抽象層(CAL) 128,其對(duì)2層(L2)應(yīng)用軟件隱藏核心特定細(xì)節(jié)。2層是計(jì)算機(jī)聯(lián)網(wǎng)七層OSI模型的數(shù)據(jù)鏈路層。數(shù)據(jù)鏈路層是在廣域網(wǎng)的相鄰網(wǎng)絡(luò)節(jié)點(diǎn)之間或同一局域網(wǎng)段上的節(jié)點(diǎn)之間傳輸數(shù)據(jù)的協(xié)議層。數(shù)據(jù)鏈路層提供用于在網(wǎng)絡(luò)實(shí)體之間傳輸數(shù)據(jù)的功能和過程裝備,并且可能提供用于檢查和可能糾正在物理層中可能出現(xiàn)的錯(cuò)誤的裝備。數(shù)據(jù)鏈路協(xié)議的示例如用于局域網(wǎng)(多節(jié)點(diǎn))的以太網(wǎng)、用于點(diǎn)到點(diǎn)(雙節(jié)點(diǎn))連接的點(diǎn)到點(diǎn)協(xié)議(PPP)、HDLC和ADCCP。在此情況下,L2通常是指對(duì)LTE空中接口必需的L2調(diào)度器處理,所述L2調(diào)度器處理具有非常嚴(yán)格的實(shí)時(shí)要求。為滿足基站的實(shí)時(shí)性能需求,其中,基站負(fù)責(zé)處理移動(dòng)通信設(shè)備與網(wǎng)絡(luò)交換子系統(tǒng)之間的流量和心靈,可以使用例如帶有PREEMPT_RT補(bǔ)丁的SMP Linux的OS。當(dāng)然,應(yīng)當(dāng)理解,可以使用其它操作系統(tǒng)。為達(dá)到所述SMP配置中的確定的行為,系統(tǒng)優(yōu)選以這樣的方式來實(shí)現(xiàn),利用核心預(yù)留和核心近似結(jié)構(gòu)來達(dá)到類AMP系統(tǒng)行為。這對(duì)從例如帶有PREEMPT_RT的SMP Linux的OS獲得最佳性能也是可取的。使用例如緩沖器管理和消息服務(wù)的無鎖零復(fù)制服務(wù)也可以解決可能由使用帶有PREEMPT_RT的SMP Linux OS引起的任何等待時(shí)間問題。如圖1中所示的核心抽象層(128)的主要功能之一在于,為例如L2處理的高層應(yīng)用提供利用多核平臺(tái)的完全能力的各種服務(wù)。核心抽象層由此被設(shè)計(jì)為達(dá)到及格目標(biāo)。首先,其應(yīng)當(dāng)支持基于BED (背板以太網(wǎng)驅(qū)動(dòng)器)DPAA的接口,同時(shí)對(duì)高層應(yīng)用軟件(即L2軟件)隱藏DPAA和多核特定實(shí)現(xiàn)。第二,其應(yīng)當(dāng)利用P4080的DPAA硬件部件來為入站和出站兩個(gè)方向上的用戶平面數(shù)據(jù)提供加速的數(shù)據(jù)路徑。第三,其應(yīng)當(dāng)提供盡可能大的靈活性,以便容易地適應(yīng)配置改變(即不需要代碼改變XCAL配置的一個(gè)示例如針對(duì)緩沖器池、入站幀隊(duì)列和出站幀隊(duì)列的DPAA資源配置?,F(xiàn)在參考圖2,該圖示出了達(dá)到這些和其它目標(biāo)的一個(gè)示例性體系結(jié)構(gòu)200。已知,常規(guī)計(jì)算機(jī)操作系統(tǒng)通常將虛擬存儲(chǔ)器隔離為內(nèi)核空間和用戶空間。內(nèi)核空間嚴(yán)格預(yù)留給運(yùn)行內(nèi)核、內(nèi)核擴(kuò)展和多數(shù)設(shè)備驅(qū)動(dòng)器。相反,用戶空間是全部用戶模式應(yīng)用在其中運(yùn)行的存儲(chǔ)器區(qū)域,并且該存儲(chǔ)器在必要時(shí)可以被換出。鑒于此,核心抽象層(CAL) 201包括用戶空間中的各種模塊,包括但不限于:核心抽象層初始化(CALInit)模塊202,其將LTE網(wǎng)絡(luò)配置和任何靜態(tài)P⑶規(guī)則加載到幀管理器(FMan) 230和232中,并且基于一組配置文件建立CAL框架;核心抽象層緩沖器(CALBuf)模塊204 ;核心抽象層消息(CALMsg)模塊206,其為L(zhǎng)2軟件提供消息服務(wù),以便向和從另一板(即eCCM)發(fā)送和接收用戶平面數(shù)據(jù);核心抽象層解析、分類和分發(fā)(CALPcdFmc)模塊208,其提供將被每個(gè)FMan (230、232)用于將入站幀選路到合適的核心的解析、分類和分發(fā)(P⑶)規(guī)則和配置;以及核心抽象層DPAA跟蹤(CALDpaaTrace)模塊210,其提供用于實(shí)現(xiàn)和禁用核心抽象層DPAA驅(qū)動(dòng)器(CALDpaaDriver)212中的跟 蹤的跟蹤能力,其中,核心抽象層DPAA驅(qū)動(dòng)器212是內(nèi)核空間模塊。體系結(jié)構(gòu)200進(jìn)一步包括合適的操作系統(tǒng)214,諸如帶有搶占RT補(bǔ)丁的SMPLinux。操作系統(tǒng)214接著支持各種驅(qū)動(dòng)器,例如前面提到的CALDPaa驅(qū)動(dòng)器212、至少一個(gè)幀管理器(FMan)驅(qū)動(dòng)器216、至少一個(gè)緩沖器管理器(BMan)驅(qū)動(dòng)器218和至少一個(gè)隊(duì)列管理器(QMan)驅(qū)動(dòng)器220。如圖2中所示,體系結(jié)構(gòu)200可以適當(dāng)?shù)匕≒4080核心網(wǎng)結(jié)構(gòu)222,其是適于可伸縮片上網(wǎng)絡(luò)的互聯(lián)體系結(jié)構(gòu),用于連接多個(gè)帶有高速緩存的動(dòng)力體系結(jié)構(gòu)處理核心、獨(dú)立高速緩存和存儲(chǔ)器子系統(tǒng)。P4080處理器包括新數(shù)據(jù)路徑加速體系結(jié)構(gòu)(DPAA)的實(shí)現(xiàn)。由此,體系結(jié)構(gòu)200可以進(jìn)一步包括P4080DPAA224。DPAA224被設(shè)計(jì)為優(yōu)化多核網(wǎng)絡(luò)處理,例如負(fù)載分散以及包括網(wǎng)絡(luò)接口和硬件加速器的資源共享。如所示,DPAA224 —般包括各種管理器,例如BMan226、QMan228 以及各自的第一和第二 Fman230 和 232。已知,在無線多接入通信系統(tǒng)中,發(fā)送器和接收器可以使用多層通信棧進(jìn)行通信。所述層可以包括例如物理層、媒體訪問控制(MAC)層、無線電鏈路控制(RLC)層、協(xié)議層(例如分組數(shù)據(jù)匯聚協(xié)議(PDCP)層)、應(yīng)用層等。RLC層從HXP層接收服務(wù)數(shù)據(jù)單元(SDU),并且將SDU連結(jié)或分段為用于向MAC層傳輸?shù)腞LC協(xié)議數(shù)據(jù)單元(PDU)。相應(yīng)地,CALBuf模塊204為RLC SDU處理中使用的L2應(yīng)用便利無鎖緩沖器管理服務(wù)。如本領(lǐng)域中已知的,非阻塞性算法確保競(jìng)爭(zhēng)共享資源的線程不使其執(zhí)行被互斥無限期推遲。如果存在有保證的系統(tǒng)級(jí)前進(jìn),則非阻塞性算法是無鎖(或無鎖)的。CALBuf模塊204還支持對(duì)緩沖器池統(tǒng)計(jì)數(shù)據(jù)(例如池消耗狀態(tài)、消耗計(jì)數(shù)、池可用性狀態(tài)、池分配錯(cuò)誤計(jì)數(shù)等)的查詢。CALBuf模塊204與CALDpaa驅(qū)動(dòng)器212接合以實(shí)現(xiàn)服務(wù)。CALBuf模塊204提供在多核環(huán)境中對(duì)正確的系統(tǒng)運(yùn)行極其重要的無鎖緩沖器管理方案,其中,被非實(shí)時(shí)進(jìn)程占用的鎖可以導(dǎo)致等待該鎖釋放的實(shí)時(shí)進(jìn)程的等待時(shí)間問題。CALDpaaDriver212是CAL201的內(nèi)核空間部件,其使用Bman和Qman API幫助實(shí)現(xiàn)和提供緩沖器管理服務(wù)和消息服務(wù)。當(dāng)用在此處時(shí),術(shù)語API (或應(yīng)用編程接口)是指由軟件程序?qū)崿F(xiàn)的、使其能夠與其它軟件進(jìn)行交互的接口。與用戶界面便利用戶與計(jì)算機(jī)之間的交互的方式類似,其便利不同軟件程序之間的交互。API由應(yīng)用、庫和操作系統(tǒng)實(shí)現(xiàn),用于確定其詞匯表和調(diào)用協(xié)定,并且用于訪問其服務(wù)。其可以包括針對(duì)例程、數(shù)據(jù)結(jié)構(gòu)、對(duì)象類和協(xié)議的規(guī)范,所述例程、數(shù)據(jù)結(jié)構(gòu)、對(duì)象類和協(xié)議用于在API的消費(fèi)者和實(shí)現(xiàn)者之間進(jìn)行通信。CALDpaaDriver212負(fù)責(zé):管理將被用于用戶平面數(shù)據(jù)分發(fā)的DPAA資源(緩沖器池和幀隊(duì)列);經(jīng)由各種文件操作為其它CAL模塊提供用戶空間接口,例如打開、釋放、用于初始化的io控制(ioctl)、緩沖器管理和消息服務(wù);實(shí)施內(nèi)核到用戶空間(K-U)緩沖器映射;提供DPAA緩沖器池以及接收器和發(fā)送器統(tǒng)計(jì)數(shù)據(jù);以及,實(shí)現(xiàn)用于管理環(huán)形緩沖器的服務(wù)。應(yīng)當(dāng)指出,環(huán)形緩沖器代表CAL的L2軟件隊(duì)列,并且其通常用于存儲(chǔ)指定用于特定L2DLT的FD。CALMsg模塊2 06提供針對(duì)L2的API,以便從環(huán)中檢索緩沖器描述符。除CALDpaaDriver212外,上面描述的CAL部件的全部一般是平臺(tái)中間件(在用戶空間中運(yùn)行)。CALDpaaDriver212是在內(nèi)核空間中運(yùn)行的客戶驅(qū)動(dòng)器,并且其被設(shè)計(jì)為實(shí)現(xiàn)和提供CAL用戶空間中間件所需的服務(wù)——特別是那些取決于P4080DPAA硬件部件的服務(wù)。CALBuf模塊204提供將專門用于“快速路徑”數(shù)據(jù)處理的緩沖器管理服務(wù)。CALBuf模塊204為L(zhǎng)2應(yīng)用提供用戶空間API。CALBuf模塊204與CALDpaaDriver212協(xié)作,以便為CALDpaa驅(qū)動(dòng)器212創(chuàng)建但由Bman226管理的緩沖器提供零復(fù)制和無鎖緩沖器管理服務(wù)。CALBuf模塊204實(shí)現(xiàn)和提供特別支持以下服務(wù)的API:1.在給定緩沖器尺寸的情況下,獲取緩沖器;2.獲取給定數(shù)量的具有給定尺寸的緩沖器,并且然后返回可用緩沖器的列表,上至所請(qǐng)求的緩沖器數(shù)量;3.釋放指定的緩沖器;4.釋放一列緩沖器;以及5.查詢緩沖器池統(tǒng)計(jì)數(shù)據(jù)。如上面陳述的,無鎖緩沖器管理方案對(duì)于滿足基于多核處理器的調(diào)制解調(diào)器板的性能需求是重要的,其中,所述基于多核處理器的調(diào)制解調(diào)器板使用由全部八個(gè)核心組成的一個(gè)分區(qū)并且運(yùn)行帶有PREEMPT_RT的SMP Linux。在沒有所述方案的情況下,系統(tǒng)可能遭受可能破壞整個(gè)系統(tǒng)的極大等待時(shí)間尖峰。參考圖3,例如BMan226或其它合適部件的、多核處理器上的硬件部件302可以用于實(shí)現(xiàn)無鎖緩沖器管理方案。在該示例中,硬件部件302管理64個(gè)單獨(dú)的具有48位令牌的池(或隊(duì)列)。這些令牌擔(dān)任指向緩沖器存儲(chǔ)器的指針。池及每個(gè)池中的令牌的數(shù)量可以改變。鑒于此,在硬件部件302中定義了 64個(gè)具有不同尺寸的緩沖器池(例如,一個(gè)池可以具有十個(gè)指向2KB緩沖器的令牌,第二個(gè)池可以具有50個(gè)指向4KB緩沖器的令牌,等等)。作為示例,硬件部件302可以包括第一池(即池I ),該第一池被示為標(biāo)號(hào)304,具有十個(gè)令牌,每個(gè)令牌指向存儲(chǔ)器中尺寸為IKB (1024字節(jié))的緩沖器。然而應(yīng)當(dāng)理解,第一池304可以包含多得多的48位令牌。同樣在該示例中,被示為標(biāo)號(hào)310的最后池(即池64)具有十個(gè)令牌,每個(gè)令牌指向尺寸為8KB的緩沖器。此外,應(yīng)當(dāng)理解,最后池310可以包含多得多的48位令牌。應(yīng)當(dāng)進(jìn)一步指出,盡管未在圖3中示出,但硬件部件302具有62個(gè)可能具有可變尺寸的其余池。然而,為進(jìn)行示例,假設(shè)62個(gè)其余池(即池2-63)的每個(gè)具有十個(gè)令牌,每個(gè)令牌指向尺寸為IKB的緩沖器。在此處提供的示例性實(shí)施例運(yùn)行期間,緩沖器管理方案每當(dāng)其需要具有特定尺寸的緩沖器時(shí),向硬件部件302發(fā)送對(duì)令牌(即指向緩沖器存儲(chǔ)器的指針)的請(qǐng)求。這在下面詳細(xì)示出。如先前陳述的,CALBuf API獲取緩沖器。CALBuf212為在用戶空間中運(yùn)行的應(yīng)用軟件提供用戶空間API。當(dāng)應(yīng)用需要緩沖器時(shí),其調(diào)用CALBuf API請(qǐng)求具有特定尺寸的緩沖器。CALBuf模塊204,通過來自例如CALDpaaDriver212的內(nèi)核空間模塊的幫助,然后向BMan226請(qǐng)求具有指定尺寸的令牌/緩沖器。BMan226是對(duì)來自多個(gè)核心的同時(shí)訪問進(jìn)行仲裁的硬件實(shí)體。相應(yīng)地,由于幾個(gè)L2實(shí)體正并行運(yùn)行,BMan226同時(shí)從多個(gè)核心接收對(duì)令牌/緩沖器的請(qǐng)求。BMan226然后在不需要軟件鎖的情況下用硬件設(shè)施沖裁,以及,請(qǐng)求方L2實(shí)體的每個(gè)在不被阻塞的情況下接收到緩沖器。由于硬件部件302對(duì)來自多個(gè)核心的同時(shí)訪問進(jìn)行仲裁,于是產(chǎn)生了避免需要軟件中的鎖或阻塞信號(hào)量的軟件無鎖緩沖器管理方案,如下面詳細(xì)描述的那樣。最初,CALDpaaDriver212在內(nèi)核空間中分配連續(xù)的存儲(chǔ)器塊316 (例如尺寸為1GB)。該存儲(chǔ)器是處理器100使用的外部DDR存儲(chǔ)器,并且其通常被與處理器一起放置在板上。然后用令牌對(duì)硬件輔助的池進(jìn)行填充,所述令牌指向?qū)⒈挥米骶彌_器的存儲(chǔ)器片段316。換句話說,連續(xù)的存儲(chǔ)器塊316包含多個(gè)緩沖器池,其中,每個(gè)緩沖器池具有特定的緩沖器尺寸特征。64個(gè)緩沖器池(例如池304、310)內(nèi)的令牌被用于迅速獲取存儲(chǔ)器316內(nèi)的地址,該地址開始具有特定尺寸的特定緩沖器。連續(xù)的存儲(chǔ)器塊316具有開始地址和結(jié)束地址,其共同定義存儲(chǔ)器塊316的尺寸和位置。當(dāng)計(jì)算針對(duì)緩沖器池的種子值時(shí),存儲(chǔ)器塊316的開始地址被用作基礎(chǔ)指針。針對(duì)池內(nèi)的任意給定指令的填充地址可以經(jīng)由以下方程來計(jì)算:
權(quán)利要求
1.一種在電信網(wǎng)絡(luò)中的調(diào)制解調(diào)器上使用的多核處理器中的緩沖器管理機(jī)制包括: 緩沖器模塊,為一個(gè)或更多2層應(yīng)用提供緩沖器管理服務(wù),其中,所述緩沖器模塊至少為正在用戶空間中運(yùn)行的應(yīng)用軟件提供用戶空間應(yīng)用接口; 緩沖器管理器,管理多個(gè)單獨(dú)的令牌池,其中,所述令牌包括指向外部存儲(chǔ)器中的存儲(chǔ)器區(qū)域的指針;以及 客戶驅(qū)動(dòng)器,其管理將被用于用戶平面數(shù)據(jù)分發(fā)的、包括緩沖器池和幀隊(duì)列的數(shù)據(jù)路徑加速體系結(jié)構(gòu)(DPAA)資源。
2.根據(jù)權(quán)利要求1的緩沖器管理機(jī)制,其中,所述客戶驅(qū)動(dòng)器進(jìn)一步用于: 獲取連續(xù)的所述外部存儲(chǔ)器的塊; 將內(nèi)核空間存儲(chǔ)器映射到用戶空間,以便允許用戶模式應(yīng)用在不需要實(shí)施數(shù)據(jù)復(fù)制的情況下訪問存儲(chǔ)在所述外部存儲(chǔ)器中的數(shù)據(jù); 初始化一些池、每個(gè)池的一些令牌,以及所述令牌指向的一定尺寸的緩沖器;以及 用令牌填充所述池。
3.根據(jù)權(quán)利要求1的緩沖器管理機(jī)制,其中,所述緩沖器模塊進(jìn)一步用于,實(shí)現(xiàn)并提供支持以下服務(wù)中的一個(gè)或更多的零復(fù)制且無鎖的應(yīng)用編程接口: 獲取緩沖器; 獲取給定數(shù)量的具有給定尺寸的緩沖器,并且然后返回多達(dá)所請(qǐng)求緩沖器數(shù)量的可用緩沖器的列表; 釋放指定的緩沖器; 釋放一列緩沖器;以及 查詢緩沖器池統(tǒng)計(jì)數(shù)據(jù)。
4.根據(jù)權(quán)利要求1的緩沖器管理機(jī)制,其中,當(dāng)計(jì)算針對(duì)所述緩沖器池的種子值時(shí),所述存儲(chǔ)器塊的開始地址被用作基礎(chǔ)指針。
5.根據(jù)權(quán)利要求1的緩沖器管理機(jī)制,其中,所述緩沖器管理器進(jìn)一步用于,在分組到達(dá)后將令牌從所述池中出列,以及,當(dāng)緩沖器被釋放時(shí),將所述令牌入列回所述池中。
6.根據(jù)權(quán)利要求1的緩沖器管理機(jī)制,其中,所述緩沖器管理器進(jìn)一步用于,接收同時(shí)來自多個(gè)核心的對(duì)緩沖器或令牌的請(qǐng)求,并且在不需要軟件中的軟件鎖或阻塞信號(hào)量的情況下在硬件中實(shí)施仲裁。
7.一種用于在電信網(wǎng)絡(luò)中提供多小區(qū)支持的裝置,所述裝置包括: 調(diào)制解調(diào)器板;以及 包括多個(gè)聯(lián)接到所述調(diào)制解調(diào)器板的處理器核心的多核處理器,其中,使用包括在其中的所述處理器核心的全部定義單一分區(qū),并且其中,所述單一分區(qū)被用于執(zhí)行全部控制平面功能和全部數(shù)據(jù)平面功能;以及核心抽象層,其對(duì)正在所述單一分區(qū)中的處理器核心上運(yùn)行的應(yīng)用軟件隱藏任何核心特定細(xì)節(jié), 其中,所述核心抽象層包括至少以下模塊: 緩沖器模塊,為一個(gè)或更多2層應(yīng)用提供緩沖器管理服務(wù),其中,所述緩沖器模塊至少為正在用戶空間中運(yùn)行的應(yīng)用軟件提供用戶空間應(yīng)用接口; 緩沖器管理器,管理多個(gè)單獨(dú)的令牌池,其中,所述令牌包括指向外部存儲(chǔ)器中的存儲(chǔ)器區(qū)域的指針;以及客戶驅(qū)動(dòng)器,管理將被用于用戶平面數(shù)據(jù)分發(fā)的、包括緩沖器池和幀隊(duì)列的數(shù)據(jù)路徑加速體系結(jié)構(gòu)(DPAA)資源。
8.根據(jù)權(quán)利要求6的裝置,其中,所述客戶驅(qū)動(dòng)器進(jìn)一步用于: 獲取連續(xù)的外部存儲(chǔ)器塊; 將內(nèi)核空間存儲(chǔ)器映射到用戶空間,以便允許用戶模式應(yīng)用在不需要實(shí)施數(shù)據(jù)復(fù)制的情況下訪問存儲(chǔ)在所述外部存儲(chǔ)器中的數(shù)據(jù); 初始化一些池、每個(gè)池的一些令牌,以及所述令牌指向的一定尺寸的緩沖器;以及 使用令牌填充所述池。
9.根據(jù)權(quán)利要求6的裝置,其中,所述緩沖器模塊進(jìn)一步用于,實(shí)現(xiàn)并提供支持以下服務(wù)中的一個(gè)或更多的零復(fù)制且無鎖的應(yīng)用編程接口: 獲取緩沖器; 獲取給定數(shù)量的具有給定尺寸的緩沖器,并且然后返回多達(dá)所請(qǐng)求緩沖器數(shù)量的可用緩沖器的列表; 釋放指定的緩沖器; 釋放一列緩沖器;以及 查詢緩沖器池統(tǒng)計(jì)數(shù)據(jù)。
10.根據(jù)權(quán)利要求6的裝置,其中,當(dāng)計(jì)算針對(duì)所述緩沖器池的種子值時(shí),所述存儲(chǔ)器塊的開始地址被用作基 礎(chǔ)指針。
全文摘要
此處描述一種用于電信網(wǎng)絡(luò)中的調(diào)制解調(diào)器上的多核處理器中的緩沖器管理機(jī)制。所述緩沖器管理機(jī)制包括為一個(gè)或更多2層應(yīng)用提供緩沖器管理服務(wù)的緩沖器模塊,其中,緩沖器模塊至少為正在用戶空間中運(yùn)行的應(yīng)用軟件提供用戶空間應(yīng)用接口。緩沖器管理機(jī)制還包括管理多個(gè)單獨(dú)的令牌池的緩沖器管理器,其中,所述令牌包括指向外部存儲(chǔ)器中的存儲(chǔ)器區(qū)域的指針。另外,緩沖器管理機(jī)制包括客戶驅(qū)動(dòng)器,所述客戶驅(qū)動(dòng)器管理將被用于用戶平面數(shù)據(jù)分發(fā)的、包括緩沖器池和幀隊(duì)列的數(shù)據(jù)路徑加速體系結(jié)構(gòu)(DPAA)資源。
文檔編號(hào)G06F9/50GK103229145SQ201180051791
公開日2013年7月31日 申請(qǐng)日期2011年10月12日 優(yōu)先權(quán)日2010年10月28日
發(fā)明者M·R·加沃爾, L·索 申請(qǐng)人:阿爾卡特朗訊公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1