JP5726320B2 - 単一のモデム・ボードにおける改善されたマルチセル・サポートのための方法およびシステム - Google Patents

単一のモデム・ボードにおける改善されたマルチセル・サポートのための方法およびシステム Download PDF

Info

Publication number
JP5726320B2
JP5726320B2 JP2013541997A JP2013541997A JP5726320B2 JP 5726320 B2 JP5726320 B2 JP 5726320B2 JP 2013541997 A JP2013541997 A JP 2013541997A JP 2013541997 A JP2013541997 A JP 2013541997A JP 5726320 B2 JP5726320 B2 JP 5726320B2
Authority
JP
Japan
Prior art keywords
core
data
frame
buffer
queue
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2013541997A
Other languages
English (en)
Other versions
JP2014506346A (ja
Inventor
クハー,モハンマド,アール.
アブリウス,ムガー
Original Assignee
アルカテル−ルーセント
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 アルカテル−ルーセント filed Critical アルカテル−ルーセント
Publication of JP2014506346A publication Critical patent/JP2014506346A/ja
Application granted granted Critical
Publication of JP5726320B2 publication Critical patent/JP5726320B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Landscapes

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

Description

本発明の例示的な実施形態は、一般に、ワイヤレス通信で使用されるモデム・ボードに関する。詳細には、様々な実施形態は、マルチコア・プロセッサを使用する単一のモデム・ボードにおいてマルチセルをサポートするためにPREEMPT RTを用いるSMP Linuxなど、オペレーティング・システムのリアル・タイム性能を拡張するための技術に関する。本発明は、詳細には、ワイヤレス通信の技術分野に関し、したがって、それを特に参照して記述するが、本発明は、他の分野および用途でも有用であることが理解されるであろう。
背景として、LTE(Long Term Evolution)は、将来的な通信ネットワーク需要に対処するためにUMTS(Universal Mobile Telecommunication System)携帯電話規格を改善することを目的とする、急速に展開している3GPPプロジェクトである。LTEにより、ワイヤレス・ネットワークの効率および帯域幅が改善され、コストが削減され、サービス経験が向上される。具体的には、LTEは、新しいスペクトル機会(spectrum opportunity)を利用し、他のオープン規格とのより優れた統合を実現する。LTEは、一般に、EPS(Evolved Packet System、Evolved Packet Coreとも呼ぶ)とともにLTE RAN(Radio Access Network)(またE−UTRANとして知られている)を含む。
通信システムは、一般に、次の2つの主要な機能、すなわち、データ・プレーン機能とコントロール・プレーン機能とに分割される。以前のLTE製品では、モデム・ボードにおいて少なくとも2つのプロセッサが使用されていた。1つは、コントロール・プレーン機能をサポートするためのもの(非リアル・タイム、たとえばOperations, Administration, and Management(または、OA&M)、および呼処理の管理に関係する機能)、もう1つは、データ・プレーン機能を終了およびサポートするためのもの(リアル・タイム(たとえばLTEレイヤ2処理))である。コントロール・プレーンおよびデータ・プレーンの両方は、コントロール・プレーンにはLinux、およびデータ・プレーン・コアにはvXWorks(カリフォルニア州アラメダのWind River Systemsが製作および販売)などのリアル・タイム・オペレーティング・システム(OS)など、異なるOSのインスタンスを使用していた。通常、1つのモデム・ボードは、1つのセクタまたはセルをサポートした。このため、マルチセル(たとえば3つのセルまたは6つのセル)構成をサポートするには、セルの数と同数のモデム・ボードを提供することが必要になる。
改善策として、マルチコア・プロセッサをLTEワイヤレス基地装置のモデム・ボードで使用することができる。その場合、PREEMPT RTパッチを用いるSMP Linuxなどのオペレーティング・システムは、8つのコアをすべて含む1つのSMP(対称型マルチプロセッシング)パーティションで動作する。この構成では、コントロール・プレーン(非リアル・タイムのスレッドおよびプロセス)およびデータ・プレーン(リアル・タイムのスレッドおよびプロセス)は、異なるコアで実行しなければならないが、同じオペレーティング・システム・インスタンスを共有する。
しかし、PREEMPT RTを用いるオープン・ソースのSMP Linuxは、vxWorksなどのハード・コアのリアル・タイム・オペレーティング・システムではない。したがって、PREEMPT RTを用いるSMP Linuxから最適なリアル・タイム性能を保証するために、通常、そのようなオペレーティング・システムの使用から生じる制限されないレイテンシ・スパイク(latency spike)を減らす、または排除するためにさえ、いくつかの技術を用いることができる。制限されないレイテンシ・スパイクは、対処および排除されなければ、LTEレイヤ2スケジューラなどアプリケーションの全体的なシステムの振る舞いに悪影響を及ぼす傾向があり、場合によっては、システムを展開できなくなる。
米国特許出願第12/945,146号
したがって、たとえば、(a)リアル・タイムのプロセスまたはスレッドだけを実行することを専用とするデータ・プレーン・コアで重要でない割込みを無効にして、コントロール・プレーン・コアにこれらの割込みをルーティングすることによって、かつ(b)デフォルトの「割込み」モードではなく、「ポーリング」モードで特定のハードウェア・コンポーネントを実行し、これによって、特定のデータ・コアに対して生成される割込みの数を減らすことによって、PREEMPT RTパッチを用いるSMP Linuxなどのオペレーティング・システムのリアル・タイム性能を拡張する方法およびシステムに対するニーズがある。
本明細書に記述するのは、PREEMPT RTパッチを用いるSMP Linuxなどのオペレーティング・システム(OS)のリアル・タイム性能を拡張するために用いることができる様々な技術である。PREEMPT RTを用いるSMP Linuxは、ハード・コアのリアル・タイム・オペレーティング・システムではない。したがって、PREEMPT RTを用いるSMP Linuxを使用することにより、そうでなければ発生する可能性がある制限されないレイテンシ問題に対処する技術を導入することが重要である。これらの制限されないレイテンシ・スパイクは、非常に厳格なリアル・タイム性能を必要とする、LTEレイヤ2スケジューラの適切なシステムの振る舞いに容易に影響し、システムを展開できなくなる可能性がある。特に、PREEMPT RTを用いるSMP Linuxなどオペレーティング・システムのリアル・タイム性能を拡張するために用いることができるソフトウェア技術の1つは、リアル・タイムのプロセスまたはスレッドだけで実行することを専用とするデータ・プレーン・コアの重要でない割込みを無効にすることを含む。代わりに、ソフトウェアDMA割込みなど、これらの重要でない割込みは、コントロール・プレーン・コアにルーティングされる。さらに、ハードウェア・コンポーネントの少なくとも1つ(たとえばキュー・マネージャ)は、デフォルトの「割込み」モードではなく「ポーリング」モードで実行できるため、特定のデータ・コアに対して生成される割込みの数を減らすことができる。
一実施形態では、モデム・ボードにおいてマルチコア・プロセッサを用いてワイヤレス・ネットワークにおけるデータ・パケットを処理する、コンピュータ実装方法が提供される。ポーリング・モードでキュー・マネージャを実行している間、入力データ・パケットのバッファが取得され、データ・パケットはフレーム・キューにエンキューされ、フレーム・キューは、キュー・マネージャによって扱われるべきフレーム記述子のリンクされたリストを含む。カーネル・スレッドは、キューに入れられたフレーム記述子について、キュー・マネージャを定期的にポーリングし、ハードウェア・コンポーネントからN個のフレーム記述子をデキューするために使用され、ここでNは、調整可能なパラメータである。カーネル空間でデキューされた各フレーム記述子に関連するコールバック機能を実行することができ、コールバック機能は、フレーム記述子内のデータ・パケットのバッファ・ポインタを処理のためにバッファ記述子のカーネルからユーザにマップされたリングにエンキューする。最後に、データ・パケットは、コンテキスト・スイッチなしでメッセージング・モジュールに送られる。
他の実施形態では、ワイヤレス・ネットワークでデータ・パケットを処理するためのシステムが提供される。装置は、概して、モデム・ボードと、モデム・ボードに取り付けられた複数のプロセッサ・コアを含むマルチコア・プロセッサとを含み、モデム・ボードはカーネル空間およびユーザ空間を含む。さらに、システムは、キューを管理し、かつポーリング・モードで実行するように構成されたキュー・マネージャと、入力データ・パケットのバッファを取得し、かつフレーム・キューにデータ・パケットをエンキューするように構成されたフレーム・マネージャとを含み、フレーム・キューは、ハードウェア・コンポーネントによって扱われるべきフレーム記述子のリンクされたリストを含む。さらに、カーネル・スレッドは、キューに入れられたフレーム記述子について、キュー・マネージャを定期的にポーリングし、ハードウェア・コンポーネントからN個のフレーム記述子をデキューするように構成され、ここでNは、調整可能なパラメータである。カーネル空間でデキューされた各フレーム記述子に関連するコールバック機能は、フレーム記述子内のデータ・パケットのバッファ・ポインタを処理のためにバッファ記述子のカーネルからユーザにマップされたリングにエンキューするように構成される。最後に、システムは、コンテキスト・スイッチなしでメッセージング・モジュールにデータ・パケットを送るための手段を含むことができる。
さらに他の実施形態では、電気通信ネットワークの単一のSMPパーティション内でマルチセル・サポートを提供するためのシステムが開示される。システムは、典型的には、モデム・ボードと、複数のプロセッサ・コアを有するマルチコア・プロセッサとを含み、マルチコア・プロセッサは、複数のデータ・プレーン・コアに到着する重要でない割込みを無効にし、複数のコントロール・プレーン・コアに、重要でない割込みをルーティングするように構成される。
この例示的な実施形態の適用性のさらなる範囲は、以下に提供する詳細な説明から明白になるであろう。しかし、本発明の精神および範囲内の様々な変更形態および修正形態は当業者には明白になるため、詳細な説明および特定の例は、本発明の好適な実施形態を示しているが、例示を目的としてのみ与えられることを理解されたい。
本発明は、デバイスの様々な部品の構造、構成物、および組合せ、ならびに方法のステップにおいて存在するものであり、意図する目的は、以下により完全に記述され、特に特許請求の範囲において指摘され、添付の図面に示されるように達成される。
本発明の態様によるプラットフォーム・アーキテクチャの一実施形態を示す図である。 本発明の態様によるコア・リザベーション(core reservation)およびコア・アフィニティ(core affinity)を用いる例示的なアーキテクチャを示す図である。 コア抽象化レイヤを実装するための例示的なアーキテクチャを示す図である。 ハードウェアが、デフォルトの割込みモードではなくポーリング・モードで実行するように構成されている場合の入力データ・パケットに関するプロセス・フローを示すハイ・レベルな記述である。
ここで図を参照すると、図は、例示的な実施形態を示すことのみが目的であり、請求される主題を限定することが目的ではない。図1は、この記述された実施形態を組み込むことができるシステムの図である。
ここで図1を参照すると、例示的なプラットフォーム・アーキテクチャ100が示されている。このアーキテクチャは、概して、モデム・ボードで使用されるが、他の用途でも使用できることを理解されたい。本実施形態では、8つのコアすべてをその中に含む1つのパーティションが規定される。しかし、マルチコア・プロセッサ100は、任意の数のコアを有することができることを理解されたい。この実施形態では、したがって、コアのすべて(たとえば8つのコア)で実行される単一の対称型マルチプロセッシング(SMP)オペレーティング・システム(OS)インスタンス102を使用することが可能である。コントロール・プレーンおよびデータ・プレーンは、1つのOSインスタンス下にあるため、データ・プレーンに関する問題のためにコントロール・プレーンまでもが低下しないことを保証するために注意が全体として必要である。
この例では、マルチコア・プロセッサ100は、3つのセルにサービスを提供する(図に104、106、および108として示す)。各セルは、アップリンク(UL)スケジューラ(図に110、112、および114として示す)およびダウンリンク(DL)スケジューラ(図1に116、118、および120として示す)を必要とする。
Radio Link Control(RLC)レイヤは、LTEエア・インターフェースを横断して送信および受信されるパケット・フレームのエラーをセグメント化、連結、かつ修正するために使用されることが知られている。Radio Link Control/Medium Access Control(RLC/MAC)ソフトウェアが、GPRS(2.5G)ワイヤレス・スタックで使用される。これにより、移動局と基地局制御装置(BSC)との間で承認されたデータ転送および承認されていないデータ転送が提供される。したがって、アーキテクチャ100は、また、RLC/MACブロック122を含み、これは、移動局とネットワークとの間で使用されるエア・インターフェース上の基本的な伝達装置である。RLC/MACブロック122は、概して、データおよびRLC/MACシグナリングを運ぶために使用される。
マルチコア・プロセッサ100は、また、Operations, Administration, and Management(OA&M)モジュール124、および呼処理(または、CALLP)モジュール126を提供する。OA&Mは、概して、電気通信ネットワークのコンポーネントの運用、保守、管理、および維持に関連するプロセス、活動、ツール、規格などを記述するために使用される。CALLPモジュール126は、典型的には、呼処理活動の非リアル・タイムの態様を管理する。
さらに、マルチコア・プロセッサ100は、コア抽象化レイヤ(CAL)128を含み、これは、概して、レイヤ2(L2)のアプリケーション・ソフトウェアからコア固有の詳細を隠すものである。レイヤ2は、コンピュータ・ネットワーキングの7層の開放型システム間相互接続(OSI)モデルのデータ・リンク・レイヤである。データ・リンク・レイヤは、ワイド・エリア・ネットワークの隣接するネットワーク・ノード間、または同じローカル・エリア・ネットワーク・セグメントのノード間のデータを転送するプロトコル・レイヤである。データ・リンク・レイヤは、ネットワーク・エンティティ間でデータを転送するための機能的および手続き的な手段を提供し、物理レイヤで発生する可能性があるエラーを検出および場合によっては修正するための手段を提供することもできる。データ・リンク・プロトコルの例は、ローカル・エリア・ネットワーク(マルチノード)のイーサネット、ポイント・ツー・ポイント・プロトコル(PPP)、HDLC、およびポイント・ツー・ポイント(デュアルノード)接続のADCCPである。この場合、L2は、概して、LTEエア・インターフェースに必要なL2スケジューラ処理を指し、これは非常に厳格なリアル・タイム要件を有する。
移動通信装置とネットワーク・スイッチング・サブシステムとの間のトラフィックおよびシグナリングの処理を担当する、基地局のリアル・タイム性能のニーズを満たすために、PREEMPT RTパッチを用いるSMP Linuxなどのオペレーティング・システムを使用することができる。もちろん、他のオペレーティング・システムが使用されてもよいことを理解されたい。そのようなSMP構成で決定的な振る舞いを達成するために、システムは、好ましくは、非同期マルチプロセッシング(AMP:Asynchronous Multiprocessing)と同等のシステムの振る舞いを達成するためにコア・リザベーションおよびコア・アフィニティの構成物を用いる方法で実装される。たとえば、また、これはPREEMPT RTを用いるSMP Linuxから最高の性能を引き出すのにも望ましい。バッファ管理およびメッセージング・サービスなど、ロックレスのゼロ・コピー・サービスの使用は、また、PREEMPT RTを用いるSMP Linuxオペレーティング・システムの使用によって提起される可能性があるレイテンシ問題に対処するのを支援することができる。
図1に示すようなコア抽象化レイヤ(128)の主な機能の1つは、マルチコア・プラットフォームの全機能を利用する様々なサービスを用いて、L2処理など、ハイ・レベルなアプリケーションを提供することである。したがって、コア抽象化レイヤは、複数の目標を達成するように設計されている。第一に、より高いレベルのアプリケーション・ソフトウェア(すなわちL2ソフトウェア)からDPAAおよびマルチコア固有の実装を隠しながら、新しいデータ・パス・アクセラレーション・アーキテクチャ(DPAA:Data Path Acceleration Architecture)に基づくBED(バックプレーン・イーサネット・ドライバ)インターフェースをサポートする(DPAAは、負荷拡散およびリソースの共有など、マルチコア・ネットワーク処理を最適化するように設計され、ネットワーク・インターフェースおよびハードウェア・アクセラレータを含む)。第2に、それは、入力および出力の両方向において、ユーザ・プレーン・データに対する加速されたデータ経路を提供するためにP4080のDPAAハードウェア・コンポーネントを利用する。第3に、それは、構成変更に容易に適合するために可能な限りの柔軟性を提供する(すなわちコード変更を必要としない)。CAL構成の一例は、バッファ・プール、入力フレーム・キュー、および出力フレーム・キューのDPAAリソース構成である。
図1に示すように、本発明の実施形態は、1つのパーティションでプロセッサ・コアのすべてを使用する。シンプルなLinuxが難しいリアル・タイム処理のニーズをすべて満たすのは難しい場合があるので、PREEMPT RTパッチを用いるSMP Linuxなどのオペレーティング・システムが好まれる。また、オープン・ソース・オペレーティング・システムは、コストを削減するためにも使用される。システムは、さらにSMP構成内にAMPのようなシステムの振る舞いを規定するために、SMP Linuxのコア・アフィニティおよびCPU予約機能を組み込み、これにより、6セルまたは9セルの構成が可能になる。オペレーティング・システム・インスタンスは、非リアル・タイム・コア(コントロール・プレーンなど)とリアル・タイム・コア(データ・プレーンなど)との間で共有され、ロックが非リアル・タイムのスレッドおよびプロセスによって取られた場合、問題が生じる可能性がある。リアル・タイムのスレッドまたはプロセスは、データ・プレーン・コア(複数可)のロックの開放を待たなければならないため、ロックは、リアル・タイムのスレッドまたはプロセスの遅延を引き起こす可能性がある。転送制御プロトコル(TCP)、ユーザ・データグラム・プロトコル(UDP)などのトランスポート・レイヤ・プロトコルは、パケット・ヘッダでソースおよび宛先のポート番号を指定することが知られている。ポート番号は、16ビットの符号のない整数である。プロセスは、ポート番号およびIPアドレスに、その入力または出力チャネルのファイル記述子(ソケット)を関連付け(バインディングとして知られているプロセス)、ネットワークを介してデータを送信および受信する。オペレーティング・システムのネットワーク・ソフトウェアは、すべてのアプリケーション・ポートからネットワークに出力データを伝送し、パケットのIPアドレスとポート番号とを照合することによって、到着するネットワーク・パケットをプロセスに転送するタスクを有する。標準的なLinuxプロトコル・スタックは、ロックレスの実装を保証しないため、例示的な実施形態では、Linuxプロトコル・スタックの使用を回避しながら、TCP/UDP IPパケットを送信および受信するために、データ・プレーン・コアで実行されるリアル・タイム・プロセス(LTE L2スケジューラ)のロックレス・メッセージング方式を規定する。コントロール・プレーン・コアで実行されるOA&Mなど非リアル・タイム・プロセスは、通常の運用にLinuxプロトコル・スタックを使用し続ける。
概して、Linuxの一般公有使用許諾(GPL)問題を回避するために、LTE L2スケジューラは、ユーザ空間で運用される。このため、LTE L2スケジューラからTCP/UDP IPデータを送信および受信するために、データは、ユーザ−カーネル空間の境界を横断する必要がある。このステップは、典型的には、データ・コピーを必要とする。このように、あるメモリ位置から他の位置にデータをコピーするためにプロセッサ・パワーを消費することは、貴重なリソースを無駄にすることになる。したがって、(従来のLinuxプロトコル・スタックを使用するなど)コントロール・プレーンが通常の方法で動作することを可能にしながら、データ・プレーン・コアで実行されるリアル・タイムのスレッドおよびプロセスについて、効率的なロックレスのゼロ・コピーおよび非閉塞メッセージング・サービスを可能にする方法およびシステムを提供することが望ましい。
コントロール・プレーン(OA&Mおよび呼処理など、非リアル・タイムのプロセスおよびスレッド)およびデータ・プレーン(LTE L2スケジューラなど、リアル・タイムのプロセスおよびスレッド)の両方は、同じオペレーティング・システム・インスタンスを共有するため、これらの2種類の活動が実施されるコアの少なくとも一部を物理的に分離することを確認することは有用である。
この点で、図2は、コア・リザベーションおよびコア・アフィニティの構成物を用いるアーキテクチャを示している。この例では、8つのコア・プロセッサが使用される。コア0〜7は、図において参照番号202、204、206、208、210、212、214、および216と示されている。非リアル・タイムのスレッドまたはプロセスはすべて、コントロール・プレーンの活動専用のコアに結合される(218)。言い換えると、データ・プレーン活動専用のコアのグループ分け(図に220、222、224、および226として示す)は、「高速経路(fast path)」(データ経路)の実装またはL2処理に直接的に必要でないスレッドをホストまたは実行しない。「高速経路」は、「通常の経路」と比べてプログラムを通じた指示経路の長さが短い経路を記述する用語である。高速経路を効果的にするために、最も一般に発生するタスクを通常の経路よりも効率的に扱い、珍しいケース、めったに発生しない厄介なケース、エラー処理、および他の異常を扱うために通常の経路を残す必要がある。高速経路は、最適化の一形式である。高速経路ドライバによって使用される入力バッファ・プールは、システム全体の共有リソースの一例である。それらは、ユーザ・プレーン・パケットを受信することを専用としている。
コア・アフィニティおよびコア・リザベーションを達成するために、コントロール・プレーン・コアのグループ分け218へのデフォルトのアフィニティ・マスクが規定される。この方法で、特定のバインディングを割り当てられていないスレッドまたはプロセスは、デフォルトでコントロール・プレーン・コア(複数可)になる。コア抽象化レイヤ(CAL)220は、L2アプリケーション・ソフトウェアからコア固有の詳細を隠す。この構成では、1つのオペレーティング・システム・インスタンス222だけが実行されている。
所与のセルに対応するリアル・タイムのプロセスおよびスレッドは、コア・リザベーションおよびコア・アフィニティを介して指定されたコアに結合される。たとえば、セル1およびセル4のアップリンク・スケジューラ・スレッドは、コア2に結合され、ダウンリンク・スケジューラ・スレッドはコア3に結合される。したがって、図2は、SMP構成内のAMPのような構成を示している。この実施形態では、たとえば、OA&Mおよび呼管理プロセスなど、すべてのコントロール・プレーンのプロセスおよびスレッドは、コア0(202)で実行される。セルのリアル・タイムのプロセスおよびスレッドのそれぞれは、専用のコアで実行され、非リアル・タイムのプロセスまたはスレッドは実行されない。この方法で、(1)非リアル・タイム・スレッドは、処理時間不足になることはない。(2)非リアル・タイム・スレッドは、リアル・タイム・スレッドから貴重な処理時間を奪わず、厳密なリアル・タイム処理要件を有するデータ・コアの処理レイテンシ・スパイクを増加させない。
概して、Linuxなどオペレーティング・システムのシステム・メモリは、カーネル空間およびユーザ空間という、2つの個別の領域に分割できることが知られている。カーネル空間は、カーネル(すなわちオペレーティング・システムのコア)を動作(すなわち実行)させサービスを提供する場所である。
メモリは、概してRAM(ランダム・アクセス・メモリ)セルから構成され、そのコンテンツは非常に高速にアクセス(すなわち、読取りおよび書込み)できるが、一時的(すなわち、使用中、またはせいぜい電源がオンの間)にしか保存されない。その目的は、現在使用されているプログラムおよびデータを保持することである。
ユーザ空間は、ユーザ・プロセス(すなわちカーネル以外のすべて)が実行されるメモリ位置の組である。プロセスは、プログラムの実行インスタンスである。カーネルの役割の1つは、この空間内で個々のユーザ・プロセスを管理し、相互に干渉するのを防ぐことである。
カーネル空間は、システム・コールの使用を通じてのみユーザ・プロセスによってアクセスすることができる。システム・コールは、入出力(I/O)またはプロセス作成など、カーネルによって実行されるサービスのアクティブなプロセスによるUnixのようなオペレーティング・システムの要求である。CPUで次の順番を待っているプロセスとは対照的に、アクティブなプロセスは、CPUで現在進行しているプロセスである。I/Oは、CPUとの間、および周辺機器(ディスク・ドライブ、キーボード、マウス、およびプリンタなど)との間でデータを転送する任意のプログラム、操作、またはデバイスである。
したがって、カーネル空間は、カーネル、カーネル拡張、およびほとんどのデバイス・ドライバを実行するために厳密に予約される。これとは対照的に、ユーザ空間は、すべてのユーザ・モード・アプリケーションが機能するメモリ領域であり、必要な場合は、このメモリはスワップ・アウトすることができる。
ここで図3を参照すると、これらおよび他の目標を達成する例示的なアーキテクチャ300が示されている。この点で、コア抽象化レイヤ(CAL)301は、次を含むが、これらに限定されない、様々なモジュールをユーザ空間に含む:LTEネットワーク構成および任意の静的なパーシング、クラス分け、および配布(PCD:Parsing,Classification and Distribution)のルールをフレーム・マネージャ(FMan)330および332にロードし、1組の構成ファイルに基づいてCALフレームワークを設定する、コア抽象化レイヤ初期化(CALInit)モジュール302、コア抽象化レイヤ・バッファ(CALBuf)モジュール304、他のボード(すなわちeCCM)との間でユーザ・プレーン・データを送信および受信するために、L2ソフトウェアにメッセージング・サービスを提供する、コア抽象化レイヤ・メッセージング(CALMsg)モジュール306、適切なコアに入力フレームをルーティングするために各FMan(330および332)によって使用されるPCDルールおよび構成を提供する、コア抽象化レイヤ・パーシング、分類、および分配(CALPcdFmc)モジュール308、ならびにカーネル空間モジュールである、コア抽象化レイヤのDPAAドライバ(CALDpaaDriver)312においてトレースを有効および無効にするためのトレーシング能力を提供する、コア抽象化レイヤDPAAトレース(CALDpaaTrace)モジュール310。
さらに、CAL301は、また、バッファ・プール、入力フレーム・キュー、および出力フレーム・キューを管理するためのDPAAリソース構成ツール313を含むことができる。
アーキテクチャ300は、PREEMPT RTパッチを用いるSMP Linuxなど、適切なオペレーティング・システム314をさらに含む。オペレーティング・システム314は、次に、前述のCALDPaaドライバ312、少なくとも1つのフレーム・マネージャ(FMan)ドライバ316、少なくとも1つのバッファ・マネージャ(BMan)ドライバ318、および少なくとも1つのキュー・マネージャ(QMan)ドライバ320など、様々なドライバをサポートする。バッファ記述子321のリングは、CALMsgモジュール306などのユーザ空間コンポーネント、およびCALDpaaDriver312などのカーネル空間コンポーネントがアドレス問題を全く伴わず、またはデータ・コピーの必要なく、アクセスすることを可能にするためにマップされたカーネルからユーザ(K−U)への空間である。
図3に示すように、アーキテクチャ300は、複数のパワー・アーキテクチャ処理コアをキャッシュ、スタンド・アロンのキャッシュ、およびメモリ・サブシステムに接続するための拡張可能なオンチップ・ネットワークに適した相互接続アーキテクチャである、P4080のCoreNet構造322を適切に含むことができる。
P4080プロセッサは、DPAAの実装を含む。したがって、アーキテクチャ200は、P4080のDPAA224をさらに含むことができる。DPAA324は、負荷拡散およびリソースの共有などマルチコア・ネットワーク処理を最適化するように設計され、ネットワーク・インターフェースおよびハードウェア・アクセラレータを含む。図示するように、DPAA324は、概して、それぞれBMan326、QMan328、ならびに第1および第2のFman330および332など様々なマネージャを含む。
ワイヤレス多重アクセス通信システムにおいて、送信機および受信機は、複数レイヤの通信スタックを使用して通信できることが知られている。レイヤは、たとえば、物理レイヤ、Medium Access Control(MAC)レイヤ、Radio Link Control(RLC)レイヤ、プロトコル・レイヤ(たとえばパケット・データ・コンバージェンス・プロトコル(PDCP:packet data convergence protocol)レイヤ)、アプリケーション・レイヤなどを含むことができる。RLCレイヤは、PDCPレイヤからサービス・データ単位(SDU)を受信し、MACレイヤへの伝送のために、RLCプロトコル・データ・ユニット(PDU)へとSDUを連結またはセグメント化する。
したがって、CALBufモジュール304は、RLC SDU処理で使用するL2アプリケーションのためにロックレスのバッファ管理サービスを促進する。当技術分野で知られているように、非閉塞アルゴリズムにより、共有リソースを取り合うスレッドは、相互排除によって無期限にそれらの実行を延期しないことが保証される。システム全体の進行が保証されている場合、非閉塞アルゴリズムは、ロックレスである(またはロックがない)。CALBufモジュール304は、また、バッファ・プール統計データの照会をサポートすることができる(たとえば、プールの消耗状態、消耗数、プールの利用状態、プール割り当てエラー数など)。CALBufモジュール304は、概して、そのようなサービスを実装するためにCALDpaaDriver312とインターフェースする。CALBufモジュール304は、マルチコア環境で適切なシステム運用に望ましいロックレスのバッファ管理方式をさらに提供し、非リアル・タイム・プロセスによって取られたロックは、そのロックの開放を待っているリアル・タイム・プロセスのレイテンシ問題を引き起こす可能性がある。
CALMsgモジュール306は、他のボード(すなわちeCCM)との間でユーザ・プレーン・データを送信および受信するために、L2ソフトウェアにメッセージング・サービスを提供する。CALMsgモジュール306は、概して、DPAAを介して、ロックレスのゼロ・コピー・メッセージング・サービスを提供するためにCALDPAADriver312とインターフェースする。CALDpaaDriver312は、バッファ記述子321のリングの作成元である。この点で、CALDpaaDriver312は、バッファ記述子321のリング上に入力データ・フロー・パケットをエンキューする。CALMsg APIからの支援を受けるLTE L2スケジューラなどユーザ空間アプリケーションは、バッファ記述子321のリングの典型的な消費者である。ユーザ・アプリケーションは定期的に実行され、バッファ記述子321のリング上にエンキューされたパケットのそれぞれを処理する。この機能は、制限されていないレイテンシ遅延(latency delay)を回避するために、ロックなしのゼロ・データ・コピーの方法で、プロトコル・スタックを使用することなく、L2アプリケーション・ソフトウェアがTCP/UDP IPパケットを送信および受信することを可能にする。
CALDpaaDriver312は、CAL301のカーネル空間コンポーネントであり、BmanおよびQmanのAPIを使用してバッファ管理サービスおよびメッセージング・サービスを実施および提供するのを支援する。本明細書で使用する場合、API(またはアプリケーション・プログラミング・インターフェース)という用語は、ソフトウェア・プログラムによって実装されたインターフェースを指し、これにより他のソフトウェアと対話することが可能になる。これにより、ユーザ・インターフェースにより、ユーザとコンピュータとの間の対話処理が促進されるのに似た方法で、異なるソフトウェア・プログラム間の対話処理が促進される。APIは、ボキャブラリおよび呼び出し規約を決定するために、アプリケーション、ライブラリ、およびオペレーティング・システムによって実装され、それらのサービスにアクセスするために使用される。それは、ルーチン、データ構造、オブジェクト・クラス、および消費者とAPIの実装者との間で通信するために使用されるプロトコルの仕様を含むことができる。
CALDpaaDriver312は、概して、ユーザ・プレーン・データの分配;オープン、クローズ、初期化のためのi−o−control(ioctl:入出力制御)、バッファ管理、およびメッセージング・サービスなど、様々なファイル操作を介する他のCALモジュールにユーザ空間インターフェースの提供;カーネルからユーザ空間(K−U)へのバッファ・マッピングの実行;DPAAバッファ・プールならびに受信機および送信機の統計データの提供;ならびにリング・バッファを管理するためのサービスの実装に使用されるDPAAリソース(バッファ・プールおよびフレーム・キュー)を管理することを担当する。リング・バッファは、概して、CALのレイヤ2ソフトウェア・キューを表し、それらは、特定のレイヤ2ダウンリンク・スケジューラ・スレッドを宛先とするフレーム記述子(FD)を格納するために使用されることに注意されたい。CALMsgモジュール306は、リングからバッファ記述子を取り込むために、レイヤ2ダウンリンク・スケジューラのAPIを提供する。
CALBufモジュール304は、「高速経路」データ処理に排他的に使用されるバッファ管理サービスを提供する。CALBufモジュール304は、L2アプリケーションにユーザ空間APIを提供する。CALBufモジュール204は、CALDpaaドライバ312が作成するが、Bman326によって管理されるバッファに対して、ゼロ・コピーおよびロックレスのバッファ管理サービスを提供するために、CALDpaaDriver312と協働する。
CALDpaaDriver312の例外はあるが、上記のCALコンポーネントはすべて、概して、(ユーザ空間で実行される)プラットフォーム・ミドルウェアである。CALDpaaDriver312は、カーネル空間で実行されるカスタム・ドライバであり、CALユーザ空間ミドルウェアによって必要とされるサービス、具体的にはP4080のDPAAハードウェア・コンポーネントに依存するサービスを実装および提供するように設計されている。
この新しいアーキテクチャのコア抽象化レイヤの一部として、ロックレスのバッファ管理およびメッセージング・サービスを導入することで、コントロール・プレーンおよびデータ・プレーンの両方が同じOSインスタンスを共有する、SMP環境において制限されていないレイテンシ・スパイクを回避するのに役立つ。SMP環境では、1つのコアで非リアル・タイムのプロセスまたはスレッドによって取られるロックは(コントロール・プレーンで見つかるものなど)、別のコアでそのロックが開放されるのを待っているリアル・タイムのスレッドまたはプロセスにレイテンシ・スパイクを引き起こす可能性がある(データ・プレーンで見つかるものなど)。したがって、1つのパーティションを使用するマルチコア・プロセッサ・ベースのモデム・ボードの性能のニーズを満たすために、データ・プレーン・コアで高速のデータ経路にLinuxプロトコル・スタックを使用しないロックレスでゼロ・コピーの非閉塞メッセージング方式へのニーズがある。そのような方式がなければ、特にLTE L2スケジューラの処理に関して、システムは、システム全体を機能停止させる可能性がある制限されていないレイテンシ・スパイクの影響を受けやすい場合がある。
ゼロ・コピー・メッセージング方式を使用することで、データ・コピーの必要なく、カーネル空間のイーサネット・インターフェースに到着するパケットが、ユーザ空間のレイヤ2ダウンリンク・スケジューラなど、その宛先に到達することが可能になる。Linux GPLの課題のために、LTE L2スケジューラはユーザ空間で運用される。したがって、LTE L2スケジューラとの間でTCP/UDP IPデータを送信および受信するために、データは、ユーザ−カーネル空間の境界を横断する必要がある。そのような活動は、典型的には、データ・コピーを必要とする。このように、あるメモリ位置から他の位置にデータをコピーするためにプロセッサ・パワーを消費することは、貴重なリソースを無駄にすることになる。したがって、(従来のLinuxプロトコル・スタックを使用するなど)コントロール・プレーンが通常の方法で動作することを引き続き可能にしながら、データ・プレーン・コアで実行されるリアル・タイムのスレッドおよびプロセスについて、効率的なロックレスでゼロ・コピーの非閉塞メッセージング・サービスを可能にする方法およびシステムを提供することが望ましい。
高速データ経路の実装のためにLinuxプロトコル・スタックを回避することで、データ・プレーン・コアで実行されるLTE L2スケジューラは、代替のロックレス・メッセージング方式を使用して、TCPおよびUDPのIPパケットを送信および受信することができる。Linuxプロトコル・スタックを使用すると、LTE L2スケジューラの処理を機能停止させる可能性がある制限されていないレイテンシ・スパイクが生じる可能性がある。これは、Linuxプロトコル・スタックがロックレスとして設計されていないという事実によるものである。さらに、コントロール・プレーン・コアで実行されるOA&Mおよび呼処理のエンティティなど、プロトコル・スタックも非リアル・タイムのプロセスおよびスレッドによって使用されるため、リアル・タイムのプロセスおよびスレッドについて制限されていないレイテンシ・スパイクを引き起こす場合がある。プロトコル・スタックは、コントロール・プレーン・コアで実行しなければいけないため、OA&Mおよび呼処理など、非リアル・タイムのプロセスおよびスレッドは、プロトコル・スタックを使用し続ける。これらは、システムの振る舞いおよび/または運用において故障なく、時々発生する制限されていないレイテンシ・スパイクに容易に耐えられるためである。
図4は、入力データ・パケット・フローについてデータ・プレーン・コアでの割込みを無効にする例示的な方法を示している。入力データ・フロー・パケットは、カーネル・スレッドによって扱われ、これは、各割込みに関連するコンテキスト・スイッチ処理のオーバヘッドを減らすために、パケットについてハードウェアをポーリングする。
最初に、ハードウェア(たとえば、QMan328)は、デフォルトの「割込み」モードではなく、「ポーリング」モードで実行するように構成される(410)。QMan328は、最初に、すなわちプロセッサが再起動されるときにソフトウェアの初期化の間に、ポーリング・モードで実行するように構成することができる。デフォルトの割込みモードについては、参照によりその開示が本明細書に組み込まれている、たとえば、2010年11月12日に出願した米国特許出願第12/945,146に、より詳細に記述されていることに注意されたい。
データ・パケットは、外部イーサネット・インターフェースに継続的に到着するため、FMan330などのフレーム・マネージャは、(1)BMan326などのバッファ・マネージャからバッファを取得すべきであり、(2)バッファ内にパケットをコピーすべきであり、(3)フレーム・キュー(FQ)にパケットをエンキューすべきである。フレーム・キューは、QMan328などキュー・マネージャによって扱われるべきフレーム記述子のハードウェア・リンクされたリストである(420)。本明細書で使用する場合、「リンクされたリスト」は、データ・レコードの連続から構成されるデータ構造を指し、各レコードに、連続内の次のレコードへの参照(すなわち「リンク」)を含むフィールドがある。この場合、各フレーム記述子は、データ・パケットを保持するバッファへのポインタを含む。QMan328は、システムに対して作成されたフレーム・キューをすべて管理する。FMan330は、到着する各データ・パケットのIPアドレスを検査するために、CALモジュール301によって規定されたPCDルール(たとえば、入力フレーム・キュー・マッピングへのIPアドレス)を使用する。次に、Fman330は、データ・パケットを保持するバッファへのポインタを含むフレーム記述子を作成し、適切なフレーム・キューにそれをエンキューする。
パケットがハードウェア・キューの先頭に到達するまで、QMan328はその内部ハードウェア・キューにパケットを押し入れる(430)。重要なことに、ハードウェアは、データ・プレーン・コアへのポータル割込み(portal interrupt)を生成しない。
カーネル・スレッドは、概して、この実施形態においてポーリング・モードで実行するように構成された、QMan328にサービスを提供するために、CALDpaaDriver312の一部として作成される(440)。
CALDpaaDriver312のカーネル・スレッドは、(定期的な間隔ΔTで)定期的にウェイクアップし、QMan APIを呼び出して、ハードウェア・キューの先頭に到達したキューに入れられた任意のフレーム記述子についてポーリングする(450)。
次に、カーネル・スレッドは、QMan328から「N」個のエントリ(フレーム記述子)をデキューする(すなわち、キューからアイテムを取り除く)(460)。ただし、「N」は、調整可能なパラメータを表している(たとえば、N=100)。特に、Nは、カーネル・スレッドが「ウェイクアップ」するたびにサービスを提供するQMan328からのフレーム記述子エントリの数を示している。
次に、サービスが提供されるフレーム記述子があるかどうかに関して決定が行われる(470)。ない場合は、カーネル・スレッドはスリープに戻る(490)。
そうでない場合、デキューされた各フレーム記述子エントリに関連する登録済みのコールバック機能が実行される。コールバック機能は、コンテキスト・スイッチなし、かつロックレスのゼロ・コピーの方法で、CALMsgモジュール306にパケットを送る。これは、たとえば、バッファ記述子内にフレーム記述子からデータ・パケットのバッファ・ポインタをコピーし、それをユーザ空間レイヤ2ダウンリンク・スケジューラによって最終的に消費されるバッファ記述子321の適切なK−Uマップされたリングにエンキューすることによって、達成することができる(490)。
割込みモードでは、各入力データ・パケットの到着は、典型的には、データ・プレーン・コアへの割込みへとつながる。最大15のデータ・パケットが1つの割込みサービス・ルーチン(ISR)で扱われる、割込み結合(interrupt coalescing)モードでも、ユーザ−カーネル−ユーザ(user−to−kernel−to−user)空間のコンテキスト・スイッチの処理オーバヘッドはかなり際立っている。この理由は、4G LTEのワイヤレス・システムは、大人数のユーザをサポートし、それぞれが高いデータ速度を保持することができるからである(約2MBits/秒の平均データ速度)。しかし、QMan328が、デフォルトの割込みモードではなくポーリング・モードで実行されるように構成することで、複数の恩恵が得られる。たとえば、上に概説した方式は、入力データ・フローについて、特定のデータ・コアに対して生成される割込みの数を大幅に減らす。これにより、データ・プレーン・コアに発生するコンテキスト・スイッチングの大きな減少につながる(ユーザ−カーネル−ユーザ空間)。これは、データ・プレーン・コアの処理オーバヘッドの大きな減少につながり、LTEシステムのリアル・タイム性能が拡張される。
さらに、ソフトウェアDMA割込みなど重要でない割込みは、リアル・タイムのプロセスまたはスレッドだけを実行することを専用とするデータ・プレーン・コアで無効化され、その代わりに、コントロール・プレーン・コアに発生するように、これらの割込みをルーティングする。これは、カーネル空間で実行される割込みサービス・ルーチン(ISR)へのLTE L2スケジューラなど、ユーザ空間アプリケーションからの不必要なコンテキスト・スイッチが、これらの割込みの結果としてデータ・プレーン・コアに発生しないことを保証するのを支援する。各コンテキスト・スイッチは、かなりの関連している処理オーバヘッドを含む。この不必要な処理オーバヘッドを排除することによって、LTE L2スケジューラなど、リアル・タイムのプロセスおよびスレッドについて、より多くの処理時間およびパワーがデータ・プレーン・コアに与えられる。
上記の様々な方法のステップは、プログラムされたコンピュータによって実行できることを当業者なら容易に理解するであろう。本明細書において、一部の実施形態は、たとえば、デジタル・データ記憶媒体など、プログラム記憶装置を包含するようにも意図されており、プログラム記憶装置は、読取り可能な機械またはコンピュータであり、機械で実行可能なまたはコンピュータで実行可能なプログラム命令をエンコードし、前述の命令は、上記方法のステップの一部またはすべてを実行する。プログラム記憶装置は、たとえば、デジタル・メモリ、磁気ディスクや磁気テープなどの磁気記憶媒体、ハードドライブ、または光学的に読取り可能なデジタル・データ記憶媒体などであってもよい。また、実施形態は、上記方法の上述したステップを実行するようにプログラムされたコンピュータを包含することを意図するものである。
上記の記述は、単に本発明の特定の実施形態の開示を提供するものであり、それに限定することを目的とすることを意図するものではない。したがって、本発明は上記の実施形態だけに限定されない。むしろ、当業者なら本発明の範囲に入る代替の実施形態を想到し得ることが認識される。

Claims (4)

  1. モデム・ボードにおいてマルチコア・プロセッサを用いてワイヤレス・ネットワークにおけるデータ・パケットを処理する、コンピュータ実装方法であって、
    ポーリング・モードでキュー・マネージャを実行している間、入力データ・パケットのバッファを取得し、フレーム・キューに前記データ・パケットをエンキューするステップであって、前記フレーム・キューは、前記キュー・マネージャによって扱われるべきフレーム記述子のリンクされたリストを含む、ステップと、
    キューに入れられたフレーム記述子について、前記キュー・マネージャを定期的にポーリングするためにカーネル・スレッドを使用するステップと、
    前記ハードウェア・コンポーネントからN個のフレーム記述子をデキューするステップであって、ここでNは、調整可能なパラメータである、ステップと、
    カーネル空間でデキューされた各フレーム記述子に関連するコールバック機能を実行するステップであって、前記コールバック機能は、前記フレーム記述子内のデータ・パケットのバッファ・ポインタを処理のためにバッファ記述子のカーネルからユーザへのマップされたリングにエンキューする、ステップと、
    コンテキスト・スイッチなしでメッセージング・モジュールに前記データ・パケットを送るステップと
    を含み、前記マルチコア・プロセッサは、データ・プレーン機能を実行するように構成された1つまたは複数のデータ・プレーン・コアと、コントロール・プレーン機能を実行するように構成された1つまたは複数のコントロール・プレーン・コアとを含み、前記方法は、前記データ・プレーン・コアで受信された重要でない割込みを無効にし、
    さらに、コントロール・プレーン・コアに前記重要でない割込みをルーティングするステップを含む方法。
  2. 前記キュー・マネージャは、ハードウェア・コンポーネントを含み、ソフトウェア初期化の間にポーリング・モードで実行するように構成されている請求項1に記載の方法。
  3. バッファ・マネージャは、前記入力データ・パケットの前記バッファを提供する請求項1に記載の方法。
  4. 前記マルチコア・プロセッサは、すべての非リアル・タイムのスレッドおよびプロセスが、すべてのコントロール・プレーン活動専用のプロセッサ・コアに結合され、すべてのデータ・プレーン活動専用のプロセッサ・コアは、データ経路の実装またはレイヤ2処理に直接的に必要ないスレッドをホストまたは実行しないように構成されている請求項1に記載の方法。
JP2013541997A 2010-11-29 2011-10-27 単一のモデム・ボードにおける改善されたマルチセル・サポートのための方法およびシステム Expired - Fee Related JP5726320B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/955,202 US8861434B2 (en) 2010-11-29 2010-11-29 Method and system for improved multi-cell support on a single modem board
US12/955,202 2010-11-29
PCT/US2011/057965 WO2012074632A1 (en) 2010-11-29 2011-10-27 A method and system for improved multi-cell support on a single modem board

Publications (2)

Publication Number Publication Date
JP2014506346A JP2014506346A (ja) 2014-03-13
JP5726320B2 true JP5726320B2 (ja) 2015-05-27

Family

ID=44947216

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013541997A Expired - Fee Related JP5726320B2 (ja) 2010-11-29 2011-10-27 単一のモデム・ボードにおける改善されたマルチセル・サポートのための方法およびシステム

Country Status (7)

Country Link
US (1) US8861434B2 (ja)
EP (2) EP2647163B1 (ja)
JP (1) JP5726320B2 (ja)
KR (1) KR101502808B1 (ja)
CN (1) CN103348641B (ja)
TW (1) TWI479850B (ja)
WO (1) WO2012074632A1 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110054415A (ko) * 2009-11-17 2011-05-25 삼성전자주식회사 화면 표시 방법 및 장치
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
US8737417B2 (en) 2010-11-12 2014-05-27 Alcatel Lucent Lock-less and zero copy messaging 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
US9357482B2 (en) 2011-07-13 2016-05-31 Alcatel Lucent Method and system for dynamic power control for base stations
US9329912B2 (en) * 2012-07-13 2016-05-03 Freescale Semiconductor, Inc. Core-affine processing on symmetric multiprocessing systems
US9329900B2 (en) 2012-12-28 2016-05-03 Intel Corporation Hetergeneous processor apparatus and method
US9639372B2 (en) 2012-12-28 2017-05-02 Intel Corporation Apparatus and method for heterogeneous processors mapping to virtual cores
US9672046B2 (en) 2012-12-28 2017-06-06 Intel Corporation Apparatus and method for intelligently powering heterogeneous processor components
US9448829B2 (en) * 2012-12-28 2016-09-20 Intel Corporation Hetergeneous processor apparatus and method
US9727345B2 (en) 2013-03-15 2017-08-08 Intel Corporation Method for booting a heterogeneous system and presenting a symmetric core view
US9313148B2 (en) * 2013-04-26 2016-04-12 Mediatek Inc. Output queue of multi-plane network device and related method of managing output queue having multiple packet linked lists
CN104640210B (zh) * 2013-11-15 2019-04-30 深圳市中兴微电子技术有限公司 一种基带数据存储控制方法和装置
CN104050036B (zh) * 2014-05-29 2018-04-27 汉柏科技有限公司 多核处理器网络设备的控制系统及方法
US9489242B2 (en) 2014-09-30 2016-11-08 Telefonaktiebolaget L M Ericsson (Publ) Algorithm for faster convergence through affinity override
US9569264B2 (en) * 2015-03-17 2017-02-14 Freescale Semiconductor,Inc. Multi-core system for processing data packets
CN105282017B (zh) * 2015-11-24 2018-07-06 无锡江南计算技术研究所 一种基于扁平化模型的通信实现方法
CN105938438B (zh) * 2015-11-24 2022-07-01 杭州迪普科技股份有限公司 一种数据报文处理方法及装置
US9872337B2 (en) * 2015-12-09 2018-01-16 Google Llc Backhaul-optimized beamforming in IEEE 802.11ad networks
US10003554B1 (en) * 2015-12-22 2018-06-19 Amazon Technologies, Inc. Assisted sideband traffic management
CN105718320B (zh) 2016-01-18 2020-11-06 华为技术有限公司 一种时钟任务处理方法、装置及设备
US10719063B2 (en) 2016-10-06 2020-07-21 Microsoft Technology Licensing, Llc Real-time equipment control
US11283723B2 (en) * 2018-09-27 2022-03-22 Intel Corporation Technologies for managing single-producer and single consumer rings
CN115460024B (zh) * 2022-09-02 2024-05-28 鹏城实验室 网卡驱动优化方法、装置、设备及存储介质

Family Cites Families (100)

* 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
US6236655B1 (en) 1995-07-19 2001-05-22 Fujitsu Network Communications, Inc. Port and link identification
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
WO2001063416A1 (en) 2000-02-24 2001-08-30 Bops Incorporated 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
ES2333519T3 (es) * 2002-06-19 2010-02-23 Telefonaktiebolaget L M Ericsson Una arquitectura de controlador de dispositivo de red.
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
RU2005115088A (ru) * 2002-11-18 2006-01-20 Арм Лимитед (Gb) Управление доступом устройства к памяти
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
HUE049792T2 (hu) 2003-08-25 2020-10-28 Signal Trust For Wireless Innovation Javított uplink mûködés puha hívásátadásnál
JP4287429B2 (ja) 2003-10-15 2009-07-01 株式会社エヌ・ティ・ティ・ドコモ 階層型通信シナリオにおける複数の通信層の動作を制御する装置および方法
EP1673923B1 (en) 2003-10-15 2009-05-13 NTT DoCoMo, Inc. Apparatus and method for controlling an operation of a plurality of communication layers
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
JP2007534241A (ja) 2004-04-22 2007-11-22 ユーティー斯▲達▼康通▲訊▼有限公司 リソースを集中的に制御する分散無線システム
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
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)
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)
CN101106490B (zh) 2006-07-11 2012-01-04 华为技术有限公司 预置流分类器的建立方法及其系统和用户终端
CN101491059B (zh) 2006-07-20 2013-02-13 高通股份有限公司 用于在包括gps的实用引擎与应用程序之间共享网络连接的方法和设备
US7873964B2 (en) 2006-10-30 2011-01-18 Liquid Computing Corporation Kernel functions for inter-processor communications in high performance multi-processor systems
JP2008129767A (ja) * 2006-11-20 2008-06-05 Mitsubishi Electric Corp ネットワーク装置
US8059532B2 (en) 2007-06-21 2011-11-15 Packeteer, Inc. Data and control plane architecture including server-side triggered flow policy mechanism
US8279865B2 (en) 2007-04-20 2012-10-02 John Giacomoni Efficient pipeline parallelism using frame shared memory
CN101339523B (zh) * 2007-07-05 2011-09-21 国际商业机器公司 多处理器环境中的流水线处理方法和设备
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
WO2009039638A1 (en) 2007-09-28 2009-04-02 Pin-Han Ho A robust system and method for wireless data multicasting using superposition modulation
US8527622B2 (en) 2007-10-12 2013-09-03 Sap Ag Fault tolerance framework for networks of nodes
EP2220884B1 (en) 2007-12-17 2019-08-14 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
JP5400886B2 (ja) 2008-08-13 2014-01-29 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. マルチコアメモリモジュール内のパワーダウンモードの動的利用
US8271996B1 (en) 2008-09-29 2012-09-18 Emc Corporation Event queues
US20100080116A1 (en) 2008-09-29 2010-04-01 Qualcomm Incorporated Re-establishing a radio resource control connection with a non-prepared base station
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 삼성전자주식회사 광대역 무선통신 망에서 서비스 플로우 변경 시 오류 처리를 위한 장치 및 방법
CN101770401B (zh) * 2008-12-30 2013-09-18 北京天融信网络安全技术有限公司 一种建立多核运行环境的方法
JP5222371B2 (ja) 2009-01-20 2013-06-26 シャープ株式会社 移動局装置、基地局装置、無線リンク同期判定方法
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
WO2011142733A1 (en) 2010-05-11 2011-11-17 Thomson Licensing A configurable computing architecture
EP2596430B1 (en) 2010-07-21 2019-06-19 Sqream Technologies Ltd A 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
US8737417B2 (en) 2010-11-12 2014-05-27 Alcatel Lucent Lock-less and zero copy messaging 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
KR20120062174A (ko) * 2010-12-06 2012-06-14 한국전자통신연구원 다양한 특성의 패킷을 동적으로 처리하는 패킷 처리장치 및 방법
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

