JP4416658B2 - クラスタ型マルチプロセッサシステムの異なるノード上で実行中のプロセス間でのメッセージの明示的な通信のためのシステムおよび方法 - Google Patents
クラスタ型マルチプロセッサシステムの異なるノード上で実行中のプロセス間でのメッセージの明示的な通信のためのシステムおよび方法 Download PDFInfo
- Publication number
- JP4416658B2 JP4416658B2 JP2004546745A JP2004546745A JP4416658B2 JP 4416658 B2 JP4416658 B2 JP 4416658B2 JP 2004546745 A JP2004546745 A JP 2004546745A JP 2004546745 A JP2004546745 A JP 2004546745A JP 4416658 B2 JP4416658 B2 JP 4416658B2
- Authority
- JP
- Japan
- Prior art keywords
- connection
- data
- buffer
- processor node
- transfer
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Description
この発明は、この発明の譲受人であるコロラド(Colorado)州コロラドスプリングス(Colorado Springs)のエス・アール・シィ・コンピューターズ・インコーポレイテッド(SRC Computers, Inc.)に付与された、2001年8月17日出願の米国特許出願連続番号第09/932,330号「デュアルインラインメモリモジュールフォーマットにおいて一連のマルチアダプティブプロセッサを採用したクラスタ型コンピュータ用スイッチ/ネットワークアダプタポート」("Switch/Network Adapter Port for Clustered Computers Employing a Chain of Multi-Adaptive Processors in a Dual In-Line Memory Module Format")に開示された主題に関連し、その開示はここに、その全体がこの引用により特に援用される。
この特許文書の開示の一部には、著作権保護の対象となる資料が含まれる。著作権所有者は、誰でもこの特許開示の特許文書を米国特許商標庁の特許ファイルまたは記録のとおりに複製できるということに対して何ら異存がないが、その他の場合については、すべての著作権を何であれ保有する。以下の通知はソフトウェアおよびデータに当てはまり、適用可能な場合には図面も含めて、以下に説明される:(著作権)2002 エス・アール・シィ・コンピューターズ・インコーポレイテッド。
発明の分野
この発明は一般に、コンピュータおよびコンピューティングシステムの分野に関する。より特定的には、この発明は、コンピュータシステムクラスタの異なるノード上で実行中のプロセス間でメッセージを通信するために、合理化された、低レベルでユーザモードのデータ伝送メカニズムを実現するためのシステムおよび方法に関する。ここに開示される代表的な一実施例では、これらのプロセスは、スイッチ/ネットワークアダプタポート(SNAPTM、エス・アール・シィ・コンピューターズ・インコーポレイテッドの登録商標)とともに実現されてもよく、SNAP明示的通信機能(SNAPCFTM、これもエス・アール・シィ・コンピューターズ・インコーポレイテッドの登録商標)と命名される。
場合によっては、多数のノードに及ぶアプリケーションがグローバルな通信に参加できるよう、クラスタ型コンピュータシステムをノードから構築し、各ノードはローカルに共有されるメモリアドレス空間を有するいくつかのプロセッサを含むことが望ましい。性能上の理由のため、オペレーティングシステムが転送ごとに関与することなくこの通信が実行されること、エンドツーエンドメッセージ待ち時間が最小限に抑えられること、およびこのメカニズムが利用可能なリンク帯域幅を効率よく使用することが重要である。全体的な使用可能性については、オペレーティングシステムが保護されたメモリアクセスを保持できるようにする態様で、各通信のソース(または「送信」)側がターゲットメモリを宛先に正確にアドレス指定(つまり「名前付け」)できるようにする手段を、このメカニズムが提供することが必要である。
にオペレーティングシステムの介入を必要としてきた。より最近では、ネットワークインターフェイスカードの中には、ミリネット(Myrinet)GM(ワークステーション、PC、サーバ、または単一ボートのコンピュータのクラスタを相互接続するために幅広く使用されている、高性能のパケット通信および交換技術)、仮想インターフェイスアーキテクチャ(“VIA”)、およびスケジュールド・トランスポート(“ST”)といったオペレーティングシステム(“OS”)バイパスインターフェイスを用いて、ユーザレベルの通信をサポートするよう設計されつつあるものもある。これらのOSバイパス対応インターフェイスは例外なく、ソースネットワークインターフェイスカード(“NIC”)と宛先ネットワークインターフェイスカードとの間のパケットベースの通信を中間ストレージなしで可能にするよう設計されてきた。そのため、「送信」側および「受信」側双方におけるバッファスストレージは限られており、どの接続に関連するデータもいつでも受信されるということを可能にするよう、動的に管理されなければならない。
これに対し、ここに開示された、クラスタ型マルチプロセッサシステムの異なるノード上で実行中のプロセス間でのメッセージの明示的な通信のためのシステムおよび方法は、メモリが比較的低価格で、豊富にあり、所与の接続の両側に直接アクセス可能である環境向けに最適化されている。この発明によれば、大きく、静的に割当てられた、接続ごとのメモリバッファの採用によって、新しいタイプの通信プロトコルの作成が可能となり、このプロトコルでは、情報はポイントツーポイントで送信されてもよく、データは、受信側のSNAPがそれを受入れる準備ができるまで中間場所にストアされる。
ータを受信できることを既に確立しておかなくても、送信側から接続ごとのバッファに書込まれてもよい。逆に、受信側の論理は、接続および/またはSNAPを現在制御しているプロセスの識別情報と各着信接続用に接続ごとのバッファの待ち行列に入れられるデータの量との組合せに基づいて、現在アクティブな接続を自由に選択する。後者の情報は、送信側および受信側のSNAP間で直接交換されてもよい制御パケット(インターネット・ポリシー・インスティテュート(“IPI”)パケット)によって提供されてもよく、着信接続状態(つまりILCTエントリ)を更新するために使用可能である。
この発明にはさまざまな修正および代替的な形態の余地があるが、その特定の実施例が図面に例として示されており、ここに詳細に説明される。しかしながら、図面およびその詳細な説明はこの発明を開示された特定の形態に限定するよう意図してはおらず、逆に、この発明は、添付された特許請求の範囲により定義されるようなこの発明の精神および範囲内に該当するすべての修正、均等物および代替物を網羅するものである、ということが理解されるべきである。
送速度が可能な、帯域幅がはるかにより高いDIMMバス116によって、多数のDIMMスロット114に従来通りに結合される。この発明のある特定の実現化例によれば、DIMM MAPエレメント112は、DIMMスロット114のうちの1つに関連しているか、またはその中に物理的に配置されている。DIMM MAPエレメント112とやり取りする制御情報は、PCIバス110とDIMM MAPエレメント112とを相互接続する接続118によって提供される。DIMM MAPエレメント112は次に、MAPチェーンポートに接続されたクラスタ相互接続ファブリック接続120によって、別のクラスタ型コンピュータMAPエレメントに結合されてもよい。DIMM MAPエレメント112はまた、ラムバス(Rambus)DIMM(RIMM)MAPエレメントも含んでいてもよい。
ユーザ−ユーザ伝送メカニズムの実現のために開示されている。開示されたこのメカニズムは、特にミリネット/GM、Osネット(OsNet)、VIA、およびSTといった市販のOSバイパスクラスタ実現化例によって採用されているものよりもかなり簡単である。
ブル210とを含んでいてもよく、それらは以下により十分に説明される。OLCT[CID]テーブル210は、APPID、TARGET_NODE、TARGET_CID、CM_BASE、CM_LEN、転送長さ(“XFER_LEN”)、バッファカウント(“BUFCNT”)および書込ポインタ(“WP”)エントリ用のエントリを含む。現在の転送状態(“CURRENT_XFER_STATE”)テーブル212は、図示されているように、APPID、TARGET_NODE、TARGET_CID、CM_BASE、CM_LEN、XFER_LEN、BUFCNT、転送受入(“XFER_ACCEPTED”)、転送完了(“XFER_COMPLETED”)および次のIPI(“NEXT_IPI”)というフィールド用のエントリを含んでいてもよい。以下に同様により十分に説明されるように、ODMA先入れ先出し(“FIFO”)バッファ214が、ODMA制御ブロック216およびODMAエンジン218とともに含まれていてもよい。出力アドレスバッファ220および出力データバッファ222も含まれていてもよい。
受信側204はまた、以下により十分に述べられるような、共有されるIPIジェネレータ(“IPI GEN”)252およびIPIハンドラ(“IPI HANDLER”)254も含んでいてもよい。
、各接続は、送信側202の出力FIFO214と受信側204の入力FIFO238との間にユーザがアクセス可能な経路を提供する。
送信側202に関し、OLCT[CID]テーブル210は、ローカルノードから生じる各発信ポイントツーポイント接続200用のエントリを含んでいてもよい。テーブル210はODMA制御論理216によって保持される。接続200は、一般にオペレーションシステムによって特権が与えられた動作である、接続テーブルインデックス(“CID”)、APPID、TARGET_NODE、TARGET_CID、ベースアドレス、および、接続のCMバッファ用のアドレス長さの、CIDセットアップレジスタへの書込によって、プロセッサ1020または1021によりセットアップされてもよい。
現在アクティブな発信転送用のOLCTエントリはCURRENT_XFER_STATEテーブル212に複製されてもよく、それは、アクティブな転送の進行を追跡するフィールド、つまりXFER_ACCEPTED、XFER_COMPLETEDおよびNEXT_IPI XFER_COMPLETEDも含んでいてもよい。転送はスイッチング前にアイドルになるかもしれないため、これらのフィールドはOLCT自体には存在しないかもしれない。
ODMA FIFO214は、プロセッサ1020または1021のデータページへの書込用の宛先であり、ODMAエンジン218の書込データ用のソースである。
ODMA制御216は、コマンドのために制御ページを監視し、プロセッサ1020および/または1021がアクセス可能なステータス、SNAPコンテキストおよびOLCTを必要に応じて更新し、アクティブなAPPID間、転送間のスイッチングを必要に応じて管理する。その機能性は、接続セットアップ制御ページ書込(CID_SETUP)を受信次第、OLCTを更新すること、および、転送起動制御ページ書込(XFER_INIT)を受信次第、アクティブな転送間をスイッチすることを含んでいてもよい。なお、現在の転送は、このメッセージを受信次第、アイドルになるべきであり(つまり、ODMA FIFO214は空となるべきであり)、その時点で、ODMAエンジン218は遮断されなければならず(CURRENT_XFER_STATE無効)、CURRENT_XFER_STATEはOLCTにまた書込まなければならない。新しい転送CID用のOLCTエントリはCURRENT_XFER_STATEに書込まれなければならない。再開フラグがセットされる(つまりプロセッサ102がXFER_INIT_ST
ATUSに書込まれる)場合を除き、転送長さは制御ページからCURRENT_XFER_STATEにコピーされなければならず、転送進行フィールド(XFER_ACCEPTED、XFER_COMPLETED、NEXT_IPI)は初期化されなければならない。ODMAエンジン218は、データがODMA FIFO214に着信するにつれて転送を処理するために、さらに、着信転送進行IPIを処理し、CURRENT_XFER_STATE、FLOWCTL_RS制御ページレジスタおよびOLCTを更新して、コミットされたCM読出ポインタ(XFER_COMPLETED)を反映するために、解放されなければならない(CURRENT_XFER_STATEは有効)。
ODMAエンジン218および関連する論理は、(CURRENT_XFER_STATEに基づいて)CM書込要求を生成して、データをODMA FIFO214からスイッチ要求バッファに転送すること、SNAPをCM転送進行に反映させるよう、CURRENT_XFER_STATE(BUFCNT、XFER_ACCEPTED、およびNEXT_IPI)を更新すること、および、IPI_INTERVALラインが最後のIPI以降送信された場合はいつでもIPI GEN252をトリガしてNEXT_IPIカウンタをリセットすることに対して責任を有していてもよい。
受信側204に関し、ILCT[ICID]テーブル232は、ローカルノードから生じる各着信ポイントツーポイント接続用のエントリを含んでいてもよい。接続ステータスはILCTマネージャ242によって維持され、接続セットアップは、オペレーティングシステムにより特権を与えられたIDMA制御ページ230のCIDセットアップ書込に応答して、IDMA制御論理240によって実行される。1つの可能なフォーマットは以下のとおりである。
現在アクティブな発信転送用のILCTエントリはCURRENT_I_XFER_STATEテーブル236に複製されてもよく、それは、アクティブな転送の進行を追跡するために必要なフィールド(WP、RP、RP_COMMITおよびNEXT_IPI)も含んでいてもよい。
IDMA FIFO238は、IDMAエンジン244の読出データ用の宛先であってもよく、プロセッサ102へのデータページ読出応答用のソースであってもよい。
IDMA制御240は、接続セットアップ制御ページ書込(CID_SETUP)を受信次第ILCTを更新することと、サービス提供を必要とする接続を識別すること(つまり、(CM Write pointer!=CM Read Pointer)in ILCT entry,&&(ILCT[CURRENT_ICID].APPID==CURRENT_APPID))と、以前に識別された、現在待機中の着信接続間で優先順位をつけることと、その存在がプロセッサ102にまだ通知されていないアクティブな転送の選択時に転送起動通知(IDMA制御ページ230のXFER_INITレジスタの内容)を生成することと、ラウンドロビンなどのスケジューリングアルゴリズムに従って現在アクティブな転送を必要に応じてスイッチし、アイドルに、および出力または送信側202と同様にスイッチオンすることに対して責任を有していてもよい。現在のアクティブな転送は、スイッチが起こり得る前にアイドルとなるべきであり(つまり、IDMA
FIFO238は空であるべきであり)、プロセッサ102は全データの認証された受信を有するべきであり、受信−送信転送コミットIPI(FLOWCTL_RS)は、プロセッサ102によって受入れられた全データについて送信されていなければならない。
ILCTマネージャ242は、着信転送起動および進行IPIに応答して、および、プロセッサ102がIDMA制御ページ230のFLOWCTL_RSレジスタに書込む際はいつでもILCTを更新する責任を有していてもよい。なお、この点で、どの有効なCIDも、現在の着信転送のためだけではなく、更新を必要とするかもしれない。更新が現在の転送に関係する場合、現在アクティブな転送状態における関連フィールド(つまりBUFCNT、WP)は、ILCTエントリと並行して更新されてもよい。
IDMAエンジン244および関連する論理は、(CURRENT_I_XFER_STATEに基づいて)共通メモリ読出要求を生成して、データをスイッチ応答バッファからIDMA FIFO238に転送すること、SNAPを接続ごとのメモリバッファの転送進行に反映させるよう、CURRENT_XFER_STATE(BUFCNT、XFER_ACCEPTED、およびNEXT_IPI)を更新すること、および、受信側204のプロセッサ102がIDMA FIFO238から読出されるために利用可能なデ
ータの量を判断できるよう、FLOWCTL_SR IDMA制御ページ230の書込ポインタを維持することに責任を有していてもよい。送信側202と同様に、IDMAエンジン244も、制御ページ書込を介して直接プログラムされるべきその既存の能力、つまり「生の」アクセスモードを維持すべきである。
SNAPコンテキスト
図2Aおよび図2Bをともに参照すると、SNAP_CONTEXTテーブル250は、現在のAPPIDに関連し、制御中のユーザプロセスが変更される際はいつでもオペレーティングシステムにより特権を与えられた制御ページ書込を介して書込まれる、転送に特有ではないコンテキスト情報用の包括的な場所である。SNAP_CONTEXTテーブル250は以下のエントリを含んでいてもよい
CURRENT_CID−現在アクティブな接続のOLCTエントリを選択するために使用され得る、現在の発信接続ID
CURRENT_APPID−現在制御中のプロセスに関連していない接続を保護するために使用される
PE_BLOCK_LEN−プロセッサ102がODMA制御ページ206のFLOWCTL更新/ステータスの各ポーリング間に書込むよう期待されている、データの量
IPI_INTERVAL−フロー制御IPIを受信側204のSNAPに送信する前にODMAエンジン218によって書込まれるべき、さらに、SNAPの受信から送信まで進行IPIをスケジューリングするためにも使用されるべきラインの数
CURRENT_ICID−現在アクティブな着信転送用のILCTへのインデックス。
IPI生成252は、IPIパケットを出力ストリームに挿入する責任を有する。IPIパケットペイロードのフォーマットは以下のようであってもよい。
これは、プロセッサ102から有効なXFER_INITメッセージを受信次第、ODMA制御216によってトリガされてもよい。受信時、このメッセージはILCTマネージャ242に送られてもよく、それは、指示されたCID用の接続テーブルエントリを更新する。なお、現在不完全な転送の詳細に上書きすることは、SNAPの観点からは正当であるが、受信側204の制御中のプロセスは、たとえば、CIDが次にアクティブになる際に再開フラグがセットされていないことを検出して適切な処置をとることによってそれを取扱うよう、セットアップされるべきである。
これは、ODMAエンジン218が現在の転送用の書込まれたIPI_INTERVALラインを有する場合に、および、転送の最後のラインが接続ごとのメモリバッファに書込まれた後で、ODMAエンジン218によってトリガされてもよい。受信側のSNAPで受信されると、データはILCTマネージャ242に送られてもよく、それは、IPIデータのCIDフィールドによって示されるILCTエントリの共通メモリ書込ポインタを更新してもよい。
これは、新しいXFER_COMMIT値がIDMA制御ページ230のFLOWCTL_RSブロックのXFER_COMMITレジスタに書込まれる際はいつでも、ILCTマネージャ242によってトリガされてもよい。これは、現在の着信転送用のILCT
エントリのRP_COMMITフィールドの更新と並行して起こり得る。SNAP(つまり、送信側202)によって受信次第、IPIハンドラ254はデータをODMA制御ブロック216に送ってもよく、それは前述のように転送進行を反映するよう、OLCTおよびODMA制御ページ206のFLOWCTL_RSレジスタを更新する。
明示的通信機能のアプリケーション使用をサポートするソフトウェアは、以下の構成要素を含んでいてもよい。
1.ユーザメモリマップされたSNAP通信インターフェイス(SNAPCI)の割当/管理
ユーザプロセス間のコンテキストスイッチSNAPCIは、通信インターフェイスをアイドルにし、APPIDに固有のコンテキストの読出/書込を行ない、制御ページをアンマッピング/リマッピングすることを伴う。
これは、メッセージ待機を示すために、永続的な共通メモリメールボックスへの「生の」SNAP→共通メモリデータ転送および遠隔割込を用いることを含んでいてもよい。この通信は比較的不十分であり得るため、それは、OSインスタンス間でのあまり頻繁ではない通信のためのみに使用されるべきである。それは、アプリケーションワークグループおよび接続セットアップを可能にするためにも使用されてもよい。
アプリケーション起動時、ユーザプロセスは、それ自体を分散型アプリケーションの参加者として確立して(APPIDJoin)、仮想PE番号を取得する(Get_MYPE)ことができる。これが一旦行なわれると、接続は、ソースおよび宛先を特定するのに仮想PE番号を用いて、確立可能である。
・AppMagicはOSに登録されており、どのような高レベルパラレルランチャが使用されていても、それによりアプリケーションに供給されてもよい
・参加する1番目のプロセスはMYPE=0を取得し、2番目は1を取得する、などとなる。共通メモリにおいて集中化した物理的SNAPIF→仮想プロセッサマッピングを必要とする。
・APPIDJoin時点で確立された仮想PE番号を取得する。集中化された(または、好ましくはAPPIDJoin時点でOSによりキャッシュされた)テーブルを調べる。
・接続セットアップは以下を伴う。
・アプリケーションワークグループを離れる int APPIDDetach(APPID)。
送信ルーチンは、実行中、割込まれて接続200の制御を潜在的に失う/取戻すことができる必要がある。しかしながら、OSは、SNAPによって受信中であるとして認識されているデータが接続ごとのメモリバッファに配送済みであることを保証すべきである。最後の受入メッセージの後、コンテキストスイッチの前に送られたデータもメモリバッファに書込まれてもよいが、次のFLOWCTL_RSポーリングにおいて不良ステータスとなるかもしれず、それは、最後の受入後にアプリケーションに全データを再送させるかもしれない。
ローカルAPPID用の主要アプリケーション処理スレッドと同じ仮想アドレス空間で
動作し得る、受信側接続(たとえばSNAPCF)サービススレッドは、着信SNAPCF転送の処理専用であってもよい。使用されるメッセージ受け渡しモデルに依存して、このサービススレッドは、転送イニットメッセージのVAプラス転送オフセット(たとえばSHMEM)に基づいてアプリケーションメモリに直接着信データを預けてもよく、または、それは、主要アプリケーション処理スレッド(たとえばMPI)で実行中のメッセージ受け渡しライブラリ受信ルーチンによる処理のためにそれをライブラリバッファに配置してもよい。後者の場合、転送イニットメッセージVAフィールドは、ゼロコピーユーザモードメッセージング(たとえばCplant/サンディア(Sandia)“ポータル”)をサポートするために使用可能である。
処理例を示すために示されている。なお、図3Aおよび図3Bにおける構造および要素の番号付けは、明瞭にするために省略されている。
以下の事柄は、単一の転送をセットアップすることに伴うステップを示している。番号をつけられ下線が引かれたステップは、特に指示されていない限り、図3Aおよび図3Bに示す、番号をつけられ下線が引かれた要素に対応している。
ステップ3B:XFER_INIT CIDで特定されたCIDについて、転送の詳細をOLCTエントリに書込む。
ステップ5B:IPIハンドラ254は、起動IPIデータをILCTマネージャ242に渡し、それは、
ステップ5C:新しい転送の詳細を反映するよう、CIDのためにILCTを更新する。
るということが認識される。そのような修正は、本質的に既に公知の、および、ここに既に説明された特徴の代わりに、または特徴に加えて用いられ得る、他の特徴を伴うかもしれない。請求項は、この出願において、特徴の特定の組合せに対して策定されているが、ここの開示の範囲が、明示的にまたは暗示的に開示された任意の新規の特徴または特徴の任意の新規の組合せ、もしくは、当業者には明らかな任意のその一般化または修正も、そのようなものが任意の請求項において現在請求されているものと同じ発明に関するか否かにかかわらず、および、それがこの発明が直面しているものと同じ技術的問題のいずれかまたはすべてを緩和するか否かにかかわらず、含む、ということが理解されるべきである。出願人はこれにより、この出願の、またはそれから由来する任意のさらなる出願の審査中、そのような特徴および/またはそのような特徴の組合せに対して新しい請求項を策定する権利を保持する。
Claims (16)
- クラスタ型マルチプロセッサシステムにおいてプロセスを実行するプロセッサノード間で通信するOSバイパスメッセージ伝送メカニズムであって、
ソースプロセッサノードに結合された送信側と宛先プロセッサノードに結合された受信側とを含む接続と、
接続の送信側および受信側にそれぞれのスイッチ/ネットワークアダプタインターフェイスによってそれぞれ結合された、出力データバッファおよび入力データバッファを含む接続ごとの単一のメモリバッファと、
接続ごとの単一のメモリバッファと送信側スイッチ/ネットワークアダプタインターフェイスおよび受信側スイッチ/ネットワークアダプタインターフェイスの各々とに関連するダイナミック共通メモリ読出ポインタおよび書込ポインタと、
送信側および受信側に結合され、送信側と受信側との間で共有される制御データを生成するためのIPIジェネレータとを含み、
出力データバッファは、ソースプロセッサノードと接続ごとの単一のメモリバッファとの間に結合され、入力データバッファは、接続ごとの単一のメモリバッファと宛先プロセッサノードとの間に結合され、
接続ごとの単一のメモリバッファは前記プロセス専用であり、
前記送信側は、プロセスからの要求に応答して出力データバッファから接続ごとの単一のメモリバッファへのデータの転送を開始する、発信直接メモリアクセス(ODMA)エンジンを含み、
IPIジェネレータは、発信直接メモリアクセス(ODMA)エンジンによるデータ転送中またはデータ転送後に、ダイナミック共通メモリ読出ポインタを更新するための制御データを生成し、接続ごとの単一のメモリバッファを介して出力データバッファから転送されたデータは、更新されたダイナミック共通メモリ読出ポインタに従って、入力データバッファに読出される、OSバイパスメッセージ伝送メカニズム。 - 接続ごとの単一のメモリバッファは、クラスタ型マルチプロセッサシステムの共通メモリの一部を含む、請求項1に記載のOSバイパスメッセージ伝送メカニズム。
- 送信側および受信側に結合された、IPIジェネレータによって生成された制御データを処理するためのIPIハンドラを含む、請求項1に記載のOSバイパスメッセージ伝送メカニズム。
- 前記出力データバッファおよび入力データバッファは、先入れ先出し(FIFO)バッファを含む、請求項1に記載のOSバイパスメッセージ伝送メカニズム。
- 各前記スイッチ/ネットワークアダプタインターフェイスはスイッチ/ネットワークアダプタポート(SNAP)を含む、請求項1に記載のOSバイパスメッセージ伝送メカニズム。
- 送信側は発信ローカル接続テーブル(OLCT)を含み、受信側は着信ローカル接続テーブル(ILCT)を含み、
接続は、OLCTおよびILCTにおけるエントリによって、送信側と受信側との間に確立される、請求項1に記載のOSバイパスメッセージ伝送メカニズム。 - 接続は固定された単方向性接続である、請求項6に記載のOSバイパスメッセージ伝送メカニズム。
- 前記プロセッサノードは、マルチアダプティブプロセッサ(MAP)エレメントに結合されている、請求項1に記載のOSバイパスメッセージ伝送メカニズム。
- MAPエレメントに結合されたプロセッサノードは、デュアルインラインメモリモジュール(DIMM)ソケット用に設定されている、請求項8に記載のOSバイパスメッセージ伝送メカニズム。
- 接続ごとの単一のメモリバッファは静的に割当てられている、請求項1に記載のOSバイパスメッセージ伝送メカニズム。
- クラスタ型マルチプロセッサシステムであって、
前記システムにおいてプロセスを実行するプロセッサノード間で通信するOSバイパスメッセージ伝送メカニズムを含み、前記メカニズムは、
ソースプロセッサノードに結合された送信側と宛先プロセッサノードに結合された受信側とを含む接続と、
接続の送信側および受信側にそれぞれのスイッチ/ネットワークアダプタインターフェイスによってそれぞれ結合された、出力データバッファおよび入力データバッファを含む接続ごとの単一のメモリバッファと、
接続ごとの単一のメモリバッファと送信側スイッチ/ネットワークアダプタインターフェイスおよび受信側スイッチ/ネットワークアダプタインターフェイスの各々とに関連するダイナミック共通メモリ読出ポインタおよび書込ポインタと、
送信側および受信側に結合され、送信側と受信側との間で共有される制御データを生成するためのIPIジェネレータとを含み、
出力データバッファは、ソースプロセッサノードと接続ごとの単一のメモリバッファとの間に結合され、入力データバッファは、接続ごとの単一のメモリバッファと宛先プロセッサノードとの間に結合され、
接続ごとの単一のメモリバッファは前記プロセス専用であり、
前記送信側は、プロセスからの要求に応答して出力データバッファから接続ごとの単一のメモリバッファへのデータの転送を開始する、発信直接メモリアクセス(ODMA)エンジンを含み、
IPIジェネレータは、発信直接メモリアクセス(ODMA)エンジンによるデータ転
送中またはデータ転送後に、ダイナミック共通メモリ読出ポインタを更新するための制御データを生成し、接続ごとの単一のメモリバッファを介して出力データバッファから転送されたデータは、更新されたダイナミック共通メモリ読出ポインタに従って、入力データバッファに読出される、クラスタ型マルチプロセッサシステム。 - クラスタ型マルチプロセッサシステムにおいてオペレーティングシステムをバイパスする、プロセスデータをソースプロセッサノードから宛先プロセッサノードに転送する方法であって、
ソースプロセッサノードおよび宛先プロセッサノードによってそれぞれのスイッチ/ネットワークアダプタインターフェイスを介してアクセス可能な入力バッファおよび出力バッファを含む、接続ごとの単一のメモリバッファを割当てるステップと、
接続ごとの単一のメモリバッファとソースプロセッサノードスイッチ/ネットワークアダプタインターフェイスおよび宛先プロセッサノードスイッチ/ネットワークアダプタインターフェイスの各々とに関連するダイナミック共通メモリ読出ポインタおよび書込ポインタを設けるステップと、
ダイナミック共通メモリ書込ポインタに従って、プロセスデータをソースプロセッサノードから送信側の出力データバッファに転送するステップと、
プロセスデータの転送中または転送後に制御データを生成するステップと、
ダイナミック共通メモリ読出ポインタを更新するステップと、
更新されたダイナミック共通メモリ読出ポインタに従って、プロセスデータを出力データバッファから入力データバッファに読出すステップと、
入力データバッファからのプロセスデータを、宛先プロセッサノードを用いて処理するステップとを含む、方法。 - 接続ごとの単一のメモリバッファは静的に割当てられている、請求項12に記載の方法。
- プロセスデータをソースプロセッサノードから宛先プロセッサノードに転送する間、接続ごとの単一のメモリバッファをプロセスデータに制限するステップをさらに含む、請求項12に記載の方法。
- ソースプロセッサノードおよび宛先プロセッサノードは、デュアルインラインメモリモジュール(DIMM)フォーマットで結合されている、請求項12に記載の方法。
- 各スイッチ/ネットワークアダプタインターフェイスはスイッチ/ネットワークアダプタポートを含む、請求項12に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/278,345 US7124211B2 (en) | 2002-10-23 | 2002-10-23 | System and method for explicit communication of messages between processes running on different nodes in a clustered multiprocessor system |
PCT/US2003/029445 WO2004038539A2 (en) | 2002-10-23 | 2003-09-16 | System and method for explicit communication of messages between processes running on different nodes in a clustered multiprocessor system |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2006504184A JP2006504184A (ja) | 2006-02-02 |
JP2006504184A5 JP2006504184A5 (ja) | 2006-10-26 |
JP4416658B2 true JP4416658B2 (ja) | 2010-02-17 |
Family
ID=32106531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004546745A Expired - Fee Related JP4416658B2 (ja) | 2002-10-23 | 2003-09-16 | クラスタ型マルチプロセッサシステムの異なるノード上で実行中のプロセス間でのメッセージの明示的な通信のためのシステムおよび方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7124211B2 (ja) |
EP (1) | EP1554654A4 (ja) |
JP (1) | JP4416658B2 (ja) |
AU (1) | AU2003270768A1 (ja) |
CA (1) | CA2489969A1 (ja) |
WO (1) | WO2004038539A2 (ja) |
Families Citing this family (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050066059A1 (en) * | 2003-09-24 | 2005-03-24 | Zybura John H. | Propagating attributes between entities in correlated namespaces |
US7409569B2 (en) * | 2004-06-08 | 2008-08-05 | Dartdevices Corporation | System and method for application driven power management among intermittently coupled interoperable electronic devices |
US20060034167A1 (en) * | 2004-07-30 | 2006-02-16 | International Business Machines Corporation | Communication resource reservation system for improved messaging performance |
US7603459B2 (en) * | 2004-09-14 | 2009-10-13 | International Business Machines Corporation | System, method and program to troubleshoot a distributed computer system or determine application data flows |
US7539989B2 (en) * | 2004-10-12 | 2009-05-26 | International Business Machines Corporation | Facilitating intra-node data transfer in collective communications |
TWI252412B (en) * | 2004-12-24 | 2006-04-01 | Hon Hai Prec Ind Co Ltd | A system and method for managing main memory of a network server |
US7549151B2 (en) * | 2005-02-14 | 2009-06-16 | Qnx Software Systems | Fast and memory protected asynchronous message scheme in a multi-process and multi-thread environment |
US8667184B2 (en) * | 2005-06-03 | 2014-03-04 | Qnx Software Systems Limited | Distributed kernel operating system |
US7840682B2 (en) * | 2005-06-03 | 2010-11-23 | QNX Software Systems, GmbH & Co. KG | Distributed kernel operating system |
JP4536618B2 (ja) * | 2005-08-02 | 2010-09-01 | 富士通セミコンダクター株式会社 | リコンフィグ可能な集積回路装置 |
US7680096B2 (en) * | 2005-10-28 | 2010-03-16 | Qnx Software Systems Gmbh & Co. Kg | System for configuring switches in a network |
US7948909B2 (en) | 2006-06-30 | 2011-05-24 | Embarq Holdings Company, Llc | System and method for resetting counters counting network performance information at network communications devices on a packet network |
US8289965B2 (en) | 2006-10-19 | 2012-10-16 | Embarq Holdings Company, Llc | System and method for establishing a communications session with an end-user based on the state of a network connection |
US8000318B2 (en) | 2006-06-30 | 2011-08-16 | Embarq Holdings Company, Llc | System and method for call routing based on transmission performance of a packet network |
US8184549B2 (en) | 2006-06-30 | 2012-05-22 | Embarq Holdings Company, LLP | System and method for selecting network egress |
US9094257B2 (en) | 2006-06-30 | 2015-07-28 | Centurylink Intellectual Property Llc | System and method for selecting a content delivery network |
US8194643B2 (en) | 2006-10-19 | 2012-06-05 | Embarq Holdings Company, Llc | System and method for monitoring the connection of an end-user to a remote network |
US8488447B2 (en) | 2006-06-30 | 2013-07-16 | Centurylink Intellectual Property Llc | System and method for adjusting code speed in a transmission path during call set-up due to reduced transmission performance |
US8717911B2 (en) | 2006-06-30 | 2014-05-06 | Centurylink Intellectual Property Llc | System and method for collecting network performance information |
US8407765B2 (en) | 2006-08-22 | 2013-03-26 | Centurylink Intellectual Property Llc | System and method for restricting access to network performance information tables |
US8743703B2 (en) | 2006-08-22 | 2014-06-03 | Centurylink Intellectual Property Llc | System and method for tracking application resource usage |
US8576722B2 (en) | 2006-08-22 | 2013-11-05 | Centurylink Intellectual Property Llc | System and method for modifying connectivity fault management packets |
US9479341B2 (en) | 2006-08-22 | 2016-10-25 | Centurylink Intellectual Property Llc | System and method for initiating diagnostics on a packet network node |
US7843831B2 (en) | 2006-08-22 | 2010-11-30 | Embarq Holdings Company Llc | System and method for routing data on a packet network |
US8040811B2 (en) | 2006-08-22 | 2011-10-18 | Embarq Holdings Company, Llc | System and method for collecting and managing network performance information |
US8228791B2 (en) | 2006-08-22 | 2012-07-24 | Embarq Holdings Company, Llc | System and method for routing communications between packet networks based on intercarrier agreements |
US8102770B2 (en) * | 2006-08-22 | 2012-01-24 | Embarq Holdings Company, LP | System and method for monitoring and optimizing network performance with vector performance tables and engines |
US8619600B2 (en) | 2006-08-22 | 2013-12-31 | Centurylink Intellectual Property Llc | System and method for establishing calls over a call path having best path metrics |
US8189468B2 (en) | 2006-10-25 | 2012-05-29 | Embarq Holdings, Company, LLC | System and method for regulating messages between networks |
US8144587B2 (en) | 2006-08-22 | 2012-03-27 | Embarq Holdings Company, Llc | System and method for load balancing network resources using a connection admission control engine |
US8238253B2 (en) | 2006-08-22 | 2012-08-07 | Embarq Holdings Company, Llc | System and method for monitoring interlayer devices and optimizing network performance |
US8107366B2 (en) | 2006-08-22 | 2012-01-31 | Embarq Holdings Company, LP | System and method for using centralized network performance tables to manage network communications |
US8125897B2 (en) | 2006-08-22 | 2012-02-28 | Embarq Holdings Company Lp | System and method for monitoring and optimizing network performance with user datagram protocol network performance information packets |
US8015294B2 (en) | 2006-08-22 | 2011-09-06 | Embarq Holdings Company, LP | Pin-hole firewall for communicating data packets on a packet network |
US8537695B2 (en) | 2006-08-22 | 2013-09-17 | Centurylink Intellectual Property Llc | System and method for establishing a call being received by a trunk on a packet network |
US7684332B2 (en) | 2006-08-22 | 2010-03-23 | Embarq Holdings Company, Llc | System and method for adjusting the window size of a TCP packet through network elements |
US8307065B2 (en) | 2006-08-22 | 2012-11-06 | Centurylink Intellectual Property Llc | System and method for remotely controlling network operators |
US7808918B2 (en) | 2006-08-22 | 2010-10-05 | Embarq Holdings Company, Llc | System and method for dynamically shaping network traffic |
US8549405B2 (en) | 2006-08-22 | 2013-10-01 | Centurylink Intellectual Property Llc | System and method for displaying a graphical representation of a network to identify nodes and node segments on the network that are not operating normally |
US7940735B2 (en) | 2006-08-22 | 2011-05-10 | Embarq Holdings Company, Llc | System and method for selecting an access point |
US8064391B2 (en) | 2006-08-22 | 2011-11-22 | Embarq Holdings Company, Llc | System and method for monitoring and optimizing network performance to a wireless device |
US8274905B2 (en) | 2006-08-22 | 2012-09-25 | Embarq Holdings Company, Llc | System and method for displaying a graph representative of network performance over a time period |
US8223655B2 (en) | 2006-08-22 | 2012-07-17 | Embarq Holdings Company, Llc | System and method for provisioning resources of a packet network based on collected network performance information |
US8750158B2 (en) | 2006-08-22 | 2014-06-10 | Centurylink Intellectual Property Llc | System and method for differentiated billing |
US8194555B2 (en) | 2006-08-22 | 2012-06-05 | Embarq Holdings Company, Llc | System and method for using distributed network performance information tables to manage network communications |
US8098579B2 (en) | 2006-08-22 | 2012-01-17 | Embarq Holdings Company, LP | System and method for adjusting the window size of a TCP packet through remote network elements |
US8144586B2 (en) | 2006-08-22 | 2012-03-27 | Embarq Holdings Company, Llc | System and method for controlling network bandwidth with a connection admission control engine |
US8130793B2 (en) | 2006-08-22 | 2012-03-06 | Embarq Holdings Company, Llc | System and method for enabling reciprocal billing for different types of communications over a packet network |
US7889660B2 (en) | 2006-08-22 | 2011-02-15 | Embarq Holdings Company, Llc | System and method for synchronizing counters on an asynchronous packet communications network |
US8531954B2 (en) | 2006-08-22 | 2013-09-10 | Centurylink Intellectual Property Llc | System and method for handling reservation requests with a connection admission control engine |
US8199653B2 (en) | 2006-08-22 | 2012-06-12 | Embarq Holdings Company, Llc | System and method for communicating network performance information over a packet network |
US8224255B2 (en) | 2006-08-22 | 2012-07-17 | Embarq Holdings Company, Llc | System and method for managing radio frequency windows |
US7949815B2 (en) * | 2006-09-27 | 2011-05-24 | Intel Corporation | Virtual heterogeneous channel for message passing |
US8473966B2 (en) * | 2006-09-29 | 2013-06-25 | D.E. Shaw Research, Llc | Iterative exchange communication |
US8111692B2 (en) | 2007-05-31 | 2012-02-07 | Embarq Holdings Company Llc | System and method for modifying network traffic |
US8621484B2 (en) * | 2007-08-30 | 2013-12-31 | Intel Corporation | Handling potential deadlocks and correctness problems of reduce operations in parallel systems |
US8713569B2 (en) * | 2007-09-26 | 2014-04-29 | Intel Corporation | Dynamic association and disassociation of threads to device functions based on requestor identification |
US7836198B2 (en) * | 2008-03-20 | 2010-11-16 | International Business Machines Corporation | Ethernet virtualization using hardware control flow override |
US8068425B2 (en) | 2008-04-09 | 2011-11-29 | Embarq Holdings Company, Llc | System and method for using network performance information to determine improved measures of path states |
US8561055B2 (en) * | 2009-10-15 | 2013-10-15 | Blackberry Limited | Method, system and apparatus for management of push content |
US8364810B2 (en) * | 2009-11-06 | 2013-01-29 | Research In Motion Limited | Method, system and apparatus for management of push content when changing computing devices |
US9178949B2 (en) * | 2010-03-03 | 2015-11-03 | Blackberry Limited | Method, system and apparatus for managing push data transfers |
EP2365677B1 (en) * | 2010-03-03 | 2020-04-08 | BlackBerry Limited | Method, system and apparatus for configuring a device for interaction with a server |
US8438341B2 (en) | 2010-06-16 | 2013-05-07 | International Business Machines Corporation | Common memory programming |
US20120117318A1 (en) | 2010-11-05 | 2012-05-10 | Src Computers, Inc. | Heterogeneous computing system comprising a switch/network adapter port interface utilizing load-reduced dual in-line memory modules (lr-dimms) incorporating isolation memory buffers |
US20160212083A9 (en) * | 2011-09-07 | 2016-07-21 | Microsoft Technology Licensing, Llc | Connection sharing across entities in a distributed messaging system |
US20130157639A1 (en) | 2011-12-16 | 2013-06-20 | SRC Computers, LLC | Mobile electronic devices utilizing reconfigurable processing techniques to enable higher speed applications with lowered power consumption |
US20140019570A1 (en) * | 2012-07-12 | 2014-01-16 | Raytheon Company | Data buffer exchange |
US8898680B2 (en) * | 2012-10-15 | 2014-11-25 | Oracle International Corporation | System and method for supporting asynchronous message processing in a distributed data grid |
US9177646B2 (en) | 2013-05-06 | 2015-11-03 | International Business Machines Corporation | Implementing computational memory from content-addressable memory |
US10741226B2 (en) | 2013-05-28 | 2020-08-11 | Fg Src Llc | Multi-processor computer architecture incorporating distributed multi-ported common memory modules |
US9153311B1 (en) | 2014-05-27 | 2015-10-06 | SRC Computers, LLC | System and method for retaining DRAM data when reprogramming reconfigurable devices with DRAM memory controllers |
US9530483B2 (en) | 2014-05-27 | 2016-12-27 | Src Labs, Llc | System and method for retaining dram data when reprogramming reconfigurable devices with DRAM memory controllers incorporating a data maintenance block colocated with a memory module or subsystem |
US9881071B2 (en) | 2014-06-10 | 2018-01-30 | Red Hat, Inc. | Transport layer abstraction for clustering implementation |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE68920388T2 (de) | 1988-09-19 | 1995-05-11 | Fujitsu Ltd | Paralleles Rechnersystem mit Verwendung eines SIMD-Verfahrens. |
JP2628079B2 (ja) * | 1988-11-25 | 1997-07-09 | 三菱電機株式会社 | マルチプロセサシステムにおけるダイレクト・メモリ・アクセス制御装置 |
US5386566A (en) * | 1991-03-20 | 1995-01-31 | Hitachi, Ltd. | Inter-processor communication method for transmitting data and processor dependent information predetermined for a receiving process of another processor |
JPH04367963A (ja) * | 1991-06-15 | 1992-12-21 | Hitachi Ltd | 共有記憶通信方法 |
US5841963A (en) * | 1994-06-08 | 1998-11-24 | Hitachi, Ltd. | Dual information processing system having a plurality of data transfer channels |
US6052773A (en) | 1995-02-10 | 2000-04-18 | Massachusetts Institute Of Technology | DPGA-coupled microprocessors |
JP2793517B2 (ja) * | 1995-03-22 | 1998-09-03 | 甲府日本電気株式会社 | データ転送制御装置 |
US5802589A (en) * | 1995-09-28 | 1998-09-01 | Agfa Division, Bayer Corporation | Data buffering apparatus for buffering imaging data between a raster image processor (RIP) and an output device |
US5903771A (en) | 1996-01-16 | 1999-05-11 | Alacron, Inc. | Scalable multi-processor architecture for SIMD and MIMD operations |
US5892962A (en) | 1996-11-12 | 1999-04-06 | Lucent Technologies Inc. | FPGA-based processor |
JPH11120156A (ja) * | 1997-10-17 | 1999-04-30 | Nec Corp | マルチプロセッサシステムにおけるデータ通信方式 |
US6076152A (en) | 1997-12-17 | 2000-06-13 | Src Computers, Inc. | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem |
US6212610B1 (en) * | 1998-01-07 | 2001-04-03 | Fujitsu Limited | Memory protection mechanism for a distributed shared memory multiprocessor with integrated message passing support |
US6192439B1 (en) | 1998-08-11 | 2001-02-20 | Hewlett-Packard Company | PCI-compliant interrupt steering architecture |
US6647453B1 (en) * | 2000-08-31 | 2003-11-11 | Hewlett-Packard Development Company, L.P. | System and method for providing forward progress and avoiding starvation and livelock in a multiprocessor computer system |
US6886031B2 (en) * | 2001-03-29 | 2005-04-26 | Sun Microsystems, Inc. | Efficient connection and memory management for message passing on a single SMP or a cluster of SMPs |
-
2002
- 2002-10-23 US US10/278,345 patent/US7124211B2/en not_active Expired - Lifetime
-
2003
- 2003-09-16 AU AU2003270768A patent/AU2003270768A1/en not_active Abandoned
- 2003-09-16 JP JP2004546745A patent/JP4416658B2/ja not_active Expired - Fee Related
- 2003-09-16 CA CA002489969A patent/CA2489969A1/en not_active Abandoned
- 2003-09-16 WO PCT/US2003/029445 patent/WO2004038539A2/en active Application Filing
- 2003-09-16 EP EP03752480A patent/EP1554654A4/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP1554654A2 (en) | 2005-07-20 |
WO2004038539A3 (en) | 2004-07-08 |
WO2004038539A2 (en) | 2004-05-06 |
JP2006504184A (ja) | 2006-02-02 |
CA2489969A1 (en) | 2004-05-06 |
US7124211B2 (en) | 2006-10-17 |
EP1554654A4 (en) | 2007-12-12 |
US20040083317A1 (en) | 2004-04-29 |
AU2003270768A1 (en) | 2004-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4416658B2 (ja) | クラスタ型マルチプロセッサシステムの異なるノード上で実行中のプロセス間でのメッセージの明示的な通信のためのシステムおよび方法 | |
US8131895B2 (en) | Interrupt management for multiple event queues | |
US9769274B2 (en) | Data transfer, synchronising applications, and low latency networks | |
EP2406723B1 (en) | Scalable interface for connecting multiple computer systems which performs parallel mpi header matching | |
EP1856623B1 (en) | Including descriptor queue empty events in completion events | |
EP1856610B1 (en) | Transmit completion event batching | |
US6295573B1 (en) | Point-to-point interrupt messaging within a multiprocessing computer system | |
EP1514191B1 (en) | A network device driver architecture | |
US8543747B2 (en) | Delegating network processor operations to star topology serial bus interfaces | |
US20020091826A1 (en) | Method and apparatus for interprocessor communication and peripheral sharing | |
Pang et al. | The TH Express high performance interconnect networks | |
Wilkes | Hamlyn—an interface for sender-based communications | |
JP2004520646A (ja) | 周辺デバイスからホスト・コンピュータ・システムに割込みを転送する方法および装置 | |
EP1302855A2 (en) | Method of sending a request | |
EP2383658B1 (en) | Queue depth management for communication between host and peripheral device | |
Hudson et al. | The portals 3.3 message passing interface document revision 2.1. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060908 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060908 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080813 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080826 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081125 |
|
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: 20091110 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091124 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4416658 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121204 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131204 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |