(57)【要約】  高性能コンピューティング環境においてリンク安定性および可用性のスケーラブルな表現をサポートするためのシステムおよび方法。方法は、サブネットにおいて各ノードで属性を提供することができ、属性は、照会されるノードに接続される各リンクの安定性および可用性を照会するようサブネットマネージャのために各ノードにおいて単一のロケーションを提供する。属性は、ノードに常駐するサブネット管理エージェントによって埋め込まれ維持され得る。
2019503597.tif 000002
【特許請求の範囲】
【請求項１】
高性能コンピューティング環境においてスイッチポートステータスのスケーラブルな表現をサポートするためのシステムであって、
１つ以上のマイクロプロセッサと、
少なくとも１つのサブネットとを備え、前記少なくとも１つのサブネットは、
１つ以上のスイッチを含み、前記１つ以上のスイッチは少なくともリーフスイッチを含み、前記１つ以上のスイッチの各々は複数のポートを含み、前記少なくとも１つのサブネットはさらに、
複数のホストチャネルアダプタを含み、前記複数のホストチャネルアダプタは、前記１つ以上のスイッチを介して相互接続され、前記少なくとも１つのサブネットはさらに、
複数のエンドノードを含み、前記複数のエンドノードの各々は、前記複数のホストチャネルアダプタのうちの少なくとも１つのホストチャネルアダプタに関連付けられ、前記少なくとも１つのサブネットはさらに、
前記１つ以上のスイッチの１つまたは前記複数のホストチャネルアダプタの１つで実行されるサブネットマネージャを含み、
前記１つ以上のスイッチの各々は少なくとも１つの属性を含み、
前記１つ以上のスイッチ上の前記複数のポートの各ポートは、スイッチポートステータスに関連付けられ、
各スイッチ上の前記複数のポートの各ポートに関連付けられる各スイッチポートステータスは、関連付けられるスイッチにおける前記少なくとも１つの属性で表される、高性能コンピューティング環境においてスイッチポートステータスのスケーラブルな表現をサポートするためのシステム。
【請求項２】
前記１つ以上のスイッチ上の前記複数のスイッチポートの各スイッチポートは、拡張リンクステータスに関連付けられており、
各スイッチ上の前記複数のスイッチポートの各スイッチポートに関連付けられる各拡張リンクステータスは、関連付けられるスイッチにおける前記少なくとも１つの属性で表される、請求項１に記載のシステム。
【請求項３】
前記サブネットマネージャは、１つの動作を使用して前記１つ以上のスイッチのうちの１つのスイッチ上のポートについて前記スイッチポートステータスを判断する、請求項１または２に記載のシステム。
【請求項４】
前記１つの動作は、サブネット管理パケットである、請求項３に記載のシステム。
【請求項５】
前記サブネットマネージャは、１つの動作を使用して前記１つ以上のスイッチのうちの１つのスイッチ上の各ポートについて前記拡張リンクステータスを判断する、請求項２に記載のシステム。
【請求項６】
前記１つの動作は、サブネット管理パケットである、請求項５に記載のシステム。
【請求項７】
前記複数のホストチャネルアダプタのうちのあるホストチャネルアダプタは仮想スイッチを含み、前記仮想スイッチは複数の仮想スイッチポートを含み、
各仮想スイッチポートは仮想スイッチポートステータスに関連付けられ、
各仮想スイッチポートに関連付けられる各仮想スイッチポートステータスは、前記仮想スイッチにおける少なくとも１つの属性で表される、先行する請求項のいずれか１つに記載の方法。
【請求項８】
高性能コンピューティング環境においてスイッチポートステータスのスケーラブルな表現をサポートするための方法であって、
１つ以上のマイクロプロセッサを含む１つ以上のコンピュータに、
少なくとも１つのサブネットを提供することを備え、前記少なくとも１つのサブネットは、
１つ以上のスイッチを含み、前記１つ以上のスイッチは少なくともリーフスイッチを含み、前記１つ以上のスイッチの各々は複数のポートを含み、前記１つ以上のスイッチの各々は少なくとも１つの属性を含み、前記少なくとも１つのサブネットはさらに、
複数のホストチャネルアダプタを含み、前記複数のホストチャネルアダプタは、前記１つ以上のスイッチを介して相互接続され、前記少なくとも１つのサブネットはさらに、
複数のエンドノードを含み、前記複数のエンドノードの各々は、前記複数のホストチャネルアダプタのうちの少なくとも１つのホストチャネルアダプタに関連付けられ、前記少なくとも１つのサブネットはさらに、
前記１つ以上のスイッチの１つまたは前記複数のホストチャネルアダプタの１つで実行されるサブネットマネージャを含み、前記方法はさらに、
前記１つ以上のスイッチ上の前記複数のポートの各ポートを、スイッチポートステータスに関連付けることと、
各スイッチ上の前記複数のポートの各ポートに関連付けられる各スイッチポートステータスを、関連付けられるスイッチにおける前記少なくとも１つの属性で表すこととを備える、高性能コンピューティング環境においてスイッチポートステータスのスケーラブルな表現をサポートするための方法。
【請求項９】
前記１つ以上のスイッチ上の前記複数のポートの各ポートを、拡張リンクステータスに関連付けることと、
各スイッチ上の前記複数のポートの各ポートに関連付けられる各拡張リンクステータスを、関連付けられるスイッチにおける前記少なくとも１つの属性で表すこととをさらに備える、請求項８に記載の方法。
【請求項１０】
前記サブネットマネージャによって、１つの動作を使用して前記１つ以上のスイッチのうちの１つのスイッチ上の各ポートについて前記スイッチポートステータスを判断することをさらに備える、請求項９に記載の方法。
【請求項１１】
前記１つの動作は、サブネット管理パケットである、請求項１０に記載の方法。
【請求項１２】
前記サブネットマネージャによって、１つの動作を使用して前記１つ以上のスイッチのうちの１つのスイッチ上の各ポートについて前記拡張リンクステータスを判断することをさらに備える、請求項９に記載の方法。
【請求項１３】
前記１つの動作は、サブネット管理パケットである、請求項１２に記載の方法。
【請求項１４】
前記複数のホストチャネルアダプタのうちのあるホストチャネルアダプタは仮想スイッチを含み、前記仮想スイッチは複数の仮想スイッチポートを含み、
各仮想スイッチポートは仮想スイッチポートステータスに関連付けられ、
各仮想スイッチポートに関連付けられる各仮想スイッチポートステータスは、前記仮想スイッチにおける少なくとも１つの属性で表される、請求項８〜１３のいずれか１つに記載の方法。
【請求項１５】
高性能コンピューティング環境においてスイッチポートステータスのスケーラブルな表現をサポートするための命令をそこに記憶して含む、非一時的なコンピュータ可読記憶媒体であって、前記命令は、１つ以上のコンピュータによって読み取られ実行されると、前記１つ以上のコンピュータに、
１つ以上のマイクロプロセッサを含む１つ以上のコンピュータに
少なくとも１つのサブネットを提供することを含むステップを実行させ、前記少なくとも１つのサブネットは、
１つ以上のスイッチを含み、前記１つ以上のスイッチは少なくともリーフスイッチを含み、前記１つ以上のスイッチの各々は複数のポートを含み、前記１つ以上のスイッチの各々は少なくとも１つの属性を含み、前記少なくとも１つのサブネットはさらに、
複数のホストチャネルアダプタを含み、前記複数のホストチャネルアダプタは、前記１つ以上のスイッチを介して相互接続され、前記少なくとも１つのサブネットはさらに、
複数のエンドノードを含み、前記複数のエンドノードの各々は、前記複数のホストチャネルアダプタのうちの少なくとも１つのホストチャネルアダプタに関連付けられ、前記少なくとも１つのサブネットはさらに、
前記１つ以上のスイッチの１つまたは前記複数のホストチャネルアダプタの１つで実行されるサブネットマネージャを含み、前記命令は、さらに、１つ以上のコンピュータによって読み取られ実行されると、前記１つ以上のコンピュータに、
前記１つ以上のスイッチ上の前記複数のポートの各ポートを、スイッチポートステータスに関連付けることと、
各スイッチ上の前記複数のポートの各ポートに関連付けられる各スイッチポートステータスを、関連付けられるスイッチにおける前記少なくとも１つの属性で表すこととを含むステップを実行させる、高性能コンピューティング環境においてスイッチポートステータスのスケーラブルな表現をサポートするための命令をそこに記憶して含む、非一時的なコンピュータ可読記憶媒体。
【請求項１６】
前記ステップは、前記１つ以上のスイッチ上の前記複数のポートの各ポートを、拡張リンクステータスに関連付けることと、
各スイッチ上の前記複数のポートの各ポートに関連付けられる各拡張リンクステータスを、関連付けられるスイッチにおける前記少なくとも１つの属性で表すこととをさらに備える、請求項１５に記載の非一時的なコンピュータ可読記憶媒体。
【請求項１７】
前記ステップは、前記サブネットマネージャによって、１つの動作を使用して前記１つ以上のスイッチのうちの１つのスイッチ上の各ポートについて前記スイッチポートステータスを判断することをさらに備える、請求項１６に記載の非一時的なコンピュータ可読記憶媒体。
【請求項１８】
前記１つの動作は、サブネット管理パケットである、請求項１７に記載の非一時的なコンピュータ可読記憶媒体。
【請求項１９】
前記ステップは、前記サブネットマネージャによって、１つの動作を使用して前記１つ以上のスイッチのうちの１つのスイッチ上の各ポートについて前記拡張リンクステータスを判断することをさらに備える、請求項１６に記載の非一時的なコンピュータ可読記憶媒体。
【請求項２０】
前記１つの動作は、サブネット管理パケットである、請求項１９に記載の非一時的なコンピュータ可読記憶媒体。
【請求項２１】
コンピュータシステムによって実行されると、前記コンピュータシステムに請求項８〜１４のいずれか１つに記載の方法を実行させる、機械可読フォーマットにおけるプログラム命令を含む、コンピュータプログラム。
【請求項２２】
非一時的な機械可読データ記憶媒体に記憶される請求項２１のコンピュータプログラムを備えるコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
著作権表示：
この特許文献の開示の一部は、著作権保護の対象となる資料を含む。著作権保有者は、この特許文献または特許開示の、それが特許商標庁の特許ファイルまたは記録に現れているとおりの、何人による複写複製にも異議を唱えないが、それ以外の場合にはすべての著作権をどのようなものであろうと所有する。
【０００２】
発明の分野：
本発明は、一般にコンピュータシステムに関し、特に、高性能コンピューティング環境においてスイッチポートステータスのスケーラブルな表現をサポートすることに関する。
【背景技術】
【０００３】
背景：
導入されるクラウドコンピューティングアーキテクチャがより大規模になるのに応じて、従来のネットワークおよびストレージに関する性能および管理の障害が深刻な問題になってきている。クラウドコンピューティングファブリックのための基礎としてインフィニバンド（登録商標）（InfiniBand：ＩＢ）技術などの高性能な無損失相互接続を用いることへの関心がますます高まってきている。これは、本発明の実施形態が対応するように意図された一般領域である。
【発明の概要】
【課題を解決するための手段】
【０００４】
概要：
本明細書では、高性能コンピューティング環境においてスイッチポートステータスのスケーラブルな表現をサポートするためのシステムおよび方法について説明する。方法は、１つ以上のマイクロプロセッサを含む１つ以上のコンピュータに少なくとも１つのサブネットを提供することを備え得、少なくとも１つのサブネットは、１つ以上のスイッチを含み、１つ以上のスイッチは少なくともリーフスイッチを含み、１つ以上のスイッチの各々は複数のポートを含み、１つ以上のスイッチの各々は少なくとも１つの属性を含み、少なくとも１つのサブネットはさらに、複数のホストチャネルアダプタを含み、複数のホストチャネルアダプタは、１つ以上のスイッチを介して相互接続され、少なくとも１つのサブネットはさらに、複数のエンドノードを含み、複数のエンドノードの各々は、複数のホストチャネルアダプタのうちの少なくとも１つのホストチャネルアダプタに関連付けられ、少なくとも１つのサブネットはさらに、サブネットマネージャを含み、サブネットマネージャは１つ以上のスイッチの１つまたは複数のホストチャネルアダプタの１つで実行される。方法は、１つ以上のスイッチ上の複数のポートの各ポートをスイッチポートステータスに関連付けることができる。方法は、各スイッチ上の複数のポートの各ポートに関連付けられる各スイッチポートステータスを、関連付けられるスイッチにおける少なくとも１つの属性で表すことができる。
【０００５】
本明細書では、高性能コンピューティング環境においてリンク安定性および可用性属性をサポートするためのシステムおよび方法について説明する。ある例示的方法は、１つ以上のマイクロプロセッサを含む１つ以上のコンピュータに少なくとも１つのサブネットを提供することができ、少なくとも１つ以上のスイッチ、１つ以上のスイッチは少なくともリーフスイッチを含み、１つ以上のスイッチの各々は、複数のポートを含み、１つ以上のスイッチの各々は少なくとも１つの属性を含み、少なくとも１つのサブネットはさらに、複数のホストチャネルアダプタを含み、複数のホストチャネルアダプタは、１つ以上のスイッチを介して相互接続され、少なくとも１つのサブネットはさらに、複数のエンドノードを含み、複数のエンドノードの各々は、複数のホストチャネルアダプタのうちの少なくとも１つのホストチャネルアダプタに関連付けられ、少なくとも１つのサブネットはさらに、サブネットマネージャを含み、サブネットマネージャは１つ以上のスイッチの１つまたは複数のホストチャネルアダプタの１つで実行される。方法は、１つ以上のスイッチの各々において、少なくとも１つの属性を提供することができる。方法は、１つ以上のスイッチのうちのあるスイッチに複数のサブネット管理エージェント（ＳＭＡ）のうちのあるサブネット管理エージェントを提供することができる。方法は、１つ以上のスイッチのうちのあるスイッチのＳＭＡによって、そのスイッチの複数のポートの各ポートにおけるリンク安定性およびそのスイッチにおける複数のポートの各ポートにおけるリンク可用性のうちの少なくとも１つを監視することができる。
【０００６】
一実施形態によれば、複数のホストチャネルアダプタの１つ以上は、少なくとも１つの仮想機能、少なくとも１つの仮想スイッチ、および少なくとも１つの物理機能を含むことができる。複数のエンドノードは、物理ホスト、仮想マシン、または物理ホストと仮想マシンとの組み合わせを含むことができ、仮想マシンは、少なくとも１つの仮想機能に関連付けられる。
【図面の簡単な説明】
【０００７】
【図１】一実施形態によるインフィニバンド環境の一例を示す図である。
【図２】一実施形態による、パーティショニングされたクラスタ環境を示す図である。
【図３】一実施形態による、ネットワーク環境におけるツリートポロジを示す図である。
【図４】一実施形態に従った例示的な共有ポートアーキテクチャを示す図である。
【図５】一実施形態に従った例示的なｖＳｗｉｔｃｈアーキテクチャを示す図である。
【図６】一実施形態に従った例示的なｖＰｏｒｔアーキテクチャを示す図である。
【図７】一実施形態に従った、ＬＩＤが予めポピュレートされた例示的なｖＳｗｉｔｃｈアーキテクチャを示す図である。
【図８】一実施形態に従った、動的ＬＩＤ割当てがなされた例示的なｖＳｗｉｔｃｈアーキテクチャを示す図である。
【図９】一実施形態に従った、動的ＬＩＤ割当てがなされかつＬＩＤが予めポピュレートされているｖＳｗｉｔｃｈを備えた例示的なｖＳｗｉｔｃｈアーキテクチャを示す図である。
【図１０】一実施形態による例示的なマルチサブネットインフィニバンドファブリックを示す。
【図１１】一実施形態による、スイッチポートステータスのスケーラブルな表現を示す。
【図１２】一実施形態による、リンクステータスのスケーラブルな表現を示す。
【図１３】一実施形態による、高性能コンピューティング環境においてスイッチポートステータスのスケーラブルな表現をサポートするための方法のフローチャートである。
【図１４】一実施形態による、高性能コンピューティング環境においてスイッチポートステータスのスケーラブルな表現をサポートするための方法のフローチャートである。
【図１５】一実施形態による、リンク安定性のスケーラブルな表現を示す。
【図１６】一実施形態による、リンク可用性のスケーラブルな表現を示す。
【図１７】一実施形態による、高性能コンピューティング環境においてリンク安定性および可用性のスケーラブルな表現をサポートするための例示的な方法のフローチャートである。
【発明を実施するための形態】
【０００８】
詳細な説明：
本発明は、同様の参照番号が同様の要素を指している添付図面の図において、限定のためではなく例示のために説明されている。なお、この開示における「ある」または「１つの」または「いくつかの」実施形態への参照は必ずしも同じ実施形態に対するものではなく、そのような参照は少なくとも１つを意味する。特定の実現例が説明されるが、これらの特定の実現例が例示的な目的のためにのみ提供されることが理解される。当業者であれば、他の構成要素および構成が、この発明の範囲および精神から逸脱することなく使用され得ることを認識するであろう。
【０００９】
図面および詳細な説明全体にわたって同様の要素を示すために、共通の参照番号が使用され得る。したがって、ある図で使用される参照番号は、要素が別のところで説明される場合、そのような図に特有の詳細な説明において参照される場合もあり、または参照されない場合もある。
【００１０】
本明細書では、高性能コンピューティング環境においてスイッチポートステータスのスケーラブルな表現をサポートするためのシステムおよび方法を説明する。
【００１１】
本発明の以下の説明は、高性能ネットワークのための例としてインフィニバンドＴＭ（ＩＢ）ネットワークを使用する。以下の説明を通して、インフィニバンドＴＭ規格（様々に、インフィニバンド規格、ＩＢ規格、またはレガシーＩＢ規格とも呼ばれる）を参照することができる。このような参照は、引用によりその全体が本明細書に援用される、http://www.inifinibandta.orgで入手可能なインフィニバンド（登録商標）トレード・アソシエーション・アーキテクチャ規格、第１巻、バージョン１．３（２０１５年３月リリース）を参照すると理解される。他のタイプの高性能ネットワークが何ら限定されることなく使用され得ることが、当業者には明らかであるだろう。以下の説明ではまた、ファブリックトポロジーについての一例として、ファットツリートポロジーを使用する。他のタイプのファブリックトポロジーが何ら限定されることなく使用され得ることが当業者には明らかであるだろう。
【００１２】
現代（たとえばExascale（エクサスケール）時代）におけるクラウドの要求を満たすために、仮想マシンがリモート・ダイレクト・メモリ・アクセス（Remote Direct Memory Access：ＲＤＭＡ）などの低オーバーヘッドネットワーク通信パラダイムを利用できることが望ましい。ＲＤＭＡはＯＳスタックをバイパスし、ハードウェアと直接通信することで、シングルルートＩ／Ｏ仮想化（Single-Root I/O Virtualization：ＳＲ−ＩＯＶ）ネットワークアダプタのようなパススルー技術が使用可能となる。一実施形態に従うと、高性能な無損失相互接続ネットワークにおける適用可能性のために、仮想スイッチ（virtual switch：ｖＳｗｉｔｃｈ）ＳＲ−ＩＯＶアーキテクチャを提供することができる。ライブマイグレーションを実際に選択できるようにするためにネットワーク再構成時間が重要となるので、ネットワークアーキテクチャに加えて、スケーラブルであるとともにトポロジーに依存しない動的な再構成メカニズムを提供することができる。
【００１３】
一実施形態に従うと、さらには、ｖＳｗｉｔｃｈを用いる仮想化された環境のためのルーティング戦略を提供することができ、ネットワークトポロジー（たとえばファットツリートポロジー）のための効率的なルーティングアルゴリズムを提供することができる。動的な再構成メカニズムは、ファットツリーにおいて課されるオーバーヘッドを最小限にするためにさらに調整することができる。
【００１４】
本発明の一実施形態に従うと、仮想化は、クラウドコンピューティングにおける効率的なリソース利用および融通性のあるリソース割当てに有益であり得る。ライブマイグレーションは、アプリケーションにトランスペアレントな態様で物理サーバ間で仮想マシン（virtual machine：ＶＭ）を移動させることによってリソース使用を最適化することを可能にする。このため、仮想化は、ライブマイグレーションによる統合、リソースのオン・デマンド・プロビジョニングおよび融通性を可能にし得る。
【００１５】
インフィニバンド（登録商標）
インフィニバンド（ＩＢ）は、インフィニバンド・トレード・アソシエーション（InfiniBandTMTrade Association）によって開発されたオープン標準無損失ネットワーク技術である。この技術は、特に高性能コンピューティング（high-performance computing：ＨＰＣ）アプリケーションおよびデータセンタを対象とする、高スループットおよび少ない待ち時間の通信を提供するシリアルポイントツーポイント全二重相互接続（serial point-to-point full-duplex interconnect）に基づいている。
【００１６】
インフィニバンド・アーキテクチャ（InfiniBand Architecture：ＩＢＡ）は、２層トポロジー分割をサポートする。低層では、ＩＢネットワークはサブネットと呼ばれ、１つのサブネットは、スイッチおよびポイントツーポイントリンクを使用して相互接続される一組のホストを含み得る。より高いレベルでは、１つのＩＢファブリックは、ルータを使用して相互接続され得る１つ以上のサブネットを構成する。
【００１７】
１つのサブネット内で、ホストは、スイッチおよびポイントツーポイントリンクを使用して接続され得る。加えて、サブネットにおける指定されたデバイス上に存在する、１つのマスター管理エンティティ、すなわちサブネットマネージャ（subnet manager：ＳＭ）があり得る。サブネットマネージャは、ＩＢサブネットを構成し、起動し、維持する役割を果たす。加えて、サブネットマネージャ（ＳＭ）は、ＩＢファブリックにおいてルーティングテーブル計算を行なう役割を果たし得る。ここで、たとえば、ＩＢネットワークのルーティングは、ローカルサブネットにおけるすべての送信元と宛先とのペア間の適正な負荷バランシングを目標とする。
【００１８】
サブネット管理インターフェイスを通して、サブネットマネージャは、サブネット管理パケット（subnet management packet：ＳＭＰ）と呼ばれる制御パケットを、サブネット管理エージェント（subnet management agent：ＳＭＡ）と交換する。サブネット管理エージェントは、すべてのＩＢサブネットデバイス上に存在する。ＳＭＰを使用することにより、サブネットマネージャは、ファブリックを発見し、エンドノードおよびスイッチを構成し、ＳＭＡから通知を受信することができる。
【００１９】
一実施形態によれば、ＩＢネットワークにおけるサブネット内のルーティングは、スイッチに格納されたＬＦＴに基づき得る。ＬＦＴは、使用中のルーティングメカニズムに従って、ＳＭによって計算される。サブネットでは、エンドノード上のホストチャネルアダプタ（Host Channel Adapter：ＨＣＡ）ポートおよびスイッチが、ローカル識別子（ＬＩＤ）を使用してアドレス指定される。ＬＦＴにおける各エントリは、宛先ＬＩＤ（destination LID：ＤＬＩＤ）と出力ポートとからなる。テーブルにおけるＬＩＤごとに１つのエントリのみがサポートされる。パケットがあるスイッチに到着すると、その出力ポートは、そのスイッチのフォワーディングテーブルにおいてＤＬＩＤを検索することによって判断される。所与の送信元−宛先ペア（ＬＩＤペア）間のネットワークにおいてパケットは同じ経路を通るため、ルーティングは決定論的である。
【００２０】
一般に、マスターサブネットマネージャを除く他のすべてのサブネットマネージャは、耐故障性のために待機モードで作動する。しかしながら、マスターサブネットマネージャが故障した状況では、待機中のサブネットマネージャによって、新しいマスターサブネットマネージャが取り決められる。マスターサブネットマネージャはまた、サブネットの周期的なスイープ（sweep）を行なってあらゆるトポロジー変化を検出し、それに応じてネットワークを再構成する。
【００２１】
さらに、サブネット内のホストおよびスイッチは、ローカル識別子（ＬＩＤ）を用いてアドレス指定され得るとともに、単一のサブネットは４９１５１個のユニキャストＬＩＤに制限され得る。サブネット内で有効なローカルアドレスであるＬＩＤの他に、各ＩＢデバイスは、６４ビットのグローバル一意識別子（global unique identifier：ＧＵＩＤ）を有し得る。ＧＵＩＤは、ＩＢレイヤー３（Ｌ３）アドレスであるグローバル識別子（global identifier：ＧＩＤ）を形成するために使用され得る。
【００２２】
ＳＭは、ネットワーク初期化時間に、ルーティングテーブル（すなわち、サブネット内のノードの各ペア間の接続／ルート）を計算し得る。さらに、トポロジーが変化するたびに、ルーティングテーブルは、接続性および最適性能を確実にするために更新され得る。通常動作中、ＳＭは、トポロジー変化をチェックするためにネットワークの周期的なライトスイープ（light sweep）を実行し得る。ライトスイープ中に変化が発見された場合、または、ネットワーク変化を信号で伝えるメッセージ（トラップ）をＳＭが受信した場合、ＳＭは、発見された変化に従ってネットワークを再構成し得る。
【００２３】
たとえば、ＳＭは、リンクがダウンした場合、デバイスが追加された場合、またはリンクが除去された場合など、ネットワークトポロジーが変化する場合に、ネットワークを再構成し得る。再構成ステップは、ネットワーク初期化中に行なわれるステップを含み得る。さらに、再構成は、ネットワーク変化が生じたサブネットに制限されるローカルスコープを有し得る。また、ルータを用いる大規模ファブリックのセグメント化は、再構成スコープを制限し得る。
【００２４】
一実施形態に従ったインフィニバンド環境１００の例を示す図１に、インフィニバンドファブリックの一例を示す。図１に示す例では、ノードＡ１０１〜Ｅ１０５は、インフィニバンドファブリック１２０を使用して、それぞれのホストチャネルアダプタ１１１〜１１５を介して通信する。一実施形態に従うと、さまざまなノード（たとえばノードＡ１０１〜Ｅ１０５）はさまざまな物理デバイスによって表わすことができる。一実施形態に従うと、さまざまなノード（たとえばノードＡ１０１〜Ｅ１０５）は仮想マシンなどのさまざまな仮想デバイスによって表わすことができる。
【００２５】
インフィニバンドにおけるパーティショニング
一実施形態によれば、ＩＢネットワークは、ネットワークファブリックを共有するシステムの論理グループの分離をもたらすためにセキュリティメカニズムとしてパーティショニングをサポートし得る。ファブリックにおけるノード上の各ＨＣＡポートは、１つ以上のパーティションのメンバであり得る。パーティションメンバーシップは、ＳＭの一部であり得る集中型パーティションマネージャによって管理される。ＳＭは、各ポートに関するパーティションメンバーシップ情報を、１６ビットのパーティションキー（partition key：Ｐ＿キー）のテーブルとして構成することができる。ＳＭはまた、これらのポートを介してデータトラフィックを送信または受信するエンドノードに関連付けられたＰ＿Ｋｅｙ情報を含むパーティション実施テーブルを用いて、スイッチポートおよびルータポートを構成することができる。加えて、一般的な場合には、スイッチポートのパーティションメンバーシップは、（リンクに向かう）出口方向に向かってポートを介してルーティングされたＬＩＤに間接的に関連付けられたすべてのメンバーシップの集合を表わし得る。
【００２６】
一実施形態によれば、パーティションは、あるグループのメンバが同じ論理グループの他のメンバとしか通信できないような、ポートの論理グループである。ホストチャネルアダプタ（ＨＣＡ）およびスイッチでは、パーティションメンバシップ情報を使用してパケットをフィルタリングして分離を実行できる。無効なパーティショニング情報を持つパケットは、そのパケットが着信ポートに到着するとすぐにドロップすることができる。パーティショニングされたＩＢシステムでは、パーティションを使用してテナントクラスタを作成できる。パーティションの適所における実施で、ノードは異なるテナントクラスタに属する他のノードと通信することはできない。このようにして、侵害されたテナントノードまたは悪意のあるテナントノードが存在する場合でも、システムのセキュリティを保証することができる。
【００２７】
一実施形態によれば、ノード間の通信のために、管理キューペア（ＱＰ０およびＱＰ１）を除き、キューペア（Queue Pair：ＱＰ）およびエンドツーエンドコンテキスト（End-to-End context：ＥＥＣ）を特定のパーティションに割当てることができる。次に、Ｐ＿キー情報を、送信されたすべてのＩＢトランスポートパケットに追加することができる。パケットがＨＣＡポートまたはスイッチに到着すると、そのＰ＿キー値を、ＳＭによって構成されたテーブルに対して確認することができる。無効のＰ＿キー値が見つかった場合、そのパケットは直ちに廃棄される。このように、通信は、パーティションを共有するポート間でのみ許可される。
【００２８】
ＩＢパーティションのある例が、図２に示されており、それは、一実施形態による、パーティショニングされたクラスタ環境を示している。図２に示す例では、ノードＡ〜Ｅ１０１〜１０５は、インフィニバンドファブリック１２０を使用して、それぞれのホストチャネルアダプタ１１１〜１１５を介して通信する。ノードＡ〜Ｅは、パーティション、すなわちパーティション１，１３０、パーティション２，１４０、およびパーティション３，１５０に配置される。パーティション１は、ノードＡ１０１およびノードＤ１０４を含む。パーティション２は、ノードＡ１０１、ノードＢ１０２、およびノードＣ１０３を含む。パーティション３は、ノードＣ１０３およびノードＥ１０５を含む。パーティションの配置のため、ノードＤ１０４とノードＥ１０５とは、これらのノードがパーティションを共有しないので、通信することができない。一方、例えば、ノードＡ１０１とノードＣ１０３とは、これらのノードが両方ともパーティション２，１４０のメンバであるため、通信が許可される。
【００２９】
インフィニバンドにおける仮想マシン
過去１０年の間に、ハードウェア仮想化サポートによってＣＰＵオーバーヘッドが実質的に排除され、メモリ管理ユニットを仮想化することによってメモリオーバーヘッドが著しく削減され、高速ＳＡＮストレージまたは分散型ネットワークファイルシステムの利用によってストレージオーバーヘッドが削減され、シングルルートＩ／Ｏ仮想化（Single Root Input/Output Virtualization：ＳＲ−ＩＯＶ）のようなデバイス・パススルー技術を使用することによってネットワークＩ／Ｏオーバーヘッドが削減されてきたことに応じて、仮想化された高性能コンピューティング（High Performance Computing：ＨＰＣ）環境の将来見通しが大幅に改善されてきた。現在では、クラウドが、高性能相互接続ソリューションを用いて仮想ＨＰＣ（virtual HPC：ｖＨＰＣ）クラスタに対応し、必要な性能を提供することができる。
【００３０】
しかしながら、インフィニバンド（ＩＢ）などの無損失ネットワークと連結されたとき、仮想マシン（ＶＭ）のライブマイグレーションなどのいくつかのクラウド機能は、これらのソリューションにおいて用いられる複雑なアドレス指定およびルーティングスキームのせいで、依然として問題となる。ＩＢは、高帯域および低レイテンシを提供する相互接続ネットワーク技術であり、このため、ＨＰＣおよび他の通信集約型の作業負荷に非常によく適している。
【００３１】
ＩＢデバイスをＶＭに接続するための従来のアプローチは直接割当てされたＳＲ−ＩＯＶを利用することによるものである。しかしながら、ＳＲ−ＩＯＶを用いてＩＢホストチャネルアダプタ（ＨＣＡ）に割当てられたＶＭのライブマイグレーションを実現することは難易度の高いものであることが判明した。各々のＩＢが接続されているノードは、３つの異なるアドレス（すなわちＬＩＤ、ＧＵＩＤおよびＧＩＤ）を有する。ライブマイグレーションが発生すると、これらのアドレスのうち１つ以上が変化する。マイグレーション中のＶＭ（VM-in-migration）と通信する他のノードは接続性を失う可能性がある。これが発生すると、ＩＢサブネットマネージャ（Subnet Manager：ＳＭ）にサブネット管理（Subnet Administration：ＳＡ）経路記録クエリを送信することによって、再接続すべき仮想マシンの新しいアドレスを突きとめることにより、失われた接続を回復させるように試みることができる。
【００３２】
ＩＢは３つの異なるタイプのアドレスを用いる。第１のタイプのアドレスは１６ビットのローカル識別子（ＬＩＤ）である。少なくとも１つの固有のＬＩＤは、ＳＭによって各々のＨＣＡポートおよび各々のスイッチに割当てられる。ＬＩＤはサブネット内のトラフィックをルーティングするために用いられる。ＬＩＤが１６ビット長であるので、６５５３６個の固有のアドレス組合せを構成することができ、そのうち４９１５１個（０×０００１−０×ＢＦＦＦ）だけをユニキャストアドレスとして用いることができる。結果として、入手可能なユニキャストアドレスの数は、ＩＢサブネットの最大サイズを定義することとなる。第２のタイプのアドレスは、製造業者によって各々のデバイス（たとえば、ＨＣＡおよびスイッチ）ならびに各々のＨＣＡポートに割当てられた６４ビットのグローバル一意識別子（ＧＵＩＤ）である。ＳＭは、ＨＣＡポートに追加のサブネット固有ＧＵＩＤを割当ててもよく、これは、ＳＲ−ＩＯＶが用いられる場合に有用となる。第３のタイプのアドレスは１２８ビットのグローバル識別子（ＧＩＤ）である。ＧＩＤは有効なＩＰｖ６ユニキャストアドレスであり、少なくとも１つが各々のＨＣＡポートに割当てられている。ＧＩＤは、ファブリックアドミニストレータによって割当てられたグローバルに固有の６４ビットプレフィックスと各々のＨＣＡポートのＧＵＩＤアドレスとを組合わせることによって形成される。
【００３３】
ファットツリー（Fat Tree：ＦＴｒｅｅ）トポロジーおよびルーティング
一実施形態によれば、ＩＢベースのＨＰＣシステムのいくつかは、ファットツリートポロジーを採用して、ファットツリーが提供する有用な特性を利用する。これらの特性は、各送信元宛先ペア間の複数経路の利用可能性に起因する、フルバイセクション帯域幅および固有の耐故障性を含む。ファットツリーの背後にある初期の概念は、ツリーがトポロジーのルート（root）に近づくにつれて、より利用可能な帯域幅を用いて、ノード間のより太いリンクを採用することであった。より太いリンクは、上位レベルのスイッチにおける輻輳を回避するのに役立てることができ、バイセクション帯域幅が維持される。
【００３４】
図３は、一実施形態に従った、ネットワーク環境におけるツリートポロジーの例を示す。図３に示すように、ネットワークファブリック２００において、１つ以上のエンドノード２０１〜２０４が接続され得る。ネットワークファブリック２００は、複数のリーフスイッチ２１１〜２１４と複数のスパインスイッチまたはルート（root）スイッチ２３１〜２３４とを含むファットツリートポロジーに基づき得る。加えて、ネットワークファブリック２００は、スイッチ２２１〜２２４などの１つ以上の中間スイッチを含み得る。
【００３５】
また、図３に示すように、エンドノード２０１〜２０４の各々は、マルチホームノード、すなわち、複数のポートを介してネットワークファブリック２００のうち２つ以上の部分に接続される単一のノードであり得る。たとえば、ノード２０１はポートＨ１およびＨ２を含み、ノード２０２はポートＨ３およびＨ４を含み、ノード２０３はポートＨ５およびＨ６を含み、ノード２０４はポートＨ７およびＨ８を含み得る。
【００３６】
加えて、各スイッチは複数のスイッチポートを有し得る。たとえば、ルートスイッチ２３１はスイッチポート１〜２を有し、ルートスイッチ２３２はスイッチポート３〜４を有し、ルートスイッチ２３３はスイッチポート５〜６を有し、ルートスイッチ２３４はスイッチポート７〜８を有し得る。
【００３７】
一実施形態によれば、ファットツリールーティングメカニズムは、ＩＢベースのファットツリートポロジーに関して最も人気のあるルーティングアルゴリズムのうちの１つである。ファットツリールーティングメカニズムはまた、ＯＦＥＤ（Open Fabric Enterprise Distribution：ＩＢベースのアプリケーションを構築しデプロイするための標準ソフトウェアスタック）サブネットマネージャ、すなわちＯｐｅｎＳＭにおいて実現される。
【００３８】
ファットツリールーティングメカニズムの目的は、ネットワークファブリックにおけるリンクにわたって最短経路ルートを均一に広げるＬＦＴを生成することである。このメカニズムは、索引付け順序でファブリックを横断し、エンドノードの目標ＬＩＤ、ひいては対応するルートを各スイッチポートに割当てる。同じリーフスイッチに接続されたエンドノードについては、索引付け順序は、エンドノードが接続されるスイッチポートに依存し得る（すなわち、ポートナンバリングシーケンス）。各ポートについては、メカニズムはポート使用カウンタを維持することができ、新しいルートが追加されるたびに、ポート使用カウンタを使用して使用頻度が最小のポートを選択することができる。
【００３９】
一実施形態に従うと、パーティショニングされたサブネットでは、共通のパーティションのメンバではないノードは通信することを許可されない。実際には、これは、ファットツリールーティングアルゴリズムによって割当てられたルートのうちのいくつかがユーザトラフィックのために使用されないことを意味する。ファットツリールーティングメカニズムが、それらのルートについてのＬＦＴを、他の機能的経路と同じやり方で生成する場合、問題が生じる。この動作は、リンク上でバランシングを劣化させるおそれがある。なぜなら、ノードが索引付けの順序でルーティングされているからである。パーティションに気づかずにルーティングが行なわれるため、ファットツリーでルーティングされたサブネットにより、概して、パーティション間の分離が不良なものとなる。
【００４０】
一実施形態に従うと、ファットツリーは、利用可能なネットワークリソースでスケーリングすることができる階層ネットワークトポロジーである。さらに、ファットツリーは、さまざまなレベルの階層に配置された商品スイッチを用いて容易に構築される。さらに、ｋ−ａｒｙ−ｎ−ｔｒｅｅ、拡張された一般化ファットツリー（Extended Generalized Fat-Tree：ＸＧＦＴ）、パラレルポート一般化ファットツリー（Parallel Ports Generalized Fat-Tree：ＰＧＦＴ）およびリアルライフファットツリー（Real Life Fat-Tree：ＲＬＦＴ）を含むファットツリーのさまざまな変形例が、一般に利用可能である。
【００４１】
また、ｋ−ａｒｙ−ｎ−ｔｒｅｅは、ｎレベルのファットツリーであって、ｋｎエンドノードと、ｎ・ｋｎ＿１スイッチとを備え、各々が２ｋポートを備えている。各々のスイッチは、ツリーにおいて上下方向に同数の接続を有している。ＸＧＦＴファットツリーは、スイッチのための異なる数の上下方向の接続と、ツリーにおける各レベルでの異なる数の接続とをともに可能にすることによって、ｋ−ａｒｙ−ｎ−ｔｒｅｅを拡張させる。ＰＧＦＴ定義はさらに、ＸＧＦＴトポロジーを拡張して、スイッチ間の複数の接続を可能にする。多種多様なトポロジーはＸＧＦＴおよびＰＧＦＴを用いて定義することができる。しかしながら、実用化するために、現代のＨＰＣクラスタにおいて一般に見出されるファットツリーを定義するために、ＰＧＦＴの制限バージョンであるＲＬＦＴが導入されている。ＲＬＦＴは、ファットツリーにおけるすべてのレベルに同じポートカウントスイッチを用いている。
【００４２】
入出力（Input/Output：Ｉ／Ｏ）仮想化
一実施形態に従うと、Ｉ／Ｏ仮想化（I/O Virtualization：ＩＯＶ）は、基礎をなす物理リソースに仮想マシン（ＶＭ）がアクセスすることを可能にすることによって、Ｉ／Ｏを利用可能にすることができる。ストレージトラフィックとサーバ間通信とを組合せると、シングルサーバのＩ／Ｏリソースにとって抗し難い高い負荷が課され、結果として、データの待機中に、バックログが発生し、プロセッサがアイドル状態になる可能性がある。Ｉ／Ｏ要求の数が増えるにつれて、ＩＯＶにより利用可能性をもたらすことができ、最新のＣＰＵ仮想化において見られる性能レベルに匹敵するように、（仮想化された）Ｉ／Ｏリソースの性能、スケーラビリティおよび融通性を向上させることができる。
【００４３】
一実施形態に従うと、Ｉ／Ｏリソースの共有を可能にして、ＶＭからリソースへのアクセスが保護されることを可能にし得るようなＩＯＶが所望される。ＩＯＶは、ＶＭにエクスポーズされる論理装置を、その物理的な実装から分離する。現在、エミュレーション、準仮想化、直接的な割当て（direct assignment：ＤＡ）、およびシングルルートＩ／Ｏ仮想化（ＳＲ−ＩＯＶ）などのさまざまなタイプのＩＯＶ技術が存在し得る。
【００４４】
一実施形態に従うと、あるタイプのＩＯＶ技術としてソフトウェアエミュレーションがある。ソフトウェアエミュレーションは分離されたフロントエンド／バックエンド・ソフトウェアアーキテクチャを可能にし得る。フロントエンドはＶＭに配置されたデバイスドライバであり得、Ｉ／Ｏアクセスをもたらすためにハイパーバイザによって実現されるバックエンドと通信し得る。物理デバイス共有比率は高く、ＶＭのライブマイグレーションはネットワークダウンタイムのわずか数ミリ秒で実現可能である。しかしながら、ソフトウェアエミュレーションはさらなる不所望な計算上のオーバーヘッドをもたらしてしまう。
【００４５】
一実施形態に従うと、別のタイプのＩＯＶ技術として直接的なデバイスの割当てがある。直接的なデバイスの割当てでは、Ｉ／ＯデバイスをＶＭに連結する必要があるが、デバイスはＶＭ間では共有されない。直接的な割当てまたはデバイス・パススルーは、最小限のオーバーヘッドでほぼ固有の性能を提供する。物理デバイスはハイパーバイザをバイパスし、直接、ＶＭに取付けられている。しかしながら、このような直接的なデバイスの割当ての欠点は、仮想マシン間で共有がなされないため、１枚の物理ネットワークカードが１つのＶＭと連結されるといったように、スケーラビリティが制限されてしまうことである。
【００４６】
一実施形態に従うと、シングルルートＩＯＶ（Single Root IOV：ＳＲ−ＩＯＶ）は、ハードウェア仮想化によって、物理装置がその同じ装置の複数の独立した軽量のインスタンスとして現われることを可能にし得る。これらのインスタンスは、パススルー装置としてＶＭに割当てることができ、仮想機能（Virtual Function：ＶＦ）としてアクセスすることができる。ハイパーバイザは、（１つのデバイスごとに）固有の、十分な機能を有する物理機能（Physical Function：ＰＦ）によってデバイスにアクセスする。ＳＲ−ＩＯＶは、純粋に直接的に割当てする際のスケーラビリティの問題を軽減する。しかしながら、ＳＲ−ＩＯＶによって提示される問題は、それがＶＭマイグレーションを損なう可能性があることである。これらのＩＯＶ技術の中でも、ＳＲ−ＩＯＶは、ほぼ固有の性能を維持しながらも、複数のＶＭから単一の物理デバイスに直接アクセスすることを可能にする手段を用いてＰＣＩ  Ｅｘｐｒｅｓｓ（ＰＣＩｅ）規格を拡張することができる。これにより、ＳＲ−ＩＯＶは優れた性能およびスケーラビリティを提供することができる。
【００４７】
ＳＲ−ＩＯＶは、ＰＣＩｅデバイスが、各々のゲストに１つの仮想デバイスを割当てることによって複数のゲスト間で共有することができる複数の仮想デバイスをエクスポーズすることを可能にする。各々のＳＲ−ＩＯＶデバイスは、少なくとも１つの物理機能（ＰＦ）と、１つ以上の関連付けられた仮想機能（ＶＦ）とを有する。ＰＦは、仮想マシンモニタ（virtual machine monitor：ＶＭＭ）またはハイパーバイザによって制御される通常のＰＣＩｅ機能であるのに対して、ＶＦは軽量のＰＣＩｅ機能である。各々のＶＦはそれ自体のベースアドレス（base address：ＢＡＲ）を有しており、固有のリクエスタＩＤが割当てられている。固有のリクエスタＩＤは、Ｉ／Ｏメモリ管理ユニット（I/O memory management unit：ＩＯＭＭＵ）がさまざまなＶＦへの／からのトラフィックストリームを区別することを可能にする。ＩＯＭＭＵはまた、メモリを適用して、ＰＦとＶＦとの間の変換を中断する。
【００４８】
しかし、残念ながら、直接的デバイス割当て技術は、仮想マシンのトランスペアレントなライブマイグレーションがデータセンタ最適化のために所望されるような状況においては、クラウドプロバイダにとって障壁となる。ライブマイグレーションの本質は、ＶＭのメモリ内容がリモートハイパーバイザにコピーされるという点である。さらに、ＶＭがソースハイパーバイザにおいて中断され、ＶＭの動作が宛先において再開される。ソフトウェアエミュレーション方法を用いる場合、ネットワークインターフェイスは、それらの内部状態がメモリに記憶され、さらにコピーされるように仮想的である。このため、ダウンタイムは数ミリ秒にまで減らされ得る。
【００４９】
しかしながら、ＳＲ−ＩＯＶなどの直接的デバイス割当て技術が用いられる場合、マイグレーションはより困難になる。このような状況においては、ネットワークインターフェイスの内部状態全体は、それがハードウェアに結び付けられているのでコピーすることができない。代わりに、ＶＭに割当てられたＳＲ−ＩＯＶ  ＶＦが分離され、ライブマイグレーションが実行されることとなり、新しいＶＦが宛先において付与されることとなる。インフィニバンドおよびＳＲ−ＩＯＶの場合、このプロセスがダウンタイムを数秒のオーダでもたらす可能性がある。さらに、ＳＲ−ＩＯＶ共有型ポートモデルにおいては、ＶＭのアドレスがマイグレーション後に変化することとなり、これにより、ＳＭにオーバーヘッドが追加され、基礎をなすネットワークファブリックの性能に対して悪影響が及ぼされることとなる。
【００５０】
インフィニバンドＳＲ−ＩＯＶアーキテクチャ−共有ポート
さまざまなタイプのＳＲ−ＩＯＶモデル（たとえば共有ポートモデル、仮想スイッチモデルおよび仮想ポートモデル）があり得る。
【００５１】
図４は、一実施形態に従った例示的な共有ポートアーキテクチャを示す。図に示されるように、ホスト３００（たとえばホストチャネルアダプタ）はハイパーバイザ３１０と対話し得る。ハイパーバイザ３１０は、さまざまな仮想機能３３０、３４０および３５０をいくつかの仮想マシンに割当て得る。同様に、物理機能はハイパーバイザ３１０によって処理することができる。
【００５２】
一実施形態に従うと、図４に示されるような共有ポートアーキテクチャを用いる場合、ホスト（たとえばＨＣＡ）は、物理機能３２０と仮想機能３３０、３５０、３５０との間において単一の共有ＬＩＤおよび共有キュー対（Queue Pair：ＱＰ）のスペースがあるネットワークにおいて単一のポートとして現われる。しかしながら、各々の機能（すなわち、物理機能および仮想機能）はそれら自体のＧＩＤを有し得る。
【００５３】
図４に示されるように、一実施形態に従うと、さまざまなＧＩＤを仮想機能および物理機能に割当てることができ、特別のキュー対であるＱＰ０およびＱＰ１（すなわちインフィニバンド管理パケットのために用いられる専用のキュー対）が物理機能によって所有される。これらのＱＰはＶＦにも同様にエクスポーズされるが、ＶＦはＱＰ０を使用することが許可されておらず（ＶＦからＱＰ０に向かって入来するすべてのＳＭＰが廃棄され）、ＱＰ１は、ＰＦが所有する実際のＱＰ１のプロキシとして機能し得る。
【００５４】
一実施形態に従うと、共有ポートアーキテクチャは、（仮想機能に割当てられることによってネットワークに付随する）ＶＭの数によって制限されることのない高度にスケーラブルなデータセンタを可能にし得る。なぜなら、ネットワークにおける物理的なマシンおよびスイッチによってＬＩＤスペースが消費されるだけであるからである。
【００５５】
しかしながら、共有ポートアーキテクチャの欠点は、トランスペアレントなライブマイグレーションを提供することができない点であり、これにより、フレキシブルなＶＭ配置についての可能性が妨害されてしまう。各々のＬＩＤが特定のハイパーバイザに関連付けられており、かつハイパーバイザ上に常駐するすべてのＶＭ間で共有されているので、マイグレートしているＶＭ（すなわち、宛先ハイパーバイザにマイグレートする仮想マシン）は、そのＬＩＤを宛先ハイパーバイザのＬＩＤに変更させなければならない。さらに、ＱＰ０アクセスが制限された結果、サブネットマネージャはＶＭの内部で実行させることができなくなる。
【００５６】
インフィニバンドＳＲ−ＩＯＶアーキテクチャモデル−仮想スイッチ（ｖＳｗｉｔｃｈ）
図５は、一実施形態に従った例示的なｖＳｗｉｔｃｈアーキテクチャを示す。図に示されるように、ホスト４００（たとえばホストチャネルアダプタ）はハイパーバイザ４１０と対話することができ、当該ハイパーバイザ４１０は、さまざまな仮想機能４３０、４４０および４５０をいくつかの仮想マシンに割当てることができる。同様に、物理機能はハイパーバイザ４１０によって処理することができる。仮想スイッチ４１５もハイパーバイザ４０１によって処理することができる。
【００５７】
一実施形態に従うと、ｖＳｗｉｔｃｈアーキテクチャにおいては、各々の仮想機能４３０、４４０、４５０は完全な仮想ホストチャネルアダプタ（virtual Host Channel Adapter：ｖＨＣＡ）であり、これは、ハードウェアにおいて、ＶＦに割当てられたＶＭに、ＩＢアドレス一式（たとえばＧＩＤ、ＧＵＩＤ、ＬＩＤ）および専用のＱＰスペースが割当てられていることを意味する。残りのネットワークおよびＳＭについては、ＨＣＡ４００は、仮想スイッチ４１５を介して追加のノードが接続されているスイッチのように見えている。ハイパーバイザ４１０はＰＦ４２０を用いることができ、（仮想機能に付与された）ＶＭはＶＦを用いる。
【００５８】
一実施形態に従うと、ｖＳｗｉｔｃｈアーキテクチャは、トランスペアレントな仮想化を提供する。しかしながら、各々の仮想機能には固有のＬＩＤが割当てられているので、利用可能な数のＬＩＤが速やかに消費される。同様に、多くのＬＩＤアドレスが（すなわち、各々の物理機能および各々の仮想機能ごとに１つずつ）使用されている場合、より多くの通信経路をＳＭによって演算しなければならず、それらのＬＦＴを更新するために、より多くのサブネット管理パケット（ＳＭＰ）をスイッチに送信しなければならない。たとえば、通信経路の演算は大規模ネットワークにおいては数分かかる可能性がある。ＬＩＤスペースが４９１５１個のユニキャストＬＩＤに制限されており、（ＶＦを介する）各々のＶＭとして、物理ノードおよびスイッチがＬＩＤを１つずつ占有するので、ネットワークにおける物理ノードおよびスイッチの数によってアクティブなＶＭの数が制限されてしまい、逆の場合も同様に制限される。
【００５９】
インフィニバンドＳＲ−ＩＯＶアーキテクチャモデル−仮想ポート（ｖＰｏｒｔ）
図６は、一実施形態に従った例示的なｖＰｏｒｔの概念を示す。図に示されるように、ホスト３００（たとえばホストチャネルアダプタ）は、さまざまな仮想機能３３０、３４０および３５０をいくつかの仮想マシンに割当てることができるハイパーバイザ４１０と対話することができる。同様に、物理機能はハイパーバイザ３１０によって処理することができる。
【００６０】
一実施形態に従うと、ベンダーに実装の自由を与えるためにｖＰｏｒｔ概念は緩やかに定義されており（たとえば、当該定義では、実装がＳＲＩＯＶ専用とすべきであるとは規定されていない）、ｖＰｏｒｔの目的は、ＶＭがサブネットにおいて処理される方法を標準化することである。ｖＰｏｒｔ概念であれば、空間ドメインおよび性能ドメインの両方においてよりスケーラブルであり得る、ＳＲ−ＩＯＶ共有のポートのようなアーキテクチャおよびｖＳｗｉｔｃｈのようなアーキテクチャの両方、または、これらのアーキテクチャの組合せが規定され得る。また、ｖＰｏｒｔはオプションのＬＩＤをサポートするとともに、共有のポートとは異なり、ＳＭは、ｖＰｏｒｔが専用のＬＩＤを用いていなくても、サブネットにおいて利用可能なすべてのｖＰｏｒｔを認識する。
【００６１】
インフィニバンドＳＲ−ＩＯＶアーキテクチャモデル−ＬＩＤが予めポピュレートされたｖＳｗｉｔｃｈ
一実施形態に従うと、本開示は、ＬＩＤが予めポピュレートされたｖＳｗｉｔｃｈアーキテクチャを提供するためのシステムおよび方法を提供する。
【００６２】
図７は、一実施形態に従った、ＬＩＤが予めポピュレートされた例示的なｖＳｗｉｔｃｈアーキテクチャを示す。図に示されるように、いくつかのスイッチ５０１〜５０４は、ネットワーク切替環境６００（たとえばＩＢサブネット）内においてインフィニバンドファブリックなどのファブリックのメンバ間で通信を確立することができる。ファブリックはホストチャネルアダプタ５１０、５２０、５３０などのいくつかのハードウェアデバイスを含み得る。さらに、ホストチャネルアダプタ５１０、５２０および５３０は、それぞれ、ハイパーバイザ５１１、５２１および５３１と対話することができる。各々のハイパーバイザは、さらに、ホストチャネルアダプタと共に、いくつかの仮想機能５１４、５１５、５１６、５２４、５２５、５２６、５３４、５３５および５３６と対話し、設定し、いくつかの仮想マシンに割当てることができる。たとえば、仮想マシン１  ５５０はハイパーバイザ５１１によって仮想機能１  ５１４に割当てることができる。ハイパーバイザ５１１は、加えて、仮想マシン２  ５５１を仮想機能２  ５１５に割当て、仮想マシン３  ５５２を仮想機能３  ５１６に割当てることができる。ハイパーバイザ５３１は、さらに、仮想マシン４  ５５３を仮想機能１  ５３４に割当てることができる。ハイパーバイザは、ホストチャネルアダプタの各々の上で十分な機能を有する物理機能５１３、５２３および５３３を介してホストチャネルアダプタにアクセスすることができる。
【００６３】
一実施形態に従うと、スイッチ５０１〜５０４の各々はいくつかのポート（図示せず）を含み得る。いくつかのポートは、ネットワーク切替環境６００内においてトラフィックを方向付けるためにリニアフォワーディングテーブルを設定するのに用いられる。
【００６４】
一実施形態に従うと、仮想スイッチ５１２、５２２および５３２は、それぞれのハイパーバイザ５１１、５２１、５３１によって処理することができる。このようなｖＳｗｉｔｃｈアーキテクチャにおいては、各々の仮想機能は完全な仮想ホストチャネルアダプタ（ｖＨＣＡ）であり、これは、ハードウェアにおいて、ＶＦに割当てられたＶＭに、ＩＢアドレス一式（たとえばＧＩＤ、ＧＵＩＤ、ＬＩＤ）および専用のＱＰスペースが割当てられていることを意味する。残りのネットワークおよびＳＭ（図示せず）については、ＨＣＡ５１０、５２０および５３０は、仮想スイッチを介して追加のノードが接続されているスイッチのように見えている。
【００６５】
一実施形態に従うと、本開示は、ＬＩＤが予めポピュレートされたｖＳｗｉｔｃｈアーキテクチャを提供するためのシステムおよび方法を提供する。図７を参照すると、ＬＩＤは、さまざまな物理機能５１３、５２３および５３３に、さらには、仮想機能５１４〜５１６、５２４〜５２６、５３４〜５３６（その時点でアクティブな仮想マシンに関連付けられていない仮想機能であっても）にも、予めポピュレートされている。たとえば、物理機能５１３はＬＩＤ１が予めポピュレートされており、仮想機能１  ５３４はＬＩＤ１０が予めポピュレートされている。ネットワークがブートされているとき、ＬＩＤはＳＲ−ＩＯＶ  ｖＳｗｉｔｃｈ対応のサブネットにおいて予めポピュレートされている。ＶＦのすべてがネットワークにおけるＶＭによって占有されていない場合であっても、ポピュレートされたＶＦには、図７に示されるようにＬＩＤが割当てられている。
【００６６】
一実施形態に従うと、多くの同様の物理的なホストチャネルアダプタが２つ以上のポートを有することができ（冗長性のために２つのポートが共用となっている）、仮想ＨＣＡも２つのポートで表わされ、１つまたは２つ以上の仮想スイッチを介して外部ＩＢサブネットに接続され得る。
【００６７】
一実施形態に従うと、ＬＩＤが予めポピュレートされたｖＳｗｉｔｃｈアーキテクチャにおいては、各々のハイパーバイザは、それ自体のための１つのＬＩＤをＰＦを介して消費し、各々の追加のＶＦごとに１つ以上のＬＩＤを消費することができる。ＩＢサブネットにおけるすべてのハイパーバイザにおいて利用可能なすべてのＶＦを合計すると、サブネットにおいて実行することが可能なＶＭの最大量が得られる。たとえば、サブネット内の１ハイパーバイザごとに１６個の仮想機能を備えたＩＢサブネットにおいては、各々のハイパーバイザは、サブネットにおいて１７個のＬＩＤ（１６個の仮想機能ごとに１つのＬＩＤと、物理機能のために１つのＬＩＤ）を消費する。このようなＩＢサブネットにおいては、単一のサブネットについて理論上のハイパーバイザ限度は利用可能なユニキャストＬＩＤの数によって規定されており、（４９１５１個の利用可能なＬＩＤをハイパーバイザごとに１７個のＬＩＤで割って得られる）２８９１であり、ＶＭの総数（すなわち限度）は（ハイパーバイザごとに２８９１個のハイパーバイザに１６のＶＦを掛けて得られる）４６２５６である（実質的には、ＩＢサブネットにおける各々のスイッチ、ルータまたは専用のＳＭノードが同様にＬＩＤを消費するので、これらの数は実際にはより小さくなる）。なお、ｖＳｗｉｔｃｈが、ＬＩＤをＰＦと共有することができるので、付加的なＬＩＤを占有する必要がないことに留意されたい。
【００６８】
一実施形態に従うと、ＬＩＤが予めポピュレートされたｖＳｗｉｔｃｈアーキテクチャにおいては、ネットワークが一旦ブートされると、すべてのＬＩＤについて通信経路が計算される。新しいＶＭを始動させる必要がある場合、システムは、サブネットにおいて新しいＬＩＤを追加する必要はない。それ以外の場合、経路の再計算を含め、ネットワークを完全に再構成させ得る動作は、最も時間を消費する要素となる。代わりに、ＶＭのための利用可能なポートはハイパーバイザのうちの１つに位置し（すなわち利用可能な仮想機能）、仮想マシンは利用可能な仮想機能に付与されている。
【００６９】
一実施形態に従うと、ＬＩＤが予めポピュレートされたｖＳｗｉｔｃｈアーキテクチャはまた、同じハイパーバイザによってホストされているさまざまなＶＭに達するために、さまざまな経路を計算して用いる能力を可能にする。本質的には、これは、ＬＩＤを連続的にすることを必要とするＬＭＣの制約によって拘束されることなく、１つの物理的なマシンに向かう代替的な経路を設けるために、このようなサブネットおよびネットワークがＬＩＤマスク制御ライク（LID-Mask-Control-like：ＬＭＣライク）な特徴を用いることを可能にする。ＶＭをマイグレートしてその関連するＬＩＤを宛先に送達する必要がある場合、不連続なＬＩＤを自由に使用できることは特に有用となる。
【００７０】
一実施形態に従うと、ＬＩＤが予めポピュレートされたｖＳｗｉｔｃｈアーキテクチャについての上述の利点と共に、いくつかの検討事項を考慮に入れることができる。たとえば、ネットワークがブートされているときに、ＳＲ−ＩＯＶ  ｖＳｗｉｔｃｈ対応のサブネットにおいてＬＩＤが予めポピュレートされているので、（たとえば起動時の）最初の経路演算はＬＩＤが予めポピュレートされていなかった場合よりも時間が長くかかる可能性がある。
【００７１】
インフィニバンドＳＲ−ＩＯＶアーキテクチャモデル−動的ＬＩＤ割当てがなされたｖＳｗｉｔｃｈ
一実施形態に従うと、本開示は、動的ＬＩＤ割当てがなされたｖＳｗｉｔｃｈアーキテクチャを提供するためのシステムおよび方法を提供する。
【００７２】
図８は、一実施形態に従った、動的ＬＩＤ割当てがなされた例示的なｖＳｗｉｔｃｈアーキテクチャを示す。図に示されるように、いくつかのスイッチ５０１〜５０４は、ネットワーク切替環境７００（たとえばＩＢサブネット）内においてインフィニバンドファブリックなどのファブリックのメンバ間で通信を確立することができる。ファブリックは、ホストチャネルアダプタ５１０、５２０、５３０などのいくつかのハードウェアデバイスを含み得る。ホストチャネルアダプタ５１０、５２０および５３０は、さらに、ハイパーバイザ５１１、５２１および５３１とそれぞれ対話することができる。各々のハイパーバイザは、さらに、ホストチャネルアダプタと共に、いくつかの仮想機能５１４、５１５、５１６、５２４、５２５、５２６、５３４、５３５および５３６と対話し、設定し、いくつかの仮想マシンに割当てることができる。たとえば、仮想マシン１  ５５０はハイパーバイザ５１１によって仮想機能１  ５１４に割当てることができる。ハイパーバイザ５１１は、加えて、仮想マシン２  ５５１を仮想機能２  ５１５に割当て、仮想マシン３  ５５２を仮想機能３  ５１６に割当てることができる。ハイパーバイザ５３１はさらに、仮想マシン４  ５５３を仮想機能１  ５３４に割当てることができる。ハイパーバイザは、ホストチャネルアダプタの各々の上において十分な機能を有する物理機能５１３、５２３および５３３を介してホストチャネルアダプタにアクセスすることができる。
【００７３】
一実施形態に従うと、スイッチ５０１〜５０４の各々はいくつかのポート（図示せず）を含み得る。いくつかのポートは、ネットワーク切替環境７００内においてトラフィックを方向付けるためにリニアフォワーディングテーブルを設定するのに用いられる。
【００７４】
一実施形態に従うと、仮想スイッチ５１２、５２２および５３２は、それぞれのハイパーバイザ５１１、５２１および５３１によって処理することができる。このようなｖＳｗｉｔｃｈアーキテクチャにおいては、各々の仮想機能は完全な仮想ホストチャネルアダプタ（ｖＨＣＡ）であり、これは、ハードウェアにおいて、ＶＦに割当てられたＶＭに、ＩＢアドレス一式（たとえばＧＩＤ、ＧＵＩＤ、ＬＩＤ）および専用のＱＰスペースが割当てられていることを意味する。残りのネットワークおよびＳＭ（図示せず）については、ＨＣＡ５１０、５２０および５３０は、仮想スイッチを介して、追加のノードが接続されているスイッチのように見えている。
【００７５】
一実施形態に従うと、本開示は、動的ＬＩＤ割当てがなされたｖＳｗｉｔｃｈアーキテクチャを提供するためのシステムおよび方法を提供する。図８を参照すると、ＬＩＤには、さまざまな物理機能５１３、５２３および５３３が動的に割当てられており、物理機能５１３がＬＩＤ１を受取り、物理機能５２３がＬＩＤ２を受取り、物理機能５３３がＬＩＤ３を受取る。アクティブな仮想マシンに関連付けられたそれらの仮想機能はまた、動的に割当てられたＬＩＤを受取ることもできる。たとえば、仮想マシン１  ５５０がアクティブであり、仮想機能１  ５１４に関連付けられているので、仮想機能５１４にはＬＩＤ５が割当てられ得る。同様に、仮想機能２  ５１５、仮想機能３  ５１６および仮想機能１  ５３４は、各々、アクティブな仮想機能に関連付けられている。このため、これらの仮想機能にＬＩＤが割当てられ、ＬＩＤ７が仮想機能２  ５１５に割当てられ、ＬＩＤ１１が仮想機能３  ５１６に割当てられ、ＬＩＤ９が仮想機能１  ５３４に割当てられている。ＬＩＤが予めポピュレートされたｖＳｗｉｔｃｈとは異なり、アクティブな仮想マシンにその時点で関連付けられていない仮想機能はＬＩＤの割当てを受けない。
【００７６】
一実施形態に従うと、動的ＬＩＤ割当てがなされていれば、最初の経路演算を実質的に減らすことができる。ネットワークが初めてブートしており、ＶＭが存在していない場合、比較的少数のＬＩＤを最初の経路計算およびＬＦＴ分配のために用いることができる。
【００７７】
一実施形態に従うと、多くの同様の物理的なホストチャネルアダプタが２つ以上のポートを有することができ（冗長性のために２つのポートが共用となっている）、仮想ＨＣＡも２つのポートで表わされ、１つまたは２つ以上の仮想スイッチを介して外部ＩＢサブネットに接続され得る。
【００７８】
一実施形態に従うと、動的ＬＩＤ割当てがなされたｖＳｗｉｔｃｈを利用するシステムにおいて新しいＶＭが作成される場合、どのハイパーバイザ上で新しく追加されたＶＭをブートすべきであるかを決定するために、自由なＶＭスロットが発見され、固有の未使用のユニキャストＬＩＤも同様に発見される。しかしながら、新しく追加されたＬＩＤを処理するためのスイッチのＬＦＴおよびネットワークに既知の経路が存在しない。新しく追加されたＶＭを処理するために新しいセットの経路を演算することは、いくつかのＶＭが毎分ごとにブートされ得る動的な環境においては望ましくない。大規模なＩＢサブネットにおいては、新しい１セットのルートの演算には数分かかる可能性があり、この手順は、新しいＶＭがブートされるたびに繰返されなければならないだろう。
【００７９】
有利には、一実施形態に従うと、ハイパーバイザにおけるすべてのＶＦがＰＦと同じアップリンクを共有しているので、新しいセットのルートを演算する必要はない。ネットワークにおけるすべての物理スイッチのＬＦＴを繰返し、（ＶＭが作成されている）ハイパーバイザのＰＦに属するＬＩＤエントリから新しく追加されたＬＩＤにフォワーディングポートをコピーし、かつ、特定のスイッチの対応するＬＦＴブロックを更新するために単一のＳＭＰを送信するだけでよい。これにより、当該システムおよび方法では、新しいセットのルートを演算する必要がなくなる。
【００８０】
一実施形態に従うと、動的ＬＩＤ割当てアーキテクチャを備えたｖＳｗｉｔｃｈにおいて割当てられたＬＩＤは連続的である必要はない。各々のハイパーバイザ上のＶＭ上で割当てられたＬＩＤをＬＩＤが予めポピュレートされたｖＳｗｉｔｃｈと動的ＬＩＤ割当てがなされたｖＳｗｉｔｃｈとで比較すると、動的ＬＩＤ割当てアーキテクチャにおいて割当てられたＬＩＤが不連続であり、そこに予めポピュレートされたＬＩＤが本質的に連続的であることが分かるだろう。さらに、ｖＳｗｉｔｃｈ動的ＬＩＤ割当てアーキテクチャにおいては、新しいＶＭが作成されると、次に利用可能なＬＩＤが、ＶＭの生存期間の間中ずっと用いられる。逆に、ＬＩＤが予めポピュレートされたｖＳｗｉｔｃｈにおいては、各々のＶＭは、対応するＶＦに既に割当てられているＬＩＤを引継ぎ、ライブマイグレーションのないネットワークにおいては、所与のＶＦに連続的に付与されたＶＭが同じＬＩＤを得る。
【００８１】
一実施形態に従うと、動的ＬＩＤ割当てアーキテクチャを備えたｖＳｗｉｔｃｈは、いくらかの追加のネットワークおよびランタイムＳＭオーバーヘッドを犠牲にして、予めポピュレートされたＬＩＤアーキテクチャモデルを備えたｖＳｗｉｔｃｈの欠点を解決することができる。ＶＭが作成されるたびに、作成されたＶＭに関連付けられた、新しく追加されたＬＩＤで、サブネットにおける物理スイッチのＬＦＴが更新される。この動作のために、１スイッチごとに１つのサブネット管理パケット（ＳＭＰ）が送信される必要がある。各々のＶＭがそのホストハイパーバイザと同じ経路を用いているので、ＬＭＣのような機能も利用できなくなる。しかしながら、すべてのハイパーバイザに存在するＶＦの合計に対する制限はなく、ＶＦの数は、ユニキャストＬＩＤの限度を上回る可能性もある。このような場合、当然、アクティブなＶＭ上でＶＦのすべてが必ずしも同時に付与されることが可能になるわけではなく、より多くの予備のハイパーバイザおよびＶＦを備えることにより、ユニキャストＬＩＤ限度付近で動作する際に、断片化されたネットワークの障害を回復および最適化させるための融通性が追加される。
【００８２】
インフィニバンドＳＲ−ＩＯＶアーキテクチャモデル−動的ＬＩＤ割当てがなされかつＬＩＤが予めポピュレートされたｖＳｗｉｔｃｈ
図９は、一実施形態に従った、動的ＬＩＤ割当てがなされてＬＩＤが予めポピュレートされたｖＳｗｉｔｃｈを備えた例示的なｖＳｗｉｔｃｈアーキテクチャを示す。図に示されるように、いくつかのスイッチ５０１〜５０４は、ネットワーク切替環境８００（たとえばＩＢサブネット）内においてインフィニバンドファブリックなどのファブリックのメンバ間で通信を確立することができる。ファブリックはホストチャネルアダプタ５１０、５２０、５３０などのいくつかのハードウェアデバイスを含み得る。ホストチャネルアダプタ５１０、５２０および５３０は、それぞれ、さらに、ハイパーバイザ５１１、５２１および５３１と対話することができる。各々のハイパーバイザは、さらに、ホストチャネルアダプタと共に、いくつかの仮想機能５１４、５１５、５１６、５２４、５２５、５２６、５３４、５３５および５３６と対話し、設定し、いくつかの仮想マシンに割当てることができる。たとえば、仮想マシン１  ５５０は、ハイパーバイザ５１１によって仮想機能１  ５１４に割当てることができる。ハイパーバイザ５１１は、加えて、仮想マシン２  ５５１を仮想機能２  ５１５に割当てることができる。ハイパーバイザ５２１は、仮想マシン３  ５５２を仮想機能３  ５２６に割当てることができる。ハイパーバイザ５３１は、さらに、仮想マシン４  ５５３を仮想機能２  ５３５に割当てることができる。ハイパーバイザは、ホストチャネルアダプタの各々の上において十分な機能を有する物理機能５１３、５２３および５３３を介してホストチャネルアダプタにアクセスすることができる。
【００８３】
一実施形態に従うと、スイッチ５０１〜５０４の各々はいくつかのポート（図示せず）を含み得る。これらいくつかのポートは、ネットワーク切替環境８００内においてトラフィックを方向付けるためにリニアフォワーディングテーブルを設定するのに用いられる。
【００８４】
一実施形態に従うと、仮想スイッチ５１２、５２２および５３２は、それぞれのハイパーバイザ５１１、５２１、５３１によって処理することができる。このようなｖＳｗｉｔｃｈアーキテクチャにおいては、各々の仮想機能は、完全な仮想ホストチャネルアダプタ（ｖＨＣＡ）であり、これは、ハードウェアにおいて、ＶＦに割当てられたＶＭに、ＩＢアドレス一式（たとえばＧＩＤ、ＧＵＩＤ、ＬＩＤ）および専用のＱＰスペースが割当てられていることを意味する。残りのネットワークおよびＳＭ（図示せず）については、ＨＣＡ５１０、５２０および５３０は、仮想スイッチを介して、追加のノードが接続されているスイッチのように見えている。
【００８５】
一実施形態に従うと、本開示は、動的ＬＩＤ割当てがなされＬＩＤが予めポピュレートされたハイブリッドｖＳｗｉｔｃｈアーキテクチャを提供するためのシステムおよび方法を提供する。図９を参照すると、ハイパーバイザ５１１には、予めポピュレートされたＬＩＤアーキテクチャを備えたｖＳｗｉｔｃｈが配置され得るとともに、ハイパーバイザ５２１には、ＬＩＤが予めポピュレートされて動的ＬＩＤ割当てがなされたｖＳｗｉｔｃｈが配置され得る。ハイパーバイザ５３１には、動的ＬＩＤ割当てがなされたｖＳｗｉｔｃｈが配置され得る。このため、物理機能５１３および仮想機能５１４〜５１６には、それらのＬＩＤが予めポピュレートされている（すなわち、アクティブな仮想マシンに付与されていない仮想機能であってもＬＩＤが割当てられている）。物理機能５２３および仮想機能１  ５２４にはそれらのＬＩＤが予めポピュレートされ得るとともに、仮想機能２  ５２５および仮想機能３  ５２６にはそれらのＬＩＤが動的に割当てられている（すなわち、仮想機能２  ５２５は動的ＬＩＤ割当てのために利用可能であり、仮想機能３  ５２６は、仮想マシン３  ５５２が付与されているので、１１というＬＩＤが動的に割当てられている）。最後に、ハイパーバイザ３  ５３１に関連付けられた機能（物理機能および仮想機能）にはそれらのＬＩＤを動的に割当てることができる。これにより、結果として、仮想機能１  ５３４および仮想機能３  ５３６が動的ＬＩＤ割当てのために利用可能となるとともに、仮想機能２  ５３５には、仮想マシン４  ５５３が付与されているので、９というＬＩＤが動的に割当てられている。
【００８６】
ＬＩＤが予めポピュレートされたｖＳｗｉｔｃｈおよび動的ＬＩＤ割当てがなされたｖＳｗｉｔｃｈがともに（いずれかの所与のハイパーバイザ内で独立して、または組合わされて）利用されている、図９に示されるような一実施形態に従うと、ホストチャネルアダプタごとの予めポピュレートされたＬＩＤの数はファブリックアドミニストレータによって定義することができ、（ホストチャネルアダプタごとに）０＜＝予めポピュレートされたＶＦ＜＝総ＶＦの範囲内になり得る。動的ＬＩＤ割当てのために利用可能なＶＦは、（ホストチャネルアダプタごとに）ＶＦの総数から予めポピュレートされたＶＦの数を減じることによって見出すことができる。
【００８７】
一実施形態に従うと、多くの同様の物理的なホストチャネルアダプタが２つ以上のポートを有することができ（冗長性のために２つのポートが共用となっている）、仮想ＨＣＡも２つのポートで表わされ、１つまたは２つ以上の仮想スイッチを介して外部ＩＢサブネットに接続され得る。
【００８８】
インフィニバンド−サブネット間通信（ファブリックマネージャ）
一実施形態によれば、本開示の実施形態は、単一サブネット内にインフィニバンドファブリックを提供することに加えて、２つ以上のサブネットにまたがるインフィニバンドファブリックを提供することもできる。
【００８９】
図１０は、一実施形態による例示的なマルチサブネットインフィニバンドファブリックを示す。図に示すように、サブネットＡ１０００内では、ある数のスイッチ１００１〜１００４が、サブネットＡ１０００（例えば、ＩＢサブネット）内において、インフィニバンドファブリックなどのファブリックのメンバ間において通信を提供することができる。ファブリックは、例えば、チャネルアダプタ１０１０などのある数のハードウェアデバイスを含むことができる。ホストチャネルアダプタ１０１０は、次いで、ハイパーバイザ１０１１と対話することができる。ハイパーバイザは、次いで、それが対話するホストチャネルアダプタと関連して、ある数の仮想機能１０１４をセットアップすることができる。ハイパーバイザは、加えて、仮想マシンを仮想機能の各々に割り当てることができ、仮想マシン１  １０１０５が仮想機能１  １０１４に割り当てられるなどする。ハイパーバイザは、各ホストチャネルアダプタ上において、物理機能１０１３など、十分な機能を有する物理機能を介して、それらの関連付けられるホストチャネルアダプタにアクセスできる。サブネットＢ１０４０内では、ある数のスイッチ１０２１〜１０２４が、サブネットＢ１０４０（例えば、ＩＢサブネット）内において、インフィニバンドファブリックなどのファブリックのメンバ間において通信を提供することができる。ファブリックは、例えば、チャネルアダプタ１０３０などのある数のハードウェアデバイスを含むことができる。ホストチャネルアダプタ１０３０は、次いで、ハイパーバイザ１０３１と対話することができる。ハイパーバイザは、次いで、それが対話するホストチャネルアダプタと関連して、ある数の仮想機能１０３４をセットアップすることができる。ハイパーバイザは、加えて、仮想マシンを仮想機能の各々に割り当てることができ、仮想マシン２  １０３５が仮想機能２  １０３４に割り当てられるなどする。ハイパーバイザは、各ホストチャネルアダプタ上において、物理機能１０３３など、十分な機能を有する物理機能を介して、それらの関連付けられるホストチャネルアダプタにアクセスできる。各サブネット（すなわち、サブネットＡおよびサブネットＢ）内には１つのホストチャネルアダプタしか示されていないが、複数のホストチャネルアダプタおよびそれらの対応するコンポーネントを各サブネット内に含めることができることを理解されたい。
【００９０】
一実施形態によれば、ホストチャネルアダプタの各々は、仮想スイッチ１０１２および仮想スイッチ１０３２などの仮想スイッチにさらに関連付けることができ、各ＨＣＡは、上述したように、異なるアーキテクチャモデルでセットアップすることができる。図１０内の両方のサブネットは、事前にポピュレートされたＬＩＤアーキテクチャモデルを有するｖＳｗｉｔｃｈを使用しているように示されているが、これはすべてのそのようなサブネット構成が同様のアーキテクチャモデルに従わなければならないことを意味するものではない。
【００９１】
一実施形態によれば、各サブネット内の少なくとも１つのスイッチはルータに関連付けられることができ、サブネットＡ１０００内のスイッチ１００２はルータ１００５に関連付けられ、サブネットＢ１０４０内のスイッチ１０２１はルータ１００６に関連付けられるなどする。
【００９２】
一実施形態によれば、少なくとも１つのデバイス（例えば、スイッチ、ノードなど）をファブリックマネージャ（図示せず）に関連付けることができる。ファブリックマネージャは、例えば、サブネット間ファブリックトポロジを発見し、ファブリックプロファイル（例えば、仮想マシンファブリックプロファイル）を作成し、仮想マシンファブリックプロファイルを構築するための基礎を形成する仮想マシン関連データベースオブジェクトを構築するために使用することができる。加えて、ファブリックマネージャは、どのサブネットがどのパーティション番号を使用してどのルータポートを介して通信することが許可されているかに関して、法的なサブネット間接続を定義することができる。
【００９３】
一実施形態によれば、サブネットＡ内の仮想マシン１などの発信元でのトラフィックが、サブネットＢ内の仮想マシン２などの異なるサブネットの宛先にアドレス指定されている場合、トラフィックはサブネットＡ内のルータ、すなわちルータ１００５にアドレス指定され、ルータ１００５は次いでそのトラフィックをルータ１００６とのそれのリンクを介してサブネットＢに渡すことができる。
【００９４】
スイッチポートステータスのスケーラブルな表現
実施形態によれば、ＩＢ規格の下で、リンクステータスの変化を観察するために、ＩＢ規格は、任意のポート状態がいつ変化したかを示し得る、各ポート（例えば、任意の所与のスイッチまたは仮想スイッチにおける各ポート）における属性を定義する。ＳＭがファブリック内の任意のポートにおけるステータスが状態を変更したかどうかを判断するために、ＳＭは各ポートに対してサブネット管理パケットを送信して、ポートステータスが変化したかどうかを判断しなければならない。
【００９５】
一実施形態によれば、ファブリック内のポートステータスを判断するための上記定義された方法は、ほとんど静的なファブリック（例えば、ポートステータスの変化が頻繁に起こらない物理的エンドノードから構成されたファブリック）に対しては上手く働くが、この方法は、仮想化されたファブリック（例えば、動的に作成された仮想マシンによって使用される仮想ＨＣＡの導入を伴い、仮想ＨＣＡポートを相互接続するためにｖＳｗｉｔｃｈアーキテクチャが使用される）、および非常に大きな物理的ファブリック構成に対しては、上手くスケーリングしない。
【００９６】
一実施形態によれば、スイッチポートステータスのスケーラブルな表現を提供することができる。各スイッチ（物理および仮想の両方）においてスイッチポートステータスのスケーラブルな表現を追加することにより、スイッチポートのすべての変更を個別に取得する代わりに、スイッチポートステータスのスケーラブルな表現は、各ポートのステータスごとに数ビットの情報を使用するだけでスケーリングできるある数のポートを組み合わせることができる。
【００９７】
一実施形態によれば、スイッチポートステータスのスケーラブルな表現は、各スイッチにおける固定されたサイズのメッセージであることができ、固定されたサイズのメッセージは、それに関連付けられるスイッチにおけるポートの全部または部分集合のすべてのポートステータス情報を表すことができる。これは、スケーラブルな表現が仮想スイッチおよびその関連付けられるポートを動的に表すことができるため、仮想化を使用するファブリックでは特に重要である。上述したように、仮想マシン（すなわち、仮想エンドノード）は、（例えば、性能上の利益のために）移動することができ、およびそうするよう設計され、それは、ファブリック内において物理スイッチおよび仮想スイッチ上で頻繁に変化するポートステータスを意味し得る。従来の規格は頻繁ではない変更に依存していた、つまり、ＳＭが最後のチェック以降に状態の変化が生じたかどうかを見るためにチェックした時、なんらかの変化が生じたことはありそうではなかった（デフォルト変化なし）ので、１回の操作でいずれかのポートに何らかの変化があった場合はＳＭは指示を受け、そうでない場合は次のスイッチに移行し得る。しかしながら、ポートに変化が発生する度毎に、ＳＭが個別にすべてのポートを検査しなければならなかった。しかしながら、仮想マシンでは、ＳＭはファブリック内のポートでより頻繁な状態変化を検出することが予想され得る。
【００９８】
一実施形態によれば、スイッチポートステータスのスケーラブルな表現は、１つの動作（すなわち１つのＳＭＰ）で、あるスイッチにおけるすべてのポートのすべての状態変化を観察する手段をＳＭに提供することができる固定されたサイズのメッセージ（例えば、スイッチ属性）とすることができる。これにより、ＳＭが他の態様では遭遇するであろうオーバーヘッドが低減され、各スイッチに照会してさらに処理が必要なポートを判断するべくＳＭ機構が最適化される。
【００９９】
一実施形態によれば、通常、スイッチにおける各ポートに対して１つのＳＭＰを送信しなければならないので、個々のスイッチポートについてリンクステータスを観察／チェックするには、複数のＳＭＰ動作が必要である。しかしながら、各リンクステータスを単一の属性に結合することにより、ＳＭは各スイッチに、より少ないＳＭＰを送信して、各ポートにおけるリンクステータスを発見することができ、かくしてトポロジ発見に必要なオーバーヘッドを低減できる。同様に、オーバーヘッドは、ＳＭがより多くの情報を取得するためにポート上で追加の動作を実行する必要があるかまたは新たな構成パラメータを設定する必要があるかをＳＭが判断するためにも、同様に低減される。
【０１００】
一実施形態によれば、スイッチポートステータスのスケーラブルな表現は、ポート／リンクステータスがスカラーオブジェクト（単一または複数ビット値）として表される属性とすることができる。スカラーオブジェクトが含まれるこの属性は、（仮想）スイッチの論理リンク状態をフェッチする圧縮された方法を提供できる。そのような属性は、ファブリックを介して様々なルートをバランスさせながら仮想リンクを無視するためにルーティングアルゴリズムによって追加的に使用することができる。
【０１０１】
一実施形態によれば、６４ビットのマスク値はすべてのスイッチをカバーするのに十分である（既存のスイッチは一般に６４個より少ないポートを有する）。しかしながら、より大きなスイッチが使用される場合、より高いポート範囲への属性修飾子索引付けの使用を通して、ビットマスク値に対するこのキャップを拡張することができる。
【０１０２】
一実施形態によれば、ＳＭがファブリック内のポート／リンクで何らかの状態変化が生じたかどうかを判断するために必要なＳＭＰの数を減らすことに加えて、スイッチポートステータスのスケーラブルな表現は、各ポートのリンクステータスが属性内のスカラーオブジェクトとして表現され得るため、ファブリックのトポロジのＳＭ発見を最適化することもできる。
【０１０３】
図１１は、一実施形態による、スイッチポートステータスのスケーラブルな表現を示す。より具体的には、図１１は、スイッチポートステータスのスケーラブルな表現を表す属性を有するスイッチを示す。
【０１０４】
一実施形態によれば、図１１に示すように、スイッチ１１００は、ポート１１１０〜１１３３などの、ある数のポートを備えることができる（図１１に示すポートの数は、インフィニバンドファブリックなどのファブリック内の所与のスイッチにおける通常のポート数を例示するものでもなければ示すものでもないことに留意されたい）。スイッチ１１００は、スイッチ１１００内のスイッチポート１１１０〜１１３３についてのスイッチポートステータス情報を表す固定されたサイズのメッセージであり得るスイッチポートステータス属性１１５０も備える。
【０１０５】
一実施形態によれば、サブネットマネージャ１１４０などの管理モジュールは、各ポートのステータスを判断するためにスイッチ１１００内の各ポートに対して１つのＳＭＰを送信する代わりに、１つのＳＭＰ１１４５を送信してスイッチポートステータス属性１１５０に照会することができる。ＳＭＰは、チェック時に各ポート１１１０〜１１３３のステータスを中継できる。
【０１０６】
図１２は、一実施形態による、拡張リンクステータスのスケーラブルな表現を示す図である。より具体的には、図１２は、拡張リンクステータスのスケーラブル表現を表す属性を有するスイッチを示す。
【０１０７】
一実施形態によれば、図１２に示すように、スイッチ１１００は、ポート１１１０〜１１３３などの、ある数のポートを備えることができる（図１２に示すポートの数は、インフィニバンドファブリックなどのファブリック内の所与のスイッチにおける通常のポート数を例示するものでもなければ示すものでもないことに留意されたい）。スイッチ１１００は、スイッチ１１００内のスイッチポート１１１０〜１１３３に接続される任意のリンクのステータスを表す固定されたサイズのメッセージであり得る拡張リンクステータス属性１２５０も備える。
【０１０８】
一実施形態によれば、サブネットマネージャ１１４０などの管理モジュールは、各ポートにおける拡張リンクステータスを判断するためにスイッチ１１００内の各ポートに対して１つのＳＭＰを送信する代わりに、１つのＳＭＰ１２４５を送信して拡張リンクステータス属性１２５０に照会することができる。ＳＭＰは、チェック時に各ポート１１１０〜１１３３ステータスについてのリンクステータスを中継できる。
【０１０９】
図１３は、一実施形態による、高性能コンピューティング環境においてスイッチポートステータスのスケーラブルな表現をサポートするための方法のフローチャートである。
【０１１０】
ステップ１３１０で、インフィニバンドサブネットマネージャなどの管理エンティティは、スイッチに管理パケットを送信して、管理パケットが送信されるスイッチにおける各ポートについてのスイッチポートステータスを要求することができる。
【０１１１】
ステップ１３２０において、管理パケットが送信されるスイッチは、管理パケットを受信することができる。
【０１１２】
ステップ１３３０で、スイッチは、それのスイッチポートの各々についてのステータスを、そのスイッチにおける各ポートについてのスイッチポートステータスを含む属性を介して、提供することができる。
【０１１３】
ステップ１３４０において、各スイッチポートについての要求されたステータスは、管理パケットを介してインフィニバンドサブネットマネージャなどの管理エンティティに中継することができる。
【０１１４】
図１４は、一実施形態による、高性能コンピューティング環境においてスイッチポートステータスのスケーラブルな表現をサポートするための方法のフローチャートである。ステップ１４１０において、この方法は、１つ以上のマイクロプロセッサを含む１つ以上のコンピュータに、少なくとも１つのサブネットを提供することができ、少なくとも１つのサブネットは、１つ以上のスイッチを含み、１つ以上のスイッチは少なくともリーフスイッチを含み、１つ以上のスイッチの各々は複数のポートを含み、１つ以上のスイッチの各々は少なくとも１つの属性を含み、少なくとも１つのサブネットはさらに、複数のホストチャネルアダプタを含み、複数のホストチャネルアダプタは、１つ以上のスイッチを介して相互接続され、少なくとも１つのサブネットはさらに、複数のエンドノードを含み、複数のエンドノードの各々は、複数のホストチャネルアダプタのうちの少なくとも１つのホストチャネルアダプタに関連付けられ、サブネットマネージャは１つ以上のスイッチの１つまたは複数のホストチャネルアダプタの１つで実行される。
【０１１５】
ステップ１４２０において、この方法は、１つ以上のスイッチ上の複数のポートの各ポートをスイッチポートステータスに関連付けることができる。
【０１１６】
ステップ１４３０において、この方法は、各スイッチ上の複数のポートの各ポートに関連付けられる各スイッチポートステータスを、関連付けられるスイッチにおける少なくとも１つの属性において表すことができる。
【０１１７】
スケーラブルなリンク安定性属性
図１５は、一実施形態による、リンク安定性のスケーラブルな表現を示す。より具体的には、図１５は、リンク安定性のスケーラブル表現を表す属性を有するスイッチを示す。
【０１１８】
一実施形態によれば、図１５に示すように、スイッチ１１００は、ポート１１１０〜１１３３などの、ある数のポートを備えることができる（図１５に示すポートの数は、インフィニバンドファブリックなどのファブリック内の所与のスイッチにおける通常のポート数を例示するものでもなければ示すものでもないことに留意されたい）。スイッチ１１００は、スイッチ１１００においてスイッチポート１１１０〜１１３３に接続される任意のリンクの安定性を表す固定されたサイズのメッセージであり得るリンク安定性属性１５５０も備える。
【０１１９】
一実施形態によれば、サブネットマネージャ１１４０などの管理モジュールは、各ポートにおけるリンク安定性を判断するためにスイッチ１１００内の各ポートに対して１つのＳＭＰを送信する代わりに、１つのＳＭＰ１５４５を送信してリンク安定性属性１５５０に照会することができる。ＳＭＰは、チェック時に各ポートの１１１０〜１１３３についてのリンク安定性を中継できる。
【０１２０】
一実施形態によれば、サブネット管理エージェント（ＳＭＡ）１５５５は、ある期間（例えば、可変または固定）にわたって、スイッチポート１１１０〜１１３３に接続されるリンクの安定性を監視することができる。そのような監視は、例えば、スイッチにおいて各ポートに接続される各リンクが、設定された期間中に遭遇したエラーの数を含むことができる。
【０１２１】
一実施形態によれば、スイッチ内の任意の所与のポートでＳＭＡ１５５５によって発見されたリンクエラーの数を用いて、リンク安定性属性１５５０を連続的に更新することができ、それをサブネットマネージャから単一のＳＭＰによって照会できる。有利なことに、このようなスケーラブルなリンク安定性属性を有することにより、ＳＭは、複数のＳＭＰを、１つのＳＭＰをあるノードにおいて各リンクをチェックするために送信するのではなく、１つのＳＭＰを介してサブネットにおける任意の所与のスイッチからリンク安定性情報を収集することができる。
【０１２２】
一実施形態によれば、開示された実施形態は、加えて、システムにおける任意の所与のノードにおける（すなわち、各ノードのＳＭＡを介しての）リンク安定性の継続的な監視および更新を可能にし、ＳＭが（例えば、Ｇｅｔ（）演算を介して）ＳＭが管理するサブネットにおいてノードに接続された各リンクについてのリンク安定性情報を収集することができるようにする。
【０１２３】
スケーラブルリンク可用性属性
図１６は、一実施形態による、リンク可用性のスケーラブルな表現を示す。より具体的には、図１６は、リンク可用性のスケーラブル表現を表す属性を有するスイッチを示す。
【０１２４】
一実施形態によれば、図１６に示すように、スイッチ１１００は、ポート１１１０〜１１３３などの、ある数のポートを備えることができる（図１６に示すポートの数は、インフィニバンドファブリックなどのファブリック内の所与のスイッチにおける通常のポート数を例示するものでもなければ示すものでもないことに留意されたい）。スイッチ１１００は、スイッチ１１００．７内のスイッチポート１１１０〜１１３３に接続される任意のリンクの可用性を表す固定されたサイズのメッセージであり得るリンク可用性属性１６５０も備える。
【０１２５】
一実施形態によれば、サブネットマネージャ１１４０などの管理モジュールは、各ポートにおけるリンク可用性を判断するためにスイッチ１１００内の各ポートに対して１つのＳＭＰを送信する代わりに、１つのＳＭＰ１６４５を送信してリンク可用性属性１６５０に照会することができる。ＳＭＰは、チェック時に各ポートの１１１０〜１１３３についてのリンク可用性を中継できる。
【０１２６】
一実施形態によれば、サブネット管理エージェント（ＳＭＡ）１６５５は、ある期間（例えば、可変または固定）にわたって、スイッチポート１１１０〜１１３３に接続されるリンクの可用性を監視することができる。そのような監視は、例えば、スイッチの各ポートに接続される各リンク上の輻輳のレベルを含むことができる。
【０１２７】
一実施形態によれば、ＳＭＡ１６５５によって判断される各リンク上の輻輳のレベルが高いほど、リンク可用性属性１６５０を継続的に更新するために使用することができ、それをサブネットマネージャから単一のＳＭＰによって照会できる。有利なことに、このようなスケーラブルなリンク可用性属性を有することにより、ＳＭは、複数のＳＭＰを、１つのＳＭＰをあるスイッチ／ノードにおいて各リンクをチェックするために送信するのではなく、１つのＳＭＰを介してサブネットにおける任意の所与のスイッチからリンク可用性情報を収集することができる。
【０１２８】
一実施形態によれば、開示された実施形態は、加えて、システムにおける任意の所与のノードにおける（すなわち、各ノードにおいてＳＭＡを介しての）リンク可用性の継続的な監視および更新を可能にし、ＳＭが（例えば、Ｇｅｔ（）演算を介して）ＳＭが管理するサブネットにおいてノードに接続された各リンクについてのリンク可用性情報を収集することができるようにする。
【０１２９】
図１７は、一実施形態による、高性能コンピューティング環境においてリンク安定性および可用性のスケーラブルな表現をサポートするための例示的な方法のフローチャートである。
【０１３０】
ステップ１７１０において、この方法は、１つ以上のマイクロプロセッサを含む１つ以上のコンピュータに、少なくとも１つのサブネットを提供することができ、少なくとも１つのサブネットは、１つ以上のスイッチを含み、１つ以上のスイッチは少なくともリーフスイッチを含み、１つ以上のスイッチの各々は複数のポートを含み、１つ以上のスイッチの各々は少なくとも１つの属性を含み、少なくとも１つのサブネットはさらに、複数のホストチャネルアダプタを含み、複数のホストチャネルアダプタは、１つ以上のスイッチを介して相互接続され、少なくとも１つのサブネットはさらに、複数のエンドノードを含み、複数のエンドノードの各々は、複数のホストチャネルアダプタのうちの少なくとも１つのホストチャネルアダプタに関連付けられ、少なくとも１つのサブネットはさらに、サブネットマネージャを含み、サブネットマネージャは１つ以上のスイッチの１つまたは複数のホストチャネルアダプタの１つで実行される。
【０１３１】
ステップ１７２０において、この方法は、１つ以上のスイッチの各々において、少なくとも１つの属性を提供することができる。
【０１３２】
ステップ１７３０において、この方法は、１つ以上のスイッチのうちのあるスイッチに複数のサブネット管理エージェント（ＳＭＡ）のうちのあるサブネット管理エージェントを提供することができる。
【０１３３】
ステップ１７４０において、この方法は、１つ以上のスイッチのうちのあるスイッチのＳＭＡによって、そのスイッチにおける複数のポートの各ポートにおけるリンク安定性およびリンク可用性のうちの少なくとも１つを監視することができる。
【０１３４】
一実施形態によれば、高性能コンピューティング環境においてリンク安定性および可用性のスケーラブルな表現をサポートするためのシステムは、１つ以上のマイクロプロセッサと、少なくとも１つのサブネットとを備え、少なくとも１つのサブネットは、１つ以上のスイッチを含み、１つ以上のスイッチは少なくともリーフスイッチを含み、１つ以上のスイッチの各々は複数のポートを含み、１つ以上のスイッチの各々は少なくとも１つの属性を含み、少なくとも１つのサブネットはさらに、複数のホストチャネルアダプタを含み、複数のホストチャネルアダプタは、１つ以上のスイッチを介して相互接続され、少なくとも１つのサブネットはさらに、複数のエンドノードを含み、複数のエンドノードの各々は、複数のホストチャネルアダプタのうちの少なくとも１つのホストチャネルアダプタに関連付けられ、少なくとも１つのサブネットはさらに、１つ以上のスイッチの１つまたは複数のホストチャネルアダプタの１つで実行されるサブネットマネージャを含み、１つ以上のスイッチの各々は少なくとも１つの属性を含み、複数のサブネット管理エージェント（ＳＭＡ）のうちのあるサブネット管理エージェントが、１つ以上のスイッチのうちのあるスイッチに提供され、１つ以上のスイッチのうちのあるスイッチのサブネット管理エージェントは、そのスイッチの複数のポートの各ポートにおけるリンク安定性およびそのスイッチにおける複数のポートの各ポートにおけるリンク可用性のうちの少なくとも１つを監視する。
【０１３５】
一実施形態によれば、上記システムは、１つ以上のスイッチのうちのあるスイッチのＳＭＡによって、そのスイッチの複数のポートの各ポートにおけるリンクの安定性を監視することをさらに備え、監視期間中、スイッチの複数のポートの各ポートに取り付けられる各リンクにおけるエラーの数をカウントすることを備え、ＳＭＡによって、スイッチの複数のポートの各ポートにおけるリンク安定性を監視した後、ＳＭＡは、各リンクについてカウントされたエラーの表現を少なくとも１つの属性に埋め込む。
【０１３６】
一実施形態によれば、上記システムにおいて、サブネットマネージャは、１つの動作を使用して１つ以上のスイッチのうちのあるスイッチ上の各ポートについてリンク安定性を判断する。
【０１３７】
一実施形態によれば、上記システムにおいて、１つの動作は、サブネット管理パケットを含む。
【０１３８】
一実施形態によれば、上記のシステムはさらに、１つ以上のスイッチのうちのあるスイッチのＳＭＡによって、そのスイッチの複数のポートの各ポートにおけるリンク可用性を監視することをさらに備え、監視期間中、スイッチの複数のポートの各ポートに取り付けられる各リンクにおけるトラフィック負荷を観測することを備え、ＳＭＡによって、スイッチの複数のポートの各ポートにおけるリンク可用性を監視した後、ＳＭＡは、各リンクについての観測されたトラフィック負荷の表現を少なくとも１つの属性内に埋め込む。
【０１３９】
一実施形態によれば、上記システムにおいて、サブネットマネージャは、１つの動作を使用して１つ以上のスイッチのうちのあるスイッチ上の各ポートについてリンク可用性を判断する。
【０１４０】
一実施形態によれば、上記システムにおいて、１つの動作は、サブネット管理パケットを含む。
【０１４１】
一実施形態によれば、高性能コンピューティング環境においてリンク安定性および可用性のスケーラブルな表現をサポートするための方法は、１つ以上のマイクロプロセッサを含む１つ以上のコンピュータに少なくとも１つのサブネットを提供することを備え、少なくとも１つのサブネットは、１つ以上のスイッチを含み、１つ以上のスイッチは少なくともリーフスイッチを含み、１つ以上のスイッチの各々は複数のポートを含み、少なくとも１つのサブネットはさらに、複数のホストチャネルアダプタを含み、複数のホストチャネルアダプタは、１つ以上のスイッチを介して相互接続され、少なくとも１つのサブネットはさらに、複数のエンドノードを含み、複数のエンドノードの各々は、複数のホストチャネルアダプタのうちの少なくとも１つのホストチャネルアダプタに関連付けられ、少なくとも１つのサブネットはさらに、１つ以上のスイッチの１つまたは複数のホストチャネルアダプタの１つで実行されるサブネットマネージャを含み、方法はさらに、１つ以上のスイッチの各々において少なくとも１つの属性を提供することと、複数のサブネット管理エージェント（ＳＭＡ）のうちのあるサブネット管理エージェントを１つ以上のスイッチのうちのあるスイッチに提供することと、１つ以上のスイッチのうちのあるスイッチのＳＭＡによって、そのスイッチの複数のポートの各ポートにおけるリンク安定性およびそのスイッチにおける複数のポートの各ポートにおけるリンク可用性のうちの少なくとも１つを監視することとを備える。
【０１４２】
一実施形態によれば、上記方法は、１つ以上のスイッチのうちのあるスイッチのＳＭＡによって、そのスイッチの複数のポートの各ポートにおけるリンクの安定性を監視することをさらに備え、監視期間中、スイッチの複数のポートの各ポートに取り付けられる各リンクにおけるエラーの数をカウントすることを備え、１つ以上のスイッチのうちのあるスイッチのＳＭＡによって、そのスイッチの複数のポートの各ポートにおけるリンク安定性を監視することが完了すると、ＳＭＡは、各リンクについてカウントされたエラーの表現を少なくとも１つの属性に埋め込む。
【０１４３】
一実施形態によれば、上記方法は、サブネットマネージャによって、１つの動作を使用して１つ以上のスイッチのうちのあるスイッチ上の各ポートについてリンク安定性を判断することを備える。
【０１４４】
一実施形態によれば、上記方法において、１つの動作は、サブネット管理パケットを含む。
【０１４５】
一実施形態によれば、上記の方法はさらに、１つ以上のスイッチのうちのあるスイッチのＳＭＡによって、そのスイッチの複数のポートの各ポートにおけるリンク可用性を監視することをさらに備え、監視期間中、スイッチの複数のポートの各ポートに取り付けられる各リンクにおけるトラフィック負荷を観測することと、監視期間中においてスイッチの複数のポートの各ポートにおけるリンク可用性を監視することが完了すると、ＳＭＡによって、各リンクについての観測されたトラフィック負荷の表現を少なくとも１つの属性内に埋め込むこととを備える。
【０１４６】
一実施形態によれば、上記方法において、サブネットマネージャは、１つの動作を使用して１つ以上のスイッチのうちの１つのスイッチ上の各ポートについてリンク可用性ステータスを判断する。
【０１４７】
一実施形態によれば、上記方法において、１つの動作は、サブネット管理パケットを含む。
【０１４８】
一実施形態によれば、高性能コンピューティング環境においてリンク安定性および可用性のスケーラブルな表現をサポートするための命令をそこに記憶して含む、非一時的なコンピュータ可読記憶媒体であって、命令は、１つ以上のコンピュータによって読み取られ実行されると、１つ以上のコンピュータに、１つ以上のマイクロプロセッサを含む１つ以上のコンピュータに、少なくとも１つのサブネットを提供することを含むステップを実行させ、少なくとも１つのサブネットは、１つ以上のスイッチを含み、１つ以上のスイッチは少なくともリーフスイッチを含み、１つ以上のスイッチの各々は、複数のスイッチポートを含み、少なくとも１つのサブネットはさらに、複数のホストチャネルアダプタを含み、複数のホストチャネルアダプタは、１つ以上のスイッチを介して相互接続され、少なくとも１つのサブネットはさらに、複数のエンドノードを含み、複数のエンドノードの各々は、複数のホストチャネルアダプタのうちの少なくとも１つのホストチャネルアダプタに関連付けられ、少なくとも１つのサブネットはさらに、１つ以上のスイッチの１つまたは複数のホストチャネルアダプタの１つで実行されるサブネットマネージャを含み、命令は、さらに、１つ以上のコンピュータによって読み取られ実行されると、１つ以上のコンピュータに、１つ以上のスイッチの各々において少なくとも１つの属性を提供することと、複数のサブネット管理エージェント（ＳＭＡ）のうちのあるサブネット管理エージェントを１つ以上のスイッチのうちのあるスイッチに提供することと、１つ以上のスイッチのうちのあるスイッチのＳＭＡによって、そのスイッチの複数のポートの各ポートにおけるリンク安定性およびそのスイッチにおける複数のポートの各ポートにおけるリンク可用性のうちの少なくとも１つを監視することとを含むステップを実行させる。
【０１４９】
一実施形態によれば、上記の非一時的なコンピュータ可読記憶媒体はさらに、１つ以上のスイッチのうちのあるスイッチのＳＭＡによって、そのスイッチの複数のポートの各ポートにおけるリンク安定性を監視することを備え、監視期間中、スイッチの複数のポートの各ポートに取り付けられる各リンクにおけるエラーの数をカウントすることを備え、１つ以上のスイッチのうちのあるスイッチのＳＭＡによって、そのスイッチの複数のポートの各ポートにおけるリンク安定性を監視することが完了すると、ＳＭＡは、各リンクについてカウントされたエラーの表現を少なくとも１つの属性に埋め込む。
【０１５０】
一実施形態によれば、上記の非一時的なコンピュータ可読記憶媒体はさらに、サブネットマネージャによって、１つの動作を使用して１つ以上のスイッチのうちのあるスイッチ上の各ポートについてリンク安定性を判断することを備える。
【０１５１】
一実施形態によれば、上記の非一時的なコンピュータ可読記憶媒体において、１つの動作は、サブネット管理パケットを含む。
【０１５２】
一実施形態によれば、上記の非一時的なコンピュータ可読記憶媒体はさらに、１つ以上のスイッチのうちのあるスイッチのＳＭＡによって、そのスイッチの複数のポートの各ポートにおけるリンク可用性を監視することを備え、監視期間中、スイッチの複数のポートの各ポートに取り付けられる各リンクにおけるトラフィック負荷を観測することと、監視期間中においてスイッチの複数のポートの各ポートにおけるリンク可用性を監視することが完了すると、ＳＭＡによって、各リンクについての観測されたトラフィック負荷を少なくとも１つの属性内に埋め込むこととを備える。
【０１５３】
一実施形態によれば、上記の非一時的なコンピュータ可読記憶媒体において、サブネットマネージャは、１つの動作を使用して１つ以上のスイッチのうちの１つのスイッチ上の各ポートについてリンク可用性ステータスを判断し、１つの動作は、サブネット管理パケットを含む。
【０１５４】
一実施形態によれば、コンピュータプログラムは、コンピュータシステムによって実行されると、コンピュータシステムに上記の方法を実行させる、機械可読フォーマットにおけるプログラム命令を含む。
【０１５５】
一実施形態によれば、コンピュータプログラムは、非一時的な機械可読データ記憶媒体に記憶される上記のコンピュータプログラムを備える。
【０１５６】
本発明の多くの特徴は、ハードウェア、ソフトウェア、ファームウェアまたはそれらの組合せにおいて、それらを用いて、またはそれらの支援により、実行可能である。したがって、本発明の特徴は、（たとえば、１つ以上のプロセッサを含む）処理システムを用いて実現され得る。
【０１５７】
この発明の特徴は、ここに提示された特徴のうちのいずれかを行なうように処理システムをプログラミングするために使用可能な命令を格納した記憶媒体またはコンピュータ読取り可能媒体であるコンピュータプログラム製品において、それを使用して、またはその助けを借りて実現され得る。記憶媒体は、フロッピー（登録商標）ディスク、光ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、マイクロドライブ、および光磁気ディスクを含む任意のタイプのディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＤＲＡＭ、ＶＲＡＭ、フラッシュメモリ装置、磁気カードもしくは光カード、ナノシステム（分子メモリＩＣを含む）、または、命令および／もしくはデータを格納するのに好適な任意のタイプの媒体もしくは装置を含み得るものの、それらに限定されない。
【０１５８】
この発明の特徴は、機械読取り可能媒体のうちのいずれかに格納された状態で、処理システムのハードウェアを制御するために、および処理システムがこの発明の結果を利用する他の機構とやり取りすることを可能にするために、ソフトウェアおよび／またはファームウェアに取込まれ得る。そのようなソフトウェアまたはファームウェアは、アプリケーションコード、装置ドライバ、オペレーティングシステム、および実行環境／コンテナを含み得るものの、それらに限定されない。
【０１５９】
この発明の特徴はまた、たとえば、特定用途向け集積回路（application specific integrated circuit：ＡＳＩＣ）などのハードウェアコンポーネントを使用して、ハードウェアにおいて実現されてもよい。ここに説明された機能を行なうようにハードウェアステートマシンを実現することは、関連技術の当業者には明らかであろう。
【０１６０】
加えて、この発明は、この開示の教示に従ってプログラミングされた１つ以上のプロセッサ、メモリおよび／またはコンピュータ読取り可能記憶媒体を含む、１つ以上の従来の汎用または特殊デジタルコンピュータ、コンピューティング装置、マシン、またはマイクロプロセッサを使用して都合よく実現され得る。ソフトウェア技術の当業者には明らかであるように、この開示の教示に基づいて、適切なソフトウェアコーディングが、熟練したプログラマによって容易に準備され得る。
【０１６１】
この発明のさまざまな実施形態が上述されてきたが、それらは限定のためではなく例示のために提示されたことが理解されるべきである。この発明の精神および範囲から逸脱することなく、形状および詳細のさまざまな変更を行なうことができることは、関連技術の当業者には明らかであろう。
【０１６２】
この発明は、特定された機能およびそれらの関係の実行を示す機能的構築ブロックの助けを借りて上述されてきた。説明の便宜上、これらの機能的構築ブロックの境界は、この明細書中ではしばしば任意に規定されてきた。特定された機能およびそれらの関係が適切に実行される限り、代替的な境界を規定することができる。このため、そのようないかなる代替的な境界も、この発明の範囲および精神に含まれる。
【０１６３】
この発明の前述の説明は、例示および説明のために提供されてきた。それは、網羅的であるよう、またはこの発明を開示された形態そのものに限定するよう意図されてはいない。この発明の幅および範囲は、上述の例示的な実施形態のいずれによっても限定されるべきでない。多くの変更および変形が、当業者には明らかになるだろう。これらの変更および変形は、開示された特徴の関連するあらゆる組合せを含む。実施形態は、この発明の原理およびその実用的応用を最良に説明するために選択され説明されたものであり、それにより、考えられる特定の使用に適したさまざまな実施形態についての、およびさまざまな変更例を有するこの発明を、当業者が理解できるようにする。この発明の範囲は、請求項およびそれらの同等例によって定義されるよう意図されている。
【図１】
2019503597.tif 000003
【図２】
2019503597.tif 000004
【図３】
2019503597.tif 000005
【図４】
2019503597.tif 000006
【図５】
2019503597.tif 000007
【図６】
2019503597.tif 000008
【図７】
2019503597.tif 000009
【図８】
2019503597.tif 000010
【図９】
2019503597.tif 000011
【図１０】
2019503597.tif 000012
【図１１】
2019503597.tif 000013
【図１２】
2019503597.tif 000014
【図１３】
2019503597.tif 000015
【図１４】
2019503597.tif 000016
【図１５】
2019503597.tif 000017
【図１６】
2019503597.tif 000018
【図１７】
2019503597.tif 000019
【国際調査報告】
2019503597.tif 000020
2019503597.tif 000021
2019503597.tif 000022