欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于電信網(wǎng)絡(luò)應(yīng)用的核抽象層的制作方法

文檔序號(hào):7885600閱讀:156來(lái)源:國(guó)知局
專利名稱:用于電信網(wǎng)絡(luò)應(yīng)用的核抽象層的制作方法
用于電信網(wǎng)絡(luò)應(yīng)用的核抽象層背景技術(shù)
本發(fā)明涉及使用多核處理器的在單調(diào)制解調(diào)器板上用于多小區(qū)支持的核抽象層。盡管本發(fā)明特別指向移動(dòng)電信領(lǐng)域,因此特別參照其進(jìn)行了描述,但應(yīng)當(dāng)了解,本發(fā)明還可應(yīng)用于其他領(lǐng)域和應(yīng)用。
通過(guò)背景技術(shù)可知,LTE(長(zhǎng)期演進(jìn))是一種快速演進(jìn)的3GPP項(xiàng)目,其旨在對(duì)UMTS(通用移動(dòng)電信系統(tǒng))移動(dòng)電話標(biāo)準(zhǔn)進(jìn)行改進(jìn)以應(yīng)對(duì)未來(lái)通信網(wǎng)絡(luò)的要求。LTE提高了無(wú)線網(wǎng)絡(luò)的效率和帶寬,降低了成本并且增強(qiáng)了服務(wù)體驗(yàn)。具體地講,LTE利用了新的頻譜機(jī)會(huì)并且提供了與其他開放標(biāo)準(zhǔn)更好的集成。LTE —般包括LTE RAN(無(wú)線電接入網(wǎng)絡(luò))(也稱為E-UTRAN)與EPS (演進(jìn)的分組系統(tǒng),也叫演進(jìn)的分組核心)。
通信系統(tǒng)一般被分為兩個(gè)主要功能:數(shù)據(jù)面功能以及控制面功能。在先前的LTE產(chǎn)品中,至少兩個(gè)處理器用在調(diào)制解調(diào)器板上:一個(gè)支持控制面功能(非實(shí)時(shí)的,例如操作、經(jīng)營(yíng)和管理(或者0Α&Μ)以及呼叫處理管理相關(guān)的功能性),另一個(gè)終結(jié)以及支持?jǐn)?shù)據(jù)面功能(實(shí)時(shí)的,例如LTE層2的處理)。控制面和數(shù)據(jù)面兩者都使用不同的操作系統(tǒng)(OS)實(shí)例,例如用于控制面的Linux以及用于數(shù)據(jù)面核的諸如vXWorks(由加利福尼亞Alameda的Wind River System制造并銷售)的實(shí)時(shí)OS。通常,一個(gè)調(diào)制解調(diào)器板支持一個(gè)扇區(qū)或小區(qū)。所以為了支持多小區(qū)(例如3小區(qū)或6小區(qū))配置,有必要提供與小區(qū)數(shù)量一樣多的調(diào)制解調(diào)器板。
需要位于應(yīng)用層和硬件層之間并使應(yīng)用層從低級(jí)硬件相關(guān)的功能性分離的中間件抽象層。發(fā)明內(nèi)容
在處理環(huán)境中,中間件層通常將所有的硬件具體實(shí)現(xiàn)細(xì)節(jié)對(duì)應(yīng)用層進(jìn)行掩藏。向基于多核處理器的調(diào)制解調(diào)器板的中間件層引入一種新的子系統(tǒng)一核抽象層(CAL)。該新的模塊為多核處理器及其數(shù)據(jù)路徑加速架構(gòu)(DPAA)提供了抽象。為了部署該調(diào)制解調(diào)器板,CAL將向LTE L2應(yīng)用提供諸如零拷貝無(wú)鎖(lock free)緩沖器管理方案的各種服務(wù),并且提供對(duì)于新的背板以太網(wǎng)驅(qū)動(dòng)(BED)接口的支持,用于將無(wú)線電鏈路控制(RLC)服務(wù)數(shù)據(jù)單元(SDU)傳送到用于多小區(qū)配置的控制器板以及從該控制器板接收RLC SDU0
軟件便攜性是CAL的主要目標(biāo)。其還使應(yīng)用層與促進(jìn)對(duì)應(yīng)用、中間件及平臺(tái)層服務(wù)進(jìn)行并行軟件開發(fā)的低級(jí)平臺(tái)服務(wù)分離。因而,其將會(huì)相對(duì)容易地遷移到具有或多或少的核或者甚至是多核處理器的不同廠商的處理器,而對(duì)應(yīng)用層軟件影響很小或沒(méi)有影響。
在本發(fā)明的一方面提供一種用于在電信網(wǎng)絡(luò)中提供多小區(qū)支持的裝置。該裝置包括調(diào)制解調(diào)器板和多核處理器。處理器一般包括:依附在調(diào)制解調(diào)器板的多個(gè)處理器核和核抽象層,在多個(gè)處理器核中,至少一個(gè)處理器核用來(lái)執(zhí)行所有控制面功能,剩余處理器核用來(lái)執(zhí)行所有數(shù)據(jù)面功能;所述核抽象層將任何核具體細(xì)節(jié)都對(duì)運(yùn)行在單個(gè)分區(qū)的處理器核上的應(yīng)用軟件隱藏。核抽象層包括各種模塊。初始化模塊向一個(gè)或多個(gè)幀管理器加載網(wǎng)絡(luò)配置數(shù)據(jù)以及靜態(tài)解析、分類和分配(PCD)規(guī)則,并且基于一組配置文件建立核抽象層框架。緩沖器模塊可以為一個(gè)或多個(gè)層2應(yīng)用提供無(wú)鎖緩沖器管理服務(wù)。消息模塊可以向?qū)?軟件提供向另一板發(fā)送用戶面數(shù)據(jù)或從另一板接收用戶面數(shù)據(jù)的零拷貝和無(wú)鎖(lock-less)消息服務(wù)。P⑶模塊提供由幀管理器用于將入站幀路由到適當(dāng)?shù)暮说腜⑶規(guī)則和配置。數(shù)據(jù)路徑加速架構(gòu)(DPAA)跟蹤模塊提供用于在DPAA驅(qū)動(dòng)模塊中開啟和禁用跟蹤的跟蹤能力。在本發(fā)明的另一方面提供一種用于在電信網(wǎng)絡(luò)中提供多小區(qū)支持的裝置。該裝置包括:調(diào)制解調(diào)器板和多核處理器,多核處理器具有依附在調(diào)制解調(diào)器板的多個(gè)處理器核和核抽象層,在多個(gè)處理器核中,單個(gè)分區(qū)利用包括于其中的所有處理器核定義,以及其中單個(gè)分區(qū)用來(lái)執(zhí)行所有控制面功能和所有數(shù)據(jù)面功能;所述核抽象層將任何核具體細(xì)節(jié)都對(duì)運(yùn)行在單個(gè)分區(qū)的處理器核上的應(yīng)用軟件隱藏。核抽象層包括各種模塊。初始化模塊向一個(gè)或多個(gè)幀管理器加載網(wǎng)絡(luò)配置數(shù)據(jù)以及靜態(tài)解析、分類和分配(P⑶)規(guī)則,并且基于一組配置文件建立核抽象層框架。緩沖器模塊可以為一個(gè)或多個(gè)層2應(yīng)用提供無(wú)鎖緩沖器管理服務(wù)。消息模塊可以向?qū)?軟件提供向另一板發(fā)送用戶面數(shù)據(jù)或從另一板接收用戶面數(shù)據(jù)的零拷貝以及無(wú)鎖消息服務(wù)。PCD模塊提供由幀管理器用于將入站幀路由到適當(dāng)?shù)暮说腜CD規(guī)則和配置。數(shù)據(jù)路徑加速架構(gòu)(DPAA)跟蹤模塊提供用于在DPAA驅(qū)動(dòng)模塊中開啟和禁用跟蹤的跟蹤能力。還在本發(fā)明的另一方面提供一種用于多核處理器的核抽象層。核抽象層包括各種模塊。初始化模塊向一個(gè)或多個(gè)幀管理器加載網(wǎng)絡(luò)配置數(shù)據(jù)以及靜態(tài)解析、分類和分配(PCD)規(guī)則,并且基于一組配置文件建立核抽象層框架。緩沖器模塊可以為一個(gè)或多個(gè)層2應(yīng)用提供無(wú)鎖緩沖器管理服務(wù)。消息模塊可以向?qū)?軟件提供向另一板發(fā)送用戶面數(shù)據(jù)或從另一板接收用戶面數(shù)據(jù)的零拷貝和無(wú)鎖消息服務(wù)。PCD模塊提供由幀管理器用于將入站幀路由到適當(dāng)?shù)暮说腜CD規(guī)則和配置。數(shù)據(jù)路徑加速架構(gòu)(DPAA)跟蹤模塊提供用于在DPAA驅(qū)動(dòng)模塊中開啟和禁用跟蹤的跟蹤能力。本發(fā)明適用性的進(jìn)一步的范圍將從以下提供的詳細(xì)描述中變得明顯。然而應(yīng)當(dāng)理解,由于在本發(fā)明范圍和精神內(nèi)的各種變化和修改對(duì)那些本領(lǐng)域技術(shù)人員而言是顯而易見的,因此在指出本發(fā)明優(yōu)選實(shí)施例的同時(shí),僅通過(guò)說(shuō)明的方式給出詳細(xì)的描述和具體的示例。


本發(fā)明存在于結(jié)構(gòu)、布置以及設(shè)備的各種零件和方法步驟的結(jié)合中,由此獲得如下文中更全面闡述的、尤其是在權(quán)利要求中被指出,并在附圖中進(jìn)行圖示的預(yù)期目標(biāo)。附圖中:圖1圖示了根據(jù)本發(fā)明多方面的平臺(tái)架構(gòu)的一個(gè)實(shí)施例;圖2圖示了根據(jù)本發(fā)明多方面的平臺(tái)架構(gòu)的替代性的實(shí)施例,以及圖3圖示了根據(jù)本發(fā)明多方面的用于實(shí)現(xiàn)核抽象層的典型架構(gòu)。
具體實(shí)施例方式現(xiàn)在參照附圖,其中示出的附圖僅用于圖示示例性實(shí)施例的目的而非用于限制所要求保護(hù)主題的目的,圖1提供了可以結(jié)合當(dāng)前描述的實(shí)施例的系統(tǒng)的視圖。該平臺(tái)架構(gòu)一般用在調(diào)制解調(diào)器板上,但是應(yīng)當(dāng)理解,其可以用在其他應(yīng)用中。在此情況下,提供了具有八個(gè)核(如圖中12、14、16、18、20、22、24及26所示)的多核處理器10。然而應(yīng)當(dāng)了解,多核處理器10可以具有任意數(shù)量的核。在此示例中,第一分區(qū)28用于運(yùn)行第一操作系統(tǒng)
(OSl)32的控制面30。第一分區(qū)28還包括操作、經(jīng)營(yíng)和管理(0Α&Μ) 34以及BCS/UPS36。BCS/UPS36是用于向諸如0Α&Μ實(shí)體的應(yīng)用軟件提供硬件的抽象的中間件層。余下7個(gè)核的每一個(gè)對(duì)應(yīng)一個(gè)AMP分區(qū)(如圖中38、40、42、44、46、48、50所示),7個(gè)AMP分區(qū)用于數(shù)據(jù)面52,該7個(gè)AMP分區(qū)的每個(gè)都運(yùn)行第二操作系統(tǒng)(0S2) 54。所有的層2(L2)處理通常都在處理器的7個(gè)核上執(zhí)行。層2是計(jì)算機(jī)聯(lián)網(wǎng)的7層OSI模型的數(shù)據(jù)鏈路層。數(shù)據(jù)鏈路層是將數(shù)據(jù)在廣域網(wǎng)的相鄰網(wǎng)絡(luò)節(jié)點(diǎn)間或在相同的局域網(wǎng)段的節(jié)點(diǎn)間傳輸?shù)膮f(xié)議層。數(shù)據(jù)鏈路層提供了將數(shù)據(jù)在網(wǎng)絡(luò)實(shí)體間傳輸?shù)墓δ苌虾统绦蛏系氖侄危⑶铱赡芴峁┛砂l(fā)生在物理層的錯(cuò)誤檢測(cè)并可能糾正錯(cuò)誤的手段。數(shù)據(jù)鏈路協(xié)議的示例為用于局域網(wǎng)(多節(jié)點(diǎn))的以太網(wǎng)、點(diǎn)對(duì)點(diǎn)協(xié)議(PPP)、用于點(diǎn)到點(diǎn)(雙節(jié)點(diǎn))連接的HDLC和ADCCP。在此情況,L2 —般是指具有非常嚴(yán)格的實(shí)時(shí)要求的LTE空中接口所需的L2調(diào)度器處理。所有的層I(Ll)處理通常都在DSP和FPGA上得到執(zhí)行。尤其是,核抽象層(CAL) 56將核具體細(xì)節(jié)對(duì)L2應(yīng)用軟件隱藏。典型構(gòu)架可以進(jìn)一步包括諸如系統(tǒng)管理程序(hypervisor) 58的監(jiān)控軟件實(shí)體,用來(lái)確保所有的這些分區(qū)獨(dú)立運(yùn)行并且不會(huì)彼此破壞(例如,確保故障隔離)。系統(tǒng)管理程序是用在虛擬化中的軟件程序。其允許幾個(gè)操作系統(tǒng)在給定的硬件片上并行的運(yùn)行。不像傳統(tǒng)的虛擬計(jì)算程序,系統(tǒng)管理程序直接運(yùn)行在目標(biāo)硬件上。這允許訪客操作系統(tǒng)和系統(tǒng)管理程序兩者都更加有效地執(zhí)行??赡艿南到y(tǒng)管理程序的列表包括但不限于下面的類型:Xen (Citrix)、KVM(基于內(nèi)核的虛擬機(jī))、VMware ESX/vmkernel、Microsoft Hyper-V、PowerVM(IBM) > Logical Domains/Oracle VM 以及 Wind River Hypervisor。在此示例中,處理器10服務(wù)于3個(gè)小區(qū)(如圖中60、62和64所示)。每個(gè)小區(qū)都需要上行鏈路(UL)調(diào)度器(如圖中66、70和74所示)以及下行鏈路(DL)調(diào)度器(如圖中68、72和76所示)。人們公知,無(wú)線電鏈路控制(RLC)層用來(lái)在跨LTE接口發(fā)送和接收的分組幀上進(jìn)行分段、組合和糾錯(cuò)。無(wú)線電鏈路控制和媒體訪問(wèn)控制(RLC/MAC)軟件被用在GPRS (2.5G)無(wú)線棧。其提供了在移動(dòng)站和基站控制器(BSC)間的確認(rèn)和非確認(rèn)數(shù)據(jù)傳輸。就此而言,處理器10進(jìn)一步包括RLC/MAC塊78,該RLC/MAC塊78是在移動(dòng)設(shè)備和網(wǎng)絡(luò)間使用的空中接口上的基本的傳輸單元。其用來(lái)攜帶數(shù)據(jù)和RLC/MAC信令?,F(xiàn)在參照?qǐng)D2,示出了替代性的平臺(tái)架構(gòu)10。該架構(gòu)一般用在調(diào)制解調(diào)器板上,但是應(yīng)當(dāng)理解,其還可用在其他應(yīng)用上。在該實(shí)施例中,一個(gè)分區(qū)被其中全部8個(gè)核來(lái)定義。然而應(yīng)當(dāng)了解,多核處理器100可以具有任何數(shù)量的核。利用該實(shí)施例,從而可能使用運(yùn)行在所有核(例如,8個(gè)核)上的單個(gè)SMP OS實(shí)例102。由于控制和數(shù)據(jù)面當(dāng)前在一個(gè)OS實(shí)例之下,需要注意確保數(shù)據(jù)面上的問(wèn)題將不會(huì)同樣地?fù)艨蹇刂泼?。在此示例中,處理?00服務(wù)于3個(gè)小區(qū)(如圖中104、106和108所示)。每個(gè)小區(qū)需要上行鏈路(UL)調(diào)度器(如圖中110、112和114所示)以及下行鏈路(DL)調(diào)度器(如圖中116、118和120所示)。還包括RLC/MAC塊122,其為用在移動(dòng)設(shè)備和網(wǎng)絡(luò)之間的空中接口上的基本的傳輸單元。其用于攜帶數(shù)據(jù)和RLC/MAC信令。處理器100還提供0A&M124以及 BCS/UPS126。如在第一實(shí)施例中,處理器100包括核抽象層(CAL) 128,其將核具體細(xì)節(jié)對(duì)L2應(yīng)用軟件隱藏。為了滿足基站的實(shí)時(shí)性能需要,可以使用諸如具有PREEMPT_RT補(bǔ)丁的SMP Linux的OS。當(dāng)然,應(yīng)當(dāng)理解,還可以使用其他操作系統(tǒng)。SMP配置可能易于喪失所監(jiān)視的AMP配置的確定性行為。為了在SMP配置中達(dá)到確定性行為,系統(tǒng)優(yōu)選地以采用核預(yù)留(corereservation)和核關(guān)聯(lián)(core affinity)構(gòu)造以達(dá)到如AMP的系統(tǒng)行為的方式實(shí)現(xiàn)。例如,還希望從具有PREEMPT_RT OS的SMP Linux中得到最佳性能。無(wú)鎖零拷貝服務(wù)(例如緩沖器管理)以及消息服務(wù)的使用還有助于解決使用具有PREEMPT_RT OS的SMP Linux所引起的任何的延遲問(wèn)題。圖1和2中所示出的核抽象層(56、128)的主要功能之一是以利用多核平臺(tái)的所有能力的各種服務(wù)提供諸如L2處理的高級(jí)應(yīng)用。因而將核抽象層設(shè)計(jì)成達(dá)到幾個(gè)目標(biāo)。第一,其應(yīng)當(dāng)支持BED (背板以太網(wǎng)驅(qū)動(dòng)器)基于DPAA的接口,同時(shí)對(duì)高級(jí)應(yīng)用軟件(例如,L2軟件)隱藏DPAA和多核具體實(shí)現(xiàn)。第二,其應(yīng)當(dāng)利用P4080的DPAA硬件組件來(lái)在入站和出站兩個(gè)方向?yàn)橛脩裘鏀?shù)據(jù)提供加速數(shù)據(jù)路徑。第三,其應(yīng)當(dāng)提供盡可能多的靈活性以便容易地適應(yīng)配置變化(例如,沒(méi)有要求代碼變化)。CAL配置的一個(gè)示例為用于緩沖器池、入站幀隊(duì)列和出站幀隊(duì)列的DPAA資源配置?,F(xiàn)在參照?qǐng)D3,示出了達(dá)到這些及其他目標(biāo)的典型架構(gòu)300。就此而言,核抽象層(CAL) 301在用戶空間中包括各種模塊,這些模塊包括核抽象層初始化(CALInit)模塊302,核抽象層緩沖器(CALBuf)模塊304,核抽象層消息(CALMsg)模塊306,核抽象層解析、分類和分配(CALPcdFmc)模塊308以及核抽象層DPAA跟蹤(CALDpaaTrace)模塊310。CAL301還可以包括內(nèi)核空間(kernel-space)模塊,即核抽象層DPAA驅(qū)動(dòng)(CALDpaaDriver) 312。架構(gòu)300進(jìn)一步包括諸如Linux Preempt RT的適當(dāng)?shù)牟僮飨到y(tǒng)314。操作系統(tǒng)314依次支持各種驅(qū)動(dòng),例如前述CALDPaa驅(qū)動(dòng)312、至少一個(gè)幀管理器(FMan)驅(qū)動(dòng)316、至少一個(gè)緩沖器管理器(BMan)驅(qū)動(dòng)318,以及至少一個(gè)隊(duì)列管理器(QMan)驅(qū)動(dòng)320。如圖3所示,架構(gòu)300可以適當(dāng)?shù)匕≒4080CoreNet構(gòu)造322,其為適用于可擴(kuò)展的片上網(wǎng)絡(luò)的互聯(lián)架構(gòu),用于將多電源架構(gòu)處理核連接至高速緩沖存儲(chǔ)器、單機(jī)高速緩沖存儲(chǔ)器以及存儲(chǔ)器子系統(tǒng)。P4080處理器包括新數(shù)據(jù)路徑加速架構(gòu)(DPAA)的實(shí)現(xiàn)。因此,架構(gòu)300可以進(jìn)一步包括P4080DPAA324。DPAA324被設(shè)計(jì)為優(yōu)化諸如負(fù)荷擴(kuò)散和資源(包括網(wǎng)絡(luò)接口和硬件加速器)共享的多核網(wǎng)絡(luò)處理。如圖所示,DPAA324 —般分別包括諸如BMan326和QMan328以及第一 Fman330和第二 Fman332的各種管理器。CALInit模塊302通常向幀管理器330和332加載LTE網(wǎng)絡(luò)配置和任意靜態(tài)P⑶規(guī)貝IJ,并且基于一組配置文件建立CAL框架。CALInit模塊302與FMC (FMan配置工具)(沒(méi)有示出)或任意數(shù)量的FMan API (沒(méi)有示出)對(duì)接以配置FMan P⑶,并與CALDpaa driver312對(duì)接以加載和建立CAL配置(例如,用戶面DPA資源)。如本文中用到的,術(shù)語(yǔ)API (或應(yīng)用編程接口)是指由軟件程序?qū)崿F(xiàn)的接口,其使得能夠與其他軟件交互。其促進(jìn)不同軟件程序間的交互,類似于用戶接口促進(jìn)用戶和計(jì)算機(jī)間的交互的方式。API由應(yīng)用程序、庫(kù)以及操作系統(tǒng)實(shí)現(xiàn)以確定它們的詞匯表(vocabularies)及調(diào)用慣例(calling conventions),并且用來(lái)訪問(wèn)它們的服務(wù)。API可以包括例程的規(guī)范、數(shù)據(jù)結(jié)構(gòu)、目標(biāo)類以及用來(lái)在消費(fèi)者和API實(shí)現(xiàn)者間通信的協(xié)議。CALInit模塊302還經(jīng)由LEC(Linux錯(cuò)誤收集器)服務(wù)提供調(diào)試機(jī)制,收集各種CAL和DPAA資源狀態(tài)和統(tǒng)計(jì)并傾倒至LEC的快照文件以用于事后調(diào)查(postmorteminvestigation)。人們公知,在無(wú)線多接入通信系統(tǒng)中,發(fā)射機(jī)和接收機(jī)可以使用多層通信棧進(jìn)行通信。所述層可以包括例如物理層、媒體訪問(wèn)(MAC)層、無(wú)線電鏈路控制(RLC)層、協(xié)議層(例如,分組數(shù)據(jù)匯聚協(xié)議(rocp)層)、應(yīng)用層等。RLC層從rocp層接收服務(wù)數(shù)據(jù)單元(SDU),并且將SDU組合或分段到RLC協(xié)議數(shù)據(jù)單元(PDU)以向MAC層傳送。相應(yīng)地,CALBuf模塊304為L(zhǎng)2應(yīng)用提供在RLC SDU處理中使用的無(wú)鎖緩沖器管理服務(wù)。如本領(lǐng)域所公知的,非阻塞(non-blocking)算法確保競(jìng)爭(zhēng)共享資源的線程不會(huì)使其執(zhí)行通過(guò)相互排斥而無(wú)限延遲。如果要確保系統(tǒng)范圍的進(jìn)展,則非阻塞算法是無(wú)鎖的(或免鎖的)。CALBuf模塊304還支持緩沖器池統(tǒng)計(jì)數(shù)據(jù)(例如,池消耗狀態(tài)、消耗計(jì)數(shù)、池可用性狀態(tài)、池分配錯(cuò)誤計(jì)數(shù)等)的查詢。CALBuf模塊304與CALDpaa驅(qū)動(dòng)312對(duì)接以實(shí)現(xiàn)所述服務(wù)。CALBuf模塊304提供在多核環(huán)境下對(duì)適當(dāng)?shù)南到y(tǒng)操作尤其關(guān)鍵的無(wú)鎖緩沖器管理方案,其中由非實(shí)時(shí)時(shí)間處理采用的鎖可能對(duì)等待釋放該鎖的實(shí)時(shí)處理造成延遲問(wèn)題。CALMsg模塊306提供經(jīng)由DPAA接收(入站)RLC SDU和發(fā)送(出站)RLC SDU的服務(wù)。CALMsg模塊306還支持Tx/Rx以太網(wǎng)接口統(tǒng)計(jì)數(shù)據(jù)(例如,接收或傳送的FD的數(shù)量、丟棄的FD的數(shù)量、各種類型的壞FDs等)的查詢。CALMsg模塊306與DPAA驅(qū)動(dòng)312對(duì)接以實(shí)現(xiàn)所述服務(wù)。CALMsg模塊306向LTE L2應(yīng)用提供在不使用協(xié)議棧的情況下發(fā)送或接收TCP/UDP IP分組的零拷貝無(wú)鎖消息服務(wù)。需要確保應(yīng)用軟件將不會(huì)遭遇無(wú)限延遲峰值,其可損壞具有非常嚴(yán)格的實(shí)時(shí)處理要求的LTE系統(tǒng)的適當(dāng)系統(tǒng)行為。CALPcdFmc模塊308提供由每個(gè)FMan (330、332)用于將入站幀路由到適當(dāng)?shù)暮说慕馕?、分類和分?roc)規(guī)則以及配置。CALDPaaTrace模塊310提供用于在CALDpaaDriver312中開啟和禁用跟蹤的跟蹤能力。CALDPaaTrace模塊310與CALDpaa驅(qū)動(dòng)312對(duì)接以實(shí)現(xiàn)這樣的服務(wù)。CALDpaaDriver312是CAL301的內(nèi)核空間(kernel-space)組件,而且該驅(qū)動(dòng)使用Bman和Qman API幫助實(shí)現(xiàn)和提供緩沖器管理服務(wù)和消息服務(wù)。CALDpaaDriver312負(fù)責(zé):管理用于用戶面數(shù)據(jù)分配的DPAA資源(緩沖器池和幀隊(duì)列);經(jīng)由諸如打開、釋放、用于初始化的1-o (輸入/輸出)控制(ioctl)、緩沖器管理以及消息服務(wù)的各種文件操作,向其他CAL模塊提供用戶空間接口 ;執(zhí)行內(nèi)核-用戶空間(K-U)的緩沖器映射;提供DPAA緩沖器池以及接收機(jī)和發(fā)射機(jī)的統(tǒng)計(jì)數(shù)據(jù);以及實(shí)現(xiàn)用于管理環(huán)形緩沖器的服務(wù)。應(yīng)當(dāng)注意,環(huán)形緩沖器表示CAL的L2軟件隊(duì)列并且用來(lái)存儲(chǔ)去往特定的L2DLT的FD。CALMsg模塊306為L(zhǎng)2提供從環(huán)獲得緩沖器描述符的API。除了 CALDpaaDriver312之外,以上描述的所有CAL組件一般為平臺(tái)中間件(在用戶空間下運(yùn)行)。CALDpaaDriver312是運(yùn)行在內(nèi)核空間的自定義驅(qū)動(dòng),并且其被設(shè)計(jì)為實(shí)現(xiàn)和提供CAL用戶空間中間件所需的服務(wù)一尤其是依賴于P4080DPAA硬件組件的那些服務(wù)。
CALInit模塊302負(fù)責(zé)提供各種功能性。對(duì)于啟動(dòng)中的主核(master core),CALInit模塊302建立CAL框架以支持“快速路徑”處理。這個(gè)步驟可以包括初始化CALDpaaDriver312,CALDpaaDriver312轉(zhuǎn)而將:(a)創(chuàng)建處理用戶面數(shù)據(jù)所需的各種DPAA資源(例如,緩沖器池、FQ或幀隊(duì)列),以及(b)創(chuàng)建經(jīng)由DPAA支持緩沖器管理和消息服務(wù)所需的CAL基礎(chǔ)設(shè)施(例如維護(hù)緩沖器池配置、FQ以及在入站FQ和DLT IP地址間的關(guān)聯(lián)性的內(nèi)部表等)。CALInit模塊302還加載LTE FMC的(靜態(tài))P⑶規(guī)則和網(wǎng)絡(luò)配置。對(duì)于啟動(dòng)中的主核和用戶面核(其中L2DLT和L2上行鏈路調(diào)度器線程被綁定),CALInit模塊302利用LEC執(zhí)行、注冊(cè)和關(guān)聯(lián)CAL301。當(dāng)進(jìn)程異常終止(例如,產(chǎn)生了 LEC關(guān)鍵錯(cuò)誤)時(shí),其向LEC的快照任務(wù)提供了要調(diào)用的例程。該例程收集包括緩沖器池統(tǒng)計(jì)和Tx/Rx以太網(wǎng)接口統(tǒng)計(jì)的各種CAL和DPAA數(shù)據(jù),并將該數(shù)據(jù)傾倒至LEC的快照文件以用于調(diào)試目的。CALBuf模塊304提供緩沖器管理服務(wù)來(lái)排他性地用于“快速路徑”數(shù)據(jù)處理。CALBuf模塊304向L2應(yīng)用提供用戶空間API。CALBuf模塊304與CALDpaaDriver312協(xié)作,向由CALDpaa驅(qū)動(dòng)312所創(chuàng)建卻被Bman326所管理的緩沖器提供零拷貝和無(wú)鎖緩沖器
管理服務(wù)。CALBuf模塊304實(shí)現(xiàn)和提供支持以下服務(wù)的API,其中:1.獲取緩沖器,其中給定緩沖器大?。?.獲取給定數(shù)量的給定大小的緩沖器,然后返回可用緩沖器的列表,直到所請(qǐng)求數(shù)量的緩沖器;3.釋放指定的緩沖器;4.釋放緩沖器的列表;以及5.查詢緩沖器池統(tǒng)計(jì)。CALMsg模塊306向L2軟件提供向另一板(即eCCM)發(fā)送用戶面數(shù)據(jù)和從另一板(即eCCM)接收用戶面數(shù)據(jù)的消息服務(wù)。CALMsg模塊306 —般與CALDpaaDriver312對(duì)接以經(jīng)由DPAA提供無(wú)鎖零拷貝消息服務(wù)。該特征允許L2應(yīng)用軟件在不使用協(xié)議棧的情況下發(fā)送和接收TCP/UDP IP分組,以避免無(wú)限的分組延遲時(shí)延。CALMsg模塊306實(shí)現(xiàn)和提供支持各種服務(wù)的API,例如在以下段落中所描述的。一個(gè)可能的服務(wù)是為(L2)應(yīng)用實(shí)體注冊(cè)CALMsg服務(wù),由此實(shí)體可以經(jīng)由“快速路徑”接收進(jìn)入分組。在此注冊(cè)過(guò)程期間,創(chuàng)建CAL的L2軟件隊(duì)列(環(huán)形緩沖器)以維護(hù)所接收的去往實(shí)體的緩沖器描述符。還在該注冊(cè)期間,CALMsg模塊306創(chuàng)建到IP地址的入站FQ和環(huán)ID之間的關(guān)聯(lián),以用于之后在其他處理(例如,當(dāng)幀到達(dá)FQ時(shí),確定將緩沖器描述符推送到哪個(gè)環(huán)形緩沖器)中進(jìn)行參考,執(zhí)行相關(guān)緩沖器池的內(nèi)核到用戶空間的映射,以及為應(yīng)用實(shí)體配置P⑶規(guī)則(如果還沒(méi)有經(jīng)由靜態(tài)規(guī)則配置)。而且,在注冊(cè)過(guò)程開始時(shí),CAL301實(shí)現(xiàn)防御策略用于確保當(dāng)線程崩潰時(shí)由應(yīng)用所獲得的所有緩沖器被適當(dāng)?shù)尼尫?。第二服?wù)是獲得去往應(yīng)用實(shí)體的幀。期望返回的緩沖器地址會(huì)指出由以太網(wǎng)報(bào)頭開始的有效載荷的開頭。第三服務(wù)是在被配置成處理用戶面數(shù)據(jù)的以太網(wǎng)接口(例如,ethO)上經(jīng)由DPAA向外部實(shí)體發(fā)送消息。期望L2填充所有所需的報(bào)頭(以太網(wǎng)、IP、UDP);并且硬件將被適當(dāng)?shù)嘏渲靡陨珊吞畛銲P校驗(yàn)和以及UDP校驗(yàn)和。
第四服務(wù)是查詢接收機(jī)和發(fā)射機(jī)端口統(tǒng)計(jì)數(shù)據(jù)。第五服務(wù)是從CALMsg模塊306注銷應(yīng)用實(shí)體。一旦應(yīng)用實(shí)體被注銷,其將不再能夠經(jīng)由“快速路徑”接收分組。作為注銷過(guò)程的一部分,CAL將釋放由應(yīng)用軟件所獲得的所有緩沖器。在使用CALMsg模塊306經(jīng)由快速路徑來(lái)接收幀的情況下,相關(guān)聯(lián)的環(huán)形緩沖器以及P⑶規(guī)則也將被移除。CALPcdFmc模塊308至少提供CAL301可以用來(lái)初始化和配置FMan(330,332)的P⑶組件的網(wǎng)絡(luò)接口配置文件和解析、分類和分配(P⑶)規(guī)則。FMan的P⑶組件需要被配置成允許進(jìn)入幀到適當(dāng)?shù)暮说姆峙?。以下描述的是可以用于以示例性架?gòu)定義LTE PCD規(guī)則(靜態(tài)地或動(dòng)態(tài)地)的策略的示例。就用戶空間分配而言,具有IP和UDP報(bào)頭的到達(dá)用戶空間以太網(wǎng)接口(ethO)的所有幀將通過(guò)粗分類(由Fman)。這可以通過(guò)提供適當(dāng)?shù)腜CD規(guī)則(動(dòng)態(tài)地或者靜態(tài)地)來(lái)達(dá)到。精確匹配分配方案可以用來(lái)將整個(gè)或部分目的地IP地址(取決于目的地IP地址的哪一部分可以被靜態(tài)定義)匹配到特定的核。默認(rèn)地,任何未被匹配的幀將排隊(duì)進(jìn)入被分配到控制面核(例如,coreO)的FQ。就默認(rèn)分配而言,到達(dá)控制面以太網(wǎng)接口(ethl)或調(diào)試以太網(wǎng)接口(eth2)的所有中貞將分配到控制面核(例如,coreO)。如何以及何時(shí)在Fman中定義和配置PCD規(guī)則取決于是否可在平臺(tái)初始化期間預(yù)定義和配置PCD策略。由于L2(下行鏈路)線程的IP地址及其到各種核的綁定不能預(yù)先確定,所以不可能在板啟動(dòng)和初始化期間為入站(下行鏈路)用戶面路徑定義Fman的PCD規(guī)則。因此,需要在小區(qū)被配置后,在運(yùn)行時(shí)定義用于用戶面數(shù)據(jù)路徑的P⑶規(guī)則。當(dāng)下行鏈路調(diào)度器(DLT)注冊(cè)到CALMsg模塊306時(shí),DLT IP地址以及線程所綁定的核通常為已知的。另一方面,用于控制面和調(diào)試業(yè)務(wù)的派發(fā)規(guī)則為直接的并且不依賴于任何變量。因此,可在初始化期間靜態(tài)地定義和配置用于控制面和調(diào)試面業(yè)務(wù)的PCD規(guī)則。當(dāng)初始化(FSL)以太網(wǎng)驅(qū)動(dòng)時(shí),可以預(yù)先定義和配置用于控制面以太網(wǎng)接口以及用于調(diào)試以太網(wǎng)接口的P⑶規(guī)則。對(duì)于用戶面以太網(wǎng)接口,需要在DLT利用已知的IP地址和綁定核開啟后在運(yùn)行時(shí)間定義和配置PCD規(guī)則。 CALDPaaTrace模塊310提供在CALDPaa驅(qū)動(dòng)312和各種P4080DPAA組件(驅(qū)動(dòng))上開啟或禁用跟蹤和調(diào)試的各種服務(wù)。這些服務(wù)例如包括:(I)開啟和禁用CALDPaa驅(qū)動(dòng)跟蹤;⑵開啟和禁用Bman跟蹤(將來(lái));(3)開啟和禁用Qman跟蹤(將來(lái));以及(4)開啟和禁用Fman跟蹤(將來(lái))。存在可以使用CAL301的各種場(chǎng)景。例如,CAL301可以在初始化時(shí)(即在平臺(tái)的開啟期間)支持主核:1.通過(guò)加載CAL配置數(shù)據(jù)(例如DPAA資源配置)以及對(duì)CALDpaa驅(qū)動(dòng)312進(jìn)行初始化,建立CAL的框架;2.如果有網(wǎng)絡(luò)接口配置和靜態(tài)P⑶規(guī)則的話,加載LTE FMC的網(wǎng)絡(luò)接口配置和靜態(tài)PCD規(guī)則。CAL301還可以在初始化時(shí)支持用戶空間進(jìn)程。在該情況下,當(dāng)CAL301被加載和初始化時(shí),CAL301將其自身注冊(cè)到LEC或與LEC關(guān)聯(lián),向LEC的快照任務(wù)提供例程以在該進(jìn)程終結(jié)時(shí)運(yùn)行。該例程將收集與Bman所管理的緩沖器池和Tx/Rx以太網(wǎng)接口相關(guān)的各種統(tǒng)計(jì)數(shù)據(jù),并將數(shù)據(jù)傾倒至LEC快照文件以用于事后調(diào)查(postmortem investigation)。CAL301還可以支持分組發(fā)送(即L2ULU軟件處理):1.ULU(上行鏈路調(diào)度器)將其自身注冊(cè)到CALMsg306,從而其可以經(jīng)由DPAA發(fā)送分組。2.ULU使用CALBuf服務(wù)分配緩沖器。3.ULU利用具有所有所需報(bào)頭(以太網(wǎng)/IP/UDP)和有效載荷的將發(fā)送的數(shù)據(jù)填充緩沖器。4.ULU使用CALMsg服務(wù)經(jīng)由DPAA向目的地實(shí)體發(fā)送消息。CAL301還可以支持分組接收(即L2DLT軟件處理):1.DLT(下行鏈路調(diào)度器)將其自身注冊(cè)到CALMsg306,從而其可以經(jīng)由DPAA接收分組。2.在某個(gè)Λ T時(shí)間(SP I毫秒)之后,DLT使用CALMsg服務(wù)讀出去往其的幀。3.對(duì)于DLT所讀出的每個(gè)幀,DLT處理該幀并使用CALBuf服務(wù)將該緩沖器釋放回CAL301 或 Bman326。假設(shè)對(duì)于導(dǎo)致刪除小區(qū)的所有場(chǎng)景,L2DLT和ULU線程將在其終結(jié)前執(zhí)行必要的清理。作為清理的一部分,L2DLT和ULU線程應(yīng)將其自身從CAL301注銷。作為注銷過(guò)程的一部分,CAL301需要執(zhí)行諸如釋放應(yīng)用所獲得(直接經(jīng)由CALBuf服務(wù)獲得或者由FMAN330或332隱式獲得)的所有緩沖器的一些清理工作,并且刪除相關(guān)聯(lián)的環(huán)形緩沖器以及移除PCD規(guī)則(僅與快速路徑的接收機(jī)相關(guān))。ULU和DLT可以使用CALMsg服務(wù)將其自身從CAL301注銷。在L2DLT或者L2ULU線程異常終止(例如,崩潰)的情況下,CAL301可以提供調(diào)試機(jī)制,由此經(jīng)由LEC的服務(wù)收集并傾倒諸如緩沖器池統(tǒng)計(jì)和Tx/Rx以太網(wǎng)接口統(tǒng)計(jì)的各種CAL和DPAA資源。上面的描述僅提供了本發(fā)明特定實(shí)施例的公開,而不旨在限制其等同物。同樣地,本發(fā)明不限于僅上面描述的實(shí)施例。而且,認(rèn)為本領(lǐng)域技術(shù)人員能夠構(gòu)思落入本發(fā)明范圍內(nèi)的替代性的實(shí)施例。
權(quán)利要求
1.一種多核處理器中的核抽象層,其包括: 初始化模塊,向一個(gè)或多個(gè)幀管理器加載網(wǎng)絡(luò)配置數(shù)據(jù)以及靜態(tài)解析、分類和分配(P⑶)規(guī)則,并且基于一組配置文件建立核抽象層框架; 緩沖器模塊,為一個(gè)或多個(gè)層2應(yīng)用提供無(wú)鎖緩沖器管理服務(wù); 消息模塊,向?qū)?軟件提供向另一板發(fā)送用戶面數(shù)據(jù)或從另一板接收用戶面數(shù)據(jù)的零拷貝和無(wú)鎖消息服務(wù); PCD模塊,提供由幀管理器用于將入站幀路由到適當(dāng)?shù)暮说腜CD規(guī)則和配置;以及數(shù)據(jù)路徑加速架構(gòu)(DPAA)跟蹤模塊,提供用于在DPAA驅(qū)動(dòng)模塊中開啟和禁用跟蹤的跟蹤能力。
2.根據(jù)權(quán)利要求1所述的核抽象層,其中緩沖器模塊實(shí)現(xiàn)并提供支持一個(gè)或多個(gè)以下服務(wù)的無(wú)鎖應(yīng)用編程接口,所述服務(wù)包括: 獲取緩沖器; 獲取給定數(shù)量的給定大小的緩沖器,然后返回可用緩沖器的列表直到所請(qǐng)求數(shù)量的緩沖器; 釋放指定的緩沖器; 釋放緩沖器的列表;以及 查詢緩沖器池統(tǒng)計(jì)。
3.根據(jù)權(quán)利要求1所述的核抽象層,其中所述初始化模塊、所述緩沖器模塊、所述消息模塊、所述PCD模塊以及所述DPAA跟蹤模塊在用戶空間下工作。
4.根據(jù)權(quán)利要求1所述的核抽象層,其中所述DPAA驅(qū)動(dòng)模塊在內(nèi)核空間下工作。
5.根據(jù)權(quán)利要求1所述的核抽象層,其中所述DPAA驅(qū)動(dòng)模塊操作為提供一個(gè)或多個(gè)以下功能: 管理用于用戶面數(shù)據(jù)分配的包括緩沖器池和幀隊(duì)列的DPAA資源; 經(jīng)由諸如打開、釋放、用于初始化的1-o控制、緩沖器管理以及消息服務(wù)的文件操作,向其他CAL模塊提供用戶空間接口; 執(zhí)行內(nèi)核到用戶空間的緩沖器映射; 提供DPAA緩沖器池以及接收機(jī)和發(fā)射機(jī)的統(tǒng)計(jì)數(shù)據(jù);以及 實(shí)現(xiàn)用于管理環(huán)形緩沖器的服務(wù)。
6.一種用于在電信網(wǎng)絡(luò)中提供多小區(qū)支持的裝置,所述裝置包括: 調(diào)制解調(diào)器板;以及 多核處理器,其包括依附在調(diào)制解調(diào)器板的多個(gè)處理器核和核抽象層,在多個(gè)處理器核中,單個(gè)分區(qū)利用包括于其中的所有處理器核定義,以及其中單個(gè)分區(qū)用來(lái)執(zhí)行所有控制面功能和所有數(shù)據(jù)面功能;所述核抽象層將任何核具體細(xì)節(jié)都對(duì)運(yùn)行在單個(gè)分區(qū)的處理器核上的應(yīng)用軟件隱藏, 其中核抽象層包括一個(gè)或多個(gè)以下模塊: 初始化模塊,向一個(gè) 或多個(gè)幀管理器加載網(wǎng)絡(luò)配置數(shù)據(jù)以及靜態(tài)解析、分類和分配(P⑶)規(guī)則,并且基于一組配置文件建立核抽象層框架; 緩沖器模塊,為一個(gè)或多個(gè)層2應(yīng)用提供無(wú)鎖緩沖器管理服務(wù); 消息模塊,向?qū)?軟件提供向另一板發(fā)送用戶面數(shù)據(jù)或從另一板接收用戶面數(shù)據(jù)的零拷貝以及無(wú)鎖消息服務(wù); P⑶模塊,提供由幀管理器用于將入站幀路由到適當(dāng)?shù)暮说腜⑶規(guī)則和配置; 數(shù)據(jù)路徑加速架構(gòu)(DPAA)跟蹤模塊,提供用于在DPAA驅(qū)動(dòng)模塊中開啟和禁用跟蹤的跟蹤能力。
7.根據(jù)權(quán)利要求6所述的裝置,其中所述初始化模塊、所述緩沖器模塊、所述消息模塊、所述PCD模塊以及所述DPAA跟蹤模塊在用戶空間下工作。
8.根據(jù)權(quán)利要求6所述的裝置,其中所述DPAA驅(qū)動(dòng)模塊在內(nèi)核空間下工作。
9.根據(jù)權(quán)利要求8所述的裝置,其中所述DPAA驅(qū)動(dòng)模塊操作為提供一個(gè)或多個(gè)以下功倉(cāng)泛: 管理用于用戶面數(shù)據(jù)分配的包括緩沖器池和幀隊(duì)列的DPAA資源; 經(jīng)由諸如打開、釋放、用于初始化的1-o控制、緩沖器管理以及消息服務(wù)的文件操作,向其他CAL模塊提供用戶空間接口; 執(zhí)行內(nèi)核到用戶空間的緩沖器映射; 提供DPAA緩沖器池以及接收機(jī)和發(fā)射機(jī)的統(tǒng)計(jì)數(shù)據(jù);以及 實(shí)現(xiàn)用于管理環(huán)形緩沖器的服務(wù)。
10.根據(jù)權(quán)利要求6所述的裝置,其中多核處理器被配置成服務(wù)于電信網(wǎng)絡(luò)中的至少3個(gè)小區(qū),每個(gè)小區(qū)具有 相應(yīng)的上行鏈路調(diào)度器和相應(yīng)的下行鏈路調(diào)度器。
全文摘要
向基于多核處理器的調(diào)制解調(diào)器板的中間件層引入一種新的子系統(tǒng),核抽象層(CAL)。該新的模塊為多核FSL P4080處理器及其DPAA提供了抽象。為了部署該調(diào)制解調(diào)器板,CAL將向LTE L2應(yīng)用提供諸如零拷貝無(wú)鎖(lock free)緩沖器管理方案的各種服務(wù),并且提供對(duì)于新的背板以太網(wǎng)驅(qū)動(dòng)(BED)接口的支持,用于將RLC SDU傳送到用于多小區(qū)配置的控制器板以及從該控制器板接收RLC SDU。
文檔編號(hào)H04W72/12GK103154897SQ201180048838
公開日2013年6月12日 申請(qǐng)日期2011年9月29日 優(yōu)先權(quán)日2010年10月14日
發(fā)明者M·R·加沃爾, L·索 申請(qǐng)人:阿爾卡特朗訊公司
宜君县| 芜湖县| 东港市| 深水埗区| 无锡市| 金山区| 平山县| 安义县| 房产| 阳信县| 寻甸| 齐齐哈尔市| 齐齐哈尔市| 贵定县| 金湖县| 舒城县| 阆中市| 兰溪市| 济源市| 汝南县| 巴马| 平度市| 密云县| 临泽县| 习水县| 确山县| 大关县| 乌拉特中旗| 永川市| 萨迦县| 怀远县| 福清市| 东海县| 介休市| 英超| 长白| 嘉峪关市| 铜梁县| 澄城县| 南川市| 吐鲁番市|