TWI451339B - 通信網路應用之無鎖及零拷貝發訊方法與設備 - Google Patents

通信網路應用之無鎖及零拷貝發訊方法與設備 Download PDF

Info

Publication number
TWI451339B
TWI451339B TW100140512A TW100140512A TWI451339B TW I451339 B TWI451339 B TW I451339B TW 100140512 A TW100140512 A TW 100140512A TW 100140512 A TW100140512 A TW 100140512A TW I451339 B TWI451339 B TW I451339B
Authority
TW
Taiwan
Prior art keywords
buffer
core
data
user space
space
Prior art date
Application number
TW100140512A
Other languages
English (en)
Other versions
TW201237762A (en
Inventor
Mohammad R Khawer
Lina So
Original Assignee
Alcatel Lucent
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alcatel Lucent filed Critical Alcatel Lucent
Publication of TW201237762A publication Critical patent/TW201237762A/zh
Application granted granted Critical
Publication of TWI451339B publication Critical patent/TWI451339B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9031Wraparound memory, e.g. overrun or underrun detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

通信網路應用之無鎖及零拷貝發訊方法與設備
本發明之示範實施例關於針對使用多核心處理器之單一數據機板上多細胞支援的零拷貝、無鎖、及非阻塞發訊方案。雖然本發明特別指向無線通信之技藝,並因而將特定參照而予說明,將理解的是本發明可在其他領域及應用中有所用處。
藉由背景,長期演進(LTE)為快速演進3GPP計畫,其旨在提昇UMTS(通用行動通信系統)行動電話標準以配合未來通訊網路需要。LTE提昇無線網路效率及帶寬,降低成本及增強服務經歷。具體地,LTE使用新頻譜機會及提供與其他開放標準的更佳整合。LTE通常包括無線電存取網路(LTE RAN)(亦已知為E-UTRAN)連同進化封包系統(EPS,亦稱為進化封包核心)。
通訊系統通常分成二主要功能:資料平面功能及控制平面功能。在先前LTE產品中,至少二處理器用於數據機板上:其中之一支援控制平面功能(非即時,例如作業、行政、及管理(或OA&M),及相關功能之呼叫處理管理),及另一者終止及支援資料平面功能(即時,例如LTE層2處理)。控制及資料平面二者使用不同作業系統(OS)實例,諸如控制平面之Linux及資料平面核心之諸如vXWorks(藉由美國加州Alameda之Wind River系統製造及銷售)之即時OS。典型地,一數據機板支援一扇區或細胞。所以為支援多細胞(例如,3細胞或6細胞)組態,將需提供與細胞數量相同之許多數據機板。
多核心處理器可用於數據機板上之LTE無線基地台中。諸如具PREEMPT_RT修補之SMP Linux之作業系統可於包含所有八核心之一SMP分區上運行。在此組態中,即使需於不同核心上運行,控制平面(非即時線程/程序)及資料平面(即時線程/程序)共用相同作業系統實例。使用Linux協定堆疊而從即時程序/線程發送/接收TCP/UDP封包,諸如於資料平面核心上運行之LTE L2排程器,可導致可停止運轉LTE L2排程器之處理之無限延遲尖峰。這是因為Linux協定堆疊未設計為無鎖之事實,且由於其亦藉由非即時程序/線程使用,諸如OAM及於控制平面核心上運行之CALLP。
在SMP環境中,藉由於一核心上(諸如於控制平面上所發現)之非即時程序或線程採取之鎖可造成等候將於不同核心上(諸如於資料平面上所發現)釋放之鎖的即時線程或程序之延遲尖峰。因而,需要無鎖、零拷貝、非阻塞發訊方案,其未使用資料平面核心上快速資料路徑之Linux協定堆疊,以符合使用一分區之以多核心處理器為主之數據機板的性能需求。無該等方案,系統可歷經停止整個系統運轉之無限延遲尖峰,尤其相對於LTE L2排程器之處理。
在示範實施例之一方面中,提供多核心處理器中用於無鎖、零資料拷貝發訊的電腦實施之方法。該方法包括針對每一複數處理核心:獲得核心至使用者空間(K-U)映射緩衝器及相應緩衝器描述符;將資料封包插入該緩衝器;以及將該緩衝器描述符插入圓形緩衝器。
在另一方面中,提供一種用於提供於使用者空間程序與核心空間程序之間針對緩衝器無鎖、零拷貝存取之設備。該設備包括:數據機板;以及具有連接到該數據機板之複數處理器核心的多核心處理器。該數據機板包含核心空間及使用者空間;以及用於每一處理器核心之圓形緩衝器,經調適以將核心空間儲存至使用者空間(K-U)映射緩衝器描述符。
在再另一方面中,提供非暫時電腦可使用資料載體,其儲存指令使電腦針對每一複數處理核心獲得圓形緩衝器而儲存緩衝器描述符。儲存於圓形緩衝器中之緩衝器描述符包含有關相對於使用者空間(K-U)映射之核心空間的緩衝器之資訊。指令亦使電腦使用結合一或更多硬體組件之一或更多核心空間線程來執行下列作業:於乙太網路介面接收資料封包;獲得K-U映射緩衝器及相應指標;將接收之資料封包插入K-U映射緩衝器;使包含K-U映射緩衝器指標之訊框描述符,其中K-U映射緩衝器指標包含資料封包,於訊框佇列中排列;以及在資料封包抵達訊框佇列前方之後,產生中斷信號,其調用從訊框描述符產生緩衝器描述符之程序。與資料封包相關之緩衝器描述符接著插入按照相對於圓形緩衝器映射之訊框佇列而指明之圓形緩衝器。
從以下提供之詳細說明,本示範實施例之可應用性的進一步範圍將變得顯而易見。然而,應理解的是由於本發明之精神及範圍內各種改變及修改對於熟悉本技藝之人士將變得顯而易見,僅藉由描繪而提供詳細說明及特定範例,同時指出本發明之較佳實施例。
現在參照圖式,其中,顯示僅為描繪示範實施例之目的,並非為侷限主張之主題之目的,圖1提供目前說明之實施例可併入之系統的檢視。
現在參照圖1,顯示示範平台架構100。此架構通常用於數據機板上,但將理解的是其可用於其他應用。在此實施例中,一分區係以其中所有八核心予以定義。然而,將理解的是多核心處理器100可具有任何數量之核心。基此實施例,因而可使用單一對稱多重處理(SMP)作業系統(OS)實例102,其可於所有核心(例如八核心)上運行。由於控制及資料平面係在一OS實例下,通常需關切資料平面之問題以確保將不減低控制平面。
在此範例中,多核心處理器100服務三細胞(圖中顯示為104、106、及108)。每一細胞需要上鏈(UL)排程器(圖中顯示為110、112、及114),及下鏈(DL)排程器(圖1中顯示為116、118、及120)。
已知無線電鏈路控制(RLC)層用於分割、連結及修正跨越LTE空氣介面而發送及接收之封包訊框上錯誤。無線電鏈路控制及媒體存取控制(RLC/MAC)軟體係用於GPRS(2.5G)無線堆疊中。其提供行動站與基地台控制器(BSC)之間確認及未確認資料轉移。因而,亦包括RLC/MAC方塊122,其為用於行動電話與網路之間之空氣介面上基本傳輸單元。使用RLC/MAC方塊122以攜帶資料及RLC/MAC信令。
多核心處理器100亦提供作業、行政、及管理(OA&M)124及CALLP模組126,其提供非即時呼叫管理相關服務。
此外,多核心處理器100包括核心抽象化層(CAL)128,其隱藏來自層2(L2)應用軟體之核心特定細節。層2為電腦網路連結之七層OSI模型的資料鏈路層。資料鏈路層為協定層,其於廣域網路中鄰近網路節點之間或相同局域網路分割上節點之間轉移資料。資料鏈路層提供功能及程序裝置以於網路實體之間轉移資料,並可提供裝置以檢測及可能地修正實體層中發生之錯誤。資料鏈路協定之範例為局域網路之乙太網路(多節點)、點對點協定(PPP)、點對點(雙節點)連接之HDLC及ADCCP。在此狀況下,L2通常係指LTE空氣介面所需L2排程器處理,其具有極密集即時需求。
為符合基地台之即時性能需要,其負責處理行動通訊裝置與網路交換子系統之間之報文及信令,可使用諸如具PREEMPT_RT修補之SMP Linux的OS。當然,將理解的是可使用其他作業系統。由於vXWorks具有極高的使用授權費用,於諸如vXWorks之硬核心即時OS上選擇諸如具Preempt_RT之SMP Linux的開放原始碼OS。為達成該SMP組態之確定性行為,較佳地以使用核心保留及核心親和力結構之方式實施系統以達成AMP型系統行為。此亦希望獲得例如具PREEMPT_RT OS之SMP Linux的最佳性能。使用無鎖零拷貝服務,諸如緩衝器管理,且發訊服務亦可協助處理藉由使用具PREEMPT_RT OS之SMP Linux而提出之任何潛伏問題。
如圖1中所示核心抽象化層(128)之主要功能之一為提供高層次應用,諸如使用多核心平台之全能力的具各種服務之L2處理。因而設計核心抽象化層以達成許多目標。第一,將支援BED(底板乙太網路驅動程式)以DPAA為主介面,同時隱藏來自高階應用軟體(即L2軟體)之DPAA及多核心特定實施。第二,將使用P4080之DPAA硬體組件以提供以進入及外出方向之使用者平面資料的加速資料路徑。第三,將提供盡可能彈性以易於調適組態改變(即不需要碼改變)。CAL組態之範例為緩衝池、進入訊框佇列、及外出訊框佇列之DPAA資源組態。
總括起來,本發明之實施使用一分區中所有處理器核心。此將需要僅使用一OS實例,且不需使用超管理器。由於對於簡單Linux而言滿足所有硬即時處理需要是困難的,諸如具PREEMPT_RT修補之SMP Linux的OS較佳。開放原始碼OS亦用於減少成本。系統進一步合併SMP Linux之核心親和力及CPU保留能力以定義SMP組態內AMP型系統行為,其允許6細胞或甚至9細胞組態。因為OS實例係於非即時核心(諸如控制平面)與即時核心(諸如資料平面)之間共用,當非即時線程/程序採取鎖時,由於即時線程/程序必須等候資料平面核心之鎖的釋放,造成即時線程/程序之延遲而產生問題。由於標準Linux協定堆疊未保證無鎖實施,本發明定義於資料平面核心上運行之即時程序(LTE L2排程器)的無鎖發訊方案,以發送/接收TCP/UDP IP封包同時避免使用協定堆疊。諸如於控制平面核心上運行之OA&M的非即時程序將持續將Linux協定堆疊用於其正常作業。因Linux GPL問題,吾人所有權LTE L2排程器係於使用者空間中操作。所以為從LTE L2排程器發送及接收TCP/UDP IP資料,資料必須交叉使用者核心空間邊界,其典型地需要資料拷貝。因而,消耗處理器電力以從一記憶體位置拷貝資料至另一浪費寶貴資源。因此,希望提供方法及系統,其允許針對於資料平面核心上運行之即時線程/程序之有效率的無鎖、零拷貝及非阻塞發訊服務,同時允許控制平面以其正常方式操作(諸如藉由使用傳統Linux協定堆疊)。
現在參照圖2,顯示示範架構200,其達成該些及其他目標。已知習知電腦作業系統通常將虛擬記憶體隔離為核心空間及使用者空間。嚴格地保留核心空間用於運行核心、核心擴充、及大部分裝置驅動程式。相比之下,使用者空間為記憶體區域,其中所有使用者模式應用工作,且當需要時可更換此記憶體。在這方面,核心抽象化層(CAL)201包括使用者空間中各種模組,包括但不侷限於:核心抽象化層初始化(CALInit)模組202,其將LTE網路組態及任何靜態PCD規則載入至訊框管理器(FMAN)230及232,並依據一組組態檔案建立CAL訊框工作;核心抽象化層緩衝器(CALBuf)模組204;核心抽象化層發訊(CALMsg)模組206,其提供發訊服務至L2軟體以發送及接收使用者平面資料至/自另一板(即eCCM)而未使用Linux協定堆疊;核心抽象化層解析、分類及散發(CALPcdFmc)模組208,其提供解析、分類及散發(PDC)規則及將藉由每一FMAN(230,232)使用之組態,以確定進入訊框至適當核心之路線;以及核心抽象化層DPAA追蹤(CALDpaaTrace)模組210,其提供追蹤能力以啟動及停用核心抽象化層DPAA驅動程式(CALDPAADriver)212中追蹤,CALDPAADriver 212為核心空間模組。
架構200進一步包括適當作業系統214,諸如具Preempt RT修補之SMP Linux。作業系統214反過來支援各種驅動程式,諸如上述CALDPAADriver 212、至少一訊框管理器(FMAN)驅動程式216、至少一緩衝器管理器(BMAN)驅動程式218、及至少一佇列管理器(QMAN)驅動程式220。
如圖2中所示,架構200可適當地包括P4080 CoreNet結構222,此為適於可擴展性晶片上網路,其為連接多重電力架構處理核心與高速緩衝記憶體、單獨高速緩衝記憶體及記憶體子系統之互連架構。
P4080處理器包括新資料路徑加速架構(DPAA)之實施。因而,架構200可進一步包括P4080 DPAA 224。DPAA 224經設計以使多核心網路處理最佳化,諸如負載延展及資源共用,包括網路介面及硬體加速器。如同顯示,DPAA 224通常分別包括各種管理器諸如BMAN 226、QMAN 228、及第一及第二FMAN 230及232。
CALInit模組202典型地將LTE網路組態及任何靜態PCD規則載入至訊框管理器230及232,並依據一組組態檔案而建立CAL訊框工作。CALInit模組202與FMC(FMan組態工具)(未顯示)或任何數量FMan API(未顯示)連接,以組配FManPCD,且CALDPAADriver 212載入及建立CAL組態(例如使用者平面DPA資源)。
CALPcdFmc模組208提供解析、分類及散發(PDC)規則及將藉由每一FMan(230、232)使用之組態,以確定進入訊框至適當核心之路線。
CALInit模組202負責提供各種功能性。對啟動之主要核心而言,CALInit模組202建立CAL訊框工作以支援「快速路徑」處理。此步驟可包括初始化CALDPAADriver 212,其反過來將(a)產生處理使用者平面資料(例如,緩衝池、訊框佇列(FQ))所需各種DPAA資源及(b)產生經由DPAA而支援緩衝器管理及發訊服務所需之CAL基礎設施(例如,維持緩衝池組態之內部表、FQ、及進入FQ與DL排程器IP位址之間之結合等)。CALInit模組202亦載入LTE FMC之(靜態)PCD規則及網路組態。
已知在無線多重存取通訊系統中,發射機及接收機可使用多層通訊堆疊通訊。該些層可包括例如:實體層、媒體存取控制(MAC)層、無線電鏈路控制(RLC)層、協定層(例如封包資料收斂協定(PDCP)層)、應用層等。RLC層從PDCP層接收服務資料單元(SDU),及連結或分割SDU為RLC協定資料單元(PDU)以傳輸至MAC層。
因此,CALBuf模組204促進L2應用之無鎖緩衝器管理服務,以用於RLC SDU處理。如本技藝中已知,非阻塞演算法確保競爭共用資源之線程並未藉由相互排斥而不確定地推遲執行。若保證全系統進展,非阻塞演算法為無鎖。CALBuf模組204亦支援詢問緩衝池統計資料(例如,池枯竭狀態、枯竭計數、池可用性狀態、池配置錯誤計數等)。CALBuf模組204與CALDPAADriver 212連接以實施服務。CALBuf模組204提供無鎖緩衝器管理方案,其對於多核心環境中適當系統作業極為關鍵,其中藉由非即時程序採取之鎖可造成等候鎖釋放之即時程序的潛伏問題。
CALDPAADriver 212為CAL 201之核心空間組件,並使用BMAN及QMAN API協助實施及提供緩衝器管理服務及發訊服務。如本文中所使用,用詞API(或應用編程介面)係指藉由軟體程式實施之介面,使其可與其他軟體互動。類似於使用者介面促進使用者與電腦之間互動之方式,其促進不同軟體程式之間之互動。API係藉由應用程式、程式館、及作業系統實施以決定其詞彙及呼叫約定,並用於存取其服務。其可包括常規規格、資料結構、物件種類、及用於API之消費者與實施者之間通訊之協定。
CALDPAADriver 212負責管理將用於使用者平面資料散發之DPAA資源(緩衝池及訊框佇列);經由諸如開放、釋放、初始化之輸入輸出控制(ioctl)、緩衝器管理、及發訊服務之各種檔案作業而提供使用者空間介面至其他CAL模組;執行核心對使用者空間(K-U)緩衝器映射;提供DPAA緩衝池及接收機及發射機統計資料;及實施管理環緩衝器之服務。應注意的是環緩衝器代表CAL之L2軟體佇列,且其通常用於儲存預定用於特定L2 DLT之FD。CALMsg模組206提供L2之API以從環擷取緩衝器描述符。
除了CALDPAADriver 212以外,以上所說明之所有CAL組件為一般平台中間軟體(於使用者空間中運行)。CALDPAADriver 212為於核心空間運行之訂做驅動程式,其經設計而實施及提供CAL使用者空間中間軟體所需服務,尤其是取決於P4080 DPAA硬體組件之該些服務。
CALBuf模組204提供將專用於「快速路徑」資料處理之緩衝器管理服務。CALBuf模組204提供使用者空間API至L2應用。CALBuf模組204與CALDPAADriver 212合作以針對CALDPAADriver 212產生但由BMAN 226管理之緩衝器提供零拷貝及無鎖緩衝器管理服務。
CALMsg模組206提供服務以經由DPAA接收(進入)RLC SDU及發送(外出)RLC SDU。CALMsg模組206亦支援針對Tx/Rx乙太網路介面統計資料之詢問(例如,接收或發送之FD數量、丟失之FD數量、不良FD之各種類型等)。CALMsg模組206與CALDPAADriver 212連接以實施服務。CALMsg模組206提供零拷貝無鎖發訊服務至LTE L2應用以發送或接收TCP/UDP IP封包而未使用協定堆疊。此確保應用軟體未遭遇可停止運轉LTE系統之適當系統行為的無界延遲尖峰,其具有極嚴格即時處理需求。
CALMsg模組206提供發訊服務至L2軟體,以發送及接收使用者平面資料至/自另一板(即eCCM)。CALMsg模組206通常與CALDPAADriver 212連接,以經由DPAA提供無鎖零拷貝發訊服務。此特徵允許L2應用軟體以發送及接收TCP/UDP IP封包而未使用協定堆疊以避免無界潛伏延遲。
CALMsg模組206實施及提供API,其支援各種服務,諸如下列各段所說明者。
一種可能服務為具CALMsg服務之(L2)應用實體的註冊,藉此實體可經由「快速路徑」而接收匯入封包。在此註冊程序期間,產生CAL之L2軟體佇列(即緩衝器描述符環,或換言之,用於緩衝器描述符之圓形緩衝器)以維持預定用於實體之所接收之緩衝器描述符。亦於此註冊期間,CALMsg模組206產生至IP位址之進入FQ與之後用於其他處理(例如,當訊框抵達FQ時決定哪一緩衝器描述符環來推動緩衝器描述符)中參考之緩衝器描述符ID環之間之結合。CALMsg模組206亦執行相關緩衝器描述符環之核心至使用者空間映射,(若尚未經由靜態規則而實施)並組配用於應用實體之PCD規則。此外,在註冊程序展開時,CAL 201實施防衛策略以確保當線程崩潰時藉由適當釋放之應用而獲得之所有緩衝器。
藉由CALMsg模組206提供之第二服務擷取預定用於應用實體之訊框。返回之緩衝器位址指向以乙太網路標頭開始之酬載的開始。
藉由CALMsg模組206提供之第三服務經由組配用於處理使用者平面資料(例如eth0)之乙太網路介面上DPAA而發送信息至外部實體。預期L2填充所需所有標頭(乙太網路、IP、UDP);且硬體適當組配以產生及填充IP核對和及UDP核對和。
第四服務詢問用於接收機及發射機埠之統計資料。
第五服務為從CALMsg模組206註銷應用實體。一旦應用實體被註銷,將無法經由「快速路徑」而接收封包。有關部分註銷程序,CAL將釋放藉由應用軟體獲得之所有緩衝器。對於CALMsg模組206用於經由快速路徑而接收訊框之狀況而言,亦將移除相關緩衝器描述符環及PCD規則。
參照圖3,顯示經調適以提供資料封包之進入資料流的示範以底板乙太網路驅動程式(BED)DPA為主之系統300的高層次概觀。圖3之左側描繪預定前往使用傳統協定堆疊之控制平面核心X之封包所採取之路徑。圖之右側描繪針對LTE L2排程器運行之資料平面核心Y的封包遍歷。
為予描繪,LTE L2排程器包含二即時線程。二線程包括於圖3中顯示為DL排程器324之DL排程器,其針對進入封包流開始動作,且顯示為UL排程器之上鏈排程器針對外出封包流開始動作。
從硬體透視,每一核心具有軟體入口316。每一入口具有指明之通道數量。每一通道具有八個優先性為主之工作佇列(WQ),其包含複數訊框佇列(FQ)。
在高層次,當FMAN 302接收資料封包304時,從BMAN 226獲得適當尺寸核心使用者空間映射緩衝器,並將接收之封包拷貝至緩衝器,FMAN 302(根據PCD規則)決定哪一進入FQ 306以使封包排列,並使用QMAN API 308而使資料封包304排列於適當FQ 306上。當資料封包304直至硬體暫存器DQRR 328時,針對指明之核心(諸如核心Y 312)產生入口中斷。換言之,QMAN針對各種通道而處理所有FQ。WQ實施服務品質(QoS)。所以一旦每一抵達之封包排列於FQ上使經過內部硬體而排列於QMAN內。在佇列前並備妥處理之FQ藉由QMAN而置入DQRR暫存器。DQRR暫存器具有15條目之深度。有關藉由中斷服務常式(ISR)中註冊回撥功能330服務之每一條目(其為包含有關FQ之資訊的訊框佇列描述符,諸如至封包緩衝器之指標、相關回撥功能等),QMAN 308自動將下一FQ描述符排列於DQRR上。
註冊回撥功能「UplaneDispatcher」330為FQ 306之CALDPAADriver 314的一部分,接著於核心空間中運行並執行適當封包處理。每一DL排程器實例之緩衝器描述符環320具有環ID。緩衝器描述符環320亦為相對於使用者空間(K-U)映射之核心而允許使用者空間(諸如CALMSG 326)及CAL 128之核心空間(諸如CALDPAADriver 314)組件存取而無任何處理問題,及資料拷貝需要。在細胞初始化期間,CALMSG 326提供服務至使用者應用DL排程器324,而以CALMSG 326註冊本身。在映射時,亦產生進入FQ 306與環ID 320之間之結合。回撥功能330決定此特定訊框佇列描述符係屬於哪一環ID 320,並藉由拷貝核心使用者空間映射緩衝器指標(連同任何簿記資訊)及使緩衝器描述符排列於緩衝器描述符320之適當核心使用者空間映射環上,於特定資料平面核心Y 312上藉由相關使用者空間DL排程器線程324進行之後處理,而產生緩衝器描述符。
DL排程器線程324係以無限「從運行至完成」模式於使用者空間中運行。即時線程喚起每一時差(Delta T)時間,並調用CALMSG 326 API詢問是否有封包針對其於緩衝器描述符環320上消耗而排列。若存在,DL排程器324便處理(或消耗)環320上封包。由於接收之封包未通過標準協定堆疊,其包含整個封包標頭(TCP/UDP/IP/乙太網路)。DL排程器324忽略封包標頭,並於封包酬載上操作。當操作時,釋放使用CALBUF 204 API之緩衝器。一旦無更多封包供DL排程器324處理,DL排程器線程324便返回至睡眠。由於針對每一緩衝器描述符環320僅存在一生產者(CALDPAADriver 314)及一消費者(特定DL排程器線程324),此方案可以不需要任何軟體鎖之自動作業實施。進一步優點係藉由使用從核心至使用者空間之緩衝器映射連同諸如緩衝器描述符環320之緩衝器描述符環而予達成。核心至使用者空間映射緩衝器消除任何資料拷貝需要,因為封包將於使用者空間中從核心空間裝置驅動程式遍歷至其最終目的地。
在示範實施例中,控制平面報文及資料平面報文彼此隔離並指向不同乙太網路介面。FMAN 302可支援多重乙太網路介面。Linux協定堆疊連接至控制平面核心X332並於其上運行。CAL PCD模組建立靜態PCD規則,其允許FMAN 302使抵達控制平面乙太網路介面之所有封包304排列至將藉由FSL DPA驅動程式336於核心空間中運行而處理之訊框佇列(FQ)334。驅動程式336將封包移交至Linux協定堆疊338。因為封包越過核心空間至使用者空間邊界,亦包括資料拷貝。此係顯示於圖3左側。
圖4中描繪相對於資料平面核心之匯入資料封包之程序流程的高層次視圖。圖4之方法可藉由圖3中所描繪之設備實施。
在步驟410,DL排程器324以CALMSG 326註冊其本身。系統亦產生緩衝器描述符環320,其為核心對使用者空間(K-U)映射,以允許核心空間實體(諸如CALDPAADriver 314)及使用者空間實體(諸如CALMSG 326)二者存取該環。此步驟可藉由CALMSG 326結合CALDPAADriver模組314針對數據機板上每一配置之細胞而予執行。因此,若數據機板上支援三細胞,那麼便存在三個不同緩衝器描述符環320(每一細胞一個),且CALDPAADriver 314將具有進入FQ 306相對於特定緩衝器描述符環320之間之映射。在示範實施例中,存在針對每一DL排程器實例324之一緩衝器描述符環320。緩衝器描述符環具有讀取指標及寫入指標。由於僅存在一生產者(諸如核心空間中CALDPAADriver 314之UplaneDispatcher 330)及一消費者(諸如使用者空間中特定DL排程器324),緩衝器描述符環320係以無鎖方式使用自動作業實施。
在步驟420,專用資料平面乙太網路介面接收資料封包304。
在步驟430,FMAN 302從BMAN(圖2,226)獲得核心對使用者空間映射緩衝器/標記。
在步驟440,FMAN 302將接收之資料封包304插入獲得之緩衝器。
在步驟450,按照CAL模組(CALMSG 206)於細胞初始化期間建立之動態PCD規則(提供IP位址與進入FQ 306之間之映射),FMAN 302基於來自QMAN 308之協助,使封包排列於適當FQ 306上。
在步驟460,當封包於硬體DQRR暫存器328上穿行時,系統經由P4080多核心處理器而針對核心Y 312(資料平面核心)產生軟體入口316之中斷。針對指明之FQ之註冊回撥的回撥功能(在此狀況下為UplaneDispatcher 330)將運行如核心空間中ISR常式以處理封包。本質上,回撥功能從處理之DQRR條目的訊框佇列描述符(FD)中所包含之資訊產生緩衝器描述符。來自FD之緩衝器指標連同若干額外簿記資訊被拷貝於緩衝器描述符中。
在步驟470,CALDPAADriver 314使從步驟460產生之緩衝器描述符排列於與核心Y 312相關之緩衝器描述符環320中。
步驟410至470係藉由硬體(FMAN及QMAN)結合CALDPAADriver 314之核心線程(例如UplaneDispatcher 330)予以執行。在示範實施例中,步驟480至495係於與步驟410至470所執行之程序或線程無關之程序或線程予以執行。以此方式,步驟480-495係藉由資料平面核心Y 312上諸如DL排程器324之使用者空間線程予以執行。
與步驟410至470同時期,DL排程器324係以無限從運行至完成模式運行,並以TTI(時間至中斷)間隔喚起。在步驟480,一旦被喚醒,DL排程器324便調用CALMSG API 326詢問供消耗之緩衝器描述符環320上是否有任何未處理之封包。若緩衝器描述符環320上並無未處理之資料封包,DL排程器324將從CALMSG模組326接收非阻塞回應,其指出無未處理封包。DL排程器線程324接著睡眠直至下一TTI。
在步驟485,若DL排程器324決定存在未處理之資料封包,方法便前進至步驟490,否則方法便前進至495。
在步驟490,DL排程器324處理緩衝器描述符環320上的下一資料封包。下一封包係藉由環之讀取指標指出。在資料封包被處理之後,DL排程器324便釋放使用CALBUF 204 API之K-U映射緩衝器。在示範實施例中,將處理之資料封包包含一或更多標頭及酬載。DL排程器324忽略標頭及酬載上之操作。標頭用於按路線發送封包至其目的地,此係於示範實施例中達成而未使用協定堆疊。一旦DL排程器324處理所有封包,方法便前進至步驟495,其中DL排程器睡眠。
示範實施例支援三細胞(可擴展至六細胞)。每一細胞將具有其本身DL排程器(DL排程器線程324),其連接至其本身之專用資料平面核心並於其上運行。因此,在示範實施例中,存在於三不同資料平面核心上運行之三個DL排程器(圖1,116、118、及120)線程。類似地,每一細胞需要UL L2排程器(UL SCHEDULER)。因而,於三不同資料平面核心上運行之三UL SCHEDULER線程(圖1,110、112、及114)。
在細胞建立期間,藉由CALMSG模組326建立動態PDC規則(即IP位址相對於進入FQ之映射)。CALMSG模組326亦可執行簿記功能,諸如進入FQ映射至緩衝器描述符環ID。PCD規則使FMAN可檢查每一封包之IP位址,並決定於哪一FQ中排列封包。其餘簿記資訊(諸如進入FQ 306相對於緩衝器描述符環320ID之映射)允許UplaneDispatcher核心線程330決定將於哪一緩衝器描述符環320中置放與匯入資料封包相關之特定緩衝器描述符。因而達成無鎖及零拷貝發訊方案,其允許進入封包抵達於資料平面核心Y 312上運行之DL排程器線程324而未使用習知協定堆疊。
參照圖5,顯示經調適以提供資料封包之外出資料流的示範以底板乙太網路驅動程式(BED)DPA為主之系統500的高層次概觀。示範實施例500提供未使用Linux協定堆疊而發送外出資料平面報文之解決方案。圖5之左側描繪從使用傳統協定堆疊538之控制平面核心X 532發送封包所採取之路徑。諸如於控制平面核心X 532上運行之OAM&M 124的非即時使用者空間應用使用協定堆疊538發送TCP/UDP IP封包。協定堆疊538將封包傳送至核心空間中FSL DPA驅動程式536。從使用者空間中核心X 532將封包傳送至核心空間中FSL DPA驅動程式536之程序需要資料拷貝。FSL DPA驅動程式536使封包於FQ 534上排列,其最終藉由FMAN 506基於來自QMAN 508之協助而予服務,且封包於乙太網路介面上發送。圖之右側描繪針對源自其中LTE L2 UL排程器502運行且未使用協定堆疊538之資料平面核心Y 512之封包的封包遍歷。因而外出資料流亦使用未招致無界延遲尖峰之無鎖零拷貝發訊方案。
圖6中描繪相對於外送資料封包之程序流程(即資料平面核心之外出資料流)的高層次視圖。圖6之方法可藉由圖5中所描繪之設備予以實施。
在步驟610,UL排程器502從CALBUF 522獲得相對於使用者空間映射緩衝器之核心。
在步驟620,當UL排程器502備妥發送TCP/UDP IP封包時,UL排程器502準備整個封包(具標頭及酬載),接著調用CALMSG API 522。
在步驟630,CALMSG 522基於來自CALDPAADriver 524之協助而使準備之封包於與資料平面乙太網路介面相關之通道CHB的適當外出FQ 504之上排列。執行此使其排列而未使用協定堆疊,並替代地依賴無鎖、零發訊方案以避免無限延遲尖峰。
在可選擇步驟640,QMAN 508決定使其排列作業是否成功之狀態,若希望接收該狀態,此回應發送返回至使用者應用UL排程器502。
在步驟650,FMAN 506基於來自QMAN 508之協助,而處理來自各種FQ 504的所有封包。儘管存在封包遍歷使用者空間至核心空間邊界時所包括之上下文切換,未包括資料拷貝。因而,藉由FMAN 506以硬體有效率的方式執行封包處理,使得每一個別核心具有可忽略或無性能損失。每一UL排程器502於目標通道(CH B 526)上具有專用FQ 504,以發送封包至乙太網路介面上。僅存在一生產者(使用者空間中特定UL排程器線程502實例),及一藉由硬體中FMAN 506消耗之專用外出FQ 504。
在步驟660,一旦封包發送,FMAN 506便釋放緩衝器返回至BMAN(圖2,226)。
熟悉本技藝之人士將輕易地認同以上說明之各種方法的步驟可藉由編程電腦執行。本文中,一些實施例亦希望涵蓋程式儲存裝置,例如數位資料儲存媒體,其為機器或電腦可讀取及編碼機器可執行或電腦可執行之指令的程式,其中,該指令執行一些或全部以上說明之方法的步驟。程式儲存裝置可為例如數位記憶體、諸如磁碟或磁帶之磁性儲存媒體、硬碟、或光學可讀取數位資料儲存媒體。該些實施例亦希望涵蓋編程電腦以執行以上說明之方法的步驟。
以上說明僅提供本發明之特定實施例之揭露,不希望侷限於該些實施例。同樣地,本發明並非僅侷限於以上說明之實施例。而是,熟悉本技藝之人士可設想落於本發明之範圍內的替代實施例。
100...多核心處理器
102...單一對稱多重處理作業系統
104、106、108...細胞
110、112、114、502...上鏈排程器
116、118、120、324...下鏈排程器
122...無線電鏈路控制/媒體存取控制方塊
124...作業、行政、及管理模組
126...CALLP模組
128、201...核心抽象化層
200...架構
202...核心抽象化層初始化模組
204...核心抽象化層緩衝器模組
206、326、522...核心抽象化層發訊模組
208...核心抽象化層解析、分類及散發模組
210...核心抽象化層資料路徑加速架構追蹤模組
212、314、524...核心抽象化層資料路徑加速架構驅動程式
214...作業系統
216...訊框管理器驅動程式
218...緩衝器管理器驅動程式
220...佇列管理器驅動程式
222...結構
224...資料路徑加速架構
226...緩衝器管理器
228、308、508...佇列管理器
230、232、302、506...訊框管理器
300、500...系統
304...資料封包
306...進入訊框佇列
334、534...訊框佇列
504...外出訊框佇列
312、512...資料平面核心Y
316...軟體入口
320...緩衝器描述符環
328...硬體暫存器
330...回撥功能
332、532...控制平面核心X
336、536...FSL DPA驅動程式
338...Linux協定堆疊
526...目標通道
538...協定堆疊
本發明存在於裝置之各種零件的建構、配置、及組合中,及方法之步驟中,藉此隨著以下更完整提出、於申請項中具體指出、及於附圖中描繪,可獲得預期之物件,其中:
圖1描繪根據本發明之方面的平台架構之一實施例;
圖2描繪用於實施圖1中所示之核心抽象化層的示範架構;
圖3描繪用於提供資料封包之進入資料流的以BED DPAA為主之示範系統;
圖4代表相對於匯入資料封包之程序流程的高層次說明;
圖5描繪用於提供資料封包之外出資料流的以BED DPAA為主之示範系統;以及
圖6代表相對於外送(外出)資料封包之程序流程的高層次說明。
324...下鏈排程器
326...核心抽象化層發訊模組
314...核心抽象化層資料路徑加速架構驅動程式
308...佇列管理器
302...訊框管理器
300...系統
304...資料封包
306...進入訊框佇列
334...訊框佇列
312...資料平面核心Y
316...軟體入口
320...緩衝器描述符環
328...硬體暫存器
330...回撥功能
332...控制平面核心X
336...FSL DPA驅動程式
338...Linux協定堆疊

Claims (8)

  1. 一種電腦實施之方法,包含:針對包含核心空間及使用者空間之多核心處理器的至少一處理核心:獲得核心至使用者空間(K-U)映射緩衝器及相應K-U映射緩衝器指標;將資料封包插入該緩衝器;產生包含該K-U映射緩衝器指標之訊框描述符;將該訊框描述符插入至藉由映射IP位址至訊框佇列之動態解析、分類和分配(PCD)規則指明之訊框佇列上;以及從該訊框描述符產生K-U映射緩衝器描述符將該K-U映射緩衝器描述符插入圓形緩衝器。
  2. 如申請專利範圍第1項之方法,其中,該資料封包為傳輸控制協定(TCP)或使用者資料協定(UDP)封包。
  3. 如申請專利範圍第2項之方法,其中,該圓形緩衝器為K-U映射緩衝器描述符之環,其允許於使用者空間中運行之程序而具有藉由於該核心中運行之程序產生或處理之針對緩衝器之無鎖、零拷貝存取;以及其中,該圓形緩衝器允許於使用者空間中運行之該程序處理該資料封包而未使用協定堆疊。
  4. 如申請專利範圍第1項之方法,其中,獲得K-U映 射緩衝器、將該資料封包插入該緩衝器、及將該緩衝器描述符插入該圓形緩衝器,係藉由結合硬體組件之一或更多核心線程執行,並進一步包含:運行於週期間隔喚醒之使用者空間線程;其中,該使用者空間線程於清醒中詢問該圓形緩衝器以決定是否有任何未處理之緩衝器描述符存在於該圓形緩衝器中;以及若決定有未處理之緩衝器描述符存在於該圓形緩衝器中,便使用相同或不同使用者空間線程處理該緩衝器內該資料封包。
  5. 一種用於提供於使用者空間程序與核心空間程序之間針對緩衝器無鎖、零拷貝存取之設備,該設備包含:數據機板;包含連接到該數據機板之複數處理器核心的多核心處理器,其中,該數據機板包含核心空間及使用者空間;用於處理器核心之圓形緩衝器,經調適以將核心空間儲存至使用者空間(K-U)映射緩衝器描述符;使用者空間線程,配置成於週期間隔喚醒,其中,該使用者空間線程於清醒中進一步配置成:詢問該圓形緩衝器以決定是否有一或多個未處理之緩衝器描述符存在於該圓形緩衝器中;以及若決定有未處理之緩衝器描述符存在於該圓形緩衝器中,便使用相同或不同使用者空間線程處理該緩衝器內該資料封包。
  6. 如申請專利範圍第5項之設備,其中,該核心空間保留用於運行該核心、核心擴充及裝置驅動程式;以及其中,該使用者空間為執行使用者模式應用之記憶體區域。
  7. 如申請專利範圍第5項之設備,進一步包含:配置成接收資料封包之乙太網路介面;配置成獲得核心空間至使用者空間(K-U)映射緩衝器及相應緩衝器描述符之緩衝器管理器;以及訊框管理器配置成:將接收之資料封包插入該K-U映射緩衝器,以及使該相應緩衝器描述符於該圓形緩衝器中排列。
  8. 如申請專利範圍第7項之設備,其中,該資料封包為傳輸控制協定(TCP)或使用者資料協定(UDP)封包。
TW100140512A 2010-11-12 2011-11-07 通信網路應用之無鎖及零拷貝發訊方法與設備 TWI451339B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/945,146 US8737417B2 (en) 2010-11-12 2010-11-12 Lock-less and zero copy messaging scheme for telecommunication network applications

Publications (2)

Publication Number Publication Date
TW201237762A TW201237762A (en) 2012-09-16
TWI451339B true TWI451339B (zh) 2014-09-01

Family

ID=44999873

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100140512A TWI451339B (zh) 2010-11-12 2011-11-07 通信網路應用之無鎖及零拷貝發訊方法與設備

Country Status (8)

Country Link
US (1) US8737417B2 (zh)
EP (1) EP2638467B1 (zh)
JP (1) JP5726316B2 (zh)
KR (1) KR101549422B1 (zh)
CN (1) CN103210619B (zh)
ES (1) ES2848846T3 (zh)
TW (1) TWI451339B (zh)
WO (1) WO2012064471A1 (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8634302B2 (en) 2010-07-30 2014-01-21 Alcatel Lucent Apparatus for multi-cell support in a network
US8504744B2 (en) 2010-10-28 2013-08-06 Alcatel Lucent Lock-less buffer management scheme for telecommunication network applications
US8730790B2 (en) 2010-11-19 2014-05-20 Alcatel Lucent Method and system for cell recovery in telecommunication networks
US8861434B2 (en) 2010-11-29 2014-10-14 Alcatel Lucent Method and system for improved multi-cell support on a single modem board
US9071499B2 (en) * 2011-03-28 2015-06-30 Citrix Systems, Inc. Systems and methods for emulating a NIC for packet transmission on hardware RSS unaware NICs in a multi-core system
US9357482B2 (en) 2011-07-13 2016-05-31 Alcatel Lucent Method and system for dynamic power control for base stations
CN102761489B (zh) * 2012-07-17 2015-07-22 中国科学技术大学苏州研究院 基于流水线模式的数据包零拷贝的核间通信方法
CN103475899B (zh) * 2013-07-30 2016-09-07 融创天下(上海)科技发展有限公司 数据分发方法和装置
CN103488717B (zh) * 2013-09-11 2017-02-22 北京华胜天成科技股份有限公司 一种无锁数据汇聚方法及装置
US9519514B2 (en) * 2014-01-29 2016-12-13 Marvell Israel (M.I.S.L) Ltd. Interfacing with a buffer manager via queues
US10015164B2 (en) 2014-05-07 2018-07-03 Cryptography Research, Inc. Modules to securely provision an asset to a target device
CN103945456B (zh) * 2014-05-12 2017-06-27 武汉邮电科学研究院 一种基于Linux系统的LTE基站用户面高效UDP数据发送优化方法
CN104052676B (zh) * 2014-06-13 2017-12-05 华为技术有限公司 一种发送通路装置及发送通路的数据处理方法
CN104102494B (zh) * 2014-07-31 2017-07-25 武汉邮电科学研究院 无线通信基站空口数据cipher加速方法
US10257089B2 (en) 2014-10-30 2019-04-09 At&T Intellectual Property I, L.P. Distributed customer premises equipment
US10348621B2 (en) 2014-10-30 2019-07-09 AT&T Intellectual Property I. L. P. Universal customer premise equipment
US9817776B2 (en) 2015-01-19 2017-11-14 Microsoft Technology Licensing, Llc Memory descriptor list caching and pipeline processing
US9787605B2 (en) 2015-01-30 2017-10-10 Nicira, Inc. Logical router with multiple routing components
US10437523B2 (en) * 2016-02-25 2019-10-08 Red Hat Israel, Ltd. Secure receive packet processing for network function virtualization applications
DE102017124105A1 (de) * 2016-10-24 2018-04-26 Denso Corporation Verfahren zur Portierung einer Single-Core Steuerungssoftware auf ein Multi-Core Steuergerät oder zur Optimierung einer Multi-Core Steuerungssoftware
FR3063095B1 (fr) 2017-02-20 2019-03-15 Utilis Piece thermoplastique renforcee pour une structure porteuse
US10819820B1 (en) * 2017-03-24 2020-10-27 Amazon Technologies, Inc. On-path data caching in a mesh network
US10733096B2 (en) * 2017-11-22 2020-08-04 Samsung Electronics Co., Ltd. System and method for frame buffer
CN111209123A (zh) * 2019-12-26 2020-05-29 天津中科曙光存储科技有限公司 一种本地存储io协议栈数据交互方法和装置
CN114509993B (zh) * 2020-11-16 2023-06-20 沈阳中科数控技术股份有限公司 一种基于国产cpu的自主可控数控系统构建方法
CN112702275A (zh) * 2020-12-29 2021-04-23 迈普通信技术股份有限公司 基于每包转发的方法、装置、网络设备及计算机存储介质
TWI792728B (zh) * 2021-11-29 2023-02-11 瑞昱半導體股份有限公司 封包處理加速裝置
CN115334586B (zh) * 2022-10-17 2023-01-03 深圳市领创星通科技有限公司 数据转发方法、装置、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080276056A1 (en) * 2007-04-20 2008-11-06 The Regents Of The University Of Colorado Efficient Point-To-Point Enqueue And Dequeue Communications
US7451456B2 (en) * 2002-06-19 2008-11-11 Telefonaktiebolaget L M Ericsson (Publ) Network device driver architecture
TW201006184A (en) * 2008-06-23 2010-02-01 Qualcomm Inc Method and apparatus for managing data services in a multi-processor computing environment

Family Cites Families (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5295133A (en) 1992-02-12 1994-03-15 Sprint International Communications Corp. System administration in a flat distributed packet switch architecture
US5996019A (en) 1995-07-19 1999-11-30 Fujitsu Network Communications, Inc. Network link access scheduling using a plurality of prioritized lists containing queue identifiers
US5913230A (en) 1997-01-07 1999-06-15 Richardson; John J. Object and method for providing efficient multi-user access to shared operating system kernal code using instancing
US6434620B1 (en) 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
US6314501B1 (en) 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
US7299052B2 (en) 1998-11-09 2007-11-20 Samsung Electronics Co., Ltd. System and method for reallocating a traffic channel in soft handoff state
US6606298B1 (en) 1999-06-30 2003-08-12 Cisco Technology, Inc. Module firmware recovery
US6842811B2 (en) 2000-02-24 2005-01-11 Pts Corporation Methods and apparatus for scalable array processor interrupt detection and response
US6999432B2 (en) 2000-07-13 2006-02-14 Microsoft Corporation Channel and quality of service adaptation for multimedia over wireless networks
US6584330B1 (en) 2000-07-18 2003-06-24 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive power management for a node of a cellular telecommunications network
US7089289B1 (en) 2000-07-18 2006-08-08 International Business Machines Corporation Mechanisms for efficient message passing with copy avoidance in a distributed system using advanced network devices
US6799200B1 (en) 2000-07-18 2004-09-28 International Business Machines Corporaiton Mechanisms for efficient message passing with copy avoidance in a distributed system
US6735620B1 (en) 2000-07-18 2004-05-11 International Business Machines Corporation Efficient protocol for retransmit logic in reliable zero copy message transport
JP2002050996A (ja) 2000-07-31 2002-02-15 Sony Corp 整数倍相互関係を有するブロック長を用いて符号化された信号を通信伝送路を介して送信する通信システム
US7089335B2 (en) 2000-10-30 2006-08-08 Microsoft Corporation Bridging multiple network segments and exposing the multiple network segments as a single network to a higher level networking software on a bridging computing device
US7096034B2 (en) 2001-10-01 2006-08-22 Microsoft Corporation System and method for reducing power consumption for wireless communications by mobile devices
US7768522B2 (en) 2002-01-08 2010-08-03 Apple Inc. Virtualization of graphics resources and thread blocking
US7007042B2 (en) 2002-03-28 2006-02-28 Hewlett-Packard Development Company, L.P. System and method for automatic site failover in a storage area network
US7254812B1 (en) 2002-05-31 2007-08-07 Advanced Micro Devices, Inc. Multi-processor task scheduling
US7093013B1 (en) 2002-06-19 2006-08-15 Alcatel High availability system for network elements
US7180866B1 (en) 2002-07-11 2007-02-20 Nortel Networks Limited Rerouting in connection-oriented communication networks and communication systems
US7020484B2 (en) 2002-10-29 2006-03-28 Qualcomm Incorporated Controlling multiple modems in a wireless terminal using energy-per-bit determinations
US7539853B2 (en) 2002-11-18 2009-05-26 Arm Limited Handling interrupts in data processing of data in which only a portion of a function has been processed
US7810124B2 (en) 2003-01-28 2010-10-05 Thomson Licensing Robust mode staggercasting fast channel change
US7003597B2 (en) 2003-07-09 2006-02-21 International Business Machines Corporation Dynamic reallocation of data stored in buffers based on packet size
ES2325957T3 (es) 2003-08-25 2009-09-25 Interdigital Technology Corporation Funcionamiento de enlace ascendente mejorado en una transferencia suave.
JP4287430B2 (ja) 2003-10-15 2009-07-01 株式会社エヌ・ティ・ティ・ドコモ 複数の通信層の動作を制御する装置及び方法
DE60313377T2 (de) 2003-10-15 2008-01-03 Ntt Docomo, Inc. Vorrichtung und verfahren zur steuerung der funktionsweise mehrerer kommunikationsschichten in einem geschichteten kommunikations-szenario
US7206966B2 (en) 2003-10-22 2007-04-17 Hewlett-Packard Development Company, L.P. Fault-tolerant multi-core microprocessing
US7370326B2 (en) 2004-04-02 2008-05-06 Emulex Design & Manufacturing Corporation Prerequisite-based scheduler
CN100452891C (zh) 2004-04-22 2009-01-14 Ut斯达康通讯有限公司 一种资源集中控制的分布式无线系统
JP4414305B2 (ja) 2004-08-19 2010-02-10 富士通株式会社 中継装置および中継装置の再起動方法並びに中継装置用ソフトウェアプログラム
US8888600B2 (en) 2004-08-25 2014-11-18 Igt Emulation methods and devices for a gaming machine
US7352693B2 (en) 2005-01-31 2008-04-01 Nextel Communications Inc. Fault tolerant wireless communication systems and methods
US7933197B2 (en) 2005-02-22 2011-04-26 Cisco Technology, Inc. Method and apparatus for constructing a repair path around a non-available component in a data communications network
US7620753B1 (en) 2005-03-17 2009-11-17 Apple Inc. Lockless access to a ring buffer
US8644246B2 (en) 2005-07-05 2014-02-04 Nokia Corporation Scheduling information at serving cell change
GB0519981D0 (en) 2005-09-30 2005-11-09 Ignios Ltd Scheduling in a multicore architecture
US7472261B2 (en) 2005-11-08 2008-12-30 International Business Machines Corporation Method for performing externally assisted calls in a heterogeneous processing complex
US20070113229A1 (en) 2005-11-16 2007-05-17 Alcatel Thread aware distributed software system for a multi-processor
DE602005007620D1 (de) 2005-12-14 2008-07-31 Ntt Docomo Inc Vorrichtung und Verfahren zur Bestimmung der Übertragungspolitik für mehrere und verschiedenartige Anwendungen
US8072879B2 (en) 2006-02-03 2011-12-06 Cisco Technology, Inc. Technique for determining whether to reestablish fast rerouted primary tunnels based on backup tunnel path quality feedback
US8689025B2 (en) 2006-02-21 2014-04-01 Qualcomm Incorporated Reduced terminal power consumption via use of active hold state
US7295952B1 (en) 2006-05-24 2007-11-13 International Business Machines Corporation Enabling high availability and load balancing for JMX Mbeans
EP2035928A2 (en) 2006-06-30 2009-03-18 Symbol Technologies, Inc. Systems and methods for processing data packets using a multi-core abstraction layer (mcal)
US20080002702A1 (en) 2006-06-30 2008-01-03 Symbol Technologies, Inc. Systems and methods for processing data packets using a multi-core abstraction layer (MCAL)
US20080002681A1 (en) 2006-06-30 2008-01-03 Symbol Technologies, Inc. Network wireless/RFID switch architecture for multi-core hardware platforms using a multi-core abstraction layer (MCAL)
JP2008020977A (ja) * 2006-07-11 2008-01-31 Sony Computer Entertainment Inc ネットワークプロセッサシステムおよびネットワークプロトコル処理方法
CN101106490B (zh) 2006-07-11 2012-01-04 华为技术有限公司 预置流分类器的建立方法及其系统和用户终端
TW200813739A (en) 2006-07-20 2008-03-16 Qualcomm Inc Utility service in multi-processor environment
US7873964B2 (en) 2006-10-30 2011-01-18 Liquid Computing Corporation Kernel functions for inter-processor communications in high performance multi-processor systems
US8059532B2 (en) 2007-06-21 2011-11-15 Packeteer, Inc. Data and control plane architecture including server-side triggered flow policy mechanism
US7936772B2 (en) * 2007-07-13 2011-05-03 International Business Machines Corporation Enhancement of end-to-end network QoS
US8055822B2 (en) 2007-08-21 2011-11-08 International Business Machines Corporation Multicore processor having storage for core-specific operational data
US8194699B2 (en) 2007-09-21 2012-06-05 Intel Corporation Radio scheduler and data plane interface
KR20100094973A (ko) 2007-09-28 2010-08-27 핀-한 호 중첩 변조를 사용하는 무선 데이터 멀티캐스트용의 강건한 시스템 및 방법
US8527622B2 (en) 2007-10-12 2013-09-03 Sap Ag Fault tolerance framework for networks of nodes
EP3567897B1 (en) 2007-12-17 2023-09-06 Telefonaktiebolaget LM Ericsson (publ) Method and apparatus for mitigating cell outage
US7944815B2 (en) 2008-02-14 2011-05-17 Allied Telesis Holdings K.K. System and method for network recovery from multiple link failures
US7831710B2 (en) 2008-02-25 2010-11-09 International Business Machines Corporation Communication of offline status between computer systems
FI20085217A0 (fi) 2008-03-07 2008-03-07 Nokia Corp Tietojenkäsittelyjärjestely
CN101546276B (zh) 2008-03-26 2012-12-19 国际商业机器公司 多核环境下实现中断调度的方法及多核处理器
US8024417B2 (en) 2008-06-04 2011-09-20 Microsoft Corporation Simple flow control protocol over RDMA
US20100029266A1 (en) 2008-07-02 2010-02-04 Nokia Corporation System and methods for quality of experience reporting
US7957297B2 (en) 2008-07-14 2011-06-07 Cisco Technology, Inc. Termination message for wireless wide area network routers
EP2313830B1 (en) 2008-08-13 2013-10-02 Hewlett-Packard Development Company, L.P. Dynamic utilization of power-down modes in multi-core memory modules
US20100080116A1 (en) 2008-09-29 2010-04-01 Qualcomm Incorporated Re-establishing a radio resource control connection with a non-prepared base station
US8271996B1 (en) 2008-09-29 2012-09-18 Emc Corporation Event queues
US8812714B2 (en) 2008-11-12 2014-08-19 Citrix Systems, Inc. Systems and methods for application fluency policies
KR101546780B1 (ko) 2008-12-18 2015-08-25 삼성전자주식회사 광대역 무선통신 망에서 서비스 플로우 변경 시 오류 처리를 위한 장치 및 방법
CN102293037A (zh) 2009-01-20 2011-12-21 夏普株式会社 移动台设备、基站设备以及无线链路同步确定方法
JP5042248B2 (ja) 2009-01-22 2012-10-03 株式会社日立製作所 移動体通信システム、呼制御サーバ及びアクセスゲートウェイ装置
CN101801015B (zh) 2009-02-06 2014-03-12 中兴通讯股份有限公司 一种小区退服故障的处理方法及装置
KR101617048B1 (ko) 2009-06-01 2016-05-02 엘지전자 주식회사 다중 반송파 시스템에서 요소 반송파의 실패를 처리하는 방법 및 장치
US8099546B2 (en) 2009-06-09 2012-01-17 Red Hat, Inc. Mechanism for a lockless ring buffer in overwrite mode
US8413153B2 (en) 2009-06-12 2013-04-02 Freescale Semiconductor Inc. Methods and systems for sharing common job information
US20100322067A1 (en) 2009-06-19 2010-12-23 Qualcomm Incorporated Method and apparatus to faciliate reestablishing communications in a wireless network
US8737407B2 (en) 2009-06-22 2014-05-27 Citrix Systems, Inc. Systems and methods for distributed hash table in multi-core system
US9775046B2 (en) 2009-06-26 2017-09-26 Qualcomm, Incorporated Power management
US8400955B2 (en) 2009-09-21 2013-03-19 Samsung Electronics Co., Ltd. System and method for power saving by coordinated wake-up in a wireless multi-band network
US8892931B2 (en) 2009-10-20 2014-11-18 Empire Technology Development Llc Power channel monitor for a multicore processor
US8737262B2 (en) 2009-11-24 2014-05-27 Red Hat Israel, Ltd. Zero copy transmission with raw packets
US20130061231A1 (en) 2010-05-11 2013-03-07 Dong-Qing Zhang Configurable computing architecture
US9298768B2 (en) 2010-07-21 2016-03-29 Sqream Technologies Ltd System and method for the parallel execution of database queries over CPUs and multi core processors
US8634302B2 (en) 2010-07-30 2014-01-21 Alcatel Lucent Apparatus for multi-cell support in a network
US8943334B2 (en) 2010-09-23 2015-01-27 Intel Corporation Providing per core voltage and frequency control
US20120093047A1 (en) 2010-10-14 2012-04-19 Alcatel-Lucent USA Inc. via the Electronic Patent Assignment System (EPAS) Core abstraction layer for telecommunication network applications
US8504744B2 (en) 2010-10-28 2013-08-06 Alcatel Lucent Lock-less buffer management scheme for telecommunication network applications
US8730790B2 (en) 2010-11-19 2014-05-20 Alcatel Lucent Method and system for cell recovery in telecommunication networks
US8861434B2 (en) 2010-11-29 2014-10-14 Alcatel Lucent Method and system for improved multi-cell support on a single modem board
US8675577B2 (en) 2010-12-20 2014-03-18 Intel Corporation Signaling techniques for a multimedia-aware radio and network adaptation
US20120207011A1 (en) 2011-02-11 2012-08-16 Renesas Mobile Corporation Method and apparatus for responding to an unrecoverable error
US9357482B2 (en) 2011-07-13 2016-05-31 Alcatel Lucent Method and system for dynamic power control for base stations

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7451456B2 (en) * 2002-06-19 2008-11-11 Telefonaktiebolaget L M Ericsson (Publ) Network device driver architecture
US20080276056A1 (en) * 2007-04-20 2008-11-06 The Regents Of The University Of Colorado Efficient Point-To-Point Enqueue And Dequeue Communications
TW201006184A (en) * 2008-06-23 2010-02-01 Qualcomm Inc Method and apparatus for managing data services in a multi-processor computing environment

Also Published As

Publication number Publication date
TW201237762A (en) 2012-09-16
EP2638467B1 (en) 2020-12-02
JP5726316B2 (ja) 2015-05-27
ES2848846T3 (es) 2021-08-12
CN103210619B (zh) 2015-10-21
US20120120965A1 (en) 2012-05-17
WO2012064471A1 (en) 2012-05-18
EP2638467A1 (en) 2013-09-18
KR101549422B1 (ko) 2015-09-02
KR20130087553A (ko) 2013-08-06
JP2014501003A (ja) 2014-01-16
CN103210619A (zh) 2013-07-17
US8737417B2 (en) 2014-05-27

Similar Documents

Publication Publication Date Title
TWI451339B (zh) 通信網路應用之無鎖及零拷貝發訊方法與設備
TWI479850B (zh) 單數據機板之改良式多胞元支援方法及系統
US9654406B2 (en) Communication traffic processing architectures and methods
US8094560B2 (en) Multi-stage multi-core processing of network packets
US8504744B2 (en) Lock-less buffer management scheme for telecommunication network applications
JP5759006B2 (ja) 電気通信ネットワーク・アプリケーションのためのコア抽象化レイヤ
US20170214774A1 (en) Communication traffic processing architectures and methods
TW201316803A (zh) 用於基地台之動態功率控制的方法及系統
CN110214436A (zh) 一种多核无锁速率限制装置和方法
Kundu et al. Hardware acceleration for open radio access networks: A contemporary overview