JP2005515543A - ドメイン間データ転送 - Google Patents

ドメイン間データ転送 Download PDF

Info

Publication number
JP2005515543A
JP2005515543A JP2003560753A JP2003560753A JP2005515543A JP 2005515543 A JP2005515543 A JP 2005515543A JP 2003560753 A JP2003560753 A JP 2003560753A JP 2003560753 A JP2003560753 A JP 2003560753A JP 2005515543 A JP2005515543 A JP 2005515543A
Authority
JP
Japan
Prior art keywords
domain
mapping
memory area
client
memory
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.)
Pending
Application number
JP2003560753A
Other languages
English (en)
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 JP2005515543A publication Critical patent/JP2005515543A/ja
Pending legal-status Critical Current

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/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本発明は、ドメイン間データ転送のための方法および装置を提供する。方法は、起点となる装置のメモリ領域を中央装置にマッピングすること、および目標となる装置のメモリ領域を中央装置にマッピングすることからなる。さらに方法は、起点となる装置のマッピングされたメモリ領域から、目標となる装置のマッピングされた領域へとデータを転送することからなる。

Description

本発明は、広くはデータ転送に関し、さらに詳しくは、ドメイン間データ転送に関する。
企業は通常、他の企業に対する競争的優位を保つために、ネットワーク・コンピューティングに依存している。したがって、開発者は、ネットワーク指向の環境で使用されるプロセッサ・ベースのシステムを設計するとき、顧客の期待に合致するよう、システムの機能、信頼性、拡張性、および性能など、いくつかの要因を考慮に入れて設計を行うであろう。
ネットワーク指向の環境で使用されるプロセッサ・ベースのシステムの一例は、ミッドレンジのサーバ・システムである。ミッドレンジのサーバ・システムは、例えば1つ以上のドメインとして構成できる複数のシステム・ボードを備えている。そこでは、ドメインが、例えば構成された1つ以上のタスクを実行すべく、オペレーティング・システムの当該ドメイン自身のインスタンスを実行することにより、別々の機械として機能する。
一体化したシステム中に実質的に独立して動作するドメインを設けることの利点は、顧客が、そうでない場合にはいくつかの別々の機械に割り当てなければならない種々のタスクを、実行できるようになることから容易に明らかである。しかしながら、ある場合には、実質的に独立している1つ以上のドメインを、例えばハードウェア・リソースを共通にすることによる利点を享受するため、結び付けたい場合もある。さらに、結び付けたドメイン間においてエラーの絶縁を保ちつつ、効率的にドメイン間のデータ転送を行うことが望まれる。
本発明の実施の一形態においては、データ転送の方法が提供される。方法は、起点となる装置のメモリ領域を中央装置にマッピングすること、および、目標となる装置のメモリ領域を中央装置にマッピングすることを含んでいる。さらに方法は、起点となる装置のマッピングされたメモリ領域から、目標となる装置のマッピングされたメモリ領域へとデータを転送することを含んでいる。
本発明の他の実施形態においては、ドメイン間データ転送のための装置が提供される。装置は、インターフェイス、および、インターフェイスに通信可能に接続されたコントローラを備えている。コントローラは、第1のクライアント・ドメインから第2のクライアント・ドメインへとデータを転送するタスクを受信し、第1のクライアント・ドメインのメモリ領域を中央ドメインにマッピングするよう構成されている。さらにコントローラは、第2のクライアント・ドメインのメモリ領域を中央ドメインにマッピングし、第1のクライアント・ドメインのマッピングされたメモリ領域から、第2のクライアント・ドメインのマッピングされたメモリ領域へとデータを転送するよう構成されている。
本発明のさらに別の態様においては、機械での読み取りが可能な1つ以上の記憶媒体からなり、記憶媒体が命令を収容している物品が、ドメイン間データ転送のために提供される。命令は、実行されたときに、送信キューへのアクセス、および、送信キューに実行すべきメッセージがあるかどうかの判断を、プロセッサに可能ならしめ、メッセージは、元のアドレスおよび宛先のアドレスを含んでいる。命令はさらに、実行されたときに、元のアドレスに対応するメモリ領域の共有リソース・ドメインへのマッピング、宛先アドレスに対応するメモリ領域の共有リソース・ドメインへのマッピング、および、元のアドレスおよび宛先アドレスがマッピングされたメモリ領域間でのデータ転送を、プロセッサに可能ならしめる。
本発明は、以下の説明を関連する添付の図面とともに参照することにより、理解されるであろう。添付の図面において、同じ参照番号は同じ要素を表わしている。
本発明について、さまざまな変形および別の形態が容易に可能であるが、図面にはあくまで一例として特定の実施の形態を示してあり、これら特定の実施の形態について、以下で詳細に説明する。しかしながら、これら特定の実施の形態についてのここでの説明は、本発明をここで開示する特定の形態に限定しようとするものではなく、むしろ、添付の特許請求の範囲によって定められる本発明の技術的思想および技術的範囲内にある全ての変形、均等物、および代替物を含む意図であることを、理解すべきである。
本発明を、説明用の実施の形態について以下に説明する。理解を容易にするため、本明細書では、現実の実施における全ての特徴を説明するわけではない。そのような現実の実施の形態の開発にあたっては、システムに関係する制約、あるいは業務に関係する制約への適合など、或る実施の場合と他の実施の場合とで大きく変化しうる開発者ごとの特定の目的を達成すべく、実施にまつわる多数の意思決定をしなければならないことは、もちろん理解されるであろう。さらに、そのような開発努力が複雑かつ時間を要するものであるかもしれないが、ここでの開示によって利益を受ける当業者にとっては通常の業務であることも理解されるであろう。
図1を参照すると、本発明の実施の一形態によるシステム10のブロック図が示されている。実施の一形態において、システム10は、複数のシステム制御ボード15(1、2)を備えており、これらがスイッチ20へと接続されている。システム制御ボード15(1、2)がスイッチ20へと接続されていることを示すため、図示の目的で、線21(1、2)が使用されている。しかしながら、エッジ・コネクタやケーブル、あるいはその他の利用可能なインターフェイスなど、任意のさまざまな方法でボード15(1、2)をスイッチ20へと接続できることは、周知のとおりである。
図示の実施の形態では、システム10は制御ボード15(1、2)を2つ備えており、一方がシステム10の全体の動作をつかさどり、他方が冗長性を付与して、他方のボードの障害の際にバックアップを提供する。図示の実施の形態では、第1のシステム制御ボード15(1)が「主」システム制御ボードとして機能し、一方、第2のシステム制御ボード15(2)が、活線のまま交代が可能な代替のシステム制御ボードとして機能するが、必ずしもこのようにする必要はない。実施の一形態では、通常は、2つのシステム制御ボード15(1、2)の1つが常に機能して、システム10の全体の動作を制御する。主システム制御ボード15(1)にハードウェアまたはソフトウェアの障害が生じた場合、あるいは主システム制御ボード15(1)からシステムの他の装置までの制御経路のハードウェアに障害が生じた場合、システム・コントローラ・バックアップ・ソフトウェア22が、代替の制御ボード15(2)への引き継ぎを自動的に開始させる。
実施の一形態において、システム10は、複数のシステム・ボード・セット29(1〜n)を備えており、これらが線50(1〜n)で示されているとおり、スイッチ20に接続されている。システム・ボード・セット29(1〜n)は、エッジ・コネクタやその他の利用可能なインターフェイスなど、いくつかある方法の1つによってスイッチ20へと接続することができる。スイッチ20は、複数のシステム・ボード・セット29(1〜n)のための通信経路として機能することができ、システム・ボード・セット29(1〜n)の半数をスイッチ20の片側に接続でき、残りの半数をスイッチ20の反対側に接続できる。
実施の一形態においては、スイッチ20を、必要に応じてシステム・ボード・セット29(1〜n)の相互の通信を可能にする18×18のクロスバー・スイッチとすることができる。2つのシステム制御ボード15(1、2)も、例えばスイッチ20を介したネットワーク・ベースの接続により、他のシステム・ボード・セット29(1〜n)と通信することができる。
実施の一形態において、システム・ボード・セット29(1〜n)は、システム・ボード30、入出力(I/O)ボード35、および拡張ボード40を含む1つまたは複数のボードからなる。図示の実施の形態では、システム・ボード30および入出力ボード35が拡張ボード40の第1および第2のスロット(図示されていない)と取り合い、次に拡張ボード40がスイッチ20と取り合うため、以下では、これらボード30、35をそれぞれ、「スロット0」ボードおよび「スロット1」ボードと称することもある。システム・ボード30は、実施の一形態においては、オペレーティング・システムの一部を含むアプリケーションを実行するため、プロセッサおよび関連するメモリを備えることができる。入出力ボード35は、システム10へと取り付けられる周辺機器インターフェイス・カードや光カードなど、入出力カードを取り扱うことができる。拡張ボード40は、実施の一形態においては、システム・ボード30および入出力ボード35の両者がスイッチ20と取り合うことができるよう、通常はマルチプレクサ(例えば、2:1マルチプレクサ)として機能するが、場合によっては、両ボード30、35と取り合うただ1つのスロットを備えていてもよい。
実施の一形態においては、システム10を複数のシステム・ドメインへと動的に分割することができ、各ドメインが、別個のブート・ディスク(例えば、オペレーティング・システムの特有のインスタンスを実行するため)、別個のディスク記憶装置、ネットワーク・インターフェイス、および/または入出力インターフェイスを備えることができる。各ドメインは、例えば、ユーザに合わせて構成された種々のサービスを実行する独立の装置として機能することができる。例えば、1つまたは複数のドメインを、アプリケーション・サーバ、ウェブ・サーバ、およびデータベース・サーバなどとして設計することができる。実施の一形態では、各ドメインがそれぞれ自身のオペレーティング・システム(例えば、ソラリス・オペレーティング・システム)を動作させることができ、他のドメインの動作を停止させることなく構成の変更が可能である。
図2には、システム10内に少なくとも2つのドメインが定義されている構成の一例が示されている。第1のドメインは、図中では断面を示す縦線で識別できるが、システム・ボード・セット29(n/2+2)、システム・ボード・セット29(1)のシステム・ボード30、およびシステム・ボード・セット29(2)の入出力ボード35を含んでいる。第2のドメインは、図示の実施の形態では、システム・ボード・セット29(3)、29(n/2+1)、および29(n/2+3)、ならびにシステム・ボード・セット29(1)の入出力ボード35、およびシステム・ボード・セット29(2)のシステム・ボード30を含んでいる。
ご覧のとおり、ドメインは、システム・ボード・セット29(1〜n)の全体、選ばれたシステム・ボード・セット29(1〜n)からの1つまたは複数のボード(例えば、システム・ボード30、入出力ボード35)、あるいはこれらの組み合わせから構成することができる。必ずしもではないが、各システム・ボード・セット29(1〜n)を、別個のドメインと定義することも可能である。例えば、各システム・ボード・セット29(1〜n)がそれぞれ独立したドメインであったならば、考えられる限りでは、システム10は最大「n」個(すなわち、システム・ボード・ユニットの数)の異なるドメインを有することになる。同じシステム・ボード・セット29(1〜n)の2つのボード(例えば、システム・ボード30、入出力ボード35)が異なるドメインにある場合、そのような構成は「分割拡張」と呼ばれる。実施の一形態において、システム・ボード・セット29(1〜n)の拡張ボード40が、各ドメインのためにトランザクションを分割状態に保つ。ドメイン内の各ボードが、物理的に近接している必要はない。
システム10は、1つまたは複数のドメインの動的な構成を可能にしている。さらに、実施の一形態では、リソース(例えば、ボード30、35、および40、など)を、構成済みのドメインに動的に加えたり、構成済みのドメインから動的に除いたりすることができる。必ずしもそのようである必要はないが、図示の実施の形態においては、通常ドメイン、クライアント・ドメイン、共有リソース・ドメイン(SRD)という、少なくとも3つの種類の異なるドメインをサポートしている。以下にさらに詳しく説明するように、各クライアント・ドメインは、SRDを通して他のクライアント・ドメインと通信する。対照的に、図示の実施の形態においては、通常ドメインは、標準のネットワーク接続を介するものを除き、システム10内の他のドメインと通信することがない。
スイッチ20を使用し、ドメイン間通信およびドメイン内通信が可能である。例えば、スイッチ20によって、図2の第1のドメインと第2のドメインとの間でデータの交換ができるよう、高速通信路を提供することができる。実施の一形態においては、ドメイン間通信およびドメイン内通信のため、スイッチ20を通過するデータおよびアドレスの別個の経路を使用することができる。
次に図3Aを参照すると、本発明の実施の一形態について、スイッチ20へと接続されたシステム・ボード・セット29(1〜n)のブロック図が示されている。図示の実施の形態において、各システム・ボード・セット29(1〜n)のシステム・ボード30は、4つのプロセッサ360(1〜4)を備えており、各プロセッサ360(1〜4)は、対応するメモリ361(1〜4)を有している。実施の一形態においては、各プロセッサ360(1〜4)が、それぞれのキャッシュ・メモリ362(1〜4)へと接続されていてもよい。他の実施の形態では、各プロセッサ360(1〜4)が、対応するキャッシュ・メモリ362(1〜4)を2つ以上有していてもよく、1つあるいは複数のキャッシュ・メモリ362(1〜4)のうちのいくつか、またはすべてが、プロセッサ360(1〜4)内に収容されていてもよい。実施の一形態においては、各キャッシュ・メモリ362(1〜4)が、キャッシュ・メモリ362(1〜4)の記憶部がプロセッサ360(1〜4)の外部にあり、制御部(例えば、タグおよびフラッグ)がプロセッサ360(1〜4)内に収容されている、スプリット・キャッシュであってよい。
実施の一形態において、プロセッサ360(1〜4)は、自身の各メモリ361(1〜4)および362(1〜4)、ならびに他のプロセッサ360(1〜4)に結び付けられたメモリ361(1〜4)に、アクセスすることが可能である。実施の一形態においては、異なる数のプロセッサ360(1〜4)およびメモリ362(1〜4)を、実装に応じ、所望の任意の組み合わせで用いてもよい。実施の一形態においては、2基の5ポート両方向データ・スイッチ365(1〜2)が、プロセッサ/メモリの組(例えば、プロセッサ360(1、2)/メモリ361(1、2)、およびプロセッサ360(3、4)/メモリ361(3、4))を、ボード・データ・スイッチ367へと接続している。
これには限られないが、図示の実施の形態においては、各システム・ボード・セット29(1〜n)の入出力ボード35は、1つまたは複数のPCIスロット372(1〜p)へと取り付けできる1つまたは複数のPCIカードを制御するため、コントローラ370を備えている。図示の実施の形態では、入出力ボード35がさらに、1つまたは複数の入出力スロット376(1〜o)へと取り付けされるであろう1つまたは複数の入出力カードを制御するため、第2のコントローラ374を備えている。入出力スロット376(1〜o)は、光カードやネットワーク・カードなどを収容することができる。実施の一形態において、入出力ボード35は、内部ネットワーク(図示せず)を介してシステム制御ボード15(1、2)(図1を参照)と通信することができる。
入出力ボード35の2つのコントローラ370、374は、実施の一形態においては、データ・スイッチ378に接続されている。実施の一形態においては、拡張ボード40内のスイッチ380が、入出力ボード35のスイッチ378およびシステム・ボード30のスイッチ367からの出力信号を受け取り、システム・データ・インターフェイス(SDI)383へと提供する。SDI383は、スイッチ20、システム・ボード30、および入出力ボード35へのデータのトランザクション、ならびにスイッチ20、システム・ボード30、および入出力ボード35からのデータのトランザクションを処理することができる。別置のアドレス経路(破線で示されている)が、プロセッサ360(1〜4)およびコントローラ370、374から、アドレス拡張キュー(AXQ)モジュール382まで示されている。AXQモジュール382は、スイッチ20、システム・ボード30、および入出力ボード35への、そしてスイッチ20、システム・ボード30、および入出力ボード35からの、アドレスおよび応答のトランザクションを処理することができる。
実施の一形態において、スイッチ20は、各システム・ボード・セット29(1〜n)の拡張ボード40のAXQモジュール382および/またはSDI383によって供給されるデータ、アドレス、および制御信号をそれぞれ伝達するため、データ・スイッチ385、アドレス・スイッチ386、および応答スイッチ388を備えることができる。したがって、実施の一形態では、スイッチ20は、ドメイン内およびドメイン間通信を可能にすべく、別々のデータ経路、アドレス経路、および制御信号経路をもたらすよう18×18のクロスバー・スイッチを3つ備えることができる。データ、アドレスおよび制御信号に別々の経路を用いることにより、データ・トラフィック、アドレス・トラフィックおよび制御信号トラフィックの間の干渉を減らすことができる。実施の一形態においては、スイッチ20は毎秒約43ギガバイトのバンド幅を提供することができる。他の実施の形態では、スイッチ20を使用して、より広い、あるいはより狭いバンド幅を実現することができる。
実施の一形態において、AXQモジュール382は、ホーム・エージェント390、要求エージェント392、およびスレーブ・エージェント394へと接続された制御ユニット389を備えている。エージェント390、392、394は集団で、システムの一貫性の維持を助けるべく動作することができる。図示の実施の形態においては、AXQモジュール382の制御ユニット389が、システム・ボード30および入出力ボード35を相互に接続するとともに、AXQモジュール382内のホーム・エージェント390、要求エージェント392、およびスレーブ・エージェント394を相互に接続している。実施の一形態において、拡張ボードが2つのドメインの間で分割されている(すなわち、或るシステム・ボード・セット29(1〜n)のシステム・ボード30と入出力ボード35とが、異なるドメインにある)場合、AXQモジュール382の制御ユニット389が、システム・ボード30および入出力ボード35を別個に、一方を奇数サイクルで、他方を偶数サイクルで、調停することができる。
実施の一形態において、AXQモジュール382は、最近参照したメモリ・ラインに関する情報を保持するディレクトリ・キャッシュ(DC)396を制御する。実施の一形態において、DC396を、スタティック・ランダム・アクセス・メモリ(SRAM)などの揮発性メモリに記憶してもよい。DC396は、所与の拡張ボード40に結び付けられたキャッシュ可能なラインのすべてを保持するに充分なエントリ・スロットを有さない部分ディレクトリでもよい。AXQモジュール382は、例えばエントリの状態が更新されたときにディレクトリ・キャッシュ396内の選択されたエントリへのアクセスを防止するロッキング・モジュール398を制御する。
ドメインは、1つ以上のシステム・ボード・セット29(1〜n)を含むよう定義できる。すなわち、構成に応じ、単一のドメインが、当該ドメインに関連づけられた複数の拡張ボード40を有していてもよい。したがって、或るシステム・ボード・セット29(1〜n)の拡張ボード40が、同じドメイン内の他のシステム・ボード・セット29(1〜n)の拡張ボード40からの情報にアクセスすべく、メモリ・トランザクションを開始することができる。これらに限られるわけではないが、実施の一形態においては、システム10において、所有の要求(RTO)、共有の要求(RTS)、書き込みストリーム(WriteStream)、書き戻し(WriteBack)、および読み込みストリーム(ReadStream)のトランザクションを含む種々のメモリ・アクセス・トランザクションの1つを開始することができる。前記メモリ・アクセス・トランザクションの1つ以上は、ローカル・トランザクションでも、リモート・トランザクションでもよく、ローカル・トランザクションは、システム・ボード・セット29(1〜n)内で局所的に流されるトランザクションを含み、リモート・トランザクションは、他のシステム・ボード・セット29(1〜n)からのキャッシュ・ラインへとアクセスしようとするトランザクションを含む。これに限られるわけではないが、図示の実施の形態においては、RTOをキャッシュ・ラインの排他的コピーを入手するために発することができ、RTSはキャッシュ・ラインの共有コピーを入手するためのものであり、書き戻しトランザクションはキャッシュ・ラインをホーム・ボードに書き戻すためのものであり、読み込みストリーム要求はキャッシュ・ラインのスナップショット・コピーを得るためのものであり、書き込みストリーム要求は、キャッシュ・ラインのコピーを書き込むためのものである。
通常、所与のドメインの各拡張ボード40は、選択されたメモリ・アドレス範囲内のメモリ・ラインのための「ホーム拡張ボード」として機能する。同じドメインに属する拡張ボード40は、互いのメモリ内容にアクセスすることができる。以下に詳述するように、所与のあらゆるトランザクションに、ホーム拡張ボード、要求拡張ボード、およびスレーブ拡張ボードが関与できる。ここで「要求拡張ボード」とは、ホーム拡張ボードに属する選択されたメモリ・ラインにアクセスを試みる拡張ボード40を表わしている。ここで「メモリ・ライン」とは、システム・ボード30のキャッシュ362(1〜4)および/またはメモリ361(1〜4)に記憶されたデータを含むことができる。例えば、要求ボードは、所有の要求(RTO)、共有の要求(RTS)、書き込みストリーム、書き戻し、および読み込みストリームのトランザクションを含む種々のメモリ・アクセス・トランザクションの1つを開始することができる。ここで「スレーブ拡張ボード」とは、要求拡張ボードがアクセスしようとしているメモリ・ラインのコピーを現在有しているボードを表わしている。要求されたメモリ・ラインの現在のコピーがホーム拡張ボードにある場合、そのホーム拡張ボードが、そのトランザクションのためのスレーブ拡張ボードでもある。
図示の実施の形態においては、主ドメイン保護が、AXQモジュール382にて、トランザクションが最初に検出されたときに各トランザクションについてドメイン有効性をチェックすることによって達成される。実施の一形態においては、SDI383も、目的地が有効であるかについて転送要求を検査する。AXQモジュール383にて逸脱エラーが検出された場合、その動作は、存在しないメモリへの要求と同様に取り扱われる。次いで、マップされた一貫性プロトコル信号を主張することなく、要求が再発行される。
各システム・ボード・セット29(1〜n)内の種々の構成要素(例えば、AXQモジュール382、プロセッサ360(1〜4)、コントローラ370、374)の構成および/または配置が設計上の選択事項であり、したがって或る実装と他の実装とで異なっていてもよいことに注意すべきである。さらに、本発明の技術的範囲を外れることなく、使用する構成要素を増やしたり減らしたりすることも可能である。
次に図3Bを参照すると、図3Aの要求エージェント392の実施の一形態のブロック図が示されている。図示の実施の形態では、要求エージェント392は、キャッシュ可能アドレス・スロット・マップ(CASM)テーブル401、キャッシュ不可能アドレス・スロット・マップ(NASM)テーブル402、ドメイン・マッチ・レジスタ(DMR)テーブル403、および割り込みドメイン・レジスタ(IDR)テーブル404を備えている。図示の実施の形態では、各ドメインが自身のCASMテーブル401を有し、同一ドメイン内のすべての拡張ボード40が、同一内容のCASMテーブル401を備えている。
CASMテーブル401は、所与の拡張ボード40上の要求装置(例えば、スロット「0」ボード30、およびスロット「1」ボード35)が、或る特定のアドレス範囲へのアクセスを許されているかどうかを示している。図3BのCASMテーブル401は、論理スライス番号を表わす選択されたアドレス・ビット(例えば、41:37)で指定可能な複数のエントリ405(1〜r)を備えている。「スライス」は通常、アドレス可能なメモリ空間の特定の部分に対応する。必ずしもこれに限られないが、図示の実施の形態においては、スライス0〜17が有効であり、したがってスライス18およびそれを超えるアドレスはマップされない。特定のスライスの物理ボード番号へのマッピングは、最初にシステム制御ボード15(1、2)によって確立され、各AXQモジュール382内のCASMテーブル401の設定に使用される。このマッピングは、ドメイン保護を変えない範囲において、AXQモジュール382へとアクセスするシステム・レジスタによって変更できる。
図示の実施の形態においては、CASMテーブル401の各エントリ405(1〜r)は、第1の許可ビット・フィールド406(1)、第2の許可ビット・フィールド406(2)、有効フィールド406(3)、および拡張番号フィールド406(4)を有している。第1の許可ビット・フィールド406(1)は、その拡張ボード40のスロット0ボード30から由来するトランザクションのために許可された権利を定めており、第2の許可ビット・フィールド406(2)は、その拡張ボード40のスロット1ボード35から由来するトランザクションのために許可された権利を定めている。例えば、許可ビット・フィールド406(1、2)の値「00」によって、スロット0ボード30およびスロット1ボード35のいずれもが、要求されたアドレス範囲内のメモリ空間へのアクセスを許されていないことを表わすことができる。同様に、値「01」により、スロット0/スロット1ボード30、35が、読み込みストリーム/書き込みストリームの権利のみなど、限定されたアクセス権を有していることを表わすことができる。許可ビット・フィールド406(1、2)の値「11」により、スロット0/スロット1ボード30、35が、メモリ空間にアクセスするための完全な許可を有していることを表わすことができる。図示の実施の形態では、スロット0およびスロット1のボード30、35のそれぞれのアクセス権を定めるために、別々のフィールド406(1、2)を用いているが、他の実施の形態では、フィールドをさらに追加したり、少なくしたりしてもよい。
実施の一形態において、CASMテーブル401の許可ビット・フィールド406(1、2)の値「01」は、SRDのスロット0/スロット1ボード30、35が、ドメイン・セットの他のドメインへとRTSトランザクションを発することができるが、そのようなトランザクションが読み込みストリーム・トランザクションとしてのみ許されることを示している。したがって、ホーム・メモリはキャッシュ・ラインの現在のコピーを送付するが、共有のマーキングは行わない。当該ラインが後に変更されたとき、SRDへと無効化を送ることはしない。しかしながら、SRDのプロセッサ360(1〜4)は、RTSが実行されたものと仮定し、当該ラインをキャッシュ362(1〜4)に共有状態で記憶する。このキャッシュされたコピーを適当なときに無効にするのは、ソフトウェアである。この機能は、プロセッサ360(1〜4)が、バイト列コピー(bcopy)ループを改善すべくプリフェッチ命令を使用することを可能にする(プリフェッチ命令の使用については後述する)。
前述のとおり、要求エージェント392は、ドメイン保護が当該アドレス・スライスへの当該操作を許可しているかどうかを判断するために、エントリ406(1、2)内の許可ビットを使用する。許可されていない場合、要求エージェント392は、マッピングを主張することなく要求を再発行し、トランザクションが許可されない、あるいは無効であることを意味している。さらに、要求エージェント392は、各トランザクションのためのホーム拡張ボードを決定すべくCASMテーブル401を参照するため、選択されたアドレス・ビット(例えば、ビット41:37)を使用する。ホーム拡張ボードは、CASMテーブル401の拡張番号フィールド406(4)にて識別される。CASMテーブル401の有効フィールド406(3)は、特定のエントリ405(1−r)が有効であるかどうかを示している。
ドメイン間のキャッシュ不可能なメモリ空間トランザクションは、NASMテーブル402によって制御される。「キャッシュ不可能なアドレス空間」は、デバイス構成領域、PCI空間、ASICレジスタ空間、ブートバス空間、などを含んでいる。
DMRテーブル403は、同じドメイン内にある拡張ボード40を識別する。DMRテーブル403は、デバイス構成アクセス、CASMテーブル401の更新を制御し、ホーム・エージェント390からのスレーブ・アクセスを許容する。図示の実施の形態においては、マスクがボードの形式(例えば、スロット0から1のボードへ、スロット0から0へ、など)によってグループ化されている。適切なマスクにおいて拡張ボード番号が参照され、「1」が、拡張ボード40について、スロット0/スロット1ボード30、35が同じドメインにあることを識別する。例えば、拡張ボード「m」のDMRテーブルのスロット0から1について、マスク・ビット「n」が「1」に等しいとき、拡張ボードnのスロット1ボード35が、拡張ボードnのスロット0ボード30と同じドメインにあることを意味している。
IDRテーブル404は、ドメイン間の割り込みトランザクションを制御する。図示の実施の形態では、マスクがボードの形式(例えば、スロット1ボード35に割り込みしているスロット0ボード30、スロット0ボード30に割り込みしているスロット1ボード35、スロット0ボード30に割り込みしているスロット0ボード30、スロット1ボード35に割り込みしているスロット1ボード35)によってグループ化されている。したがって、IDRテーブル404は、ボードの各形式について、複数の(図示の例では18の)スロットを有している。目的地の拡張ボード番号が、適切なマスクで参照され、「1」ビットが、割り込みの発生を許容する。例えば、スロット0から1についてマスク・ビット「n」が「1」に等しい場合、拡張ボードnのスロット1ボード35に、拡張ボードnのスロット0ボード30によって割り込みができることを意味している。
実施の一形態において、SRDが「鍵」(すなわち、アクセス権)を、クライアント・ドメインのメモリ/割り込みリソースに提供する。メモリ/割り込みリソースは、CASMテーブル410、NASMテーブル402、DMRテーブル403、およびIDRテーブル404を含むことができる。図示の実施の形態では、「鍵」がシステム制御ボード15(1、2)によってJTAGインターフェイスなどのローカル・インターフェイスを通してSRDへと提供され、「リンクドメイン(linkdomain)」コマンドで達成される。
実施の一形態において、共有リソース・ドメインが、不良ドメインからの連続的な割り込みによって有用な作業の実行が永続的に妨げられる場合、当該共有リソース・ドメインは、不良ドメインが割り込みを送れないよう、システム制御ボード15(1、2)にIDRテーブル404のマスクのリセットを要求する。
次に図4Aを参照すると、ドメイン・セット409の設定構成の一例が示されている。ここで「ドメイン・セット」とは、1つ以上のSRD410(1、2)、および当該SRD410(1、2)の制御下の1つ以上のクライアント・ドメイン415(1〜4)の集まりをいう。前述のとおり、各SRD410(1、2)およびクライアント・ドメイン415(1〜4)は、システム・ボード・セット29(1〜n)の全体(図1を参照)、選択されたシステム・ボード・セット29(1〜n)からの1枚以上のボード(例えば、システム・ボード30、入出力ボード35)、あるいはこれらの組み合わせから構成できる。
図示の実施の形態では、ドメイン・セット409は、主SRD410(1)を通して互いに通信する4つのクライアント・ドメイン415(1〜4)を含んでいる。主および副SRD410(1、2)は、ドメイン間通信のために高速接続を提供できるスイッチ20を通して、クライアント・ドメイン415(1〜4)へと接続されている。主SRD410(1)が故障の場合のバックアップを提供するため、ドメイン・セット409は副SRD410(2)を備えている。ここでの説明では、クライアント・ドメイン415(1〜4)およびSRD410(1、2)間の通信に言及するが、通常は、2つのSRD410(1、2)のうちのただ1つが、所与のあらゆる時点でクライアント・ドメイン415(1〜4)を管理する。けれども、別の実施の形態では、両方のSRD410(1、2)が、所与のあらゆる時点で、1つ以上のクライアント・ドメイン415(1〜4)も相互の通信を可能にすることもできる。しかしながら、いくつかのドメイン・セットの構成が、バックアップ用のSRDを有していなくてもよい。
各クライアント・ドメイン415(1〜4)は、SRD410(1、2)と通信すべくドメイン間ネットワーク(IDN)接続を提供するため、ドメイン間ネットワーキング(IDN)層420を備えている。実施の一形態においては、IDN層420は、IDNドライバ(図示せず)を含んでいる。各クライアント・ドメイン415(1〜4)は、IDN層420と取り合うインターネット・プロトコル(IP)スタック425を備えてもよい。IPスタック425の一例は、1981年9月付のリクエスト・フォー・コメント(RFC)791、「インターネット・プロトコル」に記載されている。さらなる実施の形態においては、IPv6などIPの他の例、あるいはその他のパケット・ベースの標準を利用することもできる。IPv6の一例は、1998年12月付のRFC2460、「インターネット・プロトコル、バージョン6(IPv6)仕様書」に記載されている。IPネットワークなどのパケット・ベースのネットワークは、ネットワークをわたって送られるパケット、データグラム、あるいはその他のデータ単位で通信する。専用の端対端の接続、あるいは呼び出しセッション継続中の物理的経路を確保する回路切り替え型のネットワークと異なり、パケット・ベースのネットワークは、複数のネットワーク要素によって同じ経路を共有できるものである。
図示の実施の形態では、各クライアント・ドメイン415(1〜4)が、トランスミッション・コントロール・プロトコル(TCP)やユーザ・データグラム・プロトコル(UDP)など、より上位の層のプロトコル430を含んでいてもよい。このように、クライアント・ドメイン415(1〜4)が、SRD410(1、2)と、プロトコル層425、430を使用したIDN接続を介して取り合う。
図示の実施の形態においては、SRD410(1、2)が、1つ以上の外部装置(図示せず)と通信するためのインターフェイス435を備えている。実施の一形態においては、インターフェイス435は、例えば光ファイバ接続で他のシステム(図示せず)と接続できるワイルドキャット(Wildcat(商標))クラスタ・インターフェイスであってよい。インターフェイス435は、ときには高価であり、そのようなインターフェイスを全てのシステム・ボード・セット29(1〜n)(図1を参照)に一体に備えることは、コスト的に許されないかもしれない。したがって、本発明の実施の一形態によれば、インターフェイス435を複数のシステム・ボード・セット29(1〜n)に備えるかわりに、インターフェイス435を、SRD410(1、2)として構成される1つまたは少数のシステム・ボード・セット29(1〜n)に選択的に取り付けることができる。クライアント・ドメイン415(1〜4)は、SRD410(1、2)を通じてインターフェイス435にアクセスできる。
以下に詳細を説明するとおり、SRD410(1、2)は、ドメイン間メモリ・トランザクションの使用を通してドメイン間通信を可能にする。実施の一形態では、SRD410(1、2)は、1つ以上のクライアント・ドメイン415(1〜4)間の読み込みおよび書き込みトランザクションを管理する。
図示の実施の形態では、SRD410(1、2)のみが、ドメイン・セット409のクライアント・ドメイン415(1〜4)にアクセスすることができる(すなわち、クライアント・ドメイン415(1〜4)は、互いのリソースに直接アクセスすることができない)。SRD410(1、2)のプロセッサ360(1〜4)(図3Aを参照)は、ハードウェアの設定を管理し、或るクライアント・ドメイン415(1〜4)から他のクライアント・ドメイン415(1〜4)へとデータを提供するソフトウェア・モジュール440の実行能力を有する。したがって、図示の実施の形態において、SRD410(1、2)は、クライアント・ドメイン415(1〜4)間でデータのコピーまたは移動を行うことができる動的システム・ドメインである。実施の一形態において、最大転送単位(MTU)サイズのデータ、あるいはより小さいサイズのデータを転送することができる。SRD410(1、2)は、SRD410(1、2)のブート構成の一部であることができるIDNドライバを含むIDN層445を備えてもよい。実施の一形態において、SRD410(1、2)は、クライアント・ドメイン415(1〜4)内のメモリ361(1〜4)(図3Aを参照)にアクセスするため、動的メモリ・マッピングを利用することができる。ここで、用語「動的メモリ・マッピング」は、SRD410(1、2)とクライアント・ドメイン415(1〜4)の間の接続の継続中、またはSRD410(1、2)とクライアント・ドメイン415(1〜4)との間のトランザクションの継続中のメモリのマッピングを意味する。実施の一形態において、1つ以上のクライアント・ドメイン415(1〜4)との通信のため、各SRD410(1、2)は、IP層450、およびTCP/UDP層455を備えている。
通常、システム管理者がドメイン・セット409を構成する。すなわち、システム管理者が、1つ以上のクライアント・ドメイン415(1〜4)および共有リソース・ドメイン410(1、2)を定義するリソース(例えば、ボード30、35、40)を指定する。構成後かつ主SRD410(1)がクライアント・ドメイン415(1〜4)に接続するときの初期化の際、主SRD410(1)は、下記のとおり、各クライアント・ドメイン415(1〜4)について送信キュー460(1〜4)および受信キュー465(1〜4)を生成する。以下に詳述するように、送信キュー460(1〜4)はSRD410(1、2)が完了すべき1つ以上のタスクを含み、受信キュー465(1〜4)は各クライアント・ドメイン415(1〜4)が完了すべき1つ以上のタスクを含む。
実施の一形態において、キュー460(1〜4)および465(1〜4)は、以下のとおり生成できる。すなわち、システム制御ボード15(1、2)が、構成されたクライアント・ドメイン415(1〜4)をSRD410(1、2)へと認識し、次いでSRD410(1、2)が、構成されたクライアント・ドメイン415(1〜4)へと割り込み要求を送る。SRD410(1、2)からの要求に応え、各構成されたクライアント・ドメイン415(1〜4)は、割り込みを介して、ページ・フレーム番号(すなわち、メモリの物理ページ)をSRD410(1、2)に送信し、次いでSRD410(1、2)が、受け取ったPFNを仮想メモリとしてマッピングする。当業者であれば、オペレーティング・システムに応じて、メモリのマッピングを種々の方法で行えることを理解されるであろう。例えば、ソラリス・オペレーティング・システムでは、仮想メモリ・マッピングは、ハードウェア・アドレス・トランザクション層で行なわれる。
実施の一形態では、各クライアント・ドメイン415(1〜4)のキュー460(1〜4)および465(1〜4)が、SRD410(1、2)およびこれらのキュー460(1〜4)および465(1〜4)に結び付けられたクライアント・ドメイン415(1〜4)にとってアクセス可能である任意の記憶空間であってよい。図示の実施の形態においては、SRD410(1、2)が、初期化の際、キュー460(1〜4)および465(1〜4)を動的にマッピングする。すなわち、各クライアント・ドメイン415(1〜4)の選択されたメモリ領域が、SRD410(1、2)へとマッピングされる。メモリ領域は、例えば、各クライアント・ドメイン415(1〜4)へと結び付けられたメモリ361(1〜4)(図3Aを参照)および/またはキャッシュ・メモリ362(1〜4)であってよい。実施の一形態においては、キュー460(1〜4)および465(1〜4)は、クライアント・ドメイン415(1〜4)とSRD410(1、2)の間の接続の継続期間の間、動的にマッピングされたままであってよい。図示の実施の形態では、各クライアント・ドメイン415(1〜4)が、2つのキュー460(1〜4)および465(1〜4)を含んでいるが、別の実施の形態では、送信タスクおよび受信タスクを達成するために、ただ1つのキューを用いてもよい。
図示の実施の形態では、クライアント・ドメイン415(1〜4)がそれぞれ、送信バッファ470(1〜4)および受信バッファ472(1〜4)を備えている。実施の一形態において、バッファ470(1〜4)および472(1〜4)は、バッファ470(1〜4)および472(1〜4)を経由して、ネットワーク層プロトコルがデータを送受信できるストリーム化ネットワーク・バッファでよい。ドメイン間通信を促進するために、これらバッファ470(1〜4)および472(1〜4)がどのように使用されるのかを、以下に詳細に説明する。
実施の一形態において、SRD410(1)が、仮想メモリ・マッピング情報が記憶されるメモリ・マップ・テーブル475を備えている。このメモリ・マップ・テーブル475は、クライアント・ドメインごとに、それに基づく情報を含んでいる。すなわち、メモリ・マップ・テーブル475は、メモリがSRD410(1、2)へとマッピングされる、構成された各クライアント・ドメイン415(1〜4)からのページ・フレーム番号を含んでいる。図示はされていないが、実施の一形態においては、バックアップのSRD410(2)も、主SRD410(1)のメモリ・マップ・テーブル475に記憶されている情報を含んでよい。
図4B、4Cを参照すると、送信および受信キュー460(1〜4)、465(1〜4)の実施の形態の一例が示されている。図示のとおり、送信キュー460(1〜4)は、複数のエントリ477(1〜m)を含んでおり、各エントリ477(1〜m)は、状態フィールド478およびメッセージ・フィールド479を有している。クライアント・ドメイン415(1〜4)は、実行のためメッセージ・フィールド479内にタスクをポストする。メッセージ・フィールド479は、実行すべきアクション(例えば、データの転送、データの受信、リソースへのアクセス)、データのソース・アドレス、宛先アドレスなどの情報を含むことができる。実施の一形態において、SRD410(1、2)は、完了すべきタスクがあるかどうかを判断するため、送信キュー460(1〜4)をポーリングする。送信キュー460(1〜4)でタスクの実行が必要な場合、SRD410(1、2)が当該タスクを実行し、次いで当該タスクの対応する状態フィールド478を更新する。例えば、図413に示した例では、SRD410(1、2)によって第1のエントリ477(1)に、「完了」と印が付けられる。その後、クライアント・ドメイン415(1〜4)が、完了したエントリを送信キュー460(1〜4)から取り除く。実施の一形態において、タスクの状態を告知するために、ただ1つのビット(例えば、完了に「0」、および未完了にゼロでないビット)でよいことは、理解されるであろう。
図示のとおり、受信キュー465(1〜4)は、複数のエントリ480(1〜g)を有し、各エントリ480(1〜g)は、状態フィールド481およびメッセージ・フィールド482を有している。SRD410(1、2)は、クライアント・ドメイン415(1〜4)によって完了されるよう意図されているタスクを、受信キュー465(1〜4)内にポストする。メッセージ・フィールド482は、実行すべきアクション(例えば、データの転送、データの受信、リソースへのアクセス)、データのソース・アドレス、宛先アドレスなどの情報を含むことができる。実施の一形態において、クライアント・ドメイン415(1〜4)は、完了すべきタスクがあるかどうかを判断するため、受信キュー465(1〜4)をポーリングする。タスクの実行が必要である場合、クライアント・ドメイン415(1〜4)が当該タスクを実行し、次いで当該タスクの対応する状態フィールド481を更新する。例えば、図413に示した例では、第1および第2のエントリ480(1、2)に「未完了」と印が付けられ、クライアント・ドメイン415(1〜4)によって実行されるため、2つのタスクが受信キュー465(1〜4)内に現在係属中であることを意味している。ひとたび完了すると、当該タスクは受信キュー465(1〜4)から削除される。
他の実施の形態においては、メッセージをチェックすべくSRD410(1、2)が送信キュー460(1〜4)をポーリングするかわりに、各クライアント・ドメイン415(1〜4)が、送信キュー460(1〜4)にメッセージをポストし、次いでSRD410(1、2)に係属中のメッセージを知らせるべく割り込みを生成してもよい。同様に、クライアント・ドメイン415(1〜4)に受信キュー465(1〜4)をポーリングさせるかわりに、SRD410(1、2)が、クライアント・ドメイン415(1〜4)の受信キュー465(1〜4)にメッセージがポストされるたびに割り込みを生成し、クライアント・ドメイン415(1〜4)に新しいメッセージがポストされたことを告知してもよい。
図5を参照すると、本発明の実施の一形態について、図4Aのドメイン・セット409内のドメイン間通信を可能にする方法のフロー図が示されている。主SRD410(1)が、発起クライアント・ドメイン415(1〜4)からの要求を(フロー図の510で)受信する。実施の一形態においては、要求を開始するクライアント・ドメイン415(1〜4)が、係属中の要求があることを主SRD410(1)に知らせるため、割り込みを使用することができる。かわりに、主SRD410(1)が、規定の各クライアント・ドメイン415(1〜4)の要求を定期的にポーリングしてもよい。
(フロー図の510で)受信した要求は、例えば、他のクライアント・ドメイン415(1〜4)のリソース(例えば、ハードウェアまたはデータ)へのアクセス要求であってよい。例えば、実施の一形態において、第1のクライアント・ドメイン415(1)が、(フロー図の510で)第4のクライアント・ドメイン415(4)からのデータの受信、および/または第4のクライアント・ドメイン415(4)へのデータの送信を要求してもよい。実施の一形態では、1つ以上のクライアント・ドメイン415(1〜4)が、インターフェイス435などのリソースなど、SRD410(1、2)のリソースにアクセスすることもできる。これに限られるわけではないが、説明を目的として、発起クライアント・ドメイン415(1〜4)が、(フロー図の510で)他のクライアント・ドメイン(故に、「目標クライアント・ドメイン」と呼ばれる)415(1〜4)からデータを要求するとみなされる。
主SRD410(1)によって(フロー図の510で)受信されたリクエストに応答して、主SRD410(1)は、(フロー図の520で)目標クライアント415(1〜4)にアクセスする。目標クライアント・ドメイン415(1〜4)に(フロー図の520で)アクセスする工程は、例えば、主SRD410(1)が、発起クライアント・ドメイン415(1〜4)によって(フロー図の510で)要求されたデータを引き出すべく、目標クライアント・ドメイン415(1〜4)のメモリ361(1〜4)にアクセスすることを含んでいてよい。SRD410(1)は、(フロー図の525で)目標クライアント・ドメイン415(1〜4)が応答しているかどうかを判断する。実施の一形態においては、SRD410(1)は、(フロー図の525で)目標ドメイン415(1〜4)が応答しているかどうかを判断するため、あらかじめ選択された時間(その時間はプログラム可能にしてもよい)の間、目標クライアント・ドメイン415(1〜4)にアクセスを試みることができる。あらかじめ選択された時間内に目標クライアント・ドメイン415(1〜4)へのアクセスの試みが成功しなかったとき、それは、そのドメイン415(1〜4)が動作していない、あるいは主SRD410(1)とそのドメイン415(1から4)との間の接続に障害があり、目標クライアント・ドメイン415(1〜4)が応答可能でないことを示している。
ある場合に、クライアント・ドメイン415(1〜4)(または、SRD410(1、2))は、ドメインが致命的なエラーによって引き起こされる「ドメイン停止」を持つ場合、応答のない状態になることがある。ハードウェアが回復不可能なエラーを検出したとき、ドメインが走り続けると故障の源を突き止めることが困難になるが、これを防止してさらなるデータの損傷を少なくし、デバッグを容易にするよう、「ドメイン停止」によりドメイン415(1〜4)/410(1、2)を迅速かつ効果的にシャット・ダウンする。図示の実施の形態では、「ドメイン停止」は、AXQモジュール382およびSDIモジュール383(図3Aを参照)の入出経路をシャット・ダウンすることによって行われる。
(フロー図の525で)目標クライアント・ドメイン415(1〜4)が応答可能である場合、次いで主SRD410(1)が、(フロー図の530で)目標クライアント・ドメイン415(1〜4)からデータを引き出す。続いて、主SRD410(1)が、目標クライアント・ドメイン415(1〜4)から(フロー図の530で)引き出したデータを、発起クライアント・ドメイン415(1〜4)に提供する。実施の一形態において、主SRD410(1)は、目標クライアント・ドメイン415(1〜4)から(フロー図の530で)引き出したデータを、発起クライアント・ドメイン415(1〜4)のメモリ361(1〜4)へとコピーする。
主SRD410(1)が、(フロー図の525で)目標ドメインが応答可能でないと判断した場合、次いで主SRD410(1)は、(フロー図の540で)システム制御ボード15(1、2)にそのように知らせる(図1参照)。その後、主SRD410(1)は、(フロー図の550で)エラー状態を発起クライアント・ドメイン415(1〜4)に知らせることができ、発起クライアント・ドメイン415(1〜4)に、(フロー図の510で)受け取った要求に対して上手くサービスすることができないことを知らせる。主SRD410(1)は、(フロー図の510で)他のクライアント・ドメイン415(1〜4)からの他の要求を受け取ることができる。
図5には、一つのクライアント・ドメイン415(1〜4)から他のクライアント・ドメイン415(1〜4)へのデータの転送方法が示されているが、同様の方法を、クライアント・ドメイン415(1〜4)からのデータの受信にも用いることができる。例えば、他のクライアント・ドメイン415(1〜4)からのデータを要求しているクライアント・ドメイン415(1〜4)が、まずSRD410(1、2)に、選択されたデータが他のクライアント・ドメイン415(1〜4)から希望されていることを示してもよい。要求クライアント・ドメイン415(1〜4)が、SRD410(1)にそのような要求を、割り込みやポーリングを用いて示してもよい。要求が知らされるとSRD410(1)は、要求されたデータをリモート・クライアント・ドメイン415(1〜4)から引き出し、要求クライアント・ドメイン415(1〜4)に提供することができる。実施の一形態において、このような転送は、クライアント・ドメイン415(1〜4)のメモリをSRD410(1)へと動的にマッピングすることにより、促進することができる。
前述のとおり、図示の実施の形態では、SRD410(1、2)が、一つのクライアント・ドメイン415(1〜4)から他のクライアント・ドメイン415(1〜4)へのデータの転送を促進している。ドメイン間データ転送を管理することにより、SRD410(1、2)は、クライアント・ドメイン415(1〜4)間のエラー絶縁をもたらすことができる。すなわち、クライアント・ドメイン415(1〜4)が応答を停止した場合、SRD410(1、2)は、当該ドメインからの応答の欠如を許容することができる。さらに、主SRD410(1)が応答を停止した場合、クライアント・ドメイン415(1〜4)は、主SRD410(1)からの応答の欠如を許容することができる。主SRD410(1)が応答を停止した場合には、副SRD410(2)が管理機能を引き継ぐ。
次に図6を参照すると、本発明の実施の一形態について、図4Aのドメイン・セット409においてドメイン間通信を可能にする別の方法のフロー図が示されている。説明を容易にするため、ここでは、クライアント・ドメイン415(1〜4)の1つ(「起点」クライアント・ドメイン415(1〜4)と呼ぶ)が、残りのクライアント・ドメイン415(1〜4)のうちの1つ(「宛先」クライアント・ドメイン415(1〜4)と呼ぶ)にデータを転送するものとする。しかしながら、同様の方法を、クライアント・ドメイン415(1〜4)のうちの1つが他のクライアント・ドメイン415(1〜4)からのデータ受信を希望している場合に使用できることは、理解されるであろう。
送信キュー460(1〜4)および受信キュー465(1〜4)が、(フロー図の610で)SRD410(1、2)の各クライアント・ドメイン415(1〜4)についてマッピングされる。したがって、クライアント・ドメイン415(1〜4)の各キュー460(1〜4)、465(1〜4)は、当該クライアント・ドメイン415(1〜4)ならびにSRD410(1、2)によってアクセス可能である。しかしながら、図示の実施の形態では、クライアント・ドメイン415(1〜4)は互いのキュー460(1〜4)、465(1〜4)にアクセスすることはできない。
SRD410(1、2)は、(フロー図の620で)新しいメッセージのため、構成された各クライアント・ドメイン415(1〜4)の送信キュー460(1〜4)をポーリングする。前述のとおり、各クライアント・ドメイン415(1〜4)によって送信キュー460(1〜4)にポストされたメッセージは、SRD410(1、2)が完了すべきタスクを含んでいる。実施の一形態においては、SRD410(1、2)が、各クライアント・ドメイン415(1〜4)の送信キュー460(1〜4)を連続的にポーリングしてもよい。あるいは、SRD410(1、2)が、各クライアント・ドメイン415(1〜4)の送信キュー460(1〜4)を、例えばユーザによって指定される優先順序の枠組みにもとづき、ユーザ定義の順序に従ってポーリングしてもよい。
SRDは(フロー図の625で)、クライアント・ドメイン415(1〜4)の送信キュー460(1〜4)に新しいメッセージがポストされていないかを判断する。SRDが(フロー図の625で)、クライアント・ドメイン415(1〜4)の送信キュー460(1〜4)に新しいメッセージがポストされていないと判断した場合、次いでSRD410(1、2)は、クライアント・ドメイン415(1〜4)の送信キュー460(1〜4)を(フロー図の620で)再びポーリングする。ポーリングの工程は、SRD410(1、2)が、(フロー図の625)でクライアント・ドメイン415(1〜4)の送信キュー460(1〜4)に新しいメッセージがポストされたと判断するまで続けてよい。SRD410(1、2)が、(フロー図の625)で、クライアント・ドメイン415(1〜4)の送信キュー460(1〜4)に新しいメッセージがポストされたと判断すると、SRD410(1、2)は、(フロー図の630で)メッセージでポストされたタスクを実行する。(フロー図の630での)タスク実行行為のより詳細な実施の形態は、以下で図7を参照して説明する。
再び図6を参照すると、SRD410(1、2)によってタスクが(フロー図の630で)うまく実行されると、SRD410(1、2)は、(フロー図の632で)タスクを含んでいる送信キュー460(1〜4)の状態フィールド478(図4Bを参照)を更新する。送信キュー460(1〜4)の状態フィールド478は、例えばタスクが完了したことを示すために更新できる。実施の一形態では、タスクが完了したクライアント・ドメイン415(1〜4)は、(フロー図の635で)自身の送信キュー460(1〜4)から当該タスクを取り除く。他の実施の形態においては、クライアント・ドメイン415(1〜4)ではなくSRD410(1、2)が、(フロー図の635で)送信キュー460(1〜4)から当該タスクを取り除いてもよい。SRD410(1、2)が(フロー図の635で)クライアント・ドメイン415(1〜4)の送信キュー460(1〜4)から当該タスクを取り除く場合には、SRD410(1、2)が通常、タスクが完了するや否や当該タスクを取り除くので、送信キュー460(1〜4)に状態フィールド478は不要かもしれないことに注意すべきである。
次に図7を参照すると、本発明の実施の一形態について、図6のブロック630のフロー図が示されている。SRD410(1、2)は、(フロー図の710で)起点クライアント・ドメイン415(1〜4)および宛先クライアント・ドメイン415(1〜4)に関する情報を決定する。すでに述べたとおり、説明を容易にするため、ここでは起点クライアント・ドメイン415(1〜4)が宛先クライアント・ドメイン415(1〜4)にデータを送信するものとする。したがって、実施の一形態においては、起点クライアント・ドメイン415(1〜4)の送信キュー460(1〜4)のメッセージ・フィールド479が、起点クライアント・ドメイン415(1〜4)の送信しようとするデータのある送信バッファ470(1)のページ・フレーム番号、キャッシュ・ライン境界オフセット、転送しようとするデータのページ数、キャッシュ・ラインへのバイト・オフセットなどの情報を含むことができる。送信キュー460(1〜4)のメッセージ・フィールド479が、宛先クライアント・ドメイン415(1〜4)の受信バッファ472(1〜4)(図4A)のページ・フレーム番号など、宛先情報をさらに含んでもよい。
SRD410(1、2)は、(フロー図の715で)起点クライアント・ドメイン415(1〜4)の送信バッファ470(1〜4)(図4A)のページ・フレーム番号をSRD410(1、2)へとマッピングし、マッピングされたメモリは共有メモリとなる。同様に、SRD410(1、2)は、(フロー図の720で)宛先クライアント・ドメイン415(1〜4)の受信バッファ472(1〜4)(図4A)のページ・フレーム番号をSRD410(1、2)へとマッピングする。マッピングされるメモリの量は、通常、転送されるデータの量によって決まるが、他の実施の形態では、所望のとおりに追加のメモリをマッピングしてもよい。
SRD410(1、2)は、(フロー図の725で)マッピングされた起点のメモリ領域(起点クライアント・ドメイン415(1〜4)の送信バッファ470(1〜4)に対応)から、マッピングされた宛先のメモリ領域(宛先クライアント・ドメイン415(1〜4)の受信バッファ472(1〜4)に対応)へと、データをコピーする。実施の一形態では、(アッセンブリ・レベルでは通常である)バイト列コピー・コマンドが、マッピングされた2つのメモリ領域間のデータ転送に使用される。
実施の一形態においては、データ転送の際にバイト列コピー・コマンドが失敗した場合、生じたエラーが内在のハードウェア(例えば、拡張ボード40およびその構成要素)によって取り扱われ、エラーがドメイン・セット409(図4Aを参照)内の他のドメインに影響することがない。バイト列コピー・コマンドは、例えば、要求エージェント392(図3Aを参照)が、データ転送のためのバイト列コピー・コマンドにもとづき、内在の要求をマッピングしたとおりに主張しない場合に生じうる。そのような場合、生じたトラップが拡張ボード40によって取り扱われ、シャット・ダウンを引き起こすかわりに、バイト列コピーが失敗したことを知らせるあらかじめ決められたコードをソフトウェアに伝達する。このようにして、データ転送の際に生じたエラーは、ドメイン・セット409にて幾分絶縁され、ドメイン・セット409内の他のドメイン間のデータ転送は、事実上影響を受けることはない。
(フロー図の725で)データをコピーすると、SRD410(1、2)は、(フロー図の715および720で)マッピングしたメモリ領域を(フロー図の727で)取り除く。このように、実施の一形態では、クライアント・ドメイン415(1〜4)間の各データ転送の前に、メモリ領域がSRD410(1、2)に動的にマッピングされ、その後、データが転送された後にマッピングが解除される。
SRD410(1、2)は、(フロー図の730で)宛先クライアント・ドメイン415(1〜4)の受信キュー465(1〜4)に、メッセージをポストする。実施の一形態において、メッセージは宛先クライアント・ドメイン415(1〜4)に、データが当該宛先クライアント・ドメイン415(1〜4)の受信バッファ472(1〜4)に移されたことを知らせる。次いで宛先クライアント・ドメイン415(1〜4)は、図8でより詳しく説明するように、SRD410(1、2)によって(フロー図の730で)当該宛先クライアント・ドメイン415(1〜4)の受信キュー465(1〜4)にポストされたメッセージを処理する。
次に図8を参照すると、本発明の実施の一形態について、宛先クライアント・ドメイン415(1〜4)の受信キュー465(1〜4)内のメッセージの処理方法のフロー図が示されている。宛先クライアント・ドメイン415(1〜4)は、新しいメッセージをチェックするため、(フロー図の810で)受信キュー465(1〜4)をポーリングする。宛先クライアント・ドメイン415(1〜4)は、(フロー図の820で)受信キュー465(1〜4)に新しいメッセージがポストされたか否かを判断する。新しいメッセージが検出されなかった場合、宛先クライアント・ドメイン415(1〜4)は、(フロー図の810で)新しいメッセージのため受信キュー465(1〜4)を定期的にポーリングすることができる。(フロー図の820で)新しいメッセージが受信キュー465(1〜4)にポストされたことを検出した場合、続いて宛先クライアント・ドメイン415(1〜4)は、(フロー図の830で)当該メッセージに含まれているタスクを実行する。図7の説明例においては、タスクは、宛先クライアント・ドメイン415(1〜4)に、受信バッファ472(1〜4)へと起点クライアント・ドメイン415(1〜4)の送信バッファ470(1〜4)からデータが転送されたことを知らせ、受信バッファ472(1〜4)内のデータを他の場所に動かせることを知らせることにある。タスクが完了すると、(フロー図の835で)受信キュー465(1〜4)から取り除かれる。
上述の方法は、起点クライアント・ドメイン415(1〜4)から宛先クライアント・ドメイン415(1〜4)へのデータの送信を示している。他のクライアントからのデータの受信(送信の反対である)も、前述の方法と同様のやり方で行われる。例えば、要求側のクライアント・ドメイン415(1〜4)が自身の送信キュー460(1〜4)に、当該要求側クライアント・ドメイン415(1〜4)がリモート・クライアント・ドメイン415(1〜4)からの選択されたデータを望んでいることを示すメッセージをポストしてもよい。この送信キュー460(1〜4)からのメッセージを、図6〜8について上述したものと同様のやり方で、SRD410(1、2)によってリモート・クライアント・ドメイン415(1〜4)の受信キュー465(1〜4)へと運ぶことができる。
システムの種々の層、ルーチン、またはモジュールを、制御ユニット389(図3Aを参照)などの実行可能な制御ユニットとできる。各制御ユニット389は、マイクロプロセッサ、マイクロコントローラ、デジタル・シグナル・プロセッサ、プロセッサ・カード(マイクロプロセッサまたはコントローラを1つ以上備えている)、あるいはその他の制御または演算装置を備えることができる。
ここでの説明でいう記憶装置とは、データおよび命令を記憶するための機械で読み出し可能な1つ以上の記憶媒体を包含する。記憶媒体は、ダイナミック・ランダム・アクセス・メモリまたはスタティック・ランダム・アクセス・メモリ(DRAMまたはSRAM)、消去およびプログラム可能な読み出し専用メモリ(EPROM)、電子的に消去およびプログラム可能な読み出し専用メモリ(EEPROM)およびフラッシュ・メモリなどの半導体メモリ装置、固定ディスク、フロッピ・ディスク、リムーバブル・ディスクなどの磁気ディスク、テープなどの他の磁気媒体、ならびにコンパクト・ディスク(CD)またはデジタル・ビデオ・ディスク(DVD)などの光学媒体を含む種々の形式のメモリを包含する。命令は、各制御ユニットで実行されたとき、対応するシステムにプログラムされた動作を実行させる。
前記特定の実施の形態はあくまで説明のためのものであり、当業者であれば、ここでの教示による利益を有しつつ、本発明を変更し異なるが均等であるやり方で実施することができる。さらに、本発明は、以下の特許請求の範囲に記載するものを除き、ここで示した構成や設計の詳細に限定されるものではない。すなわち、前記した特定の実施の形態を改変または変更することができ、そのような変形が本発明の技術的範囲および思想の範疇と考えられることは明らかである。したがって、ここで求める保護は、以下の特許請求の範囲に記載するとおりである。
図1は、本発明の実施の一形態によるシステムを様式化して示したブロック図である。 図2は、本発明の実施の一形態について、図1のシステムで使用可能なドメイン構成の一例のブロック図である。 図3Aは、本発明の実施の一形態について、図1のシステムで使用可能なシステム・ボード・ユニットを様式化して示したブロック図ある。 図3Bは、本発明の実施の一形態について、図3Aのシステム・ボード・ユニットの拡張ボードで使用可能な要求エージェントのブロック図である。 図4Aは、本発明の実施の一形態について、図1のシステムのドメイン・セット構成のブロック図である。 図4Bは、本発明の実施の一形態について、図4Aのドメイン・セット構成のクライアント・ドメインで使用可能なキューの例である。 図4Cは、本発明の実施の一形態について、図4Aのドメイン・セット構成のクライアント・ドメインで使用可能なキューの例である。 図5は、本発明の実施の一形態について、図4Aのドメイン・セットにおけるドメイン間通信の方法のフロー図である。 図6は、本発明の実施の一形態について、ドメイン間通信を可能にする方法のフロー図である。 図7は、本発明の実施の一形態について、ドメイン間通信を可能にする他の方法のフロー図である。 図8は、図4Aのドメイン・セット構成のクライアント・ドメインで実施可能な方法のフロー図である。

Claims (28)

  1. 起点となる装置から中央装置にメモリ領域をマッピングすること、
    目標となる装置から中央装置にメモリ領域をマッピングすること、および
    起点となる装置のマッピングされたメモリ領域から、目標となる装置のマッピングされたメモリ領域にデータを転送すること
    からなる方法。
  2. 起点となる装置のメモリ領域のマッピングが、起点となる装置のメモリ領域の物理アドレス範囲に関連した少なくとも1つのページ・フレーム番号を受信すること、および、ページ・フレーム番号を中央装置の仮想メモリ位置へマッピングすることからなる請求項1に記載の方法。
  3. 目標となる装置のメモリ領域のマッピングが、目標となる装置のメモリ領域の物理アドレス範囲に関連した少なくとも1つのページ・フレーム番号を受信すること、および、ページ・フレーム番号を中央装置の仮想メモリ位置へマッピングすることからなる請求項2に記載の方法。
  4. データの転送が、起点となる装置のマッピングされたメモリ領域から、目標となる装置のマッピングされたメモリ領域へとデータをコピーすることからなる請求項1に記載の方法。
  5. 起点となる装置のメモリ領域のマッピングが、起点となる装置の転送バッファの物理アドレスを中央装置にマッピングすることからなる請求項1に記載の方法。
  6. 起点となる装置のメモリ領域のマッピングが、目標となる装置の受信バッファの物理アドレスを中央装置にマッピングすることからなる請求項1に記載の方法。
  7. 起点となる装置のメモリ領域の中央装置へのマッピングが、起点となる装置から受信した目標となる装置へのデータ転送要求に応答して、起点となる装置のメモリ領域をマッピングすることからなる請求項1に記載の方法。
  8. 起点となる装置のメモリ領域の中央装置へのマッピングが、目標となる装置から受信した起点となる装置からのデータの受信要求に応答して、起点となる装置のメモリ領域をマッピングすることからなる請求項7に記載の方法。
  9. 起点となる装置からの要求の受信が、中央装置へとマッピングされた起点となる装置の送信キューを、目標となるドメインへのデータ転送を求めるメッセージを探してポーリングすることからなる請求項7に記載の方法。
  10. インターフェイス、および
    インターフェイスに通信可能に接続されたコントローラ
    からなり、
    コントローラが、
    インターフェイスを通して、第1のクライアント・ドメインから第2のクライアント・ドメインへとデータを転送するタスクを受信し、
    第1のクライアント・ドメインのメモリ領域を中央ドメインにマッピングし、第2のクライアント・ドメインのメモリ領域を中央ドメインにマッピングし、そして
    第1のクライアント・ドメインのマッピングされたメモリ領域から、第2のクライアント・ドメインのマッピングされたメモリ領域へとデータを転送する
    よう構成されている装置。
  11. 第1のクライアント・ドメインのメモリ領域が、第1のクライアント・ドメインの送信バッファのアドレス範囲に対応している請求項10に記載の装置。
  12. 第2のクライアント・ドメインのメモリ領域が、第2のクライアント・ドメインの受信バッファのアドレス範囲に対応している請求項10に記載の装置。
  13. コントローラが、データ転送タスクにアクセスすべく第1のクライアント・ドメインの送信キューにアクセスし、送信キューに対応するアドレス範囲が中央ドメインにマッピングされる請求項10に記載の装置。
  14. コントローラが、データ転送タスクにアクセスすべく定期的に送信キューをポーリングする請求項13に記載の装置。
  15. 送信キューが、タスクに関連づけられた状態フィールドを有し、転送が完了したことを示すべくコントローラが状態フィールドを更新する請求項13に記載の装置。
  16. 状態フィールドの更新に応答して、第1のクライアント・ドメインがタスクを送信キューから削除する請求項15に記載の装置。
  17. コントローラが、第2のクライアント・ドメインのマッピングされたメモリ領域へのデータ転送に応答して、第2のクライアント・ドメインの受信キューにタスクを記憶する請求項10に記載の装置。
  18. 第2のクライアント・ドメインが、記憶されたタスクを求めて受信キューに定期的にアクセスし、受信キューにタスクが記憶されているとの判断に応答して、第2のクライアント・ドメインが受信キューからのタスクを実行する請求項17に記載の装置。
  19. コントローラが、成功裏のデータ転送に応答して、マッピングしたメモリ領域を取り除く請求項10に記載の装置。
  20. 機械で読み取り可能な1つ以上の記憶媒体からなり、記憶媒体が命令を収容している物品であって、
    命令の実行時、プロセッサによる
    送信キューへのアクセス、
    送信キューに、元のアドレスおよび宛先アドレスを含む実行すべきメッセージがあるかどうかの判断、
    元のアドレスに対応するメモリ領域の共有リソース・ドメインへのマッピング、
    宛先アドレスに対応するメモリ領域の共有リソース・ドメインへのマッピング、および
    元のアドレスおよび宛先アドレスがマッピングされたメモリ領域間でのデータ転送
    が可能になる物品。
  21. 命令が、実行されたときに、送信キューに対応するメモリ・アドレス範囲の分割リソース・ドメインへのマッピングを、プロセッサに可能ならしめる請求項20に記載の物品。
  22. 命令が、実行されたときに、第1のドメインの送信キューの定期的ポーリングを、プロセッサに可能ならしめる請求項21に記載の物品。
  23. 命令が、実行されたときに、第1のドメインの送信バッファに対応するメモリ・アドレス範囲のマッピングを、プロセッサに可能ならしめる請求項22に記載の物品。
  24. 命令が、実行されたときに、第2のドメインの受信バッファに対応するメモリ・アドレス範囲のマッピングを、プロセッサに可能ならしめる請求項22に記載の物品。
  25. 命令が、実行されたときに、成功裏のデータ転送にもとづく第1のドメインのメッセージに関連づけられた状態フィールドの更新を、プロセッサに可能ならしめる請求項20に記載の物品。
  26. 命令が、実行されたときに、成功裏のデータ転送に応答した送信キューからのメッセージの除去を、プロセッサに可能ならしめる請求項20に記載の物品。
  27. 命令が、実行されたときに、第2のドメインの受信キューへのメッセージでの記憶を、プロセッサに可能ならしめ、受信キュー内のアドレス範囲が共有リソース・ドメインにマッピングされている請求項20に記載の物品。
  28. 命令が、実行されたときに、成功裏のデータ転送に応答したマッピングされたメモリ領域の除去を、プロセッサに可能ならしめる請求項20に記載の物品。
JP2003560753A 2002-01-09 2003-01-09 ドメイン間データ転送 Pending JP2005515543A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/042,989 US6795902B2 (en) 2002-01-09 2002-01-09 Inter-domain data transfer
PCT/US2003/000626 WO2003060725A2 (en) 2002-01-09 2003-01-09 Inter-domain data transfer

Publications (1)

Publication Number Publication Date
JP2005515543A true JP2005515543A (ja) 2005-05-26

Family

ID=21924851

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003560753A Pending JP2005515543A (ja) 2002-01-09 2003-01-09 ドメイン間データ転送

Country Status (5)

Country Link
US (1) US6795902B2 (ja)
EP (1) EP1463997B1 (ja)
JP (1) JP2005515543A (ja)
AU (1) AU2003235648A1 (ja)
WO (1) WO2003060725A2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7464138B2 (en) * 2002-03-29 2008-12-09 International Business Machines Corporation Mirror queue in a shared queue environment
US7483377B2 (en) * 2005-03-01 2009-01-27 Intel Corporation Method and apparatus to prioritize network traffic
US8422362B2 (en) * 2008-08-05 2013-04-16 At&T Intellectual Property I, Lp Reliability as an interdomain service
US9143416B2 (en) * 2012-06-19 2015-09-22 Hewlett-Packard Development Company, L.P. Expander device

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4315310A (en) * 1979-09-28 1982-02-09 Intel Corporation Input/output data processing system
WO1983001135A1 (en) * 1981-09-18 1983-03-31 Rovsing As Christian Multiprocessor computer system
US4956771A (en) * 1988-05-24 1990-09-11 Prime Computer, Inc. Method for inter-processor data transfer
JPH0619785A (ja) * 1992-03-27 1994-01-28 Matsushita Electric Ind Co Ltd 分散共有仮想メモリーとその構成方法
US5299313A (en) * 1992-07-28 1994-03-29 3Com Corporation Network interface with host independent buffer management
JP3003418B2 (ja) * 1992-09-25 2000-01-31 株式会社日立製作所 プロセッサ間データ通信方法
US5710910A (en) * 1994-09-30 1998-01-20 University Of Washington Asynchronous self-tuning clock domains and method for transferring data among domains
US6295585B1 (en) * 1995-06-07 2001-09-25 Compaq Computer Corporation High-performance communication method and apparatus for write-only networks
US6078733A (en) * 1996-03-08 2000-06-20 Mitsubishi Electric Information Technolgy Center America, Inc. (Ita) Network interface having support for message processing and an interface to a message coprocessor
US5841988A (en) * 1996-05-23 1998-11-24 Lsi Logic Corporation Interprocessor communications data transfer and error detection in a multiprocessing environment
US6148377A (en) 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
US6088779A (en) * 1996-12-30 2000-07-11 Fujitsu Limited System and method for execution management of computer programs
US6075938A (en) * 1997-06-10 2000-06-13 The Board Of Trustees Of The Leland Stanford Junior University Virtual machine monitors for scalable multiprocessors
US6295584B1 (en) * 1997-08-29 2001-09-25 International Business Machines Corporation Multiprocessor computer system with memory map translation
US6049853A (en) * 1997-08-29 2000-04-11 Sequent Computer Systems, Inc. Data replication across nodes of a multiprocessor computer system
US6070191A (en) * 1997-10-17 2000-05-30 Lucent Technologies Inc. Data distribution techniques for load-balanced fault-tolerant web access
US6332180B1 (en) 1998-06-10 2001-12-18 Compaq Information Technologies Group, L.P. Method and apparatus for communication in a multi-processor computer system
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
US6481621B1 (en) * 1999-01-12 2002-11-19 International Business Machines Corporation System method and article of manufacture for accessing and processing smart card information
JP4123621B2 (ja) * 1999-02-16 2008-07-23 株式会社日立製作所 主記憶共有型マルチプロセッサシステム及びその共有領域設定方法

Also Published As

Publication number Publication date
AU2003235648A1 (en) 2003-07-30
WO2003060725A2 (en) 2003-07-24
US20030131066A1 (en) 2003-07-10
US6795902B2 (en) 2004-09-21
WO2003060725A3 (en) 2004-02-05
EP1463997A2 (en) 2004-10-06
EP1463997B1 (en) 2017-07-26
AU2003235648A8 (en) 2003-07-30

Similar Documents

Publication Publication Date Title
US10891228B2 (en) Cache line states identifying memory cache
US8233380B2 (en) RDMA QP simplex switchless connection
US6449699B2 (en) Apparatus and method for partitioned memory protection in cache coherent symmetric multiprocessor systems
Li et al. Socksdirect: Datacenter sockets can be fast and compatible
US8244825B2 (en) Remote direct memory access (RDMA) completion
US6832297B2 (en) Method and apparatus for managing data in a distributed buffer system
US7103626B1 (en) Partitioning in distributed computer system
US6718392B1 (en) Queue pair partitioning in distributed computer system
JP2002140202A (ja) 情報配信システムおよびその負荷分散方法
JP2004531175A (ja) ローカル識別子を使ったエンド・ノード区分
JPH1185710A (ja) サーバ装置およびファイル管理方法
US7529886B2 (en) Method, system and storage medium for lockless InfiniBand™ poll for I/O completion
JP2005535002A (ja) 共有リソース・ドメイン
US9910808B2 (en) Reflective memory bridge for external computing nodes
JP2003186742A (ja) ディレクトリ・キャッシュの更新
US7089378B2 (en) Shared receive queues
JP2016513309A (ja) 分散コンピューティングシステムのコンピューティングノードにおける障害に起因するエラー伝播の制御
JP2005515543A (ja) ドメイン間データ転送
US20040193832A1 (en) Physical mode windows
TW202301133A (zh) 計算系統中的記憶體包容性管理
US6920584B2 (en) System design verification using selected states of a processor-based system to reveal deficiencies
US7958313B2 (en) Target computer processor unit (CPU) determination during cache injection using input/output (I/O) adapter resources
WO2019149031A1 (zh) 应用于节点系统的数据处理方法及装置
US10762011B2 (en) Reflective memory bridge for external computing nodes
US20220398215A1 (en) Transparent remote memory access over network protocol

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090120

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090707