JP2008287717A - 仮想レーン資源を割り当てるための方法及びコンピュータ・システム - Google Patents

仮想レーン資源を割り当てるための方法及びコンピュータ・システム Download PDF

Info

Publication number
JP2008287717A
JP2008287717A JP2008125760A JP2008125760A JP2008287717A JP 2008287717 A JP2008287717 A JP 2008287717A JP 2008125760 A JP2008125760 A JP 2008125760A JP 2008125760 A JP2008125760 A JP 2008125760A JP 2008287717 A JP2008287717 A JP 2008287717A
Authority
JP
Japan
Prior art keywords
bridges
virtual lane
virtual
computer system
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.)
Granted
Application number
JP2008125760A
Other languages
English (en)
Other versions
JP5336764B2 (ja
Inventor
Anthony Peres Michael
マイケル・アンソニー・ペレス
Calvin Charles Paynton
カルヴィン・チャールズ・ペイントン
Kris Marie Kendall
クリス・マリー・ケンダル
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 JP2008287717A publication Critical patent/JP2008287717A/ja
Application granted granted Critical
Publication of JP5336764B2 publication Critical patent/JP5336764B2/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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4045Coupling between buses using bus bridges where the bus bridge performs an extender function
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】仮想レーンのIO性能を最大化するようにバッファ空間を再割り当てするためのシステム及び方法を提供する。
【解決手段】
このシステム及び方法は、未使用中の仮想レーンからバッファ空間を取り、当該未使用中のバッファ空間を使用中の仮想レーンに再割り当てする。例えば、4つの仮想レーンをサポートする実施形態において、2つの仮想レーンだけが使用されている場合、このシステム及び方法は、使用中の2つの仮想レーンによる使用のために他の未使用中の2つの仮想レーンからのバッファ空間を再割り当てする。
【選択図】 図6

Description

関連出願の相互参照
本願の主題は、「Dynamically Reassigning Virtual Lane Resources」と題する、米国特許出願第11/751119号(2007年5月21日出願)の主題に関連する。
本発明は、コンピュータの入出力(IO)性能を向上させることに係り、さらに詳細に説明すれば、仮想レーンのIO性能を最大化するようにバッファ割り振りを再割り当てすることに係る。
最近の社会では、コンピュータに対する依存度が継続的に増加しているので、コンピュータ技術は、増大した性能要求に対応するために多くの面で進歩しなければならなかった。多くの場合、増大した性能要求を満たすためには、より速くより複雑なハードウェア・コンポーネントを提供することが望ましい。さらに、多くのアプリケーションでは、プロセッサや、記憶装置、ネットワーク接続等の周辺コンポーネントのような複数のハードウェア・コンポーネントは、総合的なシステム性能を向上させるために並列に動作される。
開発努力が向けられた1つの特定分野は、コンピュータによって利用されるハードウェア・コンポーネントを管理するという分野である。例えば、これらのハードウェア・コンポーネントは、記憶装置、ネットワーク接続、ワークステーション、アダプタ、コントローラ及びこれらのコンポーネントをコンピュータのプロセッサに接続するために利用される他の相互接続ハードウェア装置を含む。一般に、IO資源とも呼ばれる周辺コンポーネントは、プロセッサとIO資源の間の通信をパスする「ファブリック」を形成するための1つ以上の中間の相互接続ハードウェア装置を介して、コンピュータに結合される。
高性能コンピュータの設計では、IO性能は、当該設計の通信ニーズを処理するために相互接続ハードウェア装置の複雑な構成を必要とすることがある。ある場合には、これらの通信ニーズは、コンピュータのプロセッサが収容される筐体とは別個で且つ当該筐体に結合される追加の筐体を必要とするほどに十分に大きくなることがある。
複雑な設計では、IOアダプタのような周辺コンポーネントは、コンピュータの主筐体又は補助筐体の一方又は両方に配列されるスロットを使用する、IOファブリックに結合される。他のコンポーネントは、他の方法で、例えば、ケーブル及び他のタイプのコネクタを介して、IOファブリックに結合される。しかし、これらの他のタイプのコネクタも、スロットと呼ばれる。従って、使用されるコネクタのタイプに拘わらず、IOスロットは、IO資源がIOファブリックを介してコンピュータと通信するための、接続点又はIO終了点を表す。
高性能コンピュータの設計では、システム内で利用可能なIOスロットの数は、数百まで拡大することができる。多数のIOスロットに対処する場合、IO機能は、IOドロワーを使用して、プロセッサ複合体から分離することができる。これらのIOドロワーをプロセッサ複合体に接続するために、IO機能は、2つのコンポーネント、すなわちハブ及びブリッジに分割される。ハブとは、プロセッサ複合体(プロセッサ・ノードとも呼ばれる)に直接接続される、IO機能の部分を意味する。ブリッジとは、ハブに接続する、IOドロワー内のコンポーネントを意味する。
IOドロワーの設計に依存して、IOドロワー当たり1つ以上のIOブリッジが存在する。システムの規模が拡大するとともに、IOハブの数が増加し、従ってIOブリッジの数も増加する。複数のIOブリッジを単一のハブに接続する場合、これらのブリッジを繋ぎ合わせて、ループ構成又はストリング構成の形態でハブに接続することができる。ハブとブリッジとの間でデータをパスするためのバスは、InfiniBand 又はPCI Express のような業界基準のバスである。InfiniBand 又はPCI Express プロトコルに準拠するバスは、種々のコンポーネント間でデータをパスするために、「仮想レーン」と呼ばれる概念を使用する。各仮想レーンは、データを両方向でパスするために、設定された量のバッファ空間を割り当てられる。仮想レーンに関係する1つの問題は、コスト及び空間の制限に起因して、仮想レーン当たりのバッファ空間の量が制限されるということである。この制限は、システム及び個々のIOコンポーネントの総合的なIO性能を決定する。
従って、仮想レーンのIO性能を最大化するように、初期化及びランタイムのアプリケーション中に、バッファ空間を再割り当てするための方法を提供することが望ましいであろう。
本発明に従って、仮想レーンのIO性能を最大化するようにバッファ空間を再割り当てする方法が提供される。この方法は、未使用中の仮想レーンからのバッファ空間を取り、当該未使用中のバッファ空間を使用中の仮想レーンに再割り当てする。例えば、4つの仮想レーンをサポートする実施形態において、2つの仮想レーンだけが使用されている場合、この方法は、使用中の2つの仮想レーンによる使用のために他の未使用中の2つの仮想レーンからのバッファ空間を再割り当てする。
仮想レーンのバッファ空間を再割り当てする場合、仮想レーンのバッファ空間は、データの移動方向に基づいて、割り当てることができる。仮想レーンのバッファ空間は、データをパスするために使用される空間と、データを受信するために使用される空間とに分離される。データをパスするためには、データを近隣のコンポーネントに伝達するのに十分な空間だけが必要であり、データを受信するためには、要求されたデータ及び他のコンポーネントから伝達されるデータの両方を捕捉できる程度の空間を有することが望ましい。
従って、本発明の1つの側面では、未使用中の仮想レーンから除去されたバッファ空間は、データ・フローの方向に基づいて、再割り当てされる。データをパスするために使用される仮想レーンについては、このバッファ空間は、最小のバッファ空間サイズに設定される。また、データを受信するために使用される仮想レーンについては、このバッファ空間は、最大のバッファ空間サイズに設定される。
本発明の他の側面では、バッファ空間を再割り当てする場合に、ブリッジの構成も考慮される。例えば、これらのブリッジがループ構成又はストリング構成の何れかの形態で構成されている場合、データが流れる方向は、各ブリッジがハブに対してどの相対位置にあるかによって変わるであろう。すなわち、ループ構成の場合、ブリッジのうちの幾つかはハブに向かう1つの方向にデータを送信するのに対し、幾つかのブリッジは他の方向にデータを送信する。ストリング構成については、データは、ハブに対して1つの方向に流れるに過ぎない。
バッファ空間を再割り当てするためのシステムは、初期化中に、生じ得る種々の構成を決定して、コンピュータ・システムを構成する。さらに、このシステムは、(エラー条件、ドロワーの追加又は除去、ループからストリングへの分解又はループへのストリングの接続等に起因して)データの方向が変わるようなランタイム状況に対処する。これらの場合、このシステムは、コンピュータ・システムの性能を維持するために、ランタイム中にバッファを再割り振りする。また、ある場合には、このシステムにとっては、再割り振りに先立ってデータが一時的に停止された箇所を考慮に入れることが望ましい。
ある実施形態では、このシステムは、コンピュータ・システムのファームウェア内に実装される。コンピュータ・システムの初期化中、このファームウェアは、どの仮想レーンが使用されないかを決定し、そのバッファ空間を残存する仮想レーンに再割り当てする。次に、このファームウェアは、ブリッジがハブにどのように接続されているかに基づいて、IO性能を最大化するようにバッファ空間を割り当てる。その結果、データを受信する仮想レーン・ポートは、データをパスする仮想レーンと比較すると、バッファ空間の大部分を有するようになる。その後、このファームウェアは、データ方向の変更についてコンピュータ・システムをモニタする。もし、かかる変更が検出されるならば、このファームウェアは、データ・フローを一時的に停止させた後、他の方向における性能を最大化するように仮想レーン・バッファを再割り当てする。
図1は、本発明が実装される代表的なコンピュータ・システム100を示す。コンピュータ・システム100は、少なくとも1つのプロセッサ・ノード110を含み、当該プロセッサ・ノードは、InfiniBand リンクのようなリンクを介して、入出力(IO)ドロワー112に結合される。プロセッサ・ノード110は、複数のプロセッサ120a及び120bを含み、当該各プロセッサは、メモリ122及びハブ124に結合される。IOドロワー112は、1つ以上のブリッジ140を含む。ハブ124及びブリッジ140の組み合わせは、IOコントローラ(IOC)を提供する。IOドロワー112は、物理的なパッケージである。一般に、IOドロワー112は、ラック内に存在する。
ハブ124は、複数のアーキテクチャ・ポート150a、150bを実装する。ブリッジ140の各々は、複数のアーキテクチャ・ポート152a、152bを実装する。各ポートは、装置をリンクに結合する両方向インタフェースを提供する。リンクは、2つの装置上の2つのポート間の両方向高速接続である。
メモリ122は、揮発性及び不揮発性メモリの両方を含む。ファームウェア160は、メモリ122内に格納され、少なくとも1つのプロセッサ120によって実行される。ファームウェア160は、仮想レーン資源を再割り当てするためのシステム162を含む。
ある実施形態では、コンピュータ・システム100は、複数のIOドロワー112を含む。その場合、各IOドロワー112は、IOドロワー112当たり、複数(例えば、6〜20個)のスロット及び1つ以上(例えば、1〜4個)のブリッジを含む。これらのIOドロワー112は、ストリング構成又はループ構成の何れかの形態で互いに結合される。IOスロットの各々は、PCIX 又はPCI Express プロトコルのようなIOプロトコルに準拠する。
情報は、仮想レーンを介して、ハブ124とブリッジ140との間で通信される。仮想レーンは、クラス・タイプ(例えば、応答/要求)に基づいてデータを分離することを可能にし、そしてサービスの品質、並びに順序付け及びコヒーレンシの問題に対処する。
ハブ124とブリッジ140との間でデータを転送するための、2つの主要なコマンド・タイプとして、要求及び応答がある。要求が使用されるのは、ある装置が、DMA 読み取り/書き込み、メモリ・マップ読み取り/書き込み、IO読み取り/書き込み、構成読み取り/書き込み、メッセージ及び割り込みを求める場合である。これに対し、応答が使用されるのは、DMA 読み取り要求から戻されるデータのように、ある要求からデータが戻される場合である。要求及び応答は、順不同であり、独立のストリームとして処理される。そうするために、要求及び応答は、異なる仮想レーンを割り当てられる。
図2は、ポート及びリンクの相互接続を例示する。各ポート150、152は、複数の仮想レーン210、送信機220及び受信機222を含む。各仮想レーンは、送信バッファ230及び受信バッファ232を含む。各バッファ対は、一の仮想レーン・バッファ資源を提供する。
1つの実施形態では、ハブ124及びブリッジ140の各ポート150、152は、4対の送信/受信バッファ対を実装する。各ポートが実装する複数の仮想レーンは、データ・パケットを送信及び受信するために使用されるデータ・バッファとして機能するデータ仮想レーン(VL0〜 VL3)と、SMPパケットを送信及び受信するために専用されるサブネット管理パケット(SMP)バッファとして機能する仮想レーン15(VL15)を含む。
全ての仮想レーンがデータを移送するために同じ物理ワイヤ(リンク)を使用するにも拘わらず、各仮想レーンは、独立のデータ・ストリームとして処理される。各仮想レーンは、独立のデータ・ストリームであるから、各仮想レーンは、独立のバッファ空間、アービトレーション及び仮想レーンごとの移送プロトコルに関連する他のアイテムを含む。各仮想レーンは、データを両方向にパスするために、設定された量のバッファ空間を割り当てられる。このバッファ空間は、装置間で授受されるデータを一時的に格納するために使用される。ハブ124及びブリッジ140は、それらの間で互いに利用可能なバッファ空間の量を通信するために、フロー制御を使用する。もし、隣接する装置がパスされているデータを格納するために十分なバッファ空間を有していなければ、供給元の装置はデータを転送することができない。
図3は、ループ構成の形態を有する、ハブ124及び複数のブリッジ140の相互接続を例示する。このループ構成では、ハブ124のポート1は、ブリッジ0のポート1に結合される。ブリッジ0のポート2は、ブリッジ1のポート1に結合される。ブリッジ1のポート2は、ブリッジ2のポート1に結合される。ブリッジ2のポート2は、ブリッジ3のポート1に結合される。ブリッジ3のポート2は、ハブ124のポート2に結合される。
図4は、ストリング構成の形態を有する、ハブ124及び複数のブリッジ140の相互接続を例示する。このストリング構成では、ハブ124のポート1は、ブリッジ0のポート1に結合される。ブリッジ0のポート2は、ブリッジ1のポート1に結合される。ブリッジ1のポート2は、ブリッジ2のポート1に結合される。ブリッジ2のポート2は、ブリッジ3のポート1に結合される。ブリッジ3のポート2は、結合されない。ハブ124のポート2も、結合されない。
図5は、複数ストリング構成の形態を有する、ハブ124及び複数のブリッジ140の相互接続を例示する。この複数ストリング構成では、ハブ124のポート1は、ブリッジ0のポート1に結合される。さらに、ブリッジ1のポート2は、ブリッジ2のポート1に結合される。ブリッジ2のポート2は、ブリッジ3のポート1に結合される。ブリッジ3のポート2は、ハブ124のポート2に結合される。ブリッジ0及びブリッジ1は、接続されない。
図6は、仮想レーン資源を再割り当てするためのシステム600の動作のフローチャートを示す。ステップ610で、システム600は、コンピュータ・システム100内の利用可能なハブ124及びブリッジ140を識別する。ステップ612で、システム600は、コンピュータ・システム100内のどの仮想レーンが割り当てられていない(すなわち、コンピュータ・システム100によって使用されていない)かを決定する。例えば、1つの実装では、IOドロワー112は4つの仮想レーンを有するが、仮想レーン0及び1だけが割り当てられる。もし、システム600が、使用されていない幾つかの仮想レーンを決定すれば、ステップ614で、システム600は、未使用中の仮想レーンからのバッファ空間のうちの一部又は全部を、使用中の仮想レーンに再割り当てする。例えば、仮想レーン2及び3が使用されていない実施形態では、システム600は、仮想レーン2及び3からのバッファ空間を、仮想レーン0及び1に再割り当てする。
ステップ620で、システム600は、コンピュータ・システム100内のデータ・フローを決定する。データ・フローは、初期化中にファームウェア160によって割り当てられてもよいし、又はステップ620で、ファームウェア160によって割り当てられてもよい。資源の割り当てのある側面は、データ・フローの方向に依存する。ステップ622で、システム600は、データ・フローに基づいて仮想レーン資源を構成する。
ストリング構成については、全てのデータは、ハブ124と任意のブリッジ140の間の1つの方向に流れる。ストリング構成については、ファームウェア160は、1つの方向におけるデータ・フローを割り当てる。ループ構成では、任意のブリッジ140は、ハブ124へデータを送信するために2つの可能なデータ経路を有する。1つの実施形態では、ループ構成のために、ファームウェア160は、ブリッジ140の半分がハブ124のポート1にデータを送信し且つブリッジ140の半分がハブ124のポート2にデータを送信するように、データ・フローを分割する。もし、ファームウェア160が、特定のブリッジ140のスロットにどの装置が結合されているかを考慮に入れた上で、装置の潜在的な帯域幅及びブリッジ140の数に基づいて、データ・フローを割り当てるのであれば、ファームウェア160は、ブリッジ140を前述のものとは異なる態様で割り当てることができる。システム600は、データ・フロー機能と関係するハブ124及びブリッジ140内のレジスタを読み取ることにより、データ・フローの方向を決定する。
ステップ624で、システム600は、仮想レーン資源の増分を識別し、各仮想レーンごとに割り当てるべきバッファ空間の量を決定する。
例えば、2Kバイトの利用可能な仮想レーン・バッファ資源及び512バイトの仮想レーン・バッファの粒度を有するコンピュータ・システム100では、複数の可能な仮想レーン・バッファの割り当てが存在する。これらの仮想レーン・バッファの割り当ては、次のものを含む。
(1) VL0=512、 VL1=1536、
(2) VL0=1536、 VL1=512
(3) VL0=1024、 VL1=1024
但し、仮想レーン・バッファのサイズ及び仮想レーン・バッファの粒度については、他の可能な割り当ても利用することができる。
ストリング構成では、ハブ124の経路内にある1つのポートは、ハブ124に直接に接続されるか、又はハブ124に接続される1つ以上のブリッジに結合される。ループ構成では、ブリッジ140の一方のポートがハブ124のポート1の経路内にあるのに対し、ブリッジ140の他方のポートはハブ124のポート2の経路内にある。ループ構成では、全てのブリッジ140はハブ124に至る2つの経路を有するにも拘わらず、データは単に1つの経路上を流れるに過ぎない。
また、IOドロワー112は、ハブ124当たり一連のブリッジ140を含むことができるから、1つのブリッジ140は、それ自体のデータを伴うことなしに、ハブ124と通信する隣接ブリッジとの間でパススルー・データを授受することができる。
ステップ628で、システム600は、ブリッジ140のデータ・フローの方向に基づいて、全てのブリッジのための仮想レーン入力ポートのバッファ設定値を構成する。ここで、ハブ124へデータを送信しているブリッジ・ポートは、入力ポート(ingress port)と呼ばれる。一方、ハブ124から遠ざかる方向の隣接ブリッジにデータをパスしているブリッジ・ポートは、出力ポート(egress port)と呼ばれる。
入力ポートについては、要求は、ハブ124の方向にパスされる。これらの要求は、ブリッジ140で内部的に生成されるか、又は出力ポートからのパススルーとして処理される。これらの要求は短期であるから、バッファ要件は、少なくともハブ124の方向にパスされる要求である。入力ポートについては、応答は、以前の要求からのデータを表す。かかる以前の要求は、内部要求であるか、又は出力ポートの下流にあるブリッジ140からの要求の何れかである。性能を最大化するとともに、隣接ブリッジが入力ポートへより多くの応答データを送信する前に待機しなければならない時間を最小化するために、応答のための仮想レーン資源は、最大化されるべきである。従って、入力ポートについては、応答のための仮想レーン・バッファリングを最大化するとともに、要求のための仮想レーン・バッファリングを最小化することが望ましい。
例えば、2Kバイトの仮想レーン・バッファ資源を有するコンピュータ・システム100を使用する場合、入力ポートについては、仮想レーン0が要求を処理するように構成されるのに対し、仮想レーン1は応答を処理するように構成される。その結果、これらの資源は、VL0資源が512バイトに最小化され且つVL1資源が1536バイトに最大化されるように構成される。
出力ポートについては、要求は、隣接ブリッジ140から受信される。1つの隣接ブリッジ140が存在する場合と、複数の隣接ブリッジ140が存在する場合がある。ボトルネックになることを回避するために、出力ポートは、できるだけ多くの要求を受け入れるように構成されるべきである。従って、要求を処理する出力ポートのための仮想レーンのバッファ空間は、最大化されるべきである。出力ポートについては、応答は、入力ポートから出力ポートに流れる。応答は比較的短期の期間中にパススルーしているから、大量のバッファ空間は必要ない。というのは、応答の性能は、当該出力ポートがデータを転送している、隣接ブリッジ140の入力ポートの仮想レーン・バッファリングにより決定されるからである。従って、出力ポートについては、要求のための仮想レーン・バッファリングを最大化するとともに、応答のための仮想レーン・バッファリングを最小化することが望ましい。
例えば、2Kバイトの仮想レーン・バッファ資源を有するコンピュータ・システム100を使用する場合、出力ポートについては、仮想レーン0が要求を処理するように構成されるのに対し、仮想レーン1は応答を処理するように構成される。その結果、これらの資源は、VL0資源が1536バイトに最大化され且つVL1資源が512バイトに最小化されるように構成される。
このように、隣接ブリッジ140からのデータを受信することに関連する仮想レーンが最大化されるのに対し、当該ブリッジ内にあるポート間でデータをパス縷々ことに関連する仮想レーンは最小化される。
図3を再び参照して1例を説明すると、ファームウェア160は、ハブ124のポート1に最も近い2つのブリッジ(ブリッジ0及び1)について、データが当該ブリッジのポート1を通してハブ124のポート1に向かう方向に流れるように当該ブリッジのデータ・フローを設定するとともに、ハブ124のポート2に最も近い2つのブリッジ(ブリッジ2及び3)について、データが当該ブリッジのポート2を通してハブ124のポート2に向かう方向に流れるように当該ブリッジのデータ・フローを設定する。
例えば、2Kバイトの仮想レーン・バッファ資源を有するコンピュータ・システム100を使用する場合、ブリッジ0及び1については、これらの資源は次のように割り当てられる。すなわち、要求を処理するためのポート1の仮想レーン0資源が(例えば、512バイトに)最小化され、応答を処理するためのポート1の仮想レーン1資源が(例えば、1536バイトに)最大化されるのに対し、要求を処理するためのポート2の仮想レーン0資源は(例えば、1536バイトに)最大化され、応答を処理するためのポート2の仮想レーン1資源は(例えば、512バイトに)最小化される。また、ブリッジ2及び3については、これらの資源は次のように割り当てられる。すなわち、要求を処理するためのポート1の仮想レーン0資源が(例えば、1536バイトに)最大化され、応答を処理するためのポート1の仮想レーン1資源が(例えば、512バイトに)最小化されるのに対し、要求を処理するためのポート2の仮想レーン0資源は(例えば、512バイトに)最小化され、応答を処理するためのポート2の仮想レーン1資源は(例えば、1536バイトに)最大化される。
図4を再び参照して1例を説明すると、ファームウェア160は、4つのブリッジの全てについて、データが当該ブリッジのポート1を通してハブ124のポート1に向かう方向に流れるように当該ブリッジのデータ・フローを設定し、その逆も同様である。
例えば、2Kバイトの仮想レーン・バッファ資源を有するコンピュータ・システム100を使用する場合、これらの資源は次のように割り当てられる。すなわち、要求を処理するためのポート1の仮想レーン0資源が(例えば、512バイトに)最小化され、応答を処理するためのポート1の仮想レーン1資源が(例えば、1536バイトに)最大化されるのに対し、要求を処理するためのポート2の仮想レーン0資源は(例えば、1536バイトに)最大化され、応答を処理するためのポート2の仮想レーン1資源は(例えば、512バイトに)最小化される。
仮想レーン資源の再割り当ては、コンピュータ・システム100の初期化プロセス(すなわち、コンピュータ・システム100のブート)中に生じ得る。かかる再割り当ては、「静的な再割り当て」と呼ばれる。また、ある状況では、コンピュータ・システム100が実行中に再割り当て動作を行うことが望ましいことがある。かかる再割り当ては、「動的な再割り当て」と呼ばれる。
例えば、(ループの1端が切断される場合のように)ブリッジ構成がループ構成からストリング構成に変わる場合は、仮想レーン資源の動的な再割り当てが望ましい。(ループ内の2つのブリッジが切断される場合のように)ブリッジ構成がループ構成から複数ストリング構成に変わる場合は、仮想レーン資源の動的な再割り当てが望ましい。また、IOドロワー112がシステムに追加される場合や、IOドロワー112がシステムから除去される場合も、仮想レーン資源の動的な再割り当てが望ましい。
さらに詳細に説明すれば、ブリッジ構成がループ構成からストリング構成に変わる状況については、仮想レーン資源が最初に再割り当てされたとき、あるブリッジ(例えば、ブリッジ0及び1)の仮想レーン資源がデータを一方の方向に送信するように構成されたのに対し、他のブリッジ(例えば、ブリッジ2及び3)の仮想レーン資源は他方の方向にデータを送信するように構成された。もし、ランタイム中に、ブリッジ構成が変われば、仮想レーン資源の再割り当てを行わない限り、仮想レーン資源の性能が悪影響を受けるであろう。
仮想レーン資源を再割り当てするためのシステム600は、パーティションを管理するファームウェア・ハイパーバイザ内に含まれるか、又はランタイム抽象化サービス(RTAS)の一部であるファームウェア要素内に含まれる。
ブリッジ構成の変更をファームウェア160に知らせるためには、複数の機構を利用することができる。例えば、ファームウェア160は、エラーが生じたことを報告する割り込みを介して、ブリッジ構成の変更を知ることができる。また、ファームウェア160は、データ・フローの方向及びケーブルの接続を検査するポーリング機構を介して、ブリッジ構成の変更を知ることができる。さらに、ファームウェア160は、ユーザがIOドロワー112の追加又は除去を望んでいる状況では、サービス・コールを介して、ブリッジ構成の変更を知ることができる。
不良ケーブル又は他のエラー条件のために指示が阻止されるようなエラー状況については、ループ・モードにあれば、ブリッジ140は、自動的にハブ124の反対のポートに向かうようにトラフィックの方向を反転する。しかし、トラフィックの方向が反転されると、仮想レーン資源の構成はもはや最適化されない。かかる最適化の欠如は、新しいデータ・フローの方向を考慮に入れるように仮想レーン・バッファの割り振りが動的に再割り当てされない限り、75%のデータ損失に帰着することがある。
図7は、仮想レーン資源を動的に再割り当てするためのシステム700の動作を示す。ステップ710で、システム700は、ブリッジ構成の変更が生じたか否かを決定する。かかる決定は、ブリッジ構成の変更が生じたか否かを決定するように、ポーリング・モードで動作するシステム700によって行うことができる。かかる変更は、割り込みの受付又はサービス・コールの指示によって検出することができる。もし、割り込みが検出されるならば、システム700は、ステップ712で、エラー条件が存在するか否かを決定する。もし、エラー条件が存在すれば、システム700は、ステップ714で、ブリッジ構成を分析することにより、データ・フローの方向が変わったか否かを決定する。もし、データ・フローの方向が変わっていなければ、何もせず、ブリッジ構成の変更が生じたか否かを決定するためにモニタリングを継続する。もし、データ・フローの方向が変わっていれば、システム700は、ステップ716で、新しいブリッジ構成のための資源を最適化するように仮想レーン資源の再割り振りプロセスを開始する。
具体的には、もし、IOドロワー112に関するエラーが生じて、ループ構成が(例えば、ストリング構成又は複数ストリング構成に)変わったならば、システム700は、仮想レーン・バッファ資源の割り当てを再割り振りする。
すなわち、システム700は、ループが切断された箇所(すなわち、ループの端部又は中間)を決定する。次に、システム700は、各ブリッジ140ごとにデータ・フローの方向を決定する。もし、当該ブリッジがストリングの端部に位置すれば、データ・フローの方向は同じである。一方、当該ブリッジがストリングの中間に位置すれば、データ・フローの方向は、ブリッジ構成の切断箇所に依存する。次に、システム700は、これらのブリッジ140を経由する全てのトラフィックを一時的に停止する。次に、システム700は、各ブリッジ140ごとに決定されたデータ・フローの方向に基づいて、仮想レーン・バッファリングを再割り振りした後、これらのブリッジ内のトラフィック・フローを再開する。
エラー条件については、システム700は、通常、エラー条件を指示するハードウェアからの割り込みを介して、エラーが生じたことを決定する。しかし、システム700は、データ・フローの方向に関係する各ブリッジ140内のレジスタのポーリングを介して、エラーが生じたことを決定することもできる。もし、これらのレジスタが、データ・フローの方向がシステム700によって理解されているものとは異なることを指示すれば、システム700は、新しく識別されたデータ・フローのための資源を最適化するプロセスを開始するであろう。
ストリング構成からループ構成へのブリッジ構成の変更については、ブリッジがかかる割り込みを生成するように構成されていることを条件として、これを割り込みを介して識別することができる。しかし、通常の場合、ストリング構成からループ構成への変更は、ポーリングによって識別される。ファームウェア160は、InfiniBand ケーブルのようなリンクの存在について、レジスタの他のセットを検査することができる。もし、ファームウェア160が、あるケーブルが再接続されるか又は交換されたことを決定すれば、ファームウェア160は、ブリッジ構成をストリング構成からループ構成に調整することができる。ブリッジ構成がストリング構成からループ構成に変更される場合には、性能上の理由で、仮想レーン資源を再平衡化(rebalance)することが重要である。というのは、その結果、データ・トラフィックのためにハブ124の両方のポートをコンピュータ・システム100が利用できるようになるからである。
仮想レーン資源を再平衡化する場合、システム700は、先ず、ケーブル接続を検出する。次に、システム700は、ポートが活動的で且つ利用可能となるように、ハブ124のポートを構成する。次に、システム700は、各ブリッジ140を経由するトラフィック・フローを一時的に停止する。次に、システム700は、ストリング構成からのトラフィックを再平衡化するように、幾つかのブリッジ140のためのデータ・フローをブリッジ構成にリダイレクトする。次に、システム700は、各ブリッジ140ごとの新しいデータ・フローに基づいて、仮想レーン・バッファリングを再割り振りする。次に、システム700は、各ブリッジ140を経由するトラフィック・フローを再開する。
新しいIOドロワー112が追加される場合、ファームウェア160は、新しいIOドロワー112が構成に加わったことを通知される。次に、システム700は、新しく追加されたIOドロワー112の電源を入れて、IOドロワー112を構成する。次に、システム700は、新しいIOドロワー112内のブリッジ140のブリッジ構成(すなわち、これらのブリッジ140が、ループ構成、ストリング構成又は複数ストリング構成の何れの形態で構成されているか)を決定する。次に、システム700は、IOドロワー112内の各ブリッジ140ごとにデータ・フローを決定する。もし、当該ブリッジがループ構成の形態で配列されているならば、システム700は、理想的なデータ・フローがまだ割り当てられていないことを条件として、かかるデータ・フローを決定する。次に、システム700は、各ブリッジ140ごとのデータ・フローに基づいて、仮想レーン・バッファリングを再割り振りするとともに、IOドロワー112内のトラフィック・フローを再開する。
IOドロワー112がコンピュータ・システム100から除去される場合、システム700は、IOドロワー112の電源を切るとともに、ケーブルを再接続して残存するブリッジ構成を完成するようにユーザにプロンプトを出すことを除き、IOドロワー112が追加される場合と殆ど同じ態様で機能する。
以上、好ましい実施形態を参照して本発明を説明したが、当業者にとっては、本発明の趣旨及び範囲を逸脱することなく、開示された形態及び細部に種々の変更を施し得ることは明らかであろう。さらに、明細書及び請求項で使用されている、「コンピュータ」、「システム」、「コンピュータ・システム」又は「計算装置」という用語は、パーソナル・コンピュータ、サーバ、ワークステーション、ネットワーク・コンピュータ、メインフレーム・コンピュータ、ルータ、スイッチ、パーソナル・デジタル・アシスタント(PDA)、電話機等の、データを処理/送信/受信/捕捉/格納することができる任意のデータ処理システムを含む。
当業者には明らかなように、本発明は、方法、システム又はコンピュータ・プログラム製品として具体化することができる。従って、本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)、又はソフトウェア及びハードウェア要素の両方を含む実施形態の形式を取ることができ、これらの全てを一般に「回路」、「モジュール」又は「システム」と呼ぶことができる。さらに、本発明は、コンピュータによって使用可能なプログラム・コードを具体化した、コンピュータ使用可能媒体上のコンピュータ・プログラム製品の形式を取ることができる。例えば、バッファを再割り当てするためのシステム600を、ファームウェア160の実装に関連して説明したが、当業者にとっては、このシステム600をソフトウェアの形態、ハードウェアの形態又はハードウェア及びソフトウェアのある組み合わせの形態で実装できることは明らかであろう。
図面のうちブロック図は、本発明の種々の実施形態に従ったシステム及び方法の可能な実装のアーキテクチャ、機能性及び動作を例示する。これらのブロック図の各ブロック及びブロックの組み合わせは、指定された機能を実行する、専用ハードウェア・ベースのシステム又は専用ハードウェア及びコンピュータ命令の組み合わせによって実装できることに留意されたい。
本発明に関する記述は、例示及び説明を目的として与えられたものであり、網羅的であること及び開示された形態に本発明を限定することを意図するものではない。当業者にとって、本発明の趣旨及び範囲を逸脱することなく、多くの修正及び変更を施し得ることは明らかであろう。実施形態は、本発明の原理及び実用上のアプリケーションを最もよく説明し、考えられる特定の用途に適するような種々の修正を伴う種々の実施形態に関して当業者が本発明を理解することを可能にするために、選択され説明されたものである。
本発明が実装される代表的なコンピュータ・システムを示すブロック図である。 仮想レーンのデータ・フローを例示するブロック図である。 ループ構成の形態を有する、ハブ及び複数のブリッジの相互接続を例示するブロック図である。 ストリング構成の形態を有する、ハブ及び複数のブリッジの相互接続を例示するブロック図である。 複数ストリング構成の形態を有する、ハブ及び複数のブリッジの相互接続を例示するブロック図である。 仮想レーン資源を再割り当てするためのシステムの動作を示すフローチャートである。 仮想レーン資源を動的に再割り当てするためのシステムの動作を示すフローチャートである。
符号の説明
100 コンピュータ・システム
110 プロセッサ・ノード
112 入出力(IO)ドロワー
120 プロセッサ
122 メモリ及び
124 ハブ
140 ブリッジ
150 アーキテクチャ・ポート
152 アーキテクチャ・ポート
160 ファームウェア
162 仮想レーン資源を再割り当てするためのシステム

Claims (18)

  1. ハブ及び複数のブリッジを有するコンピュータ・システムにおいて仮想レーン資源を割り当てるための方法であって、
    前記コンピュータ・システムにおいて利用可能なブリッジを識別するステップを含み、
    前記利用可能なブリッジの各々が複数の仮想レーンを含み、前記複数の仮想レーンの各々がそれぞれの仮想レーン資源を含み、前記複数の仮想レーンが割り当て済みの仮想レーン及び未割り当て済みの仮想レーンを含み、
    前記未割り当て済みの仮想レーンからの仮想レーン資源を前記割り当て済みの仮想レーンに再割り当てするステップをさらに含む、方法。
  2. 前記複数のブリッジの各々ごとにデータ・フローの方向を決定するステップをさらに含み、
    前記再割り当てするステップが、前記データ・フローの方向を考慮に入れる、請求項1に記載の方法。
  3. 仮想レーン資源の粒度を決定するステップをさらに含み、
    前記再割り当てするステップが、前記仮想レーン資源の粒度を考慮に入れる、請求項1に記載の方法。
  4. 前記複数のブリッジの各々が入力ポート及び出力ポートを含み、
    前記再割り当てするステップが、ポートが入力ポート又は出力ポートの何れであるかを考慮に入れる、請求項1に記載の方法。
  5. 前記複数のブリッジがループ構成及びストリング構成のうち少なくとも1つの形態で構成され、
    前記再割り当てするステップが、前記複数のブリッジが前記ループ構成又は前記ストリング構成のうち何れの形態で構成されているかを考慮に入れる、請求項1に記載の方法。
  6. 前記ハブ及び前記複数のブリッジがリンクを介して結合され、
    前記リンクが、InfiniBand プロトコル及び PCI Express プロトコルのうち少なくとも1つに準拠する、請求項1に記載の方法。
  7. コンピュータ・システムであって、
    プロセッサと、
    前記プロセッサに結合されたハブと、
    前記プロセッサに結合された複数のブリッジと、
    前記プロセッサによって実行可能な命令から成るコンピュータ・プログラム・コードを記録したコンピュータ使用可能媒体とを備え、
    前記命令が、
    前記複数のブリッジを識別する動作を実行するように構成され、
    前記複数のブリッジの各々が複数の仮想レーンを含み、前記複数の仮想レーンの各々がそれぞれの仮想レーン資源を含み、前記複数の仮想レーンが割り当て済みの仮想レーン及び未割り当て済みの仮想レーンを含み、
    前記命令が、
    前記未割り当て済みの仮想レーンからの仮想レーン資源を前記割り当て済みの仮想レーンに再割り当てする動作を実行するようにさらに構成されている、コンピュータ・システム。
  8. 前記命令が、
    前記複数のブリッジの各々ごとにデータ・フローの方向を決定する動作を実行するようにさらに構成され、
    前記再割り当てする動作が、前記データ・フローの方向を考慮に入れる、請求項7に記載のコンピュータ・システム。
  9. 前記命令が、
    仮想レーン資源の粒度を決定する動作を実行するようにさらに構成され、
    前記再割り当てする動作が、前記仮想レーン資源の粒度を考慮に入れる、請求項7に記載のコンピュータ・システム。
  10. 前記複数のブリッジの各々が入力ポート及び出力ポートを含み、
    前記再割り当てする動作が、ポートが入力ポート又は出力ポートの何れであるかを考慮に入れる、請求項7に記載のコンピュータ・システム。
  11. 前記複数のブリッジがループ構成及びストリング構成のうち少なくとも1つの形態で構成され、
    前記再割り当てする動作が、前記複数のブリッジが前記ループ構成又は前記ストリング構成のうち何れの形態で構成されているかを考慮に入れる、請求項7に記載のコンピュータ・システム。
  12. 前記ハブ及び前記複数のブリッジがリンクを介して結合され、
    前記リンクが、InfiniBand プロトコル及び PCI Express プロトコルのうち少なくとも1つに準拠する、請求項7に記載のコンピュータ・システム。
  13. コンピュータ・システムであって、
    プロセッサと、
    前記プロセッサに結合されたハブと、
    前記プロセッサに結合された複数のブリッジと、
    仮想レーン資源を再割り当てするためのシステムとを備え、
    前記仮想レーン資源を再割り当てするためのシステムが、
    前記複数のブリッジを識別するためのモジュールを有し、
    前記複数のブリッジの各々が複数の仮想レーンを含み、前記複数の仮想レーンの各々がそれぞれの仮想レーン資源を含み、前記複数の仮想レーンが割り当て済みの仮想レーン及び未割り当て済みの仮想レーンを含み、
    前記仮想レーン資源を再割り当てするためのシステムが、
    前記未割り当て済みの仮想レーンからの仮想レーン資源を前記割り当て済みの仮想レーンに再割り当てするためのモジュールをさらに有する、コンピュータ・システム。
  14. 前記仮想レーン資源を再割り当てするためのシステムが、
    前記複数のブリッジの各々ごとにデータ・フローの方向を決定するためのモジュールをさらに有し、
    前記再割り当てするためのモジュールが、前記データ・フローの方向を考慮に入れる、請求項13に記載のコンピュータ・システム。
  15. 前記仮想レーン資源を再割り当てするためのシステムが、
    仮想レーン資源の粒度を決定するためのモジュールをさらに有し、
    前記再割り当てするためのモジュールが、前記仮想レーン資源の粒度を考慮に入れる、請求項13に記載のコンピュータ・システム。
  16. 前記複数のブリッジの各々が入力ポート及び出力ポートを含み、
    前記再割り当てするためのモジュールが、ポートが入力ポート又は出力ポートの何れであるかを考慮に入れる、請求項13に記載のコンピュータ・システム。
  17. 前記複数のブリッジがループ構成及びストリング構成のうち少なくとも1つの形態で構成され、
    前記再割り当てするためのモジュールが、前記複数のブリッジが前記ループ構成又は前記ストリング構成のうち何れの形態で構成されているかを考慮に入れる、請求項13に記載のコンピュータ・システム。
  18. 前記ハブ及び前記複数のブリッジがリンクを介して結合され、
    前記リンクが、InfiniBand プロトコル及び PCI Express プロトコルのうち少なくとも1つに準拠する、請求項13に記載のコンピュータ・システム。
JP2008125760A 2007-05-21 2008-05-13 仮想レーン資源を割り当てるための方法及びコンピュータ・システム Expired - Fee Related JP5336764B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/751116 2007-05-21
US11/751,116 US8270295B2 (en) 2007-05-21 2007-05-21 Reassigning virtual lane buffer allocation during initialization to maximize IO performance

Publications (2)

Publication Number Publication Date
JP2008287717A true JP2008287717A (ja) 2008-11-27
JP5336764B2 JP5336764B2 (ja) 2013-11-06

Family

ID=40072285

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008125760A Expired - Fee Related JP5336764B2 (ja) 2007-05-21 2008-05-13 仮想レーン資源を割り当てるための方法及びコンピュータ・システム

Country Status (3)

Country Link
US (1) US8270295B2 (ja)
JP (1) JP5336764B2 (ja)
TW (1) TWI447677B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010044569A (ja) * 2008-08-12 2010-02-25 Ricoh Co Ltd 情報転送回路、情報処理装置、情報転送回路の制御方法、制御プログラム及び記録媒体
JP2013542493A (ja) * 2010-09-14 2013-11-21 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 複数のメモリチャネルを有するコンピューティングシステムにおけるメモリバッファの割り当て

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009148432A1 (en) * 2008-06-01 2009-12-10 Hewlett-Packard Development Company, L.P. Queue sharing and reconfiguration in pci express links
US8644140B2 (en) * 2009-09-09 2014-02-04 Mellanox Technologies Ltd. Data switch with shared port buffers
US8699491B2 (en) 2011-07-25 2014-04-15 Mellanox Technologies Ltd. Network element with shared buffers
US9582440B2 (en) 2013-02-10 2017-02-28 Mellanox Technologies Ltd. Credit based low-latency arbitration with data transfer
US8989011B2 (en) 2013-03-14 2015-03-24 Mellanox Technologies Ltd. Communication over multiple virtual lanes using a shared buffer
US9641465B1 (en) 2013-08-22 2017-05-02 Mellanox Technologies, Ltd Packet switch with reduced latency
US9548960B2 (en) 2013-10-06 2017-01-17 Mellanox Technologies Ltd. Simplified packet routing
US9385962B2 (en) 2013-12-20 2016-07-05 Intel Corporation Method and system for flexible credit exchange within high performance fabrics
US9325641B2 (en) 2014-03-13 2016-04-26 Mellanox Technologies Ltd. Buffering schemes for communication over long haul links
US9584429B2 (en) 2014-07-21 2017-02-28 Mellanox Technologies Ltd. Credit based flow control for long-haul links
US11429549B2 (en) 2017-07-20 2022-08-30 Hewlett-Packard Development Company, L.P. Input/output port configurations using multiplexers
US10951549B2 (en) 2019-03-07 2021-03-16 Mellanox Technologies Tlv Ltd. Reusing switch ports for external buffer network
US11558316B2 (en) 2021-02-15 2023-01-17 Mellanox Technologies, Ltd. Zero-copy buffering of traffic of long-haul links
US11973696B2 (en) 2022-01-31 2024-04-30 Mellanox Technologies, Ltd. Allocation of shared reserve memory to queues in a network device

Citations (4)

* 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 送受信バッファリング制御方式
JP2006195871A (ja) * 2005-01-17 2006-07-27 Ricoh Co Ltd 通信装置、電子機器、及び画像形成装置
JP2006244194A (ja) * 2005-03-04 2006-09-14 Kyocera Mita Corp Usb制御装置、デバイス制御装置
JP2008287718A (ja) * 2007-05-21 2008-11-27 Internatl Business Mach Corp <Ibm> 仮想レーン資源を動的に再割当てするシステムおよび方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5546557A (en) 1993-06-14 1996-08-13 International Business Machines Corporation System for storing and managing plural logical volumes in each of several physical volumes including automatically creating logical volumes in peripheral data storage subsystem
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
US6912612B2 (en) * 2002-02-25 2005-06-28 Intel Corporation Shared bypass bus structure
US7209478B2 (en) * 2002-05-31 2007-04-24 Palau Acquisition Corporation (Delaware) Apparatus and methods for dynamic reallocation of virtual lane buffer space in an infiniband switch
US6904507B2 (en) 2002-09-30 2005-06-07 Agilent Technologies, Inc. Buffer management architecture and method for an infiniband subnetwork
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
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 华为技术有限公司 一种调整共同体内通信资源的方法
US10069711B2 (en) * 2006-06-30 2018-09-04 Intel Corporation System and method for link based computing system having automatically adjustable bandwidth and corresponding power consumption

Patent Citations (4)

* 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 送受信バッファリング制御方式
JP2006195871A (ja) * 2005-01-17 2006-07-27 Ricoh Co Ltd 通信装置、電子機器、及び画像形成装置
JP2006244194A (ja) * 2005-03-04 2006-09-14 Kyocera Mita Corp Usb制御装置、デバイス制御装置
JP2008287718A (ja) * 2007-05-21 2008-11-27 Internatl Business Mach Corp <Ibm> 仮想レーン資源を動的に再割当てするシステムおよび方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010044569A (ja) * 2008-08-12 2010-02-25 Ricoh Co Ltd 情報転送回路、情報処理装置、情報転送回路の制御方法、制御プログラム及び記録媒体
JP2013542493A (ja) * 2010-09-14 2013-11-21 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 複数のメモリチャネルを有するコンピューティングシステムにおけるメモリバッファの割り当て
US10795837B2 (en) 2010-09-14 2020-10-06 Advanced Micro Devices, Inc. Allocation of memory buffers in computing system with multiple memory channels

Also Published As

Publication number Publication date
US8270295B2 (en) 2012-09-18
JP5336764B2 (ja) 2013-11-06
US20080291824A1 (en) 2008-11-27
TWI447677B (zh) 2014-08-01
TW200910275A (en) 2009-03-01

Similar Documents

Publication Publication Date Title
JP5336764B2 (ja) 仮想レーン資源を割り当てるための方法及びコンピュータ・システム
JP5160300B2 (ja) 仮想レーン資源を動的に再割当てするシステムおよび方法
US11010198B2 (en) Data processing system having a hardware acceleration plane and a software plane
CN107995129B (zh) 一种nfv报文转发方法和装置
EP3283974B1 (en) Systems and methods for executing software threads using soft processors
US20180349196A1 (en) Implementing a Service Using Plural Acceleration Components
US8108467B2 (en) Load balanced data processing performed on an application message transmitted between compute nodes of a parallel computer
US9154451B2 (en) Systems and methods for sharing devices in a virtualization environment
US7643477B2 (en) Buffering data packets according to multiple flow control schemes
US20130151750A1 (en) Multi-root input output virtualization aware switch
US7797445B2 (en) Dynamic network link selection for transmitting a message between compute nodes of a parallel computer
US20160203024A1 (en) Apparatus and method for allocating resources of distributed data processing system in consideration of virtualization platform
CA2814309A1 (en) A computer cluster arrangement for processing a computation task and method for operation thereof
CN110659239A (zh) 在多通路链路中动态地协商不对称链路宽度
JP5669851B2 (ja) 論理的にパーティション化されたシステムにおいてパーティション間の効率的なコミュニケーションを行うための装置、方法、及びコンピュータ・プログラム
US10007625B2 (en) Resource allocation by virtual channel management and bus multiplexing
CN115298656A (zh) 用于调度可共享pcie端点设备的系统和方法
JP2009282917A (ja) サーバ間通信機構及びコンピュータシステム
US20170154000A1 (en) Dynamic Re-Allocation of Computer Bus Lanes
US20110296434A1 (en) Techniques for Dynamically Sharing a Fabric to Facilitate Off-Chip Communication for Multiple On-Chip Units

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121106

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130325

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130613

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130802

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees