国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      電信網(wǎng)絡中用于單元恢復的方法和系統(tǒng)的制作方法

      文檔序號:7886121閱讀:357來源:國知局
      專利名稱:電信網(wǎng)絡中用于單元恢復的方法和系統(tǒng)的制作方法
      電信網(wǎng)絡中用于單元恢復的方法和系統(tǒng)
      背景技術
      本發(fā)明的示例性實施例涉及在支持使用多核處理器的多單元配置的單調(diào)制解調(diào)器板上的單元恢復過程,其中所述多核處理器具有包含所有處理器核的單SMP分區(qū)。本發(fā)明特別地涉及無線電信領域,因此通過對其特定引用來描述,但是可理解,本發(fā)明在其他領域和應用中均有效。作為背景技術,LTE (長期演進)是旨在改善UMTS (通用移動電信系統(tǒng))移動電話標準以解決未來通信網(wǎng)絡需求的快速演進中的3GPP計劃。LTE改善無線網(wǎng)絡效率和帶寬,降低成本并提升服務體驗。具體地,LTE使用新的頻譜機會并提供與其他開放標準的更好融合。LTE通常包括LTERAN (無線電接入網(wǎng)絡)(還已知為E-UTRAN)以及EPS (演進分組系統(tǒng),還稱為演進分組核心)。通信系統(tǒng)通常分成兩個主要功能:數(shù)據(jù)面功能和控制面功能。在先前的LTE產(chǎn)品中,在調(diào)制解調(diào)器板上使用至少兩個處理器:一個支持控制面功能(非實時地,例如,操作、經(jīng)營、和管理(或0Α&Μ),和調(diào)用處理管理相關的功能),另一個終止和支持數(shù)據(jù)面功能(實時地,例如,LTE層2處理)??刂坪蛿?shù)據(jù)面都使用不同的操作系統(tǒng)(OS)實例,例如用于控制面的Linux和用于數(shù)據(jù)面核心的實時OS,例如vXWorks (由加州的阿拉米風達風河系統(tǒng)(WindRiver Systems of ·Alameda, California)制作和銷售)。典型地,一個調(diào)制解調(diào)器板支持一個扇區(qū)或單元。所以,為了支持多單元(例如3個單元或6個單元)配置,有必要提供與單元數(shù)目同樣多的調(diào)制解調(diào)器板。作為改善,在LTE無線基站中在調(diào)制解調(diào)器板上可使用多核處理器。這個情況下,例如具有PREEMPT RT補丁的SMP Linux的操作系統(tǒng)運行在包含所有8個核心的一個SMP(對稱多處理)分區(qū)上。這個配置中,控制面(非實時線程/進程)和數(shù)據(jù)面(實時線程/進程)共享相同的操作系統(tǒng)實例,即使他們一定運行在不同的核心上。由于調(diào)制解調(diào)器板支持多個單元和扇區(qū),所以單元恢復可變得復雜。在先前方案中(即使用一個調(diào)制解調(diào)器板支持每個單元),在軟件崩潰之后的單元恢復過程是簡單的。這樣,重啟整個調(diào)制解調(diào)器板。然后,通過適當初始化的所有硬件和軟件組件重啟調(diào)制解調(diào)器板,備用于在控制器板上運行的主0A&M-C,以在調(diào)制解調(diào)器板上重新配置單元。重啟調(diào)制解調(diào)器板以恢復或救援單元的新架構不再是可行選項,因為這將使得控制面和調(diào)制解調(diào)器支持的剩余活動單元也重啟。高可用性是關鍵的服務提供商需求,并且在軟件崩潰之后必需重啟或再次重新配置僅一個單元時破壞所有單元并非一個可接受的選項。因此,需要一種方法和系統(tǒng),幫助確保將任意單元崩潰(作為軟件缺陷或故障的結果發(fā)生的偶然動作)局部化至一個單元。由此,控制面和在調(diào)制解調(diào)器板上配置的剩余單元應保持可操作性。此外,操作者應能夠選擇對于調(diào)制解調(diào)器板上的單元采取修正動作(即重啟、重新配置、刪除、或建立),而不影響其他配置的單元的操作
      發(fā)明內(nèi)容
      這里描述的是用于通過操作者干預或者自動地在軟件故障(或崩潰)之后個體地重啟(或恢復)特定單元的有效單元恢復過程,而不影響調(diào)制解調(diào)器板上的其他活動單元。一個實施例中,提供一種計算機實現(xiàn)的方法,在支持具有多核處理器的多單元配置的單個調(diào)制解調(diào)器板上提供單元恢復機制。檢測源自故障中的單元的一個或多個缺陷,以及向一個或多個軟件組件通知單元在故障中。此外,釋放與故障中的單元相關的資源,以及收集事后分析數(shù)據(jù)。進而,設置用于托管新單元的執(zhí)行環(huán)境,以及向遠程控制器板上的操作、運營、和管理(0Α&Μ)實體告知在調(diào)制解調(diào)器板上能啟動新單元。另一實施例中,提供一種系統(tǒng),用于在支持使用多核處理器的多單元配置的單個調(diào)制解調(diào)器板上提供單元恢復。該系統(tǒng)包括:調(diào)制解調(diào)器板;和多核處理器,包括連接至調(diào)制解調(diào)器板的多個處理器核心,其中調(diào)制解調(diào)器板包括內(nèi)核空間和用戶空間。該系統(tǒng)還包括配置為執(zhí)行各個功能的單元恢復機制。這些功能可包括例如:檢測源自故障中的單元的一個或多個缺陷;向一個或多個軟件組件通知單元在故障中;釋放與故障中的單元相關的資源;收集事后分析數(shù)據(jù);設置用于托管新單元的執(zhí)行環(huán)境;和向遠程控制器板上的操作、運營、和管理(0Α&Μ)實體告知在調(diào)制解調(diào)器板上能啟動新單元。
      另一實施例中,存儲指令的非臨時計算機可用數(shù)據(jù)載體在由計算機執(zhí)行時使得計算機執(zhí)行單元恢復過程。單元恢復過程可包括各個功能。例如,這樣的功能可包括:檢測源自故障中的單元的一個或多個缺陷;向一個或多個軟件組件通知單元在故障中;釋放與故障中的單元相關的資源;收集事后分析數(shù)據(jù);設置用于托管新單元的執(zhí)行環(huán)境;和向遠程控制器板上的操作、運營、和管理(0Α&Μ)實體告知在調(diào)制解調(diào)器板上能啟動新單元。本發(fā)明的應用的其他范圍根據(jù)以下提供的具體實施方式
      變得清楚。然而,可理解,僅通過圖示給出指示本發(fā)明的優(yōu)選實施方式的具體實施方式
      和特定實例,因為在本發(fā)明的精神和范圍內(nèi)的各個改變和修改對于本領域技術人員變得清楚。


      本發(fā)明存儲于設備的各個部分的結構、部署、和組合,以及方法的步驟中,由此在這里如更完整闡述地,特別地在權利要求中指出地、以及在附圖中示出地那樣獲得構思的目的,在附圖中:圖1示出根據(jù)本發(fā)明的方面的平臺架構的一個實施例;圖2示出實現(xiàn)圖1所示的核心抽象層的示例性架構;圖3示出根據(jù)本發(fā)明的方面的示例性單元恢復過程;和圖4示出終止進程的示例性過程。
      具體實施例方式現(xiàn)在參照附圖,其中該圖示僅用于示出示例性實施例,并非用于限制主張的主題,圖1提供可結合當前描述的實施例的系統(tǒng)的視圖?,F(xiàn)在參照圖1,示出示例性平臺架構100。該架構一般地用于調(diào)制解調(diào)器板上,但是可理解,他可用于其他應用中。這個實施例中,在其中用全部8個核心來定義一個分區(qū)。然而,可理解,多核處理器100可具有任意數(shù)目個核心。通過這個實施例,因此能夠使用在全部核心(例如8個核心)上運行的一個對稱多處理(SMP)操作系統(tǒng)(OS)實例102。由于控制面和數(shù)據(jù)面在一個OS實例下,通常需要保證有問題的數(shù)據(jù)面不再破壞控制面。這個實例中,多核處理器100服務于3個單元(在圖中顯示為104、106和108)。每個單元需要上行鏈路(UL)調(diào)度器(圖中顯示為110、112和114)和下行鏈路(DL)調(diào)度器(圖1中顯示為116、118和120)。已知使用無線電鏈路控制(RLC)層來分段、連接和修正跨LTE空中接口發(fā)送和接收的分組上的錯誤。在GPRS (2.5G)無線棧中使用無線電鏈路控制和媒體訪問控制(RLC/MAC)軟件。提供在移動站和基站控制器(BSC)之間確收和未確收的數(shù)據(jù)傳輸。因此,架構100還包括RLC/MAC框122,這是在移動站和網(wǎng)絡之間使用的空中接口上的基礎傳輸單元。RLC/MAC框122通常用于攜帶數(shù)據(jù)和RLC/MAC信令。多核處理器100還提供操作、運營和管理(0Α&Μ)模塊124和呼叫處理(或CALLP)模塊126。0Α&Μ通常用于描述電信網(wǎng)絡中操作、運營、管理和維護組件涉及的處理、行為、工具、標準等。CALLP模塊126典型地管理呼叫處理行為的非實時方面。此外,多核處理器100包括核心抽象層(CAL) 128,其通常針對層2 (L2)應用軟件隱藏核心特定的細節(jié)。層2是計算機網(wǎng)絡的七層開放系統(tǒng)互連(OSI)模型的數(shù)據(jù)鏈路層。數(shù)據(jù)鏈路層是在廣域網(wǎng)中的相鄰網(wǎng)絡節(jié)點之間或在相同局域網(wǎng)段上的節(jié)點之間傳輸數(shù)據(jù)的協(xié)議層。數(shù)據(jù)鏈路層提供在網(wǎng)絡實體之間傳輸數(shù)據(jù)的功能和過程裝置,并且可提供檢測并可修正可在物理層中發(fā)生的錯誤的裝置。數(shù)據(jù)鏈路協(xié)議的實例是局域網(wǎng)(多節(jié)點)、點到點協(xié)議(PPP)、用于點到點(雙節(jié)點)連接的HDLC和ADCCP的以太網(wǎng)。這個情況下,L2通常指的是對于LTE空中接口所需的L2調(diào)度器處理,這可具有非常密集的實時需求。為了滿足基站的實時性能需求(負責處理移動通信設備和網(wǎng)絡交換子系統(tǒng)之間的業(yè)務和信令),可使用例如具有PREEMPT RT補丁的SMPLinux的操作系統(tǒng)。當然,可理解,可使用其他操作系統(tǒng)。為了在這樣的SMP配置中實現(xiàn)確定性行為,優(yōu)選地,以采用核心保留和核心親和力結構以實現(xiàn)可與異步多處理(AMP)相比的系統(tǒng)行為的方式來實現(xiàn)該系統(tǒng)。這還期望從例如具有PREEMPT RT的SMP Linux得到最佳性能。無鎖零復制服務(例如緩沖器管理和消息服務)的使用也可有助于解決可通過具有PREEMPT RT操作系統(tǒng)的SMP Linux的使用引起的任意延遲問題。如圖1所示的核心抽象層(128)的主要功能之一是為高級應用(例如L2處理)提供利用多核平臺的全部功能的各種應用。因此,將核心抽象層設計為實現(xiàn)若干目的。首先,他支持BED(背板以太網(wǎng)驅動器)接口,這基于新的數(shù)據(jù)路徑加速架構(DPAA),同時對于更高級的應用軟件(即L2軟件)隱藏DPAA和多核特定的方案。(將DPAA設計為優(yōu)化多核網(wǎng)絡處理,例如資源的負載分布和共享,包括網(wǎng)絡接口和硬件加速器。)其次,他利用P4080的DPAA硬件組件,在入口和出口兩個方向為用戶面數(shù)據(jù)提供加速的數(shù)據(jù)路徑。第三,他提供盡可能多的靈活性,以容易地適應配置改變(即,不需要代碼改變)。CAL配置的實例是用于緩沖器池的DPAA資源配置、入口幀隊列、和出口幀隊列。通常已知可將例如Linux的操作系統(tǒng)中的系統(tǒng)存儲器分成兩個不同區(qū)域:內(nèi)核空間和用戶空間。內(nèi)核空間是內(nèi)核(即操作系統(tǒng)的核心)執(zhí)行(即運行)并提供其服務的空間。存儲器通常包括RAM (隨機存取存儲器)單元,其內(nèi)容可按極高的速度被訪問(即讀取和寫入),但是僅被臨時保存(即,在使用時或至多,在電源保持開啟時)。其目的在于當前使用中的程序和數(shù)據(jù)。
      用戶空間是用戶進程(即除了內(nèi)容之外的任何事務)在其中運行的存儲器位置的集合。進程是程序的執(zhí)行實例。內(nèi)核的角色之一是管理在這個空間內(nèi)的各個用戶進程,以及防止他們彼此干擾。內(nèi)核空間可僅通過系統(tǒng)調(diào)用的使用由用戶進程來訪問。系統(tǒng)調(diào)用是由活動進程發(fā)起的類似Unix的操作系統(tǒng)中的請求,用于內(nèi)核執(zhí)行的服務,例如輸入/輸出(I/O)或進程建立?;顒舆M程是當前在CPU中進展的進程,對立于在CPU中等待其下次運行的進程。I/O是向或從CPU以及向或從外圍設備(例如盤驅動器、鍵盤、鼠標和打印機)傳輸數(shù)據(jù)的任意程序、操作或設備。因此,內(nèi)核空間被嚴格地保留,用于運行內(nèi)核、內(nèi)核擴展、和大多數(shù)設備驅動器。相反,用戶空間是所有用戶模式應用工作的存儲器區(qū)域,并且這個存儲器可在必要時換出?,F(xiàn)在參照圖2,示出實現(xiàn)這些和其他目的的示例性架構200。由此,核心抽象層(CAL) 201在用戶空間中包括各個模塊,包括但不限于:核心抽象層初始化(CALInit)模塊202,其將LTE網(wǎng)絡配置和任意靜態(tài)解析、分類和分布(P⑶)規(guī)則加載至幀管理器(FMan)230和232,并基于配置文件的集合建立CAL框架;核心抽象層緩沖器(CALBuf)模塊204 ;核心抽象層消息(CALMsg)模塊206,其向L2軟件提供消息服務以向或從另一板(即eCCM)發(fā)送和接收用戶面數(shù)據(jù);核心抽象層解析、分類和分布(CALPcdFmc) 208,其提供由每個FMan(230,232)使用的P⑶規(guī)則和配置用于將入口幀路由至適當核心;和核心抽象層DPAA跟蹤(CALDpaaTrace)模塊210,其提供跟蹤功能用于在作為內(nèi)核空間模塊的核心抽象層的DPAA驅動器(CALDpaaDriver) 212中啟用和禁用跟蹤。架構200還包括適當?shù)牟僮飨到y(tǒng)214,例如具有PREEMPT RT補丁的SMP Linux。隨后,操作系統(tǒng)214支持各個驅動器,例如上述CALDPaa驅動器212、至少一個幀管理器(FMan)驅動器216、至少一個緩沖器管理器(BMan)驅動器218、和至少一個隊列管理器(QMan)驅動器 220。如圖2所示,架構200可適當?shù)匕≒4080CoreNet組織222,這是適合于可擴展片上網(wǎng)絡將多個功率架構處理核心連接至高速緩存、單機高速緩存和存儲器子系統(tǒng)的互連架構。P4080處理器包括DPAA的實現(xiàn)。因此,架構200還可包括P4080DPAA224。DPAA224被設計為優(yōu)化多核網(wǎng)絡處理,例如,資源的負載分布和共享,包括網(wǎng)絡接口和硬件加速器。如圖所示,DPAA224通常分別包括例如BMan226、QMan228、以及第一和第二 Fman230和232
      的各個管理器。已知,在無線多訪問通信系統(tǒng)中,發(fā)射器和接收器可使用多層通信棧通信。所述層可包括例如物理層、媒體訪問控制(MAC)層、無線電鏈路控制(RLC)層、協(xié)議層(例如分組數(shù)據(jù)會聚協(xié)議(PDCP)層)、應用層等。RLC層從HXP層接收服務數(shù)據(jù)單元(SDU),并連接或將SDU分段成RLC協(xié)議數(shù)據(jù)單元(PDU),用于向MAC層進行傳輸。由此,CALBuf模塊204促進用于RLC SDU處理中的對于L2應用的無鎖緩沖器管理服務。如本領域已知,無阻塞算法確保對于共享資源的線程競爭不會使得他們的執(zhí)行被互斥而無限期推遲。如果是有擔保的系統(tǒng)范圍的進程,則無阻塞算法是無鎖的(或免鎖的)。CALBuf模塊204還可支 持對于緩沖器池統(tǒng)計數(shù)據(jù)的查詢(例如,池消耗狀態(tài)、消耗計數(shù)、池可用性狀態(tài)、池分配錯誤計數(shù)等)。CALBuf模塊204通常與CALDpaaDriver212對接以實現(xiàn)這樣的服務。CALBuf模塊204還提供無鎖緩沖器管理方案,這對于多核環(huán)境中的適當系統(tǒng)操作是極端關鍵的,其中由非實時處理采用的鎖可針對等待該鎖的釋放的實時處理引起延遲問題。CALDpaaDriver212是CAL201的內(nèi)核空間組件,并使用Bman和Qman API幫助實現(xiàn)和提供緩沖器管理服務和消息服務。這里,術語API (或應用編程接口)指的是由軟件程序實現(xiàn)的接口,使其能夠與其他軟件交互。他促進不同軟件程序之間的交互,類似于用戶促進用戶和計算機之間的交互的方式。API通過應用、庫、和操作系統(tǒng)來實現(xiàn),以確定他們的詞匯和調(diào)用約定,并用來訪問他們的服務。可包括例程的規(guī)范、數(shù)據(jù)結構、對象類、和用來在消費者和API的實施者之間通信的協(xié)議。CALDpaaDriver212通常負責管理要使用的DPAA資源(緩沖器池和幀隊列)以用于用戶面數(shù)據(jù)分布;經(jīng)由各個文件操作(例如打開、關閉、1-o控制(ioctl))向其他CAL模塊提供用戶空間接口以用于初始化、緩沖器管理、和消息服務;執(zhí)行內(nèi)核到用戶空間(K-U)緩沖器映射;提供DPAA緩沖器池以及接收器和發(fā)射器統(tǒng)計數(shù)據(jù);以及實現(xiàn)用于管理環(huán)形緩沖器的服務。應注意,環(huán)形緩沖器通常表示CAL的L2軟件隊列,并且他們用來存儲指向特定L2下行鏈路調(diào)度器線程的幀描述符(FD)。CALMsg模塊206為L2提供API,以從環(huán)提取緩沖器描述符。以上描述的所有CAL組件通常為平臺中間件(運行于用戶空間中),除了CALDpaaDriver212。CALDpaaDriver212是在內(nèi)核空間中運行的定制驅動器,并且其被設計為實現(xiàn)和提供由CAL用戶空間中間件所需的服務一特別地,取決于P4080DPAA硬件組件的那些服務。CALBuf模塊204提供專用于“快速路徑”數(shù)據(jù)處理的緩沖器管理服務。CALBuf模塊204向L2應用提供用戶空間API。CALBuf模塊204與CALDpaaDriver212協(xié)作,為CALDpaaDriver212建立但由Bman226管理的緩沖器提供零復制和無鎖緩沖器管理服務。如上所述,為了 滿足基于多核處理器的調(diào)制解調(diào)器板的性能需求,無鎖緩沖器管理方案是重要的,其使用包括全部8個核心的一個分區(qū)并通過PREEMPT RT運行SMP Linux。沒有這樣的方案,系統(tǒng)可經(jīng)過無限的延遲尖峰,這可損壞整個系統(tǒng)?,F(xiàn)在,我們轉到調(diào)制解調(diào)器板上的一個單元在故障中或已經(jīng)故障的情形。關于示例性實施例,在故障中的單元和已故障的單元之間沒有區(qū)別。在任一個情況下,最終結果是釋放這樣的單元獲取的資源。由此,可實現(xiàn)單元恢復過程。對于單元恢復過程的一般需求之一是單元的恢復不應該影響在托管故障中的單元的相同調(diào)制解調(diào)器板上的其他單元的功能、行為和性能。此外,單元恢復不應該引入可嚴重影響在調(diào)制解調(diào)器板上的其他活動單元的不穩(wěn)定性或資源短缺?,F(xiàn)在轉到圖3,在流程圖中示出示例性單元恢復過程。以下闡述單元恢復過程的基本功能:.檢測源自故障中(或已故障)的單元的一個或多個缺陷,并向受影響的軟件組件發(fā)送適當消息(310);.釋放(或清除)與故障中的單元相關的資源(320);.收集與故障中的單元相關的事后分析數(shù)據(jù)(330);和.建立能夠托管新單元的執(zhí)行環(huán)境并向遠程控制器板上的0A&M-C通知可在調(diào)制解調(diào)器板上啟動新單元(340 )??衫斫?,示例性單元恢復過程通常不是獨立軟件組件。相反,單元恢復過程適當?shù)匕ńY合至與調(diào)制解調(diào)器板相關的許多其他軟件組件中的一組集成過程。單元恢復過程關于管理單元資源的所有軟件組件施加各種規(guī)則。具體地,調(diào)制解調(diào)器軟件組件應遵循各個共同的設計和編碼規(guī)則。首先,單元恢復過程應該能夠參與或檢測在他們負責下的任意其他軟件和/或硬件組件的故障??赏ㄟ^周期性提取狀態(tài)和統(tǒng)計來預見錯誤。同樣,單元恢復過程應在預定的時間段檢測故障(可使用軟件和硬件看門狗)。應監(jiān)視任意運行實體的健康。此外,為單元分配或激活系統(tǒng)資源的任意軟件組件必需為這些資源提供清除過程。適當?shù)兀軜?00還包括“啟動器”進程,這是發(fā)起所有軟件處理(包括層2調(diào)度器處理)的中間件組件。應注意,演進節(jié)點B CeNodeB)支持LTE空中接口并執(zhí)行與故障中/已故障的單元相關的無線電資源管理行為。由此,LTE eNodeB應用是一組協(xié)作進程。這些處理需要通過單獨的、可靠的進程來啟動和監(jiān)視。該監(jiān)管進程稱為啟動器。啟動器是單機的和數(shù)據(jù)驅動的,接收經(jīng)由一組配置文件開啟、監(jiān)視、和恢復應用進程所需的數(shù)據(jù)。啟動器通過Linux init進程(經(jīng)由開啟腳本)啟動,并隨后啟動構成應用的所有其他進程。通過設計,啟動器通常僅使用Linux服務。啟動器進程是所有應用進程的父進程。啟動器通常規(guī)則地“偵聽”與進程終止事件(包括層2進程終止)相關的信息。

      當與單元相關的層2進程的代碼故障時(S卩,不受代碼控制的層2進程的無意終止),在其終止之前仍舊存在進程的環(huán)境中發(fā)生的一些行為。Linux例如典型地在故障中的線程的環(huán)境中發(fā)起信號句柄,并退出由LEC (Linux錯誤收集器)和其他庫建立的句柄。注意,某些退出句柄登記于LEC并隨后在進程終止時被調(diào)用以收集信息。Linux使用信號句柄以發(fā)送信號通知。Linux透明地調(diào)用由故障中的進程打開的每個驅動器的“關閉”功能。具體地,他調(diào)用快速路徑驅動器CALDpaaDriver212。這是在內(nèi)核模式下清除單元相關資源的機會。如果在層2進程終止處被配置,則Linux生成核心轉儲。圖4示出進程終止階段的順序表。起初,操作系統(tǒng)102啟動(對于應用代碼透明地)錯誤收集器句柄,以收集用于錯誤收集快照的數(shù)據(jù)(410)。操作系統(tǒng)214隨后啟動(對于應用代碼透明地)代碼跟蹤句柄,以收集代碼跟蹤日志(420)。接著,操作系統(tǒng)214調(diào)用當前由故障中的進程打開的每個內(nèi)核驅動器模塊的“關閉”功能(430),以通過內(nèi)核驅動器模塊執(zhí)行為故障中的進程分配的任意資源清除。最后,操作系統(tǒng)214向“啟動器”通知關于終止進程(440)??蛇x地,啟動器還可接收終止事件,包括終止狀態(tài)。然后,啟動器為已故障的小區(qū)觸發(fā)系統(tǒng)范圍的通知和資源清除過程。多核處理器還支持“進程監(jiān)視器”,這也是中間件組件。進程監(jiān)視器使用“發(fā)布/定制”服務來發(fā)布被監(jiān)視的程序的狀態(tài)以及可用性。例如,可經(jīng)由Linux消息隊列將進程監(jiān)視器連接至啟動器。進程監(jiān)視器是啟動器進程的子進程。這里,術語“子進程”指的是由另一進程(父進程)建立的進程。每個進程可建立許多子進程,但是將僅具有一個父進程,除了第一進程,其不具有父進程。第一進程(在Linux中稱為init)通過內(nèi)核在引導時間開啟,并且從不終止。當啟動器接收到進程終止事件時(例如SIGCHLD Linux信號),他經(jīng)由消息隊列向進程監(jiān)視器發(fā)送該事件。這里,SIGCHLD指的是在子進程終止時向進程發(fā)送的信號。使用發(fā)布/定制過程,進程監(jiān)視器發(fā)布層2進程的終止狀態(tài),作為用于該進程的“狀態(tài)改變指示”。在其初始化時,在調(diào)制解調(diào)器板上的本地0Α&Μ模塊124定制如進程監(jiān)視器發(fā)布的層2進程“狀態(tài)改變指示”。為了定制,0Α&Μ模塊124應該知曉所有層2進程的身份,他們典型地為預定義的格式。當進程監(jiān)視器發(fā)布層2進程“狀態(tài)改變指示”時,由0Α&Μ模塊124接收終止信息。當0Α&Μ模塊124接收關于層2進程終止的指示時,從共享存儲器(優(yōu)選地通過內(nèi)核模塊實現(xiàn))提取關于故障(例如DSP軟件崩潰)的原因的信息。0Α&Μ模塊124向0A&M-C (運行于遠程控制器板上)發(fā)送消息,以盡快停止與已故障的單元相關的所有其他eNodeB 行為。如果在軟件組件的故障之后仍舊向故障中的組件分配這樣單元資源的所有權,則必需激活對應的清除過程以放棄所有權并釋放對應的單元相關資源。這個需求主要處理在內(nèi)核空間中代表請求的應用進程分配單元資源的P4080驅動器。在單元配置器件,在用戶空間中L2進程將自身登記于CALMsg模塊206。隨后,CALMsg模塊206經(jīng)由CALDpaaDriver212為請求的L2進程分配資源(內(nèi)核,硬件)。在調(diào)制解調(diào)器板上任意致命的和不可恢復的軟件或硬件故障對服務可用性有影響。如先前所述,調(diào)制解調(diào)器板通常包括由多個單元共享的許多資源。因此,示例性單元恢復過程的目的通常包括:關閉相關軟件和撤銷單元資源,而不影響運行中的單元;能夠再次開啟故障中的單元和優(yōu)化服務可用性;以及收集關于故障的足夠數(shù)據(jù)以用于事后分析診斷的目的。由于在單元恢復過程的范圍內(nèi)的軟件故障對應于與單元相關的整個軟件組件的失去,所以對應的電信環(huán)境不可通過單元恢復過程來恢復。單元恢復過程無法必然地避免對于故障中的單元的服務中斷,但是其主要目的為最小化這個中斷的持續(xù)事件和范圍。

      重要地是注意,涉及控制面進程或線程的任意崩潰仍舊典型地影響調(diào)制解調(diào)器板上配置的所有單元。因此,對于正常終止處理,通過操作者發(fā)出單元重啟命令,L2進程或線程應實現(xiàn)在終止自身之前執(zhí)行所有其單元資源的“清除”(或釋放)的邏輯。以若干方式管理為單元分配的P4080系統(tǒng)資源。例如,一些資源從系統(tǒng)范圍的共享池分配。當分配這樣的資源(即由單元擁有)時,他們無法被其他組件重用,直到他們被明確釋放。在擁有來自共享池的資源的軟件故障的情況下,平臺軟件必需代表所有者軟件清除這些資源。否則,對應的資源將永久失去。為了清除這些資源,平臺需要識別哪個單元擁有他們的方式。為此,來自共享池的每個個體資源具有指定資源的所有者的相關標簽。所有者軟件應在每次分配單元資源時和每次從共享池釋放時更新。“快速路徑”是用于描述與“正常路徑”相比具有通過程序的更短指令路徑長度的路徑的術語。對于有效的快速路徑,必需比正常路徑更有效地解決大多數(shù)發(fā)生的任務,使后者處理不常見的情況,個別情況,錯誤處理,和其他異常??焖俾窂绞莾?yōu)化的形式??焖俾窂津寗悠魇褂玫娜肟诰彌_器池是系統(tǒng)范圍共享資源的實例。他們專用于接收用戶面分組。應注意,從私有池分配一些其他資源。來自私有池的資源不必用持有資源的所有者來標記。這是因為,當分配這樣的資源時,隱含地知曉所有者。平臺軟件僅需要知曉單元的狀態(tài);即,單元是否資源繁忙或資源空閑。應注意,當設置執(zhí)行環(huán)境時建立單元資源,但是不必分配資源。當配置邏輯單元時作出分配??焖俾窂津寗悠魇褂玫某隹诰彌_器池是單元特定的私有資源的實例。他們專用于發(fā)送用戶面分組。應盡可能快地由單元恢復過程來釋放從共享池分配的和由故障中的單元擁有的資源。當層2進程意外終止時,可在以下兩個階段之一的期間完成其資源的清除,即(I)一旦操作系統(tǒng)檢測到進程的終止時,或(2)當作為單元初始化和/或配置的一部分產(chǎn)生層2調(diào)度器進程的新實例時之后。如果沒有特定問題,用于層2調(diào)度器進程的單元資源的清除應優(yōu)選地發(fā)生在對應的層2調(diào)度器進程終止之后??蔀榱酥辽僖韵略蚯宄龁卧Y源:(1)為剩余單元讓出空間以通過足夠的系統(tǒng)資源運行;和(2)如果建立單元的新實例則避免資源和存儲器的消耗。在單元的“壽命”的若干階段分配單元軟件資源。當配置單元時分配一些軟件資源。依據(jù)單元的行為,頻繁地分配和釋放一些其他資源。一個這樣的實例是通信緩沖器。該情況下,關于進入數(shù)據(jù)分組,內(nèi)核到用戶空間(K-U)映射緩沖器通過適當幀管理器獲得,并必需由故障中的單元的下行鏈路調(diào)度器釋放。在處理單元的軟件故障時,一些通信緩沖器仍舊被故障中的軟件組件擁有。一般地,所有單元特定的資源(例如,緩沖器、上下文、數(shù)據(jù)結構、中斷、線程、懸置DMA等)可受到單元故障影響。然而,管理資源的方式特定于應用架構,以及適當操作系統(tǒng)(例如Linux)的行為。例如,在用戶空間資源和內(nèi)核空間資源之間以及在資源的私有池和資源的共享池之間可存在區(qū)別。同樣地,在來自中央實體(例如CALLP模塊126或0Α&Μ模塊124)的分配相比于來自單元特定實體(例如層2調(diào)度器處理)的分配之間可存在區(qū)別。例如Linux的操 作系統(tǒng)的存儲器管理子系統(tǒng)管理若干虛擬存儲器尋址空間:一個地址空間用于每個進程,一個地址空間用于內(nèi)核。當進程終止時,操作系統(tǒng)自動釋放從進程地址空間分配的所有資源。隨后,不需要作為進程地址空間的一部分的資源的明確清除。應通過平臺軟件驅動器(例如CALDpaaDriver212 )清除代表故障中的單元從內(nèi)核地址空間分配的單元特定資源。應注意,進程的終止不自動從內(nèi)核模塊清除單元資源。這里使用的術語“清除”不僅表示內(nèi)核空間中的存儲器緩沖器,而且還表示許多其他內(nèi)核資源以及特定于單元的行為。以下描述這樣的內(nèi)核資源和行為的一些實例。通過實例,如果作為單元崩潰的結果刪除所管理的單元,則可需要禁用一些中斷。同樣,如果(例如作為單元崩潰的結果)刪除所管理的單元,則可需要禁用一些DMA傳輸。DMA代表直接存儲器訪問,并且可表示在計算系統(tǒng)中的設備或其他實體在不經(jīng)過CPU的情況下修改主存儲器內(nèi)容的能力。驅動器可使用內(nèi)核線程用于內(nèi)務管理、統(tǒng)計或其他周期行為。如果例如作為單元崩潰的結果刪除所管理的單元,則可禁用這些行為。根據(jù)快速路徑、DPAA和Linux需求定義的配置,首先將數(shù)據(jù)面中的入口數(shù)據(jù)流分派至對應P4080核心,然后分派至匹配于下行鏈路調(diào)度器線程的緩沖器描述符的正確的入口環(huán)。具體地,用于數(shù)據(jù)流的快速路徑和DPAA配置應至少滿足以下需求:1.在調(diào)制解調(diào)器板上定義單元的邏輯IP地址;2.與單元的邏輯IP地址相關的幀隊列應綁定至與托管單元的核心相關的QMan入口 ;和3.與單元相關的幀隊列的上下文應指向與目標單元相關的緩沖器描述符的入口環(huán)。關于單元恢復,應取消對于單元的入口數(shù)據(jù)流的先前配置。為了取消這個配置,應考慮若干行為。例如,當CALLP模塊126被調(diào)用并通知關于單元故障的信息,則應從調(diào)制解調(diào)器板去除單元的邏輯IP地址。此外,當通知“快速路徑” CALMsg模塊206關于層2調(diào)度器進程終止的信息時,可將入口幀隊列之間的映射從當前數(shù)據(jù)面核心改變回控制面核心。應注意,圖2的CALMsg模塊206包括各個API,包含登記和取消登記功能。由此,通常提供若干過程用于代表層2進程分配的單元資源,包括但不限于:(I )CALMsg登記功能(用于每個數(shù)據(jù)流類型:入口和出口);(2) CALMsg取消登記功能(用于每個數(shù)據(jù)流類型:入口和出口);和(3)驅動器“關閉”過程(其覆蓋所有數(shù)據(jù)流類型)。BED接口的CALMsg登記功能請求快速路徑內(nèi)核模塊為出口和入口數(shù)據(jù)流類型建立所需的資源。CALMsg登記功能還請求快速路徑內(nèi)核模塊從相同的層2調(diào)度器進程的先前實例清除剩余資源。層2調(diào)度器進程在從CALLP模塊126接收單元設置請求時調(diào)用BED接口的CALMsg登記功能。由層2調(diào)度器進程從私有出口緩沖器池分配的出口緩沖器是用于由層2進程的下一實例進行清除的可能候選。這些資源對應于出口數(shù)據(jù)流類型。推遲這些資源的清除的一個原因來自向適當幀管理器給出時間發(fā)送和釋放所有數(shù)據(jù)分組(已經(jīng)在其崩潰之前由L2上行鏈路調(diào)度器排隊)的需求。緩沖器管理器的出口緩沖器是私有緩沖器池的一部分,并且重設緩沖器池是相對簡單的操作。因此,當層2調(diào)度器進程接收單元設置消息且不必在建立層2調(diào)度器進程時時,進行重設緩沖器池。除了由BED接口部分指定的CAL API對應的切入點,例如CALDpaaDr i ver212的快速路徑驅動器必需提供“關閉”切入點。由應用調(diào)用的任意驅動器應提供“打開”和“關閉”切入點。不同于由CAL庫暴露的其他切入點,對于快速路徑模塊的“關閉”切入點不暴露于層2調(diào)度器應用。層2調(diào)度器應 用不應直接調(diào)用對于快速路徑驅動器的“關閉”功能。對于驅動器的“關閉”功能通常為用于任意驅動器的標準Linux功能。如果進程終止,則Linux尋找由終止的進程打開的所有驅動器并對于所有這些驅動器逐一“關閉”切入點?!瓣P閉”功能可確定調(diào)用L2調(diào)度器進程的PID (進程ID)以及被引用的核心數(shù)目。“關閉”功能可將請求方PID與對應的單元ID關聯(lián)?!瓣P閉”功能可清除由對應單元ID擁有的單元資源,例如緩沖器描述符的環(huán)。0Α&Μ模塊124可從FFS (閃存文件系統(tǒng))中的若干核心轉儲文件中確定哪個文件對應于從進程監(jiān)視器接收的終止狀態(tài)。這樣,他可管理用于核心轉儲的存儲空間以用于事后分析。事后分析數(shù)據(jù)通常包括核心轉儲和代碼跟蹤日志,其可用于單元崩潰的根原因分析。0Α&Μ模塊124嘗試確保完成所有需要的資源清除(例如引用CALBuf API以釋放故障中的單元使用中的獨立的入口數(shù)據(jù)緩沖器。設置執(zhí)行環(huán)境以能夠托管新單元,即,必需設置可在通過0A&M-C進行單元配置之前新單元需要的所有軟件和硬件資源。因此,在調(diào)制解調(diào)器板上的本地0Α&Μ模塊124向遠程主0A&M-C通知可在該板上再次配置新單元。重啟調(diào)制解調(diào)器板可需要幾分鐘并影響板托管的所有單元。成功的單元恢復僅需要幾秒并典型地僅影響故障中的單元。通常,收集用于事后分析的數(shù)據(jù)是單元恢復過程的最長步驟。這個步驟典型地不可縮短,因為數(shù)字信號處理器(DSP)無法在其存儲器轉儲期間重啟。其他單元恢復步驟的持續(xù)期間不必是關鍵性的,因為他們在TTI (傳輸時間間隔)標記(典型地小于I秒)中測量。對于專用于單元的軟件組件,存在實現(xiàn)單元恢復過程的各種可能。一個方式是僅停止故障中的軟件組件(與故障中的單元相關)并清除相關的資源和使得其他組件(與故障中的單元相關)回滾至初始狀態(tài)而不停止他們。因為故障可能性的較寬范圍和軟件組件之間的強相互依賴性,這個方案是復雜的并且并非沒有一絲風險的。優(yōu)選的方案可以是用“強力”停止組件,并隨后重啟與故障中的單元相關的所有參與的軟件組件,即使僅一個(懷疑)出現(xiàn)故障。本領域技術人員可容易理解,各個上述方法的步驟可通過編程計算機來執(zhí)行。這里,一些實施例還旨在覆蓋程序存儲設備,例如,機器或計算機可讀的數(shù)字數(shù)據(jù)存儲介質,以及編碼指令的機器可執(zhí)行或計算機可執(zhí)行程序,其中所述指令執(zhí)行以上所述方法的一些或所有步驟。程序存儲設備可以是例如數(shù)字存儲器、磁存儲介質(例如磁盤和磁帶)、硬盤驅動器、或可選地可讀數(shù)字數(shù)據(jù)存儲介質。實施例還旨在覆蓋被編程為執(zhí)行上述方法的所述步驟的計算機。以上描述僅提供本發(fā)明的特定實施例的公開,并非用于限制的目的。由此,本發(fā)明不僅限于上述實施例。相反,可認識到,本領域技術人員可設想到落入本發(fā)明范圍內(nèi)的備選實施例。 ·
      權利要求
      1.一種計算機實現(xiàn)的方法,在支持具有多核處理器的多單元配置的單個調(diào)制解調(diào)器板上提供單元恢復機制,該方法包括: 檢測源自故障中的單元的一個或多個缺陷; 向一個或多個軟件組件通知單元在故障中; 釋放與故障中的單元相關的資源; 收集事后分析數(shù)據(jù); 設置用于托管新單元的執(zhí)行環(huán)境;和 向遠程控制器板上的操作、運營、和管理(OA&M)實體告知在調(diào)制解調(diào)器板上能啟動新單元。
      2.如權利要求1所述的方法,還包括:通過以下步驟終止故障中的進程: 啟動多個錯誤收集器句柄,以收集用于錯誤收集快照的數(shù)據(jù); 啟動多個代碼跟蹤句柄,以收集多個代碼跟蹤日志; 關閉當前由故障中的進程打開的每個內(nèi)核驅動器模塊;和 向啟動器進程通知關于故障中的進程的終止。
      3.如權利要求1所述的方法,其中被通知單元在故障中的軟件組件包括調(diào)制解調(diào)器板上的OA&M實體和調(diào)制解調(diào)器板上的調(diào)用處理模塊的至少一個。
      4.如權利要求1 所述的方法,其中調(diào)制解調(diào)器板上的OA&M實體通過引用緩沖器應用來釋放資源,以釋放由故障中的單元使用中的獨立的入口數(shù)據(jù)緩沖器。
      5.如權利要求1所述的方法,還包括:停止全部軟件組件并隨后重啟與故障中的單元相關的全部軟件組件。
      6.一種系統(tǒng),用于在支持使用多核處理器的多單元配置的單個調(diào)制解調(diào)器板上提供單元恢復,該系統(tǒng)包括: 調(diào)制解調(diào)器板;和 多核處理器,包括連接至調(diào)制解調(diào)器板的多個處理器核心,其中所述多核處理器包括配置為至少執(zhí)行以下功能的單元恢復機制: 檢測源自故障中的單元的一個或多個缺陷; 向一個或多個軟件組件通知單元在故障中; 釋放與故障中的單元相關的資源; 收集事后分析數(shù)據(jù); 設置用于托管新單元的執(zhí)行環(huán)境;和 向遠程控制器板上的操作、運營、和管理(OA&M)實體告知在調(diào)制解調(diào)器板上能啟動新單元。
      7.如權利要求6所述的系統(tǒng),其中單元恢復機制還配置為通過以下步驟終止故障中的進程: 啟動多個錯誤收集器句柄,以收集用于錯誤收集快照的數(shù)據(jù); 啟動多個代碼跟蹤句柄,以收集多個代碼跟蹤日志; 關閉當前由故障中的進程打開的每個內(nèi)核驅動器模塊;和 向啟動器進程通知關于故障中的進程的終止。
      8.如權利要求6所述的系統(tǒng),其中被通知單元在故障中的軟件組件包括調(diào)制解調(diào)器板上的OA&M實體和調(diào)制解調(diào)器板上的調(diào)用處理模塊的至少一個。
      9.如權利要求6所述的系統(tǒng),其中單元恢復機制還配置為通過引用緩沖器應用來釋放資源,以釋放由故障中的單元使用中的獨立的入口數(shù)據(jù)緩沖器。
      10.如權利要求6所述的系統(tǒng),其中單元恢復機制還配置為停止全部軟件組件并隨后重啟與故障中的單元 相關的全部軟件組件。
      全文摘要
      公開一種方法和系統(tǒng),幫助確保將任意單元崩潰(即作為軟件錯誤或故障的結果發(fā)生的意外行為)局部化至支持多單元配置的單個調(diào)制解調(diào)器板上的單個單元。由此,控制面和在調(diào)制解調(diào)器板上配置的剩余單元應保持可操作。此外,操作者應能夠在不影響其他配置的單元的操作的情況下選擇對于調(diào)制解調(diào)器板上的單元采用正確的行為(即重啟、重新配置、刪除、或建立)。
      文檔編號H04W24/04GK103229535SQ201180055718
      公開日2013年7月31日 申請日期2011年11月1日 優(yōu)先權日2010年11月19日
      發(fā)明者M·R·加沃爾, M·阿布里斯 申請人:阿爾卡特朗訊公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1