(57)【要約】  通信ネットワークにおいてマルチ・セル・サポートを提供するための装置が記載される。本装置は、モデム・ボードと、複数のプロセッサ・コアが、そのモデム・ボードに取り付けられているマルチ・コア・プロセッサとを含んでいる。単一のパーティションの中に含まれるプロセッサ・コアのすべてを用いて単一のパーティションが画定される。単一のパーティションを使用して、すべての制御プレーン機能と、すべてのデータ・プレーン機能とを実行する。一般的に、マルチ・コア・プロセッサは、単一のパーティションにおいてプロセッサ・コア上で実行されるアプリケーション・ソフトウェアから任意のコア特有の詳細を隠すコア抽象化レイヤを含むように、また各セルが対応するアップリンク・スケジューラおよび対応するダウンリンク・スケジューラを有する少なくとも３つのセルを通信ネットワークにおいてサービス提供するように構成されている。この構成においては、実行される１つのＯＳインスタンスだけが存在している（潜在的なコスト節約）のでハイパーバイザを使用する必要がない。
2013541241.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークにおいて、マルチ・セル・サポートを提供するための装置であって、
モデム・ボードと、
複数のプロセッサ・コアが前記モデム・ボードに取り付けられており、またすべての非リアル・タイムのスレッドおよびプロセスが、すべての制御プレーン・アクティビティのために専用になっているプロセッサ・コアに結び付けられており、またすべてのデータ・プレーン・アクティビティのために専用になっているプロセッサ・コアが、データ・パスの実装またはレイヤ２処理のために直接に必要とされないどのようなスレッドもホストしない、または実行しないように構成されたマルチ・コア・プロセッサと
を備える装置。
【請求項２】
前記マルチ・コア・プロセッサが、前記プロセッサ・コア上で実行されるアプリケーション・ソフトウェアから任意のコア特有の詳細を隠すコア抽象化レイヤを含むように構成されている、請求項１に記載の装置。
【請求項３】
前記マルチ・コア・プロセッサが、制御プレーン・コアに対するデフォルト親和性マスクを含むように構成されている、請求項１に記載の装置。
【請求項４】
各セルが対応するアップリンク・スケジューラおよび対応するダウンリンク・スケジューラを有する３つのセルを、前記通信ネットワークにおいて前記マルチ・コア・プロセッサがサービス提供するように構成されている、請求項１に記載の装置。
【請求項５】
前記マルチ・コア・プロセッサが、８つのプロセッサ・コアを有する、請求項１に記載の装置。
【請求項６】
単一のオペレーティング・システム・インスタンスが、前記コアのすべてで実行され、制御プレーン機能とデータ・プレーン機能の組合せをサポートする、請求項１に記載の装置。
【請求項７】
通信ネットワークにおいてマルチ・セル・サポートを提供するための装置であって、
モデム・ボードと、
複数のプロセッサ・コアが、前記モデム・ボードに取り付けられているマルチ・コア・プロセッサとを備え、
単一のパーティションに含まれる前記プロセッサ・コアのすべてを用いて単一のパーティションが画定され、また前記単一のパーティションを使用して、すべての制御プレーン機能およびすべてのデータ・プレーン機能を実行する、装置。
【請求項８】
前記マルチ・コア・プロセッサが、前記単一のパーティションにおいて前記プロセッサ・コア上で実行されるアプリケーション・ソフトウェアから任意のコア特有の詳細を隠すコア抽象化レイヤを含むように構成されている、請求項７に記載の装置。
【請求項９】
各セルが対応するアップリンク・スケジューラおよび対応するダウンリンク・スケジューラを有する少なくとも３つのセルを、前記通信ネットワークにおいて前記マルチ・コア・プロセッサがサービス提供するように構成されている、請求項７に記載の装置。
【請求項１０】
単一のオペレーティング・システム・インスタンスが、前記コアのすべてで実行され、制御プレーン機能とデータ・プレーン機能の組合せをサポートする、請求項７に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチ・コア・プロセッサと、単一パーティション対称型マルチプロセッシング（ｓｙｍｍｅｔｒｉｃ  ｍｕｌｔｉｐｒｏｃｅｓｓｉｎｇ）（ＳＭＰ）構成とを使用した単一のモデム・ボード上でマルチ・セル・サポート（ｍｕｌｔｉ−ｃｅｌｌ  ｓｕｐｐｏｒｔ）する装置に関する。本発明は、とりわけ移動体通信の技術を対象としており、またそれゆえに移動体通信の技術に対する特定の参照を用いて説明されることになるが、他の分野および用途においても本発明が有用性を有することができることが理解されるであろう。
【背景技術】
【０００２】
背景として、ＬＴＥ（ロング・ターム・エボリューション（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ））は、将来の通信ネットワークの要求に対処するようにＵＭＴＳ（ユニバーサル・モバイル・テレコミュニケーション・システム（Ｕｎｉｖｅｒｓａｌ  Ｍｏｂｉｌｅ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｙｓｔｅｍ））携帯電話規格を改善することを目指して急速に発展している３ＧＰＰプロジェクトである。ＬＴＥは、ワイヤレス・ネットワークの効率／帯域幅を改善し、コストを低減し、サービス体験を向上させる。特に、ＬＴＥは、新しいスペクトルの機会を利用し、また他のオープンな規格とのより良い統合を提供する。ＬＴＥは、ＥＰＳ（進化型パケット・システム（Ｅｖｏｌｖｅｄ  Ｐａｃｋｅｔ  Ｓｙｓｔｅｍ）、進化型パケット・コア（Ｅｖｏｌｖｅｄ  Ｐａｃｋｅｔ  Ｃｏｒｅ）とも呼ばれる）と一緒にＬＴＥ  ＲＡＮ（無線アクセス・ネットワーク（Ｒａｄｉｏ  Ａｃｃｅｓｓ  Ｎｅｔｗｏｒｋ））（Ｅ−ＵＴＲＡＮとしても知られている）から構成される。
【０００３】
通信システムは、一般に２つの主要な機能、すなわちデータ・プレーンと制御プレーンに分割される。以前のＬＴＥ製品においては、少なくとも２つのプロセッサがモデム・ボード上で使用されており、すなわち一方のプロセッサは、制御プレーン機能（非リアル・タイム、例えば、運用、運営、および管理（またはＯＡ＆Ｍ）、ならびにコール処理管理に関連した機能）をサポートするものであり、また他方のプロセッサは、データ・プレーン機能（リアル・タイム、例えば、ＬＴＥレイヤ２処理）を終了させ、またサポートするものである。制御プレーンと、データ・プレーンとは共に、異なるオペレーティング・システム（ＯＳ）インスタンスを、例えば、制御プレーンについてのリナックス（Ｌｉｎｕｘ）と、データ・プレーン・コアについてのｖＸＷｏｒｋｓ（カリフォルニア州、アラメダ市のウィンド・リバー・システムズ（Ｗｉｎｄ  Ｒｉｖｅｒ  Ｓｙｓｔｅｍｓ）によって作られ、また販売される）などのハード・リアル・タイムＯＳとを使用していた。一般的に、１つのモデム・ボードは、１つのセクタまたはセルをサポートする。そのため、マルチ・セル（例えば、３−セルまたは６−セル）構成をサポートするためには、セルの数と同数のモデム・ボードを提供することが必要である。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、上で言及した問題および他のものを解決する、新規で改善された装置を企図している。
【課題を解決するための手段】
【０００５】
次世代のＬＴＥモデム・ボードでは、８つのコアを有するプロセッサが、使用されている。これにより、システムは、単一のモデム・ボードを使用してマルチ・セル構成（すなわち、６つのセルまでについてのサポート）をサポートすることができるようになる。これはまた、制御プレーンおよびデータ・プレーンをサポートするために、モデム・ボード上の２つの別個のプロセッサを使用する必要をなくすことにもなる。このことによって、ボード上のデバイスの数をかなり低減させる。さらに、とりわけ、２つのプロセッサ用に別々のＤＤＲメモリ・デバイスを有することが、必要でなくなる。マルチ・セル構成をサポートするために、より少ない数のモデム・ボードが基地局にプラグインされることが必要になるにすぎないので、この新規の設計アプローチは、コストを低減させることになる。この解決方法の別の利点は、最大６つのモデム・ボードを使用することとは対照的に１つのモデム・ボードを使用する基地局では、基地局不動産専有面積が低減し、かつ全体的な消費電力がより少なくなることである。
【０００６】
本発明の一実施形態において、通信ネットワークにおいてマルチ・セル・サポートを提供するための装置が提供される。本装置は、モデム・ボードと、複数のプロセッサ・コアがそのモデム・ボードに取り付けられているマルチ・コア・プロセッサとを含んでいる。少なくとも１つのプロセッサ・コアを使用して、すべての制御プレーン機能を実行し、また残りのプロセッサ・コアを使用して、すべてのデータ・プレーン機能を実行する。オプションとして、マルチ・コア・プロセッサは、プロセッサ・コア上で実行されるアプリケーション・ソフトウェアから任意のコア特有の詳細を隠すコア抽象化レイヤを含むように構成することができる。さらに、マルチ・コア・プロセッサは、障害分離のためのスーパバイザ・ソフトウェア・エンティティを含むように構成することができる。さらに、マルチ・コア・プロセッサは、各セルが対応するアップリンク・スケジューラおよび対応するダウンリンク・スケジューラを有する少なくとも３つのセルを通信ネットワークにおいてサービス提供する（ｓｅｒｖｅ）ように構成することができる。マルチ・コア・プロセッサは、８つのコアを有することができ、また第１のプロセッサ・コアは、第１のオペレーティング・システムを実行することができ、また残りのプロセッサ・コアは、第２のオペレーティング・システムの個々のインスタンスを、実行することができる。
【０００７】
本発明の別の実施形態において、通信ネットワークにおいてマルチ・セル・サポートを提供するための装置が提供される。本装置は、モデム・ボードと、複数のプロセッサ・コアが、そのモデム・ボードに取り付けられているマルチ・コア・プロセッサとを含んでいる。単一のパーティションに含まれるプロセッサ・コアのすべてを用いて、単一のパーティションが画定される。単一のパーティションを使用して、すべての制御プレーン機能と、すべてのデータ・プレーン機能とを実行する。オプションとして、マルチ・コア・プロセッサは、単一のパーティションにおいてプロセッサ・コア上で実行されるアプリケーション・ソフトウェアから任意のコア特有の詳細を隠すコア抽象化レイヤを含むように構成することができる。さらに、マルチ・コア・プロセッサは、各セルが対応するアップリンク・スケジューラおよび対応するダウンリンク・スケジューラを有する少なくとも３つのセルを通信ネットワークにおいてサービス提供するように構成することができる。マルチ・コア・プロセッサは、８つのプロセッサ・コアを備えることができ、また単一のオペレーティング・システム・インスタンスは、コアのすべてで実行することができる。単一のオペレーティング・システム・インスタンスは、ＰＲＥＥＥＭＰＴ＿ＲＴを有するＳＭＰリナックス（ＳＭＰ  Ｌｉｎｕｘ）を備えることができる。
【０００８】
本発明のさらに別の実施形態において、通信ネットワークにおいてコア親和性（ｃｏｒｅ  ａｆｆｉｎｉｔｙ）とコア予約とを有するマルチ・セル・サポートを提供するための装置が提供される。本装置は、モデム・ボードと、複数のプロセッサ・コアがそのモデム・ボードに取り付けられており、またすべての非リアル・タイムのスレッドとプロセスとが、すべての制御プレーン・アクティビティのために専用にされているプロセッサ・コアに結び付けられるように構成されたマルチ・コア・プロセッサとを含んでいる。すべてのデータ・プレーン・アクティビティのために専用にされているプロセッサ・コアは、データ・パスの実装またはレイヤ２処理のために直接に必要とされてはいないどのようなスレッドもホストし、または実行することにはならない。オプションとして、マルチ・コア・プロセッサは、プロセッサ・コア上で実行されるアプリケーション・ソフトウェアから任意のコア特有の詳細を隠す制御プレーン・コアまたはコア抽象化レイヤに対するデフォルト親和性マスク（ｄｅｆａｕｌｔ  ａｆｆｉｎｉｔｙ  ｍａｓｋ）を含むように構成することができる。単一のオペレーティング・システム・インスタンスは、コアのすべてで実行することができる。
【０００９】
本発明の適用可能性についてのさらなる範囲が、下記で提供される詳細な説明から明らかになるであろう。しかしながら、様々な変更および修正が同等形態の範囲を逸脱することなく当業者には明らかになるので、本発明についての好ましい実施形態を示しているが、詳細な説明および特定の例は、例証としてのみ与えられることを理解されたい。
【００１０】
本発明は、デバイスの様々な部分および方法のステップの構造、構成、および組合せの中に存在し、本発明によって企図される目的は、以下でさらに十分に説明され、特に特許請求の範囲において指摘され、また添付図面において示されるように達成される。
【図面の簡単な説明】
【００１１】
【図１】本発明の態様による、プラットフォーム・ソフトウェア・アーキテクチャについての一実施形態を示す図である。
【図２】本発明の態様による、プラットフォーム・ソフトウェア・アーキテクチャについての別の実施形態を示す図である。
【図３】本発明の態様による、コア予約／コア親和性を有する例示のアーキテクチャを示す図である。
【発明を実施するための形態】
【００１２】
図面の提示は、例示の実施形態だけを示す目的のためであり、また特許請求される主題を限定する目的のためではないが、ここで図面を参照すると、図１は、現在説明されている実施形態が組み込まれ得る例示のシステムについての図を提供するものである。
【００１３】
スケーラビリティは、このマルチ・セル・ソフトウェア・アーキテクチャについての主要な設計の考慮すべき事項である。それゆえに、主要なソフトウェアの再構成を必要とせずに、簡単に拡大または縮小することができる構成が必要とされる。マルチ・コア・プロセッサを用いて、システム構成についての、すなわち監視された非同期型マルチプロセッシング（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｍｕｌｔｉｐｒｏｃｅｓｓｉｎｇ）（ＡＭＰ）構成（図１）と、ＳＭＰ構成（図２）とについての、少なくとも２つの選択肢が存在している。これらのシステム構成は、以下でより詳細に説明されることになる。
【００１４】
監視された非同期型マルチプロセッシング（ＡＭＰ）構成。第１の実施形態において、制御プレーン機能をサポートする少なくとも１つのコアを含むパーティションが定義され、またデータ・プレーンについての１つまたは複数のコアを含む、サポートされるべきセルの数と同数のパーティションが定義される。この構成においては、パーティションの数と同数の、オペレーティング・システム（ＯＳ）についてのインスタンスを提供することが、一般に必要である。この構成においては、適切なシステム・オペレーションについてのハイパーバイザ（ｈｙｐｅｒｖｉｓｏｒ）と呼ばれる別のソフトウェア・エンティティを使用する必要がある。ハイパーバイザは、１つのＯＳインスタンスが、他のパーティションを破損することにならないことを保証する。しかしながら、ＯＳベンダが、役に立つ各インスタンスについてのライセンス料を要求することが一般的であるので、ハイパーバイザの使用は、かなりコストを増大させる。ＯＳについての少なくとも２つの異なるタイプ（一方は制御プレーン用、他方はデータ・プレーン用）を使用することによって、保全性、ならびにコストが懸案要因になる。スケーラビリティは、この構成が使用されるときに、別の懸案要因である。３つのセルよりも多くをサポートするようにボードを再構成することは、実現可能ではない可能性がある。たとえ実現可能であるとしても、それは、実際問題として、現場において実行されるには、あまりにも長い時間がかかることになる複雑な再構成プロセスを必要とする可能性がある。
【００１５】
図１は、例示のプラットフォーム・ソフトウェア・アーキテクチャについての第１の実施形態を示すものである。このアーキテクチャは、一般に、モデム・ボード上で使用されるが、それは、他の用途においても使用され得ることを理解されたい。この場合には、８つのコア（図において１２、１４、１６、１８、２０、２２、２４、および２６として示される）を有するマルチ・コア・プロセッサ１０が提供される。しかしながら、マルチ・コア・プロセッサ１０は、任意の数のコアを有することができることを理解されたい。この例においては、第１のパーティション２８は、第１のオペレーティング・システム（ＯＳ１）３２を実行する制御プレーン３０のためである。第１のパーティション２８はまた、ＯＡ＆Ｍ３４と、ＢＣＳ／ＵＰＳ３６とを含む。ＢＣＳ／ＵＰＳ３６は、ＯＡ＆Ｍエンティティなどのアプリケーション・ソフトウェアに対してハードウェアについての抽象化を提供するミドルウェア・レイヤである。
【００１６】
７つのＡＭＰパーティション（図において３８、４０、４２、４４、４６、４８、５０として示される）は、すなわち残りの７つのコアのおのおのについての１つは、第２のオペレーティング・システム（ＯＳ２）５４を実行するデータ・プレーン５２のためである。
【００１７】
レイヤ２（Ｌ２）処理のすべては、プロセッサの８つのコア上で行われる。データ・リンク・レイヤは、コンピュータ・ネットワーキングについての７−レイヤＯＳＩモデルのうちのレイヤ２である。データ・リンク・レイヤは、広域ネットワークにおいて隣接するネットワーク・ノードの間で、または同じローカル・エリア・ネットワーク・セグメントの上のノードの間で、データを転送するプロトコル・レイヤである。データ・リンク・レイヤは、ネットワーク・エンティティの間でデータを転送する機能手段と、手続き手段とを提供し、また物理レイヤの中で起こる可能性があるエラーを検出し、また場合によっては訂正する手段を提供することができる。データ・リンク・プロトコルの例は、ローカル・エリア・ネットワーク（マルチ・ノード）の場合にはイーサネットであり、ポイント・ツー・ポイント（デュアル・ノード）接続の場合にはポイント・ツー・ポイント・プロトコル（Ｐｏｉｎｔ−ｔｏ−Ｐｏｉｎｔ  Ｐｒｏｔｏｃｏｌ）（ＰＰＰ）、ＨＤＬＣおよびＡＤＣＣＰである。本発明者等の場合には、Ｌ２は、ＬＴＥエア・インターフェースの場合に必要とされるＬ２スケジューラ処理を意味し、このＬＴＥエア・インターフェースは、非常に厳しいリアル・タイム要件を有する。
【００１８】
レイヤ１（Ｌ１）処理のすべては、ＤＳＰ／ＦＰＧＡ上で行われる。コア抽象化レイヤ（ｃｏｒｅ  ａｂｓｔｒａｃｔｉｏｎ  ｌａｙｅｒ）（ＣＡＬ）５６は、Ｌ２アプリケーション・ソフトウェアからコア特有の詳細を隠す。
【００１９】
例示のアーキテクチャはまた、すべてのこれらのパーティションが、独立に実行され、互いに破損し合わないことを保証する（すなわち、障害分離を保証する）、ハイパーバイザ５８などのスーパバイザ・ソフトウェア・エンティティを含んでいる。ハイパーバイザは、仮想化において使用されるソフトウェア・プログラムである。それは、いくつかのオペレーティング・システムが、所与の１つのハードウェア上で並列に実行されることを可能にする。従来の仮想コンピューティング・プログラムとは違って、ハイパーバイザは、ターゲット・ハードウェア上で直接に実行される。これにより、ゲスト（ｇｕｅｓｔ）オペレーティング・システムとハイパーバイザとは、ずっと効率よく実行することができるようになる。実行されているときに、ハイパーバイザは、それ−「ゲスト」−の最上部で、すべてのシステムのハードウェアの仮想化されたバージョンを用いて実行されるオペレーティング・システムのすべてを提示する。このようにして、ゲストは、直接にハードウェアにアクセスすることができず、またそのようにして１つのオペレーティング・システムのプログラムによって（またはＯＳそれ自体によってさえも）引き起こされるどのような問題も、他の任意のＯＳから分離される。可能性のあるハイパーバイザのリストは、それだけには限定されないが、以下のタイプ、すなわちＸｅｎ（Ｃｉｔｒｉｘ）と、ＫＶＭ（カーネル・ベースの仮想マシン）と、ＶＭｗａｒｅ  ＥＳＸ／ｖｍｋｅｒｎｅｌと、マイクロソフトのハイパー−Ｖ（Ｍｉｃｒｏｓｏｆｔ  Ｈｙｐｅｒ−Ｖ）と、ＰｏｗｅｒＶＭ（ＩＢＭ）と、論理ドメイン（Ｌｏｇｉｃａｌ  Ｄｏｍａｉｎｓ）／オラクル（Ｏｒａｃｌｅ）ＶＭと、ウィンド・リバーのハイパーバイザ（Ｗｉｎｄ  Ｒｉｖｅｒ  Ｈｙｐｅｒｖｉｓｏｒ）とを含む。
【００２０】
この例においては、プロセッサ１０は、３つのセル（図において６０、６２、および６４として示される）にサービス提供する。各セルは、アップリンク（ＵＬ）スケジューラ（図において６６、７０、および７４として示される）と、ダウンリンク（ＤＬ）スケジューラ（図において６８、７２、および７６として示される）とを必要とする。またＲＬＣ／ＭＡＣブロック７８も含まれており、このブロックは、移動体とネットワークとの間で使用されるエア・インターフェースの上の基本的な移送ユニットである。それは、データとＲＬＣ／ＭＡＣ信号とを搬送するために使用される。
【００２１】
上記で説明されるような、監視された非同期型マルチプロセッシングを使用した構成は、制御プレーンと、データ・プレーンとの間の明確な分離についての利点を提供する。しかしながら、監視された非同期型マルチプロセッシングを使用した構成は、スケーラビリティを制限する可能性があり、またそれは、ハイパーバイザ・ライセンス料に起因して比較的高価となる可能性がある。このアプローチを用いて３−セル構成をサポートすることが可能であるけれども、この構成を用いて８−コア・プロセッサ上で６−セル構成をサポートすることは困難である可能性がある。
【００２２】
ＳＭＰ構成。次に図２を参照すると、マルチ・コア・プロセッサ１００が、示されている。このアーキテクチャは、一般に、モデム・ボード上で使用されるが、それは、他の用途においても使用され得ることを、理解されたい。この実施形態においては、１つのパーティションは、その中のすべての８つのコアを用いて定義される。しかしながら、マルチ・コア・プロセッサ１０は、任意の数のコアを有することができることを理解されたい。この実施形態を用いて、このようにして、コア（例えば、８つのコア）のすべてで実行される単一のＳＭＰ  ＯＳインスタンス１０２を使用することが可能である。制御プレーンとデータ・プレーンとは、今や１つのＯＳインスタンスの下にあるので、データ・プレーンに伴う問題が、同様に制御プレーンも駄目にしないことを保証する配慮が必要とされる。
【００２３】
この例においては、プロセッサ１００は、３つのセル（図において１０４、１０６、および１０８として示される）にサービス提供する。各セルは、アップリンク（ＵＬ）スケジューラ（図において１１０、１１２、および１１４として示される）と、ダウンリンク（ＤＬ）スケジューラ（図において１１６、１１８、および１２０として示される）とを必要とする。またＲＬＣ／ＭＡＣブロック１２２も含まれており、このブロックは、移動体とネットワークとの間で使用されるエア・インターフェースの上の基本的な移送ユニットである。それは、データと、ＲＬＣ／ＭＡＣ信号とを搬送するために使用される。プロセッサ１００はまた、ＯＡ＆Ｍ１２４と、ＢＣＳ／ＵＰＳ１２６とを提供する。コア抽象化レイヤ（ＣＡＬ）１２８は、Ｌ２アプリケーション・ソフトウェアからコア特有の詳細を隠す。
【００２４】
この構成においては、実行されるＯＳインスタンスだけが存在している（潜在的なコスト節約）ので、ハイパーバイザを使用する必要性は、存在していない。同じＯＳが、制御プレーンと、データ・プレーンとの両方のために使用されるので、保全性もまた、あまり問題にならない。ソフトウェアは、２つのプレーン（すなわち、制御プレーンとデータ・プレーンと）の場合に異なるＯＳの下で開発される必要はない。この構成についての別の利点は、スケーラビリティである。すなわち、この構成を用いて、どのような再構成の必要もなしに、単一のセルから６−セルのサポートまでの任意の構成をサポートすることが可能である。
【００２５】
基地局のリアル・タイム性能の必要性を満たすために、ＰＲＥＥＭＰＴ＿ＲＴパッチを有するＳＭＰリナックスなどのＯＳが、使用されてもよい。もちろん、他のオペレーティング・システムが使用され得ることを理解されたい。独自開発の（ｐｒｏｐｒｉｅｔａｒｙ）リアル・タイムＯＳは、使用するためにもっと高くつくことにも注意すべきである。リナックスは、オープン・ソースであるので、ウィンド・リバーやモンタビスタ（Ｍｏｎｔａｖｉｓｔａ）など、一流のＯＳサプライヤによって提供されるＰＲＥＥＭＰＴ＿ＲＴを有するＳＭＰリナックスを使用するコストは、それらの独自開発のリアル・タイムＯＳのどれかを使用するよりもかなり安い。これらの会社は、オープン・ソースのリナックス・コードについての広範囲に及ぶテストを提供しており、またそれらの会社は、パッチ管理を提供している。その結果として、そのような会社へと進むことは、ＰＲＥＥＭＰＴ＿ＲＴパッチを有するオープン・ソースのリナックスに関連したどのような補償問題についての心配も軽減することができる。
【００２６】
セルの回復は、監視されたＡＭＰ構成におけるよりも、この構成においてずっと複雑になる。監視されたＡＭＰの確認においては、セルの回復、またはスタートアップは、セル特有のデータ・プレーン・パーティションをリブートすることにより、簡単に行うことができる。しかしながら、制御プレーンと、データ・プレーンのすべてが、今や単一のパーティションの下にあるので、そのようなプロセスは、ＳＭＰ構成においては行われない可能性がある。回復メカニズムは、特定のセルに関連するプロセスおよびスレッドが、セルの回復の一部分として、生成され（ｓｐａｗｎｅｄ）、または再開されることを保証するように実装される必要がある。バッファなどのような共用されたリソースは、セル回復の一部分として指定されたセルに割り付けられた共用リソースが、適切に開放されるように、タグ付けされるべきである。
【００２７】
ＳＭＰ構成は、監視されたＡＭＰ構成が、決定論的動作を失う傾向を有する場合がある。ＳＭＰ構成において決定論的動作を達成するために、システムは、コア予約構造とコア親和性構造を使用して、ＡＭＰのようなシステム動作を達成するような方法で実装されることが好ましい。これはまた、例えば、ＰＲＥＥＭＰＴ＿ＲＴ  ＯＳを有するＳＭＰリナックスの中から最高性能を手に入れるためにも望ましい。（ＰＲＥＥＭＰＴ＿ＲＴ  ＯＳは、依然として、ＶｘＷｏｒｋｓなどのハードなリアル・タイムＯＳではない。）バッファ管理サービスなどのロックレス・ゼロ・コピー・サービス（ｌｏｃｋｌｅｓｓ  ｚｅｒｏ  ｃｏｐｙ  ｓｅｒｖｉｃｅｓ）の使用は、ＰＲＥＥＭＰＴ＿ＲＴ  ＯＳを有するＳＭＰリナックスの使用によって課されるどのようなレイテンシー問題にも対処する助けをすることもできる。
【００２８】
図３は、コア予約およびコア親和性の構造を使用するアーキテクチャを示すものである。この例においては、８−コアのプロセッサが、使用される。コア０〜７は、図において参照番号２０２、２０４、２０６、２０８、２１０、２１２、２１４、および２１６としてラベル付けされる。非リアル・タイムのすべてのスレッドまたはプロセスは、制御プレーン・アクティビティのために専用になっているコアに結び付けられることになる。言い換えれば、データ・プレーン・アクティビティのために専用になっているコア（図において２１８、２２０、および２２２としてラベル付けされる）は、高速パス（データ・パス）の実装またはＬ２処理のために直接に必要とされないどのようなスレッドもホストし、または実行することにならない。コア親和性およびコア予約を達成するために、制御プレーン・コア（単数または複数）２２４に対するデフォルト親和性マスクが、定義される。このようにして、特有の結合が割り当てられていない任意のスレッドまたはプロセスは、制御プレーン・コア（単数または複数）に対するデフォルトになる。コア抽象化レイヤ（ＣＡＬ）２２６は、Ｌ２アプリケーション・ソフトウェアからコア特有の詳細を隠す。この構成においては、実行されるＯＳインスタンス２２８だけが存在するので、ハイパーバイザを使用する必要がない。
【００２９】
所与のセルに対応するリアル・タイムのプロセス／スレッドは、コア予約とコア親和性とを経由して指定されたコアに結び付けられる。例えば、セル１およびセル４のＵＬスケジューラ・スレッドは、コア２に結び付けられ、またＤＬスケジューラ・スレッドは、コア３に結び付けられる。
【００３０】
したがって、図３は、ＳＭＰ構成の内部のＡＭＰのような構成を示すものである。この構成においては、例えば、すべての制御プレーンのプロセス／スレッドは、コア０（２０２）およびコア１（２０４）上で実行されることになる。セルのリアル・タイムのプロセス／スレッドのおのおのは、非リアル・タイムのプロセス／スレッドが実行しないことになる場合の専用のコア上で実行されることになる。このようにして、（１）非リアル・タイムのスレッドは、処理時間が欠乏しないことになり、また（２）非リアル・タイムのスレッドは、リアル・タイムのスレッドからどのような価値のある処理時間も取らないことになり、また厳しいリアル・タイム処理要件を有するデータ・コア上で処理レイテンシー・スパイクを追加しないことになる。
【００３１】
要約すれば、本発明の実装形態は、１つのパーティションの中のプロセッサ・コアのすべてを使用する。これは、ただ１つのＯＳインスタンスの使用を必要とすることになり、またハイパーバイザを使用する必要がない。単なるリナックスでは、困難なリアル・タイム処理の必要性のすべてを満たすことが難しい可能性があるので、ＰＲＥＥＭＰＴ＿ＲＴパッチを有するＳＭＰリナックスなどのＯＳが好ましい。オープン・ソースのＯＳも、コストを低減させるために使用される。システムは、さらに、ＳＭＰリナックスのコア親和性機能とＣＰＵ予約機能とを組み込み、ＳＭＰ構成内でＡＭＰ様システム動作を定義して、６−セル構成、または９−セル構成さえも可能にする。
【００３２】
本明細書において提示される特定の例示の実施形態に関連して、ある種の構造的特徴および／または機能的特徴は、定義された要素および／またはコンポーネントの中に組み込まれているものとして説明されることを理解されたい。しかしながら、これらの特徴が、同じ利益を、または同様な利益をもたらすために、同様に、必要に応じて他の要素および／またはコンポーネントの中に組み込まれ得ることが、企図される。例示の実施形態についての異なる態様が、必要に応じて選択的に使用されて、望ましい用途のために適した他の代替的な実施形態を達成することができ、他の代替的な実施形態は、それによってその中に組み込まれている態様のそれぞれの利点を実現していることも理解されたい。
【００３３】
本明細書において説明される特定の要素またはコンポーネントが、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せによって適切に実装されるそれらの機能を有することができることも理解されたい。さらに、一緒に組み込まれるような、本明細書において説明されるある種の要素が、適切な状況の下で、スタンドアロン要素とすることができるか、またはそうでなければ分割され得ることを理解されたい。同様に、１つの特定の要素によって実行されるものとして説明される複数の特定の機能は、個々の機能を実行するように独立に動作する複数の異なる要素によって実行することができ、あるいはある種の個々の機能は、協力して動作する複数の異なる要素によって分割され、また実行することができる。代わりに、互いに異なっているものとして本明細書においてそれ以外の方法で説明され、かつ／または示されるいくつかの要素もしくはコンポーネントを、必要に応じて物理的に、または機能的に結合することができる。
【００３４】
要するに、本明細書は、好ましい実施形態を参照して説明されてきている。明らかに、修正形態と変更形態とは、本明細書を読み、また理解するとすぐに、他の人に想起されることになる。本発明は、すべてのそのような修正形態と変更形態とを、それらが、添付の特許請求の範囲またはその均等形態の範囲内に含まれる限りにおいて、含むように解釈されることが、意図されている。すなわち、様々な、上記の開示された他の特徴および機能、またはその代替形態は、多数の他の異なるシステムまたはアプリケーションへと望ましく結合され得ること、およびさらにそれらの中の様々な現在では予見できない、または予期されない代替形態、修正形態、変更形態または改善は、同様に添付の特許請求の範囲によって包含されるように意図される当技術における当業者によってその結果として作られ得ることが、理解されるであろう。
【図１】
2013541241.tif 000003
【図２】
2013541241.tif 000004
【図３】
2013541241.tif 000005
【国際調査報告】
2013541241.tif 000006
2013541241.tif 000007
2013541241.tif 000008