Also Published As

Publication number Publication date
JP2014506346A (ja) 2014-03-13
WO2012074632A1 (en) 2012-06-07
EP2647163B1 (en) 2015-01-14
CN103348641B (zh) 2016-11-23
TW201238295A (en) 2012-09-16
US20120134320A1 (en) 2012-05-31
EP2814214B1 (en) 2018-01-17
EP2814214A1 (en) 2014-12-17
US8861434B2 (en) 2014-10-14
KR101502808B1 (ko) 2015-03-24
TWI479850B (zh) 2015-04-01
KR20130099185A (ko) 2013-09-05
CN103348641A (zh) 2013-10-09
EP2647163A1 (en) 2013-10-09

Similar Documents

Publication Publication Date Title
JP5726320B2 (ja) 単一のモデム・ボードにおける改善されたマルチセル・サポートのための方法およびシステム
EP2638467B1 (en) Lock-less and zero copy messaging scheme for telecommunication network applications
US8504744B2 (en) Lock-less buffer management scheme for telecommunication network applications
US8543729B2 (en) Virtualised receive side scaling
JP6188093B2 (ja) 通信トラフィック処理アーキテクチャおよび方法
KR101636308B1 (ko) 전기 통신 네트워크 애플리케이션들을 위한 코어 추상화 계층
US10015719B2 (en) Downlink packet routing in a system-on-a-chip base station architecture
Kundu et al. Hardware acceleration for open radio access networks: A contemporary overview
EP4199469A1 (en) Method and apparatus to assign and check anti-replay sequence numbers using load balancing

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140814

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20141114

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20141121

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20141212

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20141219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150303

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150331

R150 Certificate of patent or registration of utility model

Ref document number: 5726320

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees