JP5160300B2 - 仮想レーン資源を動的に再割当てするシステムおよび方法 - Google Patents

仮想レーン資源を動的に再割当てするシステムおよび方法 Download PDF

Info

Publication number
JP5160300B2
JP5160300B2 JP2008125889A JP2008125889A JP5160300B2 JP 5160300 B2 JP5160300 B2 JP 5160300B2 JP 2008125889 A JP2008125889 A JP 2008125889A JP 2008125889 A JP2008125889 A JP 2008125889A JP 5160300 B2 JP5160300 B2 JP 5160300B2
Authority
JP
Japan
Prior art keywords
virtual lane
bridge
configuration
bridges
port
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008125889A
Other languages
English (en)
Other versions
JP2008287718A (ja
Inventor
マイケル・アンソニー・ペレス
カルヴィン・チャールズ・ペイントン
クリス・マリー・ケンダル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2008287718A publication Critical patent/JP2008287718A/ja
Application granted granted Critical
Publication of JP5160300B2 publication Critical patent/JP5160300B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4273Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using a clocked protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、一般的には、コンピュータおよび同様の技術分野に関し、特に、コンピュータの入出力(I/O)パフォーマンスに関するものである。更に詳しく云えば、本発明は、仮想レーンのI/Oパフォーマンスを最大にするためにバッファ・アロケーションを動的に再割当てすることに関するものである。
現代社会ではコンピュータに対する信頼性が絶えず増すものと仮定して、コンピュータ技術は、パフォーマンスの向上という要求に対処するために多くの点で進歩しなければならなかった。パフォーマンスの向上という要求を満たすためには、多くの場合、ますます高速の且つ複雑なハードウェア・コンポーネントを提供することが望ましい。更に多くの応用例では、プロセッサのような多くのハードウェア・コンポーネント、および、記憶装置、ネットワーク接続等のような周辺コンポーネントが、システム全体のパフォーマンスを向上させるために並行して操作される。
開発努力が向けられた1つの特定のエリアは、コンピュータによって利用されるハードウェア・コンポーネント(例えば、記憶装置、ネットワーク接続、ワークステーション)と、そのようなコンポーネントをアダプタ、コントローラ、および、コンピュータの中央処理装置(即ち、プロセッサ)に接続するために利用される他の相互接続ハードウェア装置と、を管理するエリアである。多くの場合、入出力(I/O)資源とも呼ばれる周辺コンポーネントは、一般に、「ファブリック」を形成する1つまたは複数の中間的な相互接続ハードウェア装置コンポーネントを介してコンピュータに接続され、そのファブリックを介して中央処理装置とI/O資源との間のコミュニケーションを行わせる。
比較的高いパフォーマンスのコンピュータ設計において、I/Oパフォーマンスは、設計のコミュニケーション・ニーズに対処するために相互接続ハードウェア装置の複雑な構成を必要とすることがある。或る例では、コミュニケーション・ニーズは、コンピュータの中央処理装置が収容される筐体から独立しており且つその筐体に連結されている更なる筐体を必要とするほど十分に大きいことがある。
多くの場合、比較的複雑な設計では、I/Oアダプタのような周辺コンポーネントは、コンピュータの主筐体および補助筐体の一方または両方に配置されているスロットを使用してI/Oファブリックに連結されることがある。他のコンポーネントがI/Oファブリックに別の方法で、例えば、 ケーブルおよび他のタイプのコネクタを介して装着または連結されてもよい。しかし、これらの他のタイプの接続もスロットと呼ばれる。従って、使用される接続のタイプに関係なく、I/Oスロットは、I/O資源がI/Oファブリックを介してコンピュータと通信するための接続ポイントまたはI/Oエンドポイントを表わす。
比較的高いパフォーマンスのコンピュータ設計では、システムにおいて利用可能なI/Oスロットの数は数百個に拡大することが可能である。多数のI/Oスロットを扱うとき、I/Oドロワを使用してI/OをCPU複合体から分離することも可能である。I/OドロワをCPU複合体に接続するために、I/O機能が2つのコンポーネント、即ち、ハブおよびブリッジに分割される。ハブは、プロセッサ複合体に直接接続されるI/O機能の部分を指す(また、プロセッサ・ノードとも呼ばれる)。ブリッジは、ハブに接続するI/Oドロワにおけるコンポーネントを指す。
I/Oドロワの設計次第で、1つのI/Oドロワ当たり1つまたは複数のI/Oブリッジが存在し得る。システムが拡大すると、I/Oハブの数もI/Oブリッジの数と共に増加する。多数のI/Oブリッジを単一のハブに接続するとき、それらのブリッジは、一続きにされ、ループ構成またはストリング構成でハブに接続され得る。InfiniBandまたは周辺コンポーネント相互接続エクスプレス(PCI-Express)のような業界基準バスのようなバスを介してハブとブリッジとの間で送られる。InfiniBandまたはPCI-Expressプロトコルに準拠するバスは、様々なコンポーネント間でデータを伝送するために仮想レーンと呼ばれる概念を使用する。各仮想レーンは、データを両方向に伝送するためにそれに割当てられた一定量のバッファ・スペースを有する。仮想レーンに関する1つの問題点は、コストとスペースの制限のために、1つの仮想レーン当たりのバッファ・スペースの量が制限されるということである。この制限は、システムおよび個々のI/Oコンポーネントの全体的なI/Oパフォーマンスに影響を与えることがある。
本発明の目的は、仮想レーンのI/Oパフォーマンスを最大にするために、初期設定時およびアプリケーションの実行時にバッファ・スペースを再割当てするための方法を提供することにある。
本発明に従って、仮想レーンのI/Oパフォーマンスを最大にするためにバッファ・スペースを再割当てする方法を説明する。詳しく云えば、バッファ・スペースを再割当てする方法は、未使用の仮想レーンからバッファ・スペースを取り出し、その未使用のバッファ・スペースを、使用された仮想レーンに再割当てする。例えば、2つの仮想レーンだけが使用中である場合に4つの仮想レーンをサポートする実施例では、この方法は、使用中の2つの仮想レーンによる使用のために、他の2つの未使用の仮想レーンからのバッファ・スペースを再割当てする。
仮想レーンのバッファ・スペースを再割当てするとき、データが移動している方向に基づいて仮想レーンのバッファ・スペースを割当てることが可能である。仮想レーンのバッファ・スペースの場合、そのバッファ・スペースは、データを送るために使用されるスペースおよびデータを受け取るために使用されるスペースに分けられる。データを送るためには、隣接したコンポーネントからのデータを処理するに十分なスペースしか必要とせず、データを受け取るためには、要求されるデータおよび他のコンポーネントから送られたデータを捕捉するためには、できるだけ多くのスペースが望ましい。
従って、本発明の1つの態様では、バッファ・スペースが未使用の仮想レーンから除去され、次に、データ・フローの方向に基づいて再割当てされる。データを送るために使用される仮想レーンに関しては、バッファ・スペースは最小のバッファ・スペース・サイズにセットされ、データを受け取るために使用される仮想レーンに関しては、バッファ・スペースは最大のバッファ・スペース・サイズにセットされる。
本発明の別の態様では、バッファ・スペースを再割当てするとき、ブリッジの構成も考慮される。例えば、ブリッジがループ構成のブリッジまたはストリング構成のブリッジとして構成されるとき、データが流れる方向は、ブリッジがハブに関連する位置的状態に基づいて変わるであろう。更に詳しく云えば、ループ構成のブリッジの場合、ブリッジのうちの或るものはハブに向かう1つの方向にデータを送り、別のブリッジは別の方向にデータを送る。ストリング構成に関して、データはハブに関連して1つの方角に流れるだけである。
バッファ・スペースを再割当てするためのシステムは、生じ得る種々の構成を決定し、初期設定時にシステムを構成する。更に、バッファ・スペースを再割当てするためのシステムは、エラー状態、或いはドロワの追加または除去、或いはループ構成からストリングへの分解、或いはストリング構成からループへの接続変化によるというようなデータ方向が変化する実行時の状況に対処する。それらのケースでは、バッファ・スペースを再割当てするためのシステムは、そのシステムのパフォーマンスを維持するために実行時にバッファをリロケートする。更に、別のケースでは、データがリロケーション前に一時的に停止させられる場合をシステムが考慮に入れることが望ましい。
或る実施例では、バッファ・スペースを再割当てするためのシステムがそのシステムのファームウェアで具体化される。システムの初期設定時に、ファームウェアは、先ず、どの仮想レーンが使用されないことになっているかを決定し、残りの仮想レーンにバッファ・スペースを再割当てする。次に、ブリッジをハブに接続する方法に基づいて、ファームウェアは、データを受ける仮想レーン・ポートが、「バッファ・スペース」対「そのデータを送る仮想レーン」の大部分を有するようI/Oパフォーマンスを最大にするためにバッファ・スペースを割当てる。その後、ファームウェアは、データ方向の変化に関してシステムを監視する。そのような変化が検知される場合、ファームウェアは、データ・フローの最初の一時停止後に別の方向におけるパフォーマンスを最大にするために、仮想レーン・バッファを再割当てする。
本発明の上記および他の目的、特徴、および利点が下記の詳細に記述された説明において明らかになるであろう。
図1を参照すると、本発明を具現化し得る例示的なコンピュータ・システムのブロック図が示される。更に詳しく云えば、コンピュータ・システム100は少なくとも1つのプロセッサ・ノード110を含み、そのプロセッサ・ノード110はInfiniBandリンクのようなリンクを介して入出力(I/O)ドロワ・ユニット112に接続される。プロセッサ・ノード110は複数のプロセッサ120a、120bを含み、それらのプロセッサはメモリ122およびハブ124に接続される。入出力ドロワ・ユニット112は1つまたは複数のブリッジ140を含む。ハブ124およびブリッジ140の結合はI/Oコントローラ(IOC)を提供する。ドロワ・ユニット112は物理パッケージである。一般的、しかし、必然的にではなく、I/Oドロワ・ユニットはラック内に存在する。
ハブ124は複数のアーキテクチャ・ポート150a、150bを実装する。ブリッジ140の各々は複数のアーキテクチャ・ポート152a、152bを実装する。各ポートは、装置をリンクに接続する双方向インターフェースを提供する。リンクは、2つの装置における2つのポート相互間の双方向高速接続である。
メモリ122は揮発性メモリおよび不揮発性メモリの両方を含む。ファームウェア160がメモリ122内に格納され、プロセッサ120の少なくとも1つによって実行される。ファームウェア160は、仮想レーン資源162を再割当てするためのシステムを含む。
或る実施例では、システム100は複数のI/Oドロワ・ユニット112を含み、各I/Oドロワ・ユニット112は多数のスロット(例えば、1つのドロワ当たり6乃至20個のスロット)および1つのI/Oドロワ・ユニット112当たり1つまたは複数の(例えば、1乃至4個の)ブリッジを含む。I/Oドロワ・ユニット112は、ストリング構成またはループ構成のいずれかで相互に接続されてもよい。各I/Oスロットは、PCIXまたはPCIエクスプレス・プロトコルのようなI/Oプロトコルに準拠し得る。
情報は仮想レーンを介してハブとブリッジの間で伝送される。仮想レーンは、クラス・タイプ(例えば、応答/要求)と、順序付け問題およびコヒーレンシ問題並びにサービスのアドレス品質とに基づいてデータを分離することを可能にする。
ハブとブリッジとの間でデータを転送するための2つの主要なコマンド・タイプがある。その2つのコマンド・タイプは要求および応答である。要求は、DMA Read/Write、Memory-MappedRead/Write、IO Read/Write、Configuration Read/Write、メッセージおよび割り込みのようなものを装置が求めるときに使用される。DMA読取り要求から返送されたデータのようなデータが要求から返送されるとき、応答が使用される。要求および応答は順不同にされ、独立したストリームとして扱われる。それを行うためには、それらは異なる仮想レーンを割当てられる。
図2を参照すると、ポートおよびリンクの相互接続のブロック図が示される。更に詳しく云えば、各ポート150、152は、複数の仮想レーン(VL0〜15)、並びに、送信装置220および受信装置222を含む。各仮想レーンは送信バッファ230および受信バッファ232を含む。各バッファ対は、仮想レーン・バッファ資源を構成する。
1つの実施例では、ハブ124およびブリッジ140の各ポート150、152が、例えば4対の送信/受信バッファ対を実装する。各ポートは、データ・パケットを送信および受信するために使用されるデータ・バッファとして機能するデータ仮想レーン(VL0〜VL3)と、サブネット管理パケット(SMP)の送信および受信に専用のSMPバッファとして機能する仮想レーン(VL15)と、を含む複数の仮想レーンを実装する。
すべての仮想レーンがデータを搬送するために同じ物理ワイヤ(即ち、リンク)を使用するとしても、各仮想レーンは独立したデータ・ストリームとして扱われる。各仮想レーンは独立したデータ・ストリームであるので、各仮想レーンは、仮想レーン毎に、独立したバッファ・スペース、アービトレーション、および搬送プロトコルに関連した他の特徴を含む。各仮想レーンは、データを両方向に送るための一定量の割当てられたバッファ・スペースを有する。バッファ・スペースは、データが装置間で交差するとき、一時的にそのデータを格納するためにも使用される。ハブおよびブリッジは、利用可能なバッファ・スペース量を相互間で伝送するためにフロー制御を使用する。送信する装置は、隣接の装置が、送られるデータを格納するに十分なバッファ・スペースを持たない場合、データを転送することができない。
図3は、1つのハブ124および複数のブリッジ140aのループ構成における相互接続の一例を示すブロック図である。更に詳しく云えば、ループ構成では、第1ハブ・ポート(ポート1)が、第1ブリッジの第1ブリッジ・ポート(ブリッジ0、ポート1)に接続される。第1ブリッジの第2ブリッジ・ポート(ブリッジ0、ポート2)が、第2ブリッジの第1ブリッジ・ポート(ブリッジ1、ポート1)に接続される。第2ブリッジの第2ブリッジ・ポート(ブリッジ1、ポート2)が、第3ブリッジの第1ブリッジ・ポート(ブリッジ2、ポート1)に接続される。第3ブリッジの第2ブリッジ・ポート(ブリッジ2、ポート2)が、第4ブリッジの第1ブリッジ・ポート(ブリッジ3、ポート1)に接続される。第4ブリッジの第2ブリッジ・ポート(ブリッジ3、ポート2)が、ハブの第2ポート(ポート2)に接続される。
図4は、1つのハブ124および複数のブリッジ140aのストリング構成における相互接続の一例を示すブロック図である。更に詳しく云えば、ストリングの構成では、第1ハブ・ポート(ポート1)が、第1ブリッジの第1ブリッジ・ポート(ブリッジ0、ポート1)に接続される。第1ブリッジの第2ブリッジ・ポート(ブリッジ0、ポート2)が、第2ブリッジの第1ブリッジ・ポート(ブリッジ1、ポート1)に接続される。第2ブリッジの第2ブリッジ・ポート(ブリッジ1、ポート2)が、第3ブリッジの第1ブリッジ・ポート(ブリッジ2、ポート1)に接続される。第3ブリッジの第2ブリッジ・ポート(ブリッジ2、ポート2)が、第4ブリッジの第1ブリッジ・ポート(ブリッジ3、ポート1)に接続される。第4ブリッジの第2ブリッジ・ポート(ブリッジ3、ポート2)は接続されない。ハブの第2ポートも接続されない。
図5は、マルチ・ストリング構成における1つのハブ124および複数のブリッジ140aの相互接続の一例を示すブロック図である。更に詳しく云えば、マルチ・ストリング構成では、ハブ124の第1ハブ・ポート(ポート1)が第1ブリッジの第1ブリッジ・ポート(ブリッジ0、ポート1)に接続される。更に、第2ブリッジの第2ブリッジ・ポート(ブリッジ1、ポート2)が第3ブリッジの第1ブリッジ・ポート(ブリッジ2、ポート1)に接続される。第3ブリッジの第2ブリッジ・ポート(ブリッジ2、ポート2)が第4ブリッジの第1ブリッジ・ポート(ブリッジ3、ポート1)に接続される。第4ブリッジの第2ブリッジ・ポート(ブリッジ3、ポート2)がハブの第2ポート(ポート2)に接続される。第1ブリッジおよび第2ブリッジは接続されない。
図6を参照すると、仮想レーン資源を再割当てするためのシステムのオペレーション・プロセスのフローチャートが示される。詳しく云えば、仮想レーン資源を再割当てするためのプロセス600は、ステップ610においてシステム100内の利用可能なハブおよびブリッジを識別することによってオペレーションを開始する。次に、ステップ612において、システムは、そのシステム内のどの仮想レーンが割当てられていないか(即ち、システムによって使用されていないか)を決定する。例えば、1つの実施態様では、I/Oドロワ・ユニットは4つの仮想レーンを有するが、仮想レーン0および仮想レーン1だけが割当てられている。幾つかの仮想レーンが使用されていないことをプロセス600が決定する場合、プロセス600は、ステップ614において未使用の仮想レーンからその使用された仮想レーンに幾つかのまたはすべてのバッファ・スペースを再割当てする。例えば、仮想レーン2および3が使用されてないという例では、プロセス600は、仮想レーン2および3から仮想レーン0および1にバッファ・スペースを再割当てする。
次に、プロセス600は、ステップ620においてシステム100内のデータ・フローを決定する。そのデータ・フローは、初期設定時にファームウェアによって割当てられていてもよいし、或いはステップ620においてファームウェアにより割当てられてもよい。資源の割当てに関する或る実施態様は、データ・フローの方向に依存する。ステップ622において、プロセスは、データ・フローに基づいて仮想レーン資源を構成する。
ストリングに関しては、すべてのデータがハブと所与のブリッジとの間で1つの方向に流れる。ストリング構成では、ファームウェアがデータ・フローを1つの方向に割当てる。ループ構成では、いずれの所定のブリッジも、データをハブに送るための2つの可能なデータ経路を有する。1つの実施例では、ループ構成に関して、ブリッジの半分がハブ・ポート1にデータを送信し、ブリッジの更なる半分がハブ・ポート2にデータを送信するよう、ファームウェアがデータ・フローを分ける。ファームウェアは、それが特定のブリッジのスロットに接続され得る装置を考慮に入れ、「装置の潜在的な帯域幅」対「ブリッジの数」に基づいてデータ・フローを割当てた場合、別の方法でブリッジを割当てることも可能である。プロセス600は、ハブおよびデータ・フロー機能と関連したブリッジにおけるレジスタを読取ることによって、データ・フローの方向を決定する。
次に、ステップ624において、プロセスは仮想レーン資源インクリメントを識別し、各仮想レーンに対して割当てるべきバッファ・スペースの量を決定する。
例えば、1つの実施例では、2Kバイトの利用可能な仮想レーン・バッファ資源および512バイトの仮想レーン細分性(granularity)を有するシステムでは、複数の可能な仮想レーン・バッファの割当てが存在する。更に詳しく云えば、その仮想レーン・バッファの割当ては次のものを含む。
VL0=512、VL1=1536、
VL0=1536、VL1=512
VL0=1024、VL1=1024
別の可能な割当てでは、仮想レーン・バッファ・サイズおよび仮想レーン・バッファ細分性を変更したものも利用可能であることは明らかであろう。
ストリング構成では、ハブのパスにおける1つのポートがハブに直接接続されるか、またはそのハブに接続されたブリッジに接続される。ループ構成では、ブリッジのポートの1つがハブのポート1のパス内にあるか、または、ブリッジの別のポートがハブのポート2のパス内にある。ループ構成では、すべてのブリッジがハブへの2つのパスを持っていても、データは一方のパス上にしか流れない。
更に、I/Oドロワ・ユニット112は1つのハブ124当たり一連のブリッジ140を含むことができるので、ブリッジ140は、それ自身のデータが無くてもハブ124と通信してパススルー・データを隣接ブリッジに送ることができるし、そのブリッジから受けることもできる。
次に、ステップ628において、プロセスは、ブリッジ140のデータ・フロー方向に基づいてすべてのブリッジに対する仮想レーン進入ポート・バッファの設定を行う。更に詳しく云えば、ハブ124にデータを送るブリッジ・ポートは進入ポートと呼ばれ、データを隣接ブリッジに、しかしハブ124から離れる方向に送るブリッジ・ポートは退出ポートと呼ばれる。
進入ポートに関しては、要求がハブ124の方向に送られる。これらの要求は、ブリッジ内で内部的に発生されたか、または、退出ポートからパススルーとして渡された。これらの要求は短期のものであるので、バッファ要件はハブ124の方向に送られる要求が最小であることである。進入ポートに関しては、応答は、前の要求からのデータ、即ち、内部要求または退出ポートの下流にあるブリッジからの要求のいずれかからのデータを表わす。パフォーマンスを最大にし且つ進入ポートに更なる応答データを送る前に隣接ブリッジが待たなけばならない時間を最小にするためには、応答仮想レーン資源は最大にされなければならない。従って、進入ポートに関しては、応答に対する仮想レーンのバッファリングを最大にし、要求に対する仮想レーンのバッファリングを最小にすることが望ましい。
2Kバイトの仮想レーン・バッファ資源を有するシステムの例を使用すると、進入ポートに関して、仮想レーン0は要求を扱うように構成され、仮想レーン1は応答を扱うように構成される。従って、資源は、VL0資源が512バイトに最小化されるように、およびVL1資源が1536バイトに最大化されるように、構成される。
退出ポートに関しては、要求は隣接ブリッジから受け取られる。1つの隣接ブリッジおよび多数の隣接ブリッジが存在し得る。障害にならないようにするために、退出ポートはできるだけ多くの要求を受け入れるように構成されなければならない。従って、退出ポートを扱う要求に対する仮想レーン・バッファ・スペースは最大にされなければならない。退出ポートに関して、応答は進入ポートから退出ポートに流れる。応答は比較的短い期間に通過するので、大量のバッファ・スペースが存在する必要はない。それは、退出ポートが転送するデータの宛先である隣接ブリッジの進入ポートを、仮想レーンのバッファリングによって応答のパフォーマンスが決定されるためである。従って、退出ポートに関しては、要求に対する仮想レーンのバッファリングを最大にすることおよび応答に対する仮想レーンのバッファリングを最小にすることが望ましい。
システムが2Kバイトの仮想レーン・バッファ資源を有するという例を使用すると、退出ポートに関して、仮想レーン0は要求を扱うように構成され、仮想レーン1は応答を扱うように構成される。従って、資源は、VL0資源が1536バイトに最大化されるように、およびVL1資源が512バイトに最小化されるように、構成される。
従って、隣接ブリッジからの受信データに関連した仮想レーンが最大化にされ、ブリッジ内のポート間のデータ伝送に関連した仮想レーンが最小化される。
例えば、図3を再び参照すると、ファームウェアは、データがブリッジのポート1を介してハブ124のポート1に向かって流れるようにハブ124のポート1に最も近接している2つのブリッジに関するデータ・フローと、データがブリッジのポート2を介してハブ124のポート2に向かって流れるようにハブ124のポート2最も近接している2つのブリッジ(ブリッジ2およびブリッジ3)に関するデータ・フローとをセットする。
2Kバイトの仮想レーン・バッファ資源を有するシステムの一例を使用すると、ブリッジ0およびブリッジ1に関して、資源は、ポート1仮想レーン0要求資源が(例えば、512バイトに)最小化され、ポート1仮想レーン1応答資源が(例えば、1536バイトに)最大化されるように、一方、ポート2仮想レーン0要求資源が(例えば、1536バイトに)最大化され、ポート2仮想レーン1応答資源が(例えば、1536バイトに)最小化されるように、割当てられる。ブリッジ2およびブリッジ3に関しては、資源は、ポート1仮想レーン0要求資源が(例えば、1536バイトに)最大化され、ポート1仮想レーン1応答資源が(例えば、512バイトに)最小化されるように、一方、ポート2仮想レーン0要求資源が(例えば、512バイトに)最小化され、ポート2仮想レーン1応答資源が(例えば、1536バイトに)最大化されるように、割当てられる。
更に、例えば、図4を再び参照すると、ファームウェアは、データがブリッジのポート1を介してハブのポート1に向かっておよびその逆に流れるように、4つのブリッジすべてに関するデータ・フローをセットする。
2Kバイトの仮想レーン・バッファ資源を有するシステムの例を使用すると、資源は、ポート1仮想レーン0要求資源が(例えば、512バイトに)最小化され、ポート1仮想レーン1応答資源が(例えば、1536バイトに)最大化されるように、一方、ポート2仮想レーン0要求資源が(例えば、1536バイトに)最大化され、ポート2仮想レーン1応答資源が(例えば、1536バイトに)最小化されるように、割当てられる。
仮想レーン資源の再割当ては、システム初期設定プロセス時に(即ち、システムのブート・アップ時に)生じ得る。そのような再割当ては静的再割当てと呼ばれる。更に、或る状況では、システムが実行している間に再割当てオペレーションを行なうことが望ましいことがある。そのような再割当ては動的再割当てと呼ばれる。
例えば、ブリッジ構成がループ構成からストリング構成(ループの一端が接続解除される場合に生じ得るような)に変化するとき、仮想レーン資源の動的再割当てが望ましいことがある。ブリッジ構成がループ構成から複数ストリング構成(ループ内の2つのブリッジが接続解除される場合に生じ得るような)に変化するときには、仮想レーン資源の動的再割当てが望ましいことがある。更なるI/Oドロワ・ユニットがシステムに加えられるときにも、仮想レーン資源の動的な再割当てが望ましいことがある。I/Oドロワ・ユニットがシステムから取り除かれるときにも、仮想レーン資源の動的な再割当てが望ましいことがある。
更に詳しく云えば、ブリッジ構成がループ構成からストリング構成に変化するという状況では、仮想レーン資源が当初から再割当てされていたとき、或るブリッジ(例えば、ブリッジ0および1)の仮想レーン資源は1つの方向に送られるように構成され、別のブリッジ(例えば、ブリッジ2および3)の仮想レーン資源は別の方向にデータを送るように構成された。実行時にブリッジ構成が変化する場合、仮想レーン資源が再割当てされなければ、仮想レーン資源のパフォーマンスは悪影響を受けるであろう。
仮想レーン資源を再割当てするためのシステムは、パーティションを管理するファームウェア・ハイパーバイザ内に、或いはランタイム・アブストラクション・サービス(RTAS)の一部であるファームウェア要素内に含まれることもある。
ファームウェアがブリッジ構成の変化を知ることを可能にする複数の機構が存在する。例えば、ファームウェアは、エラーが生じたということを報告する割込みを介して、ブリッジ構成の変化を知ることが可能である。ファームウェアは、データ・フローの方向およびケーブル接続をチェックするポーリング機構を介してブリッジ構成の変化を知ることも可能である。更に、ファームウェアは、顧客がドロワを追加または除去したいという状況に対してサービス・コールを介してブリッジ構成の変化を知ることも可能である。
不良ケーブル状態或いは他の何らかのエラー状態のために或る方向が阻止されるというエラー状況に関しては、ループ・モードにある場合には、ブリッジは、トラフィックの方向を反対のハブ・ポートに向けて自動的に反転する。しかし、トラフィックの方向が反転されることによって、仮想レーン資源構成はもはや最適化されない。仮想レーン・バッファ・アロケーションが新しいデータ・フロー方向を考慮に入れるように動的に再割当てされない場合、そのような最適化の欠如は75%を越えるデータ・ロスを生じさせることがある。
更に詳しく云えば、図7を参照すると、仮想レーン資源を動的に再割当てするためのシステムのオペレーション・プロセスに関するフローチャートが示される。プロセスは、ステップ710において、ブリッジ構成の変化が生じたかどうかを決定することによって、オペレーションを開始する。そのような決定は、ブリッジ構成の変化が生じたかどうか決定するために、システムがポーリング・モードのオペレーションで作動することによって行うことができる。そのような変化は、割込みの受取ることまたはサービス・コールを表示することによって検知されてもよい。割り込みが検知される場合、プロセスは、ステップ712において、エラー状態が存在するかどうかを決定する。エラー状態が存在する場合、プロセスは、ステップ714において、データ・フローの方向が変化したかどうか決定するためにブリッジ構成を分析する。データ・フローの方向が変化していない場合、プロセスは何も行わず、ブリッジ構成の変化が生じたかどうか決定するために監視を続ける。データ・フローの方向が変化した場合、プロセスは、ステップ716において、新しいブリッジ構成のための資源を最適化するために仮想レーン資源をリロケートするプロセスを開始する。
更に詳しく云えば、I/Oドロワ・ユニットに関してエラーが生じ、ループ構成が(例えば、1つのストリング構成またはマルチ・ストリング構成に対して)変化した場合、仮想レーン資源を動的に再割当てするためのシステムは仮想レーン・バッファ資源割当てをリロケートする。
更に詳しく云えば、仮想レーン資源を動的に再割当てするためのシステムは、ループのどこが壊れたか(即ち、ループの端部または中心部が壊れたか)を決定する。次に、システムは、各ブリッジに対するフローの方向を決定する。ブリッジがストリングの端部に位置する場合、フローの方向は同じであるが、ブリッジがストリングの中心部に位置する場合、フローの方向は、ブリッジ構成おける破壊生じた位置に依存する。次に、システムは、ブリッジを介したすべてのトラフィックを一時的に停止する。次に、システムは、各ブリッジに対する決定されたデータ・フローに基づいて、仮想レーンのバッファリングをリロケートし、しかる後、ブリッジ内のトラフィック・フローを再開する。
エラー状態に関して、システムは、一般に、エラーが、エラー状態を示すハードウェアからの割り込みを介して生じた、ということを決定する。しかし、システムは、エラーが生じたということを、データ・フローの方向に関連したブリッジ内のレジスタをポーリングすることによっても決定することができる。データ・フローの方向が、システムにより理解された方向とは異なるということをレジスタが表す場合、仮想レーン資源を動的に再割当てするためのシステムは、新たに識別されたデータ・フローに対する資源を最適化するプロセスを行うであろう。
ストリング構成からループ構成へのブリッジ構成の変化に関して、そのような割り込みを生じるようにブリッジが構成される場合、割込みが生じることが可能である。しかし、一般には、ストリング構成からループ構成への変化はポーリングによって識別される。ファームウェアは、InfiniBandケーブルのようなリンクの存在に関して別のレジスタ・セットをチェックすることもある。ケーブルが再接続または置換されたということをファームウェアが決定する場合、ファームウェアは、ブリッジ構成をストリング構成からループ構成に調整することができる。システムがデータ・トラフィックのためにハブの両方のポートを利用することを可能にするためにブリッジ構成がストリング構成からループ構成に変化したとき、仮想レーン資源を再平衡化することがパフォーマンス上の理由により重要である。
仮想レーン資源を再平衡化するとき、仮想レーン資源を動的に再割当てするためのシステムは、先ず、ケーブル接続を検知する。次に、システムは、ハブのポートが活性化し且つ利用可能となるようにそのポートを構成する。次に、システムは、ブリッジを介したトラフィック・フローを一時的に停止させる。次に、システムは、トラフィックをストリング構成からブリッジ構成に再平衡化するためにデータ・フローを再方向付けする。次に、システムは、各ブリッジに対する新しいデータ・フローに基づいて、仮想レーンのバッファリングをリロケートする。次に、システムは、ブリッジを介したトラフィック・フローを再開する。
新しいI/Oドロワ・ユニットが加えられるとき、ファームウェアは、新しいドロワが構成に結合したということを通知される。次に、仮想レーン資源を動的に再割当てするためのシステムは、新たに追加されたI/Oドロワ・ユニットの電源をオンにし、そのI/Oドロワ・ユニットをコンフィギュレーションに入れる。次に、システムは、新しいI/Oドロワ・ユニット内のブリッジのブリッジ構成を(即ち、ブリッジが、ループ構成、ストリング構成、またはマルチ・ストリング構成で構成されるかどうかを)決定する。次に、システムは、I/Oドロワ・ユニット内の各ブリッジに対するデータ・フローを決定する。ブリッジがループ構成で配置される場合、システムは、そのようなデータ・フローがまだ割当てられていない場合の理想的なデータ・フローを決定する。次に、システムは、各ブリッジに対するデータ・フローに基づいて、仮想レーン・バッファリングをリロケートし、しかる後、I/Oドロワ・ユニット内のトラフィック・フローを再開する。
I/Oドロワ・ユニットがシステムから取り除かれるとき、動的に再割当てされた仮想レーン資源のためのシステムは、システムがドロワ・ユニットの電源をオフにすることおよび残りのブリッジ構成を完了させるためにケーブルを再接続するようユーザに指示し得ることを除いて、ドロワ・ユニットが加えられるときとほとんど同様に機能する。
本発明を好ましい実施例に関連して詳しく示し且つ説明したが、本発明の趣旨および範囲から逸脱することなく、形式および細部において種々の変更を行い得ることは当業者には明らかであろう。更に、本明細書および「特許請求の範囲」において使用されるように、「コンピュータ」、「システム」、「コンピュータ・システム」、或いは「計算装置」という用語は、パーソナル・コンピュータ、サーバ、ワークステーション、ネットワーク・コンピュータ、メインフレーム・コンピュータ、ルータ、スイッチ、パーソナル・デジタル・アシスタント(PDA)、電話、およびデータを処理、送信、受信、捕捉、および/または格納することができる他の任意のシステムを含む。
当業者には明らかであるように、本発明は、方法、システム、またはコンピュータ・プログラムとして具体化することが可能である。従って、本発明は、全体的にハードウェアの実施例、全体的にソフトウェアの実施例(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)、或いは「回路」、「モジュール」または「システム」のような、本明細書においてすべて一般的に参照され得るソフトウェアおよびハードウェアの態様を組み合わせた実施例の形を取り得る。更に、本発明は、コンピュータ使用可能プログラム・コードを組み込まれたコンピュータ使用可能記憶媒体においてコンピュータ・プログラムの形体を取ることも可能である。例えば、バッファを再割当てするためのシステムはファームウェアの実施態様に関連して説明されたが、ソフトウェア、ハードウェア、またはハードウェアおよびソフトウェアの組合せでシステムを具現化し得るということも明らかであろう。
添付図面におけるブロック図は、本発明の様々な実施例に従ってシステムおよび方法の可能な態様のアーキテクチャ、機能、およびオペレーションを示す。更に、ブロック図における各ブロック、およびブロック図におけるブロックの組合せを、特殊な機能または行為を遂行する特殊目的のハードウェア・ベースのシステム、或いは特殊目的のハードウェアおよびコンピュータ命令の組合せによって具現化することも可能である。
本明細書において使用される用語は、特定の実施例のみを説明するためのものであり、本発明を限定することを意図するものではない。本明細書において使用される「含む」という用語は、記述された特徴、整数、ステップ、オペレーション、要素、および/または、コンポーネントの存在を指定するが、1つまたは複数の他の特徴、整数、ステップ、オペレーション、要素、コンポーネント、および/または、それのグループの存在または付加を妨げるものではないということも明らかであろう。
「特許請求の範囲」におけるすべての手段またはステップおよび機能素子の対応する構造体、材料、および等価物は、「特許請求の範囲」における他の素子と結合してその機能を遂行するための任意の構造体、材料、または行為を含むことを意図するものである。本発明の記述は、図解および説明を目的として提示されているが、網羅的であること意図するものではなく、開示された形態の発明に限定されることを意図するものでもない。本発明の範囲および趣旨から逸脱することなく、多くの修正および変更が当業者には明らかであろう。実施例は、本発明の原理および実用的な応用例を最もよく説明するために、および、考えられる特定の用途に適した様々な修正を伴う様々な実施例に関して、当業者が本発明を理解することを可能にするために、選択され且つ説明された。
従って、本発明を詳細に且つ好適な実施例に関して説明したが、「特許請求の範囲」において定義された発明の範囲から逸脱することなく、修正および変更が可能であるということは明らかであろう。
本発明を具現化し得る例示的なコンピュータ・システムのブロック図である。 仮想レーンのデータ・フローの例を示すブロック図である。 ループ構成における1つのハブおよび複数のブリッジの相互接続の例を示すブロック図である。 ストリング構成における1つのハブおよび複数のブリッジの相互接続の例を示すブロック図である。 マルチ・ストリング構成における1つのハブおよび複数のブリッジの例を示すブロック図である。 仮想レーン資源を再割振りするためのシステムのオペレーションを示すフローチャートである。 仮想レーン資源を動的に再割振りするためのシステムのオペレーションを示すフローチャートである。assined virtual lanes は、「割り当てられた仮想レーン」として統一した訳にする必要があります。日本ではプログラムそのものも物の発明として保護対象になるので、冗長な記載を避けます。

Claims (6)

  1. 1つのハブおよび複数のブリッジを有するコンピュータ・システムにおいて仮想レーン資源を動的に割当てるための方法であって、
    前記複数のブリッジの各々における、割当てられた仮想レーン資源を含む割当てられた仮想レーン、および割当てられてない仮想レーン資源を含む割当てられてない仮想レーンを識別するステップと、
    前記割当てられてない仮想レーン資源を前記割当てられてない仮想レーンから前記割り当てられた仮想レーンに動的に再割当てするステップと、
    を含み、
    前記複数のブリッジはループ構成およびストリング構成の少なくとも一方で構成され、
    前記動的に再割当てするステップは、前記複数のブリッジが前記ループ構成または前記ストリング構成で構成されるかどうかを考慮に入れ、
    前記動的に再割当てするステップは、ブリッジ構成が前記ループ構成から前記ストリング構成に変化するときに生じる、
    方法。
  2. 1つのハブおよび複数のブリッジを有するコンピュータ・システムにおいて仮想レーン資源を動的に割当てるための方法であって、
    前記複数のブリッジの各々における、割当てられた仮想レーン資源を含む割当てられた仮想レーン、および割当てられてない仮想レーン資源を含む割当てられてない仮想レーンを識別するステップと、
    前記割当てられてない仮想レーン資源を前記割当てられてない仮想レーンから前記割り当てられた仮想レーンに動的に再割当てするステップと、
    を含み、
    前記複数のブリッジはループ構成およびストリング構成の少なくとも一方で構成され、
    前記動的に再割当てするステップは、前記複数のブリッジが前記ループ構成または前記ストリング構成で構成されるかどうかを考慮に入れ、
    前記動的に再割当てするステップは、ブリッジ構成が前記ループ構成から複数ストリング構成に変化するときに生じる、
    方法。
  3. プロセッサと、
    前記プロセッサに接続されたハブと、
    前記プロセッサに接続された複数のブリッジと、
    を含み、
    前記コンピュータ・プログラムは、
    前記プロセッサによる実行が可能な命令を含み、
    前記複数のブリッジの各々における、割当てられた仮想レーン資源を含む割当てられた仮想レーンおよび割当てられてない仮想レーン資源を含む割当てられてない仮想レーンを識別するステップと、前記割当てられてない仮想レーン資源を前記割当てられてない仮想レーンから前記割当てられた仮想レーンに動的に再割当てするステップとを行うように構成され
    前記複数のブリッジはループ構成およびストリング構成の少なくとも一方で構成され、
    前記動的に再割当てするステップは、前記複数のブリッジが前記ループ構成または前記ストリング構成で構成されるかどうかを考慮に入れ、
    前記動的に再割当てするステップは、ブリッジ構成が前記ループ構成から前記ストリング構成に変化するときに生じる、
    システム。
  4. プロセッサと、
    前記プロセッサに接続されたハブと、
    前記プロセッサに接続された複数のブリッジと、
    を含み、
    前記コンピュータ・プログラムは、
    前記プロセッサによる実行が可能な命令を含み、
    前記複数のブリッジの各々における、割当てられた仮想レーン資源を含む割当てられた仮想レーンおよび割当てられてない仮想レーン資源を含む割当てられてない仮想レーンを識別するステップと、前記割当てられてない仮想レーン資源を前記割当てられてない仮想レーンから前記割当てられた仮想レーンに動的に再割当てするステップとを行うように構成され
    前記複数のブリッジはループ構成およびストリング構成の少なくとも一方で構成され、
    前記動的に再割当てするステップは、前記複数のブリッジが前記ループ構成または前記ストリング構成で構成されるかどうかを考慮に入れ、
    前記動的に再割当てするステップは、ブリッジ構成が前記ループ構成から複数ストリング構成に変化するときに生じる、
    システム。
  5. プロセッサと、
    前記プロセッサに接続されたハブと、
    前記プロセッサに接続された複数のブリッジと、
    仮想レーン資源を再割当てする手段と、
    を含み、
    前記手段は、前記複数のブリッジの各々における、割当てられた仮想レーン資源を含む割当てられた仮想レーンおよび割当てられてない仮想レーン資源を含む割当てられてない仮想レーンを識別する操作を行うためのモジュール、および前記割当てられてない仮想レーン資源を前記割当てられてない仮想レーンから前記割当てられた仮想レーンに動的に再割当てする操作を行うためのモジュールを含み、
    前記複数のブリッジはループ構成およびストリング構成の少なくとも一方で構成され、
    前記動的に再割当てする操作は、前記複数のブリッジが前記ループ構成または前記ストリング構成で構成されるかどうかを考慮に入れ、
    前記動的に再割当てする操作は、ブリッジ構成が前記ループ構成から前記ストリング構成に変化するときに生じる、
    システム。
  6. プロセッサと、
    前記プロセッサに接続されたハブと、
    前記プロセッサに接続された複数のブリッジと、
    仮想レーン資源を再割当てする手段と、
    を含み、
    前記手段は、前記複数のブリッジの各々における、割当てられた仮想レーン資源を含む割当てられた仮想レーンおよび割当てられてない仮想レーン資源を含む割当てられてない仮想レーンを識別する操作を行うためのモジュール、および前記割当てられてない仮想レーン資源を前記割当てられてない仮想レーンから前記割当てられた仮想レーンに動的に再割当てする操作を行うためのモジュールを含み、
    前記複数のブリッジはループ構成およびストリング構成の少なくとも一方で構成され、
    前記動的に再割当てする操作は、前記複数のブリッジが前記ループ構成または前記ストリング構成で構成されるかどうかを考慮に入れ、
    前記動的に再割当てする操作は、ブリッジ構成が前記ループ構成から複数ストリング構成に変化するときに生じる、
    システム。
JP2008125889A 2007-05-21 2008-05-13 仮想レーン資源を動的に再割当てするシステムおよび方法 Expired - Fee Related JP5160300B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/751,119 US8654634B2 (en) 2007-05-21 2007-05-21 Dynamically reassigning virtual lane resources
US11/751119 2007-05-21

Publications (2)

Publication Number Publication Date
JP2008287718A JP2008287718A (ja) 2008-11-27
JP5160300B2 true JP5160300B2 (ja) 2013-03-13

Family

ID=40072286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008125889A Expired - Fee Related JP5160300B2 (ja) 2007-05-21 2008-05-13 仮想レーン資源を動的に再割当てするシステムおよび方法

Country Status (4)

Country Link
US (1) US8654634B2 (ja)
JP (1) JP5160300B2 (ja)
CN (1) CN101311915A (ja)
TW (1) TWI463323B (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4992296B2 (ja) * 2006-05-30 2012-08-08 株式会社日立製作所 転送処理装置
US8270295B2 (en) * 2007-05-21 2012-09-18 International Business Machines Corporation Reassigning virtual lane buffer allocation during initialization to maximize IO performance
US8055805B2 (en) * 2009-03-31 2011-11-08 Intel Corporation Opportunistic improvement of MMIO request handling based on target reporting of space requirements
JP5771927B2 (ja) * 2010-09-15 2015-09-02 株式会社リコー 通信装置、通信ユニット、通信システム、通信方法およびプログラム
GB201102628D0 (en) * 2011-02-15 2011-03-30 Nordic Semiconductor Asa Programmable radio
US9832143B2 (en) 2014-12-29 2017-11-28 Oracle International Corporation System and method for supporting efficient virtual output queue (VOQ) packet flushing scheme in a networking device
JP6683711B2 (ja) * 2014-12-29 2020-04-22 オラクル・インターナショナル・コーポレイション ネットワーキング装置において効率的な仮想出力キュー(voq)パケットフラッシングスキームをサポートするためのシステムおよび方法
US9621484B2 (en) 2014-12-29 2017-04-11 Oracle International Corporation System and method for supporting efficient buffer reallocation in a networking device
US9838338B2 (en) 2014-12-29 2017-12-05 Oracle International Corporation System and method for supporting efficient virtual output queue (VOQ) resource utilization in a networking device
US9838330B2 (en) 2014-12-29 2017-12-05 Oracle International Corporation System and method for supporting credit management for output ports in a networking device
JP2019003586A (ja) * 2017-06-20 2019-01-10 富士通株式会社 ストレージ制御装置およびパス切り替え制御プログラム
WO2019017952A1 (en) 2017-07-20 2019-01-24 Hewlett-Packard Development Company, L.P. INPUT / OUTPUT PORT CONFIGURATIONS USING MULTIPLEXERS
US12086654B2 (en) * 2021-09-16 2024-09-10 T-Head (Shanghai) Semiconductor Co., Ltd. Parallel processing unit virtualization
CN115988161B (zh) * 2023-03-17 2023-06-06 上海芯浦科技有限公司 一种视频传输设备及传输方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0239343A (ja) * 1988-07-29 1990-02-08 Fujitsu Ltd 送受信バッファリング制御方式
FR2818843B1 (fr) * 2000-12-21 2005-05-06 Eads Airbus Sa Dispositif et procede de controle de flux dans un reseau commute
US7150021B1 (en) * 2001-10-12 2006-12-12 Palau Acquisition Corporation (Delaware) Method and system to allocate resources within an interconnect device according to a resource allocation table
US6715055B1 (en) * 2001-10-15 2004-03-30 Advanced Micro Devices, Inc. Apparatus and method for allocating buffer space
US7049667B2 (en) * 2002-09-27 2006-05-23 Hrl Laboratories, Llc Conductive channel pseudo block process and circuit to inhibit reverse engineering
US6904507B2 (en) * 2002-09-30 2005-06-07 Agilent Technologies, Inc. Buffer management architecture and method for an infiniband subnetwork
US20040223454A1 (en) * 2003-05-07 2004-11-11 Richard Schober Method and system for maintaining TBS consistency between a flow control unit and central arbiter in an interconnect device
US7188198B2 (en) * 2003-09-11 2007-03-06 International Business Machines Corporation Method for implementing dynamic virtual lane buffer reconfiguration
US7356648B2 (en) * 2003-10-02 2008-04-08 International Business Machines Corporation Shared buffer having hardware controlled buffer regions
US7564789B2 (en) * 2004-02-05 2009-07-21 Qlogic, Corporation Method and system for reducing deadlock in fibre channel fabrics using virtual lanes
TWI277872B (en) * 2004-10-19 2007-04-01 Via Tech Inc Method and related apparatus for internal data accessing of computer system
JP2006195871A (ja) * 2005-01-17 2006-07-27 Ricoh Co Ltd 通信装置、電子機器、及び画像形成装置
US7315456B2 (en) * 2005-08-29 2008-01-01 Hewlett-Packard Development Company, L.P. Configurable IO subsystem
CN1960527A (zh) 2005-11-04 2007-05-09 华为技术有限公司 一种调整共同体内通信资源的方法

Also Published As

Publication number Publication date
US20080291825A1 (en) 2008-11-27
JP2008287718A (ja) 2008-11-27
US8654634B2 (en) 2014-02-18
CN101311915A (zh) 2008-11-26
TWI463323B (zh) 2014-12-01
TW200912651A (en) 2009-03-16

Similar Documents

Publication Publication Date Title
JP5160300B2 (ja) 仮想レーン資源を動的に再割当てするシステムおよび方法
US8270295B2 (en) Reassigning virtual lane buffer allocation during initialization to maximize IO performance
CN107995129B (zh) 一种nfv报文转发方法和装置
US8140704B2 (en) Pacing network traffic among a plurality of compute nodes connected using a data communications network
US7356636B2 (en) Virtualized PCI switch
US8108467B2 (en) Load balanced data processing performed on an application message transmitted between compute nodes of a parallel computer
US7707465B2 (en) Routing of shared I/O fabric error messages in a multi-host environment to a master control root node
KR102074468B1 (ko) 계산 작업을 처리하기 위한 컴퓨터 클러스터 장치 및 이를 작동시키기 위한 방법
US7797445B2 (en) Dynamic network link selection for transmitting a message between compute nodes of a parallel computer
US8225005B2 (en) Use of peripheral component interconnect input/output virtualization devices to create high-speed, low-latency interconnect
US9535866B2 (en) Asymmetric storage device wide link
US20140059160A1 (en) Systems and methods for sharing devices in a virtualization environment
US8533504B2 (en) Reducing power consumption during execution of an application on a plurality of compute nodes
US20140250239A1 (en) System and Method for Routing Data to Devices within an Information Handling System
JP5669851B2 (ja) 論理的にパーティション化されたシステムにおいてパーティション間の効率的なコミュニケーションを行うための装置、方法、及びコンピュータ・プログラム
US10007625B2 (en) Resource allocation by virtual channel management and bus multiplexing
US20220300442A1 (en) Peripheral component interconnect express device and method of operating the same
US20130151885A1 (en) Computer management apparatus, computer management system and computer system
US20080285457A1 (en) System and Method for Adjusting Direction of Data Flow Between I/O Bridges and I/O Hubs Based on Real Time Traffic Levels
JP2018524697A (ja) ネットワークラインカード(lc)のホストオペレーティングシステム(os)への統合
JP5728088B2 (ja) 入出力制御装置及び入出力制御装置のフレーム処理方法
US7979660B2 (en) Paging memory contents between a plurality of compute nodes in a parallel computer
JP4432388B2 (ja) 入出力制御装置
JP4930554B2 (ja) 入出力制御装置
WO2024102915A1 (en) Pcie retimer providing failover to redundant endpoint using inter-die data interface

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120910

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: 20121002

R155 Notification before disposition of declining of application

Free format text: JAPANESE INTERMEDIATE CODE: R155

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121212

R150 Certificate of patent or registration of utility model

Ref document number: 5160300

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: 20151221

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees