説明

インフィニバンド通信リンクを管理する方法、受信機、送信機及びコンピュータ・プログラム

【課題】インフィニバンドで定義されたクレジット・ベースのフロー制御を無効にすることにより、送信機及び受信機の間の伝送距離を延長可能にする。
【解決手段】
インフィニバンドで定義されたクレジット・ベースのフロー制御は、往復遅延時間が増加するために、伝送レートが低下するという欠点を有する。この欠点を解決して送信機及び受信機の間の伝送距離を延長することができるように、クレジット・ベースのフロー制御を無効にする。クレジット・ベースのフロー制御を無効にすると、クレジット・カウントが無視されるので、データ・パケットを連続的に伝送することが可能になる。しかし、受信機内のバッファのオーバーランに起因してデータ・パケットが消失することがあるので、パケット消失検出機構が設けられる。消失パケットを検出すると、インフィニバンドの受信機は、インフィニバンドの送信機に対し、そのデータ・パケットの伝送レートを一時的に減少させるための要求を送信することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、専有的なシステム間チャンネル・リンクに置き換わるべき、インフィニバンド(商標)・ベースの長距離リンクの解決策に係り、さらに詳細に説明すれば、インフィニバンドで定義されたクレジット交換を使用しないフロー制御機構を提供することにより、伝送距離を延長可能にすることに係る。
業界団体の「InfiniBand Trade Association」から入手可能な「InfiniBand Architecture Specification」と称する規格書は、本発明の主題と或る程度は関連する主題を含んでいる。本明細書では、この規格書の全体を援用する。
【背景技術】
【0002】
クレジット・ベースのフロー制御は、データの送信機と受信機との間の通信交換に基礎を置いている。一般に、受信機は、送信機に対し、当該受信機が現に或る量のデータを受信できることを通知する。クレジット・ベースのプロトコルの下では、送信機は、かかる通知を受信しない限り、データを送信しない。また、かかる通知は、受信機のバッファがアンロードされる際に、受信機がどれだけのデータを受信できるかを(おそらくは累積的に)指定することができる。送信機と受信機との間のこれらの必要な交換は、移動時間を消費するので、これらの交換が行われている間、大量のデータ(例えば、メガバイト程度のデータ)をバッファしなければならない。伝送距離が長くなると、往復遅延時間が増加するから、クレジット交換が行われている間、バッファは伝送中のパケットを収容しなければならず、従ってそのサイズも増加することになる。
【0003】
インフィニバンド(以下「IB」と略記)インタフェース及びプロトコルは、帯域幅要件に依存して、リピータ又は中間のスイッチを使用することなく、ほぼ数百メートルにわたってデータ・パケットを伝送するのに有用である。リピータを使用すると、これらの距離を数百km程度まで延長可能であるが、クレジット交換によって消費される前述の往復遅延時間が増加することになる。IBインタフェースの伝送距離を延長するための1つの解決策は、帯域幅を浪費する傾向があるIBフロー制御を無視又は無効にすることである。フロー制御は、データのオーバーランを回避するのに有用であるが、それらは受信機においてバッファ資源を必要とする。フロー制御が無効にされる場合は、遅くなったメモリ・サブシステム及びバッファ・オーバーランに起因する消失パケットを検出し且つデータ・パケットの伝送レートを減少させるためには、消失パケット検出機構及びスロットリング機構が必要である、これらの状況では、要求パケットを送信装置に送信することにより、例えばそれらのデータ・パケットの伝送レートを減少させるように指令することができる。
【0004】
各クレジット・パケットは、種々の量のクレジットを通信することができ、従って各クレジット・パケットを、必要に応じて、時折又は頻繁に送信することができる。各クレジット・パケットは、受信機内で使用可能なバッファ空間の絶対量を表すか、又は使用可能になったバッファ・メモリの増分を表すことができる。通常、IBは、各パケットにおいて絶対的な表現を実装する。
【非特許文献1】業界団体の「InfiniBand Trade Association」から入手可能な「InfiniBand Architecture Specification」と称する規格書
【発明の開示】
【発明が解決しようとする課題】
【0005】
従って、本発明の目的は、IBで定義されたクレジット交換を使用しないフロー制御機構を提供することにより、IB送信機とIB受信機との間の伝送距離を延長可能にすることにある。
【課題を解決するための手段】
【0006】
IBリンクは、各々が送信装置及び受信装置を備える第1及び第2のノードを結合する、2地点間接続とすることができる。本発明に従った方法及び装置によれば、第1及び第2のノードは、他方のノードのIBリンク上のデータ・パケットの伝送レートを制御するために、IBリンクを介してクレジット・データを交換する。各ノード内の受信装置は、他方のノードからの送信データを格納するためのデータ・バッファを備え、一方、各ノード内の送信装置は、他方のノードの受信バッファ内で使用可能なバッファ空間を追跡するためのクレジット制御論理を備える。他方のノードからIBリンクを介して送信され且つクレジット制御論理内で追跡されるクレジット・データを送信装置が受け入れることを無効にすると、データ・パケットの伝送レートをより大きくすることができる。本発明のかかる特徴は、他方のノードによって送信されたパケットのうち受信装置内のバッファ空間の不足により消失したパケットを、受信装置がモニタすることを必要とする。かかる状況では、受信装置は、データ・パケットの伝送レートを減少させるための第1の要求を他方のノードに送信する。
【0007】
本発明の他の実施形態は、IBリンクを介して通信中の第1及び第2のノードのうち1つのノード内に設けられた受信機(受信装置)に係る。この受信機は、IBリンクに結合された入力と、着信IBパケットを格納するためのデータ・バッファと、当該データ・バッファ内の使用可能な空間の量を指示するクレジット・データを送信するためにIBリンクに結合された出力とを備える。また、バッファ空間の不足により消失したパケットについて前記データ・バッファをモニタするための回路が設けられる。消失パケットが検出される場合、当該ノードは、伝送レートを減少させるための第1の要求をIBリンクを介して送信する。
【0008】
本発明の他の実施形態は、IBリンクを介して通信中の第1及び第2のノードのうち1つのノード内に設けられた送信機(送信装置)に係る。この送信機は、IBパケットを送信するためにIBリンクに結合された出力と、クレジット・データ及び現在の伝送レートを減少させるための第1の要求を受信機から受信するための入力と、クレジット・データを解釈し且つ第1の要求に応答して現在の伝送レートを減少させるための回路とを備える。クレジット・データが無視される場合、この送信機は、第1及び第2のノードの間の距離には関係なしに、データ・パケットを連続的に送信することができる。
【発明を実施するための最良の形態】
【0009】
図1は、2つのサイト105及び106の間の2地点間ネットワーク構成の例を示す。これらのサイトの各々に含まれる中央電子処理装置(CEC)101は、短距離の双方向IBリンク103を介して、対応するカップリング・ファシリティ102と通信する。これらのノード間の2地点間通信は、長距離の双方向IBリンク104を横断する。通信リンクの一端にある各装置110は、送信機及び受信機(t/r)108を備えている。というのは、各装置110は、双方向リンク上のデータ・パケットの伝送レートを制御できるように、当該装置の受信バッファでどれだけの空間が使用可能であるかを追跡して、クレジット・パケットを他方の装置に通信しなければならないからである。一般に、これらの装置110は、CEC101又はカップリング・ファシリティ102及びIBリンク104又は103に結合されたIBチャネル・アダプタである。
【0010】
各装置110内のコンピュータ・コード107は、本発明を実施する方法の特徴及び機能性に従って、ハードウェアを制御するように動作する。ローカル・サイト105及びリモート・サイト106の各々は、IBM社から入手可能なz9メインフレームから成る、システムzシスプレックスとして構成することができる。この例示的な構成は、他の構成を排除することを意図するものではない。ローカル・サイト105及びリモート・サイト106の各々は、複数のCEC101及び複数のカップリング・ファシリティ102を備えることもできるからである。また、これらのCEC101は、図示のような外部カップリング・ファシリティ102ではなく、内部カップリング・ファシリティを備えることができる。この同じマシンは、一のCEC及び一のカップリング・ファシリティとして動作するように構成することができる。カップリング・ファシリティ102が提供する一般的な機能性は、複数のCEC101を結合することを含む。現在の技術の複雑さ及びIBリンク103又は104の物理的特性に依存して、長距離という用語の意味は変わることがあるが、本発明の説明の便宜上、例えば、ほぼ1km又はそれ以上の距離が「長距離」に相当すると見なすことができる。また、これらのリンクは、数kmまで延長することができるが、それも長距離リンクと見なされるであろう。
【0011】
図2は、図1に示す装置の各々、すなわちCEC101及びカップリング・ファシリティ102の各々に含まれる、代表的な送信機及び受信機を示す。しかし、図2の受信機209と送信機208との間のカップリング、例えば、送信機208から受信機209の仮想レーン入力(VLin)バッファ203に送信されるデータ・パケット207及び受信機209から送信機208に送信されるクレジット・パケット206は、「長距離」通信を説明する便宜上、図1のサイト105及び106のうち一方のサイトにおける送信機及びこの送信機と通信中の他方のサイトにおける受信機を例示するものとする。
【0012】
動作中、送信機208は、受信機209のVLinバッファ203内に十分な空間がある場合に限り、データ・パケット207を送信する。受信機209のVLinバッファ203内で使用可能な空間の量は、そのクレジット制御論理(クレジット・カウント)205によって、送信機208に知らされる。送信機208は、受信機209からクレジット・パケット206を受信すると、クレジット制御論理205内にクレジットを累積する。IBプロトコルでは一般的であるように、受信機209のVLinバッファ203内で使用可能な空間の総計を表す指示は、累積的なカウントとしてではなく、各クレジット・パケットとともに送信される。但し、そのどちらを使用しても、正確に実装することができる。例えば、1つのクレジットは64バイトと等価であり、その量のバッファ空間が受信機209内で使用可能であることを指示する。送信機208が一のデータ・パケット207を送信するとき、送信機208は、その送信パケットのサイズに従ってそのクレジット制御論理205内のクレジット・カウントをデクリメントする。受信機209のVLinバッファ203からのデータがシステム・メモリ202において受け取られると、VLinバッファ203に結合された受信機209のクレジット制御論理204は、そのVLinバッファ203からのかかるデータの移動を検出し、累積的又は全体情報の何れかを保持するクレジット・パケット206を周期的に生成し且つこれを送信することにより、より多くのバッファ空間が受信機209のVLinバッファ内で使用可能であることを送信機208に通知する。次に、送信機208は、受信機209からクレジット・パケット206を受信し、これに応じて、(累積的な通信について漸増的にインクリメントするか又は絶対的なクレジット・カウントについてそのクレジット・カウントを置換するかに拘わらず)そのクレジット制御論理205内のクレジット・カウントをインクリメントする。送信機208内の制御レジスタ210は、クレジット・データを利用する送信機内の回路を無効にするためのモード・ビットを含む。このモード・ビットが無効状態にセットされている場合、送信機208は、受信機209から伝送レートを減少させるための第1の要求を受信しない限り、クレジット・データを無視し且つ無制限のレート、すなわち最大のレートでデータ・パケットを送信する。モード・ビットは、ハードウェアに対し、クレジット制御論理205内のクレジット・カウンタを検査せずに送信データを送信するように指令するものである。一般に、構成ソフトウェア(ファームウェア)が、このモード・ビットの状態を制御する。代替的に、オペレータのコマンドによってこのモード・ビットの状態を制御することができる。
【0013】
図3は、送信機301から受信機302に送信されるデータ・パケット1〜11(303)と、受信機302から送信機301に送信されるクレジット・パケット1〜11(304)との交換を示す。これは、本発明の1つの実施形態に従った、典型的なクレジット・ベースのフロー制御交換である。時間間隔307は、VLinバッファ203(図2)を部分的にアンロードするのに必要な時間を示し、データ・パケットが受信され、処理され、アンロードされる時点から、このアンロードに応じて生成されたVLinバッファ203内の使用可能なバッファ空間のサイズを指示するクレジット・パケットが送信される時点まで測定される。データ・パケット303及びクレジット・パケット304を受信する場合、送信機301及び受信機302の各々は、或る量の処理時間を使い果たす。この送信機301と受信機302との間の短距離通信交換の例では、送信機301は、受信機302からクレジット・パケット304を受信するのを待機する遅延を伴うことなく、データ・パケット303を連続的に送信している。時間間隔306は、送信機301が一のデータ・パケット303を送信するのに必要は時間を示す。この例では、データ・パケット303の送信相互間の待機時間は存在しないか又は無視することができる。説明の便宜上、それぞれのデータ・パケット303は、ほぼ等しい長さを有し、一定の間隔で送信されるものとする。同様に、それぞれのクレジット・パケット304は、送信されたクレジット・パケット304を表す線の等距離の間隔によって示されるように、一定の間隔で送信されるものとする。実際の動作では、データ・パケット303及びクレジット・パケット304を、不規則な間隔で送信することができ、その各々は種々の量のデータを搬送することができる。すなわち、クレジット・パケット304の場合は、種々の量の使用可能なバッファ空間を指示することができる。
【0014】
この例は、クレジット・パケット304を待機するための過度の往復遅延時間により送信機301がそれに使用可能な帯域幅を浪費しないという、送信機301の短距離特性を例証する。この往復遅延時間とは、送信機301から送信される一のデータ・パケット303が一の距離を横断して受信機302に到達し、受信機302がこのデータ・パケット303をアンロードし、受信機302がこのアンロードに起因して使用可能になったバッファ空間を指示する一のクレジット・パケット304を送信するのに要する時間と、このクレジット・パケット304が前記距離を横断して送信機301に到達するのに要する時間とを合計した時間である。このことは、参照番号305の箇所に示されている。すなわち、この箇所では、データ・パケット6を送信するのに必要なクレジット・パケット4が受信されているが、データ・パケット5は送信機301によってまだ送信されていない。
【0015】
図4は、クレジット・ベースのフロー制御交換を示す。しかし、図4の例では、送信機と受信機との間の距離がより長くなっていて、送信機は受信機からクレジット・パケット402を受信するのを待機しなければならないので、送信機によるデータ・パケット401の伝送レートに遅延が導入されている。この状況では、送信機及び受信機は、両者の距離がより長いことだけを除けば、図3に示す短距離の例と同じレートで動作することができる。データ・パケット401及びクレジット・パケット402の横断を表す線の傾斜は、図3及び図4において同じであり、従って移動速度は同じである。図3の時間間隔307及び図4の時間間隔404は、同じであり、従って図3及び図4の受信機は、同じレートで受信データ・パケットを処理している。クレジット・ベースのフロー制御プロトコルの制限に起因して、図4の送信機は、一のデータ・パケット401を送信する前に、クレジット・パケット402を受信するのを待機しなければならないので、そのターン・アラウンド時間403は、図3の短距離の例におけるターン・アラウンド時間305よりも短い。図4の送信機は、図3の短距離の例と同じレートで同等のデータ・パケット401を送信することができる。図4の送信機は、図3の短距離の例のように、データ・パケット401を連続的に送信していない。データ・パケット401を送信するのに必要なクレジット・パケット402は、間に合うように到着していないので、たとえ受信機がデータ・パケット401をアンロードするのに必要な時間404及び送信機が一のデータ・パケット401を送信するのに必要な時間406が図3の短距離の例における時間306と同じに留まるとしても、図4の送信機は、データ・パケット401及びクレジット・パケット402の移動時間に起因する浪費帯域幅の量を指示する時間405だけ遅延されることになる。受信機が一のデータ・パケット401をアンロードし且つ一のクレジット・パケット402を送信するのに要する時間は、送信機と受信機との間の距離に依存しない。この例は、送信機と受信機との間の距離がより長くなると、パケットが送信機から受信機まで移動するのにより多くの時間がかかることを示す。浪費時間405は、送信機と受信機との間の距離に起因する往復遅延時間の増加によって引き起こされる。
【0016】
図5は、クレジット・ベースのフロー制御が無効にされることを除くと、図4の例と同じ距離だけ離れて配置された送信機及び受信機を示す。図5の例では、距離がより長いことを除けば、図3の短距離の例と同じレートでパケットを交換することができる。というのは、この例における送信機は、着信クレジット・パケット502を無視しているために、無視できる程度の遅延で且つクレジット・パケット502を待機することなく、データ・パケット501を連続的に送信しているからである。しかし、受信機は、送信機がクレジット・パケット502を無視しているという知識を有していない。受信機のバッファをアンロードするのに必要な時間503は、パケットを送信するのに必要な時間504と同様に、図4の例と同じに留まる。従って、クレジット・ベースのフロー制御を無効にすることにより、長距離におけるパケット伝送のレートは、短距離における伝送レートと同等になる。
【0017】
図6は、送信機から連続的に送信されるデータ・パケット601が、VLinバッファの充満状態に起因して、受信機603において消失する例を示す。この例では、送信機は、クレジット・パケット602を待機せず、着信クレジット・パケット609を無視する。この条件(すなわち、予め選択された数の消失パケット)を検出することに応答して(604を参照)、スローダウン・パケット607が受信機から送信機に送信される。この検出機構は、受信機のプロセッサに対する周知のハードウェア割り込みを含み、それに応じて、プログラム・コードは、送信機に送信されるスローダウン・パケット607を生成する。一般に、このスローダウン・パケット607は、IB管理データグラムのフォーマットを有する。このスローダウン・パケット607は、送信機で受信され、そこで発信データ・パケットのためのパケット間遅延が増加するように処理される。IBプロトコルは、周知の静的なレート制御機構を実装する(例えば、前掲の「InfiniBand Architecture Specification」のセクション9.11を参照)。標準的なIB装置は、データ送信機内に消失パケットを検出するための機構と、静的なレートを制御するための機構(パケット間遅延機構)を備えている。パケット間遅延機構の通常の使用法は、(交換網内のように)異なる速度を有する複数のリンクから成るパスにおけるパケットの注入レートを制御するというものであるが、かかるパケット間遅延機構は、クレジット・ベースのフロー制御がバイパスされる場合に、本明細書で説明する使用法にも適用することができる。同様に、受信機におけるパケットの消失が無くなれば、受信機は、送信機に対しスピードアップ・コマンド・パケットを送信することができる。
【0018】
受信機のバッファをアンロードするのに必要な時間605は、データ・パケットを送信するのに必要な時間606と同様に、図4の例と同じままに留まる。送信機は、スローダウン・パケット607を受信することに応答して、一のパケット間遅延を導入することにより、データ・パケットの伝送レートを減少させる(608を参照)。本発明の1つの利点は、スローダウン・パケット607を送信することにより、送信機に対し、データ・パケットが消失しない程度に伝送レートを増分的に減少させることを指令すると同時に、図4のクレジット・ベースのフロー制御で生じ得るような、大量の浪費帯域幅を導入しないように指令することができる、いうことである、この点を理解するには、図4及び図6の浪費帯域幅の量を比較すればよい。
【0019】
図7は、各方向に単一ファイバを有する代表的な双方向リンクの性能メトリックスを例示する。「QDR クレジットなし」の性能は、1GB/sの帯域幅に相当する、水平線701によって示される。「DDR クレジットなし」の性能は、0.5GB/sの帯域幅に相当する、水平線702によって示される。「QDR w/最大バッファ」の性能は、ほぼ12kmの距離まで、1GB/sの帯域幅に相当する水平線701上にあり、ほぼ12kmの距離を過ぎると、点線704に示すように低下し始める。「DDR w/最大バッファ」の性能は、ほぼ27kmの距離まで、0.5GB/sの帯域幅に相当する水平線702上にあり、ほぼ27kmの距離を過ぎると、線706に示すように低下し始める。「QDR w/32k VLinバッファ」の性能は、ほぼ3kmの距離まで、1GB/sの帯域幅に相当する水平線701上にあり、ほぼ3kmの距離を過ぎると、点線703に示すように低下し始める。また、「DDR w/32k VLinバッファ」の性能は、ほぼ3kmの距離まで、0.5 GB/sの帯域幅に相当する水平線702上にあり、ほぼ3kmの距離を過ぎると、線705に示すように低下し始める。
【0020】
図7から分かるように、「クレジットなし」のIBリンクの動作は、1GB/sの伝送レート701又は0.5GB/sのレート702において、どんな距離でも低下を伴わない一貫した伝送レートに帰着する。これらは、クワッド・データ・レート伝送(QDR)及びダブル・データ・レート伝送(DDR)にそれぞれ相当する。クレジット・ベースのフロー制御は、伝送距離が増加するにつれて、伝送レートが低下することに帰着する。図7に示すように、受信機内のより大きなバッファ、例えば「最大バッファ」は、32kBのVLinバッファよりも大きいほぼ131kBの容量を有し、より小さなVLinバッファを使用する場合の性能低下特性703及び705と比較すると、その性能低下特性704及び706が顕著になる前まで伝送距離を延長するのを可能にする。図7から推定することができる1つの結論は、クレジット・ベースのフロー制御が実装される場合は、0.5GB/sの能力を有する送信機/受信機ペアの代わりに1GB/sの能力を有する送信機/受信機ペアを使用しても、ほぼ27kmの距離において性能上の利点は得られない、ということである。すなわち、ほぼ27kmの距離では、1GB/sの帯域幅を有するリンクの性能低下特性704が0.5GB/sの帯域幅に相当する水平線702に接近し且つこれに交差した後、線706に示すように低下し始めるからである。
【0021】
以上では、本発明の特定の実施形態を説明したが、本発明の精神及び範囲から逸脱することなく、種々の修正をなし得ることは明らかであろう。特に、本明細書に記載の技術は、ソフトウェア、ファームウェア、マイクロコード、ハードウェア又はそれらの任意の組合せを含む、方法、装置又は製品として実装することができる。ここで、「製品」という用語は、媒体内に実装されるコード又は論理を指し、かかる媒体は、ハードウェア論理(例えば、集積回路チップ、プログラマブル・ゲート・アレイ(PGA)、特定用途向け集積回路(ASIC)等)又はコンピュータ可読媒体(例えば、磁気記憶媒体、光学式記憶装置、揮発性及び不揮発性メモリ装置等)を含むことができる。コンピュータ可読媒体内のコードは、プロセッサによってアクセス及び実行される。また、その内部にコード又は論理が符号化される媒体は、空間又は(光ファイバ、銅線等の)伝送媒体を伝播する伝送信号を含むことができる。さらに、その内部にコード又は論理が符号化される伝送信号を送信局から受信局に伝送し、受信局においてこの伝送信号内の符号化コード又は論理を復号した後、その復号結果を送信局は受信局内のハードウェア又はコンピュータ可読媒体に格納することができる。さらに、「製品」は、その内部でコードが具体化、処理及び実行される、ハードウェア及びソフトウェア・コンポーネントの組み合わせを含むことができる。もちろん、当業者は、本発明の範囲から逸脱することなく、多くの修正をなし得ること、そして製品が任意の情報担持媒体を含み得ることを理解するであろう。例えば、製品は、マシンによって実行されるときマシンに所定の動作を行わせるような命令を格納する、記憶媒体を含む。
【0022】
或る実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態又はハードウェア及びソフトウェア要素の両方を含む実施形態の形式を取ることができる。好ましい実施形態では、本発明は、ファームウェア、常駐ソフトウェア、マイクロコード等を含む、ハードウェア及びソフトウェアの形式で実装される。さらに、或る実施形態は、コンピュータ又は任意の命令実行システムによる又はそれらに関連して使用するためにプログラム・コードを提供する、コンピュータが使用可能な媒体又はコンピュータ可読媒体からアクセス可能なコンピュータ・プログラム製品の形式を取ることができる。ここで、コンピュータが使用可能な媒体又はコンピュータ可読媒体は、命令実行システム、装置等による又はそれらに関連して使用するためのプログラムを保持し、格納し、通信し、伝播し又は伝達することができる、任意の装置とすることができる。媒体は、電子、磁気、光学、電磁気、赤外線、又は半導体システム(又は装置)又は伝播媒体とすることができる。コンピュータ可読媒体の例は、半導体又は固体メモリ、磁気テープ、取外し可能なフレキシブル・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、磁気ハード・ディスク及び光ディスクを含む。光ディスクの現在の例は、読み取り専用メモリ(CD−ROM)、コンパクトディスク、読み書き可能なCD−R/W及びDVDを含む。
【図面の簡単な説明】
【0023】
【図1】IBノードの2地点間接続の例を示す図である。
【図2】1つのIBサイト内にある送信機及び他のIBサイト内にある受信機を示す図である。
【図3】クレジット・ベースのフロー制御を使用した場合の、短距離における2つのIBノード間の通信遅延時間を示す図である。
【図4】クレジット・ベースのフロー制御を使用した場合の、長距離における2つのIBノード間の通信遅延時間を示す図である。
【図5】フロー制御を使用した場合の、長距離における2つのIBノード間の通信遅延時間を示す図である。
【図6】遅延ベースのフロー制御を使用した場合の、長距離における2つのIBノード間の通信遅延時間を示す図である。
【図7】バッファ・サイズ、フロー制御及び帯域幅の関係において、2つのノード間のデータ伝送レートの減少特性を示す図である。
【符号の説明】
【0024】
202 システム・メモリ
203 仮想レーン入力(VLin)バッファ
204 クレジット制御論理
205 クレジット制御論理(クレジット・カウント)
206 クレジット・パケット
207 データ・パケット
208 送信機
209 受信機
210 制御レジスタ

【特許請求の範囲】
【請求項1】
第1及び第2のノードを結合するインフィニバンド通信リンクを管理する方法であって、前記第1及び第2のノードの各々は、送信装置及び受信装置をそれぞれ備え、前記第1及び第2のノードは、他方のノードの前記リンク上のデータ・パケットの伝送レートを制御するために前記リンクを介してクレジット・データを交換し、前記受信装置の各々は、他方のノードから送信されたデータを格納するためのデータ・バッファを有し、
前記方法は、
他方のノードから前記リンクを介して送信された前記クレジット・データを送信装置が受け入れることを無効にするステップと、
他方のノードから送信されたデータ・パケットのうち前記データ・バッファ内の空間の不足に起因して消失するデータ・パケットについて前記受信装置がモニタするステップと、
前記データ・バッファ内の空間の不足に起因して消失したデータ・パケットを検出することに応答して、前記受信装置が他方のノードに対し前記伝送レートを減少させるための第1の要求を送信するステップとを含む、方法。
【請求項2】
前記無効にするステップは、前記送信装置がクレジット・データを無視するように前記送信装置内にモード・ビットをセットするステップを含む、請求項1に記載の方法。
【請求項3】
前記無効にするステップは、オペレータが前記モード・ビットを制御可能にセットするか、又は構成プログラムが前記モード・ビットを自動的にセットするステップをさらに含む、請求項2に記載の方法。
【請求項4】
前記送信装置は、前記第1の要求に応答して、パケット間遅延を制御可能に増加させることにより、前記伝送レートを減少させる、請求項1に記載の方法。
【請求項5】
前記送信装置は、前記伝送レートを減少させた後、予め選択された時間間隔中に前記第1の要求が受信されないことに応答して、当該時間間隔の経過後に前記伝送レートを増加させる、請求項4に記載の方法。
【請求項6】
前記送信装置は、前記伝送レートを減少させた後、前記受信装置から前記伝送レートを増加させるための第2の要求を受信することに応答して、前記伝送レートを増加させる、請求項4に記載の方法。
【請求項7】
受信機であって、
着信インフィニバンド・パケット(以下「IBパケット」と表記)を第1の伝送レートで受信するためにインフィニバンド・リンク(以下「IBリンク」と表記)に結合された入力と、
前記着信IBパケットを格納するために前記入力に結合されたデータ・バッファと、
前記IBリンクを介してクレジット・データを送信することにより前記データ・バッファ内の空間の量を指示するために前記IBリンクに結合された出力と、
前記データ・バッファ内の空間の不足に起因して消失するIBパケットを検出するために前記データ・バッファに結合されたモニタ回路と、
前記第1の伝送レートをより遅い伝送レートに減少させるための第1の要求を前記IBリンクを介して送信するために前記出力に接続された第1の出力回路とを備える、受信機。
【請求項8】
前記より遅い伝送レートを増加させるための第2の要求を前記IBリンクを介して送信するために前記出力に接続された第2の出力回路をさらに備える、請求項7に記載の受信機。
【請求項9】
送信機であって、
制御された伝送レートでインフィニバンド・リンク(以下「IBリンク」と表記)を介してインフィニバンド・パケット(以下「IBパケット」と表記)を送信するために前記IBリンクに結合された出力と、
クレジット・データ及び現在の伝送レートをより遅い伝送レートへ減少させるための第1の要求を受信するために前記IBリンクに接続された入力と、
前記クレジット・データを解釈し且つその解釈結果に応答して前記IBリンクを介して送信すべきIBパケットの前記現在の伝送レートを制御するために前記入力に結合された第1の回路と、
前記送信機が無制限の伝送レートで動作するように前記第1の回路を無効にするための第2の回路と、
前記第1の要求を受信することに応答して前記無制限の伝送レートを減少させるために前記入力に結合された第3の回路とを備える、送信機。
【請求項10】
前記入力は、前記より遅い伝送レートを増加させるための第2の要求を受信することができ、前記送信装置は、前記第2の要求を受信することに応答して、前記第3の回路によって減少された前記より遅い伝送レートを増加させるための第4の回路をさらに備える、請求項9に記載の送信機。
【請求項11】
前記第3の回路によって前記現在の伝送レートが前記より遅い伝送レートに減少された後の時間間隔中に前記第1の要求が受信されないことに応答して、当該時間間隔の経過後に前記より遅い伝送レートを増加させるための第4の回路をさらに備える、請求項9に記載の送信機。
【請求項12】
前記第2の回路は、前記第1の回路を無効にすべきか否かを指示する前記送信装置内のモード・ビットの状態を検出するための回路を含む。 請求項9に記載の送信機。
【請求項13】
前記モード・ビットの状態を選択的にセットするためにオペレータによって制御可能な回路をさらに備える、請求項12に記載の送信機。
【請求項14】
前記モード・ビットの状態を選択的にセットするために構成プログラムによって制御可能な回路をさらに備える、請求項12に記載の送信機。
【請求項15】
前記第3の回路は、前記送信装置のパケット間遅延を増加させるための回路を含む、請求項9に記載の送信機。
【請求項16】
請求項1〜6の何れか1項に記載の方法の各ステップをコンピュータに実行させるためのコンピュータ・プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2008−172795(P2008−172795A)
【公開日】平成20年7月24日(2008.7.24)
【国際特許分類】
【出願番号】特願2008−2431(P2008−2431)
【出願日】平成20年1月9日(2008.1.9)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】