(57)【要約】      （修正有）【課題】ＮＵＭＡを採用するシステムを仮想マシンモニタ等により物理リソースを分割して使用する場合、ＣＰＵとメモリ間、ＣＰＵとＩ／Ｏ間、Ｉ／Ｏとメモリ間すべてを最適化する。【解決手段】ＣＰＵ１０１〜１０４、メモリ１３１〜１３４を有する演算部と、ＭＲＡ  ＰＣＩｅスイッチ６００ａ、６００ｂと、Ｉ／Ｏデバイス４１０ａ−１〜４１０ｂ−４とを有するＩ／Ｏ部とを備え、ＣＰＵ１０１〜１０４上で動作するＶＭＭが、ＶＭの構成変更時に、ＣＰＵ１０１〜１０４、メモリ１３１〜１３４及びＩ／Ｏ４１０ａ−１〜４１０ｂ−４の組み合わせを選択し、マネジメントモジュール９００上で動作するＰＣＩマネージャ９０１にＩ／Ｏの変更指示を行い、ＰＣＩマネージャ９０１は指定されたＩ／Ｏ４１０ａ−１〜４１０ｂ−４の接続・割り当てを行う。【選択図】図１
2012146105.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと、Ｍｅｍｏｒｙと、複数のルートコンプレックスと、ＢＭＣとを有する演算部と、
前記複数のルートコンプレックスと接続されるＭＲＡ  ＰＣＩｅスイッチと、前記ＭＲＡ  ＰＣＩｅスイッチを管理するマネジメントモジュールと、前記ＭＲＡ  ＰＣＩｅスイッチと接続されるＩ／Ｏデバイスとを有するＩ／Ｏ部とを備え、
前記演算部の前記ＣＰＵ上ではＶＭＭが動作し、前記ＶＭＭ上では複数のＶＭが動作し、
前記ＶＭＭは、前記ＶＭの構成変更時に、ＣＰＵ、Ｍｅｍｏｒｙ及びＩ／Ｏの組み合わせを選択するＶＭリソース管理部を備え、
前記ＶＭリソース管理部は、Ｉ／Ｏの選択においては前記マネジメントモジュール上で動作するＰＣＩマネージャにＩ／Ｏの変更指示を行い、
前記ＰＣＩマネージャは、前記ＶＭリソース管理部からの変更指示により指定されたＩ／Ｏの接続・割り当てを行うＩ／Ｏ割り当て管理部を備えることを特徴とする計算機システム。
【請求項２】
前記ＶＭリソース管理部は、
指定されたＣＰＵ数分について、割り当て後のＣＰＵ同士が近距離となる組み合わせを優先して選択し、
指定されたＭｅｍｏｒｙ分について、前記選択したＣＰＵから近距離にあるＭｅｍｏｒｙを優先して選択し、
前記選択したＭｅｍｏｒｙから近距離にあるルートコンプレックスを検索し、
前記検索したルートコンプレックスの配下に指定されたＩ／Ｏの配置するよう、前記ＰＣＩマネージャーに変更指示を出力する
ことを特徴とする請求項１記載の計算機システム。
【請求項３】
前記ＶＭＭは、前記ＣＰＵ及び前記Ｍｅｍｏｒｙの位置情報を保持するノード構成テーブルと、前記ノード間の距離を格納するノード間距離テーブルとを有することを特徴とする請求項１記載の計算機システム。
【請求項４】
前記Ｉ/Ｏ割り当て管理部は、前記ＰＣＩマネージャーが管理する物理ＰＣＩｅスロットの番号、そのスロット上に搭載されるＰＣＩｅカードの種類、及びその割当先ブリッジ情報が格納されたＩ／Ｏ割り当てテーブルを有することを特徴とする請求項１記載の計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＮＵＭＡ（Ｎｏｎ−Ｕｎｉｆｏｒｍ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）アーキテクチャを採用するシステムのＣＰＵ、ＭｅｍｏｒｙとＰＣＩデバイス間の配置最適化に関する。
【背景技術】
【０００２】
ＮＵＭＡを採用するシステムにおいて、ＣＰＵ性能を最大限発揮させる為には、使用するＣＰＵとＭｅｍｏｒｙの組み合わせを、極力アクセスが短くなるように選択することが、重要である。現在のサーバ向けＯＳでは、このＮＵＭＡ対応は広く普及している。さらに、Ｉ／Ｏ性能を最大限発揮させる為には、Ｉ／ＯとＣＰＵ、Ｉ／ＯとＭｅｍｏｒｙの組み合わせを、極力アクセスが短くなるように選択する必要がある。これに対応する背景技術として、ＯＳレベルでのＩ／Ｏ ＮＵＭＡ最適化「ＮＵＭＡ  Ｉ／Ｏ  Ｏｐｔｉｍｉｚａｔｉｏｎｓ」がある。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】「ＮＵＭＡ  Ｉ／Ｏ  Ｏｐｔｉｍｉｚａｔｉｏｎｓ」  Ｍｉｃｒｏｓｏｆｔ  ＷｉｎＨＥＣ  ２００７  カンファレンス
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＮＵＭＡを採用するシステムにおいて、物理リソースを全て管理する単一ＯＳを動作させる場合は、従来技術の通りＯＳレベルでのＣＰＵ、Ｍｅｍｏｒｙ、Ｉ／Ｏの位置情報を元にＣＰＵとＭｅｍｏｒｙ間、ＣＰＵとＩ／Ｏ間、Ｉ／Ｏとメモリ間の関連付けを指定する方法が有効である。しかし、ＮＵＭＡを採用するシステムを仮想化機構であるＶＭＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  Ｍｏｎｉｔｏｒ）により、物理リソースを分割してＶＭ（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）に割り当てて使用する場合、ＣＰＵ，Ｍｅｍｏｒｙはその汎用性から、必要量に対し性能が最適化される組を選択することが可能だが、Ｉ／Ｏに関しては特定の機能を有する為、ＣＰＵとＭｅｍｏｒｙ間、ＣＰＵとＩ／Ｏ間、Ｉ／Ｏとメモリ間すべてを最適化することが困難となる。
【課題を解決するための手段】
【０００５】
上記課題を解決するための、本発明の一例を挙げるならば、ＣＰＵとＭｅｍｏｒｙと複数のルートコンプレックスとＢＭＣとからなる演算部と、前記複数のルートコンプレックスと接続されるＭＲＡ  ＰＣＩｅスイッチと、前記ＭＲＡ  ＰＣＩｅスイッチを管理するマネジメントモジュールと、前記ＭＲＡ  ＰＣＩｅスイッチと接続されるＩ／ＯデバイスとからなるＩ／Ｏ部と、からなる計算機システムにおいて、前記演算部ではＶＭＭと、前記ＶＭＭ上で動作する複数のＶＭが動作し、前記ＶＭＭは、前記ＶＭの構成変更時にＣＰＵ，Ｍｅｍｏｒｙ，Ｉ／Ｏを最適な組み合わせとなるよう選択するＶＭリソース管理部を備え、前記ＶＭリソース管理部はＩ／Ｏの選択においては前記マネジメントモジュール上で動作するＰＣＩマネージャにＩ／Ｏの変更指示を行い、前記ＰＣＩマネージャは前記ＶＭ構成制御部からの指示により指定されたＩ／Ｏの接続・割り当てを行うＩ／Ｏ割り当て制御部を備えることを特徴とする。
【発明の効果】
【０００６】
ＮＵＭＡを採用するシステムにおいて、前記ＶＭリソース管理部が、複数の構成をとり得るＩ／Ｏとメモリ間の利用可能な接続の中から、最も近距離となる構成を選択することにより、仮想マシンに割り当てる物理リソースを性能上最適な組み合わせにできる。
【図面の簡単な説明】
【０００７】
【図１】本発明を適用した計算機システムの初期構成１０aを示す。
【図２】従来技術による計算機システムを示す。
【図３】計算機システム１０のソフトウエア・ハードウエアの構成を示す。
【図４】ノード構成テーブルを示す。
【図５】ノード間距離テーブルを示す。
【図６】ＶＭリソーステーブルを示す。
【図７】Ｉ／Ｏ割り当てテーブルを示す。
【図８】ＶＭＭのＩ／Ｏ構成変更フローを示す。
【図９】ＰＣＩマネージャのＩ／Ｏ配置フローを示す。
【図１０】ＰＣＩマネージャのＩ／Ｏ撤去フローを示す。
【図１１】本発明を適用した計算機システムにおいて、ＶＭにＩ／Ｏ配置を行った後の構成１０ｂを示す。
【図１２】ＶＭ７０１ａに割り当てた物理リソースを示す。
【図１３】ＶＭ７０１ｂに割り当てた物理リソースを示す。
【図１４】ＶＭ７０１ｃに割り当てた物理リソースを示す。
【発明を実施するための形態】
【０００８】
以下、実施例を図面を用いて説明する。まず、本発明の実施例による計算機システムの構成について説明する。
【０００９】
図１は、本発明を適用した計算機システムの、初期構成１０aを示すブロック図である。
【００１０】
計算機システム１０は、演算部１１とＩ／Ｏ部１２ａとから構成される。
【００１１】
演算部１１には４個のＣＰＵ１０１〜１０４が搭載され、ＣＰＵ１０１〜１０４には図示しないメモリコントローラが内蔵される。それぞれのＣＰＵ１０１〜１０４は、Ｍｅｍｏｒｙ１１１〜１１４とＣＰＵ―Ｍｅｍｏｒｙ間接続１３１〜１３４で接続される。ＣＰＵ１０１〜１０４は、マルチコアで構成されてもよい。ＣＰＵ１０１〜１０４は、互いにＣＰＵ間接続１２１〜１２６で接続される。また、ＣＰＵ１０１，ＣＰＵ１０２はルートコンプレックス２００ａとＣＰＵ―ルートコンプレックス間接続１４１，１４２で接続され、ＣＰＵ１０３，１０４はルートコンプレックス２００ｂとＣＰＵ―ルートコンプレックス間接続１４３，１４４で接続される。
【００１２】
ルートコンプレックス２００内部には、ＣＰＵとＰＣＩを変換するホストブリッジ２０１が内蔵されており、ホストブリッジ２０１を頂点としてＰＣＩツリーを構成する。ホストブリッジ２０１は、仮想ＰＣＩバス２０２を介して、複数のルートブリッジ２０３と接続される。ルートブリッジ２０３は、ルートブリッジ−ルートポート間接続２０５によって、外部ポートであるルートポートに接続される。ルートコンプレックス２００ａは、サウスブリッジ２１０を介して管理コントローラであるＢＭＣ８００と接続する。  Ｉ／Ｏ部１２ａには、２個のＭＲＡ  ＰＣＩｅスイッチ６００が搭載される。各ＭＲＡ  ＰＣＩｅスイッチ６００には、４個のＩ／Ｏデバイス４１０が接続される。Ｉ／Ｏデバイスの実装は、オンボード形式でもアドイン形式でもよい。Ｉ／Ｏデバイス種としては、ＮＩＣやＦｉｂｅｒ  Ｃｈａｎｎｅｌ  ＨＢＡを採用してもよい。マネジメントモジュール９００は、２個のＭＲＡ  ＰＣＩｅスイッチ６００の管理ポート６０４を介して、スイッチの制御を行う。
【００１３】
ＭＲＡ  ＰＣＩｅスイッチ６００内部には、２個の上流ポート６０１−１，２より接続される上流ブリッジ６０３−１，２があり、それぞれ独立した仮想ＰＣＩブリッジ６０５−２，３により、下流ブリッジ６０７〜６０８と接続する。さらに、管理用ポート６０４の下には、仮想ＰＣＩバス６０５−１により、下流ブリッジ６０６が接続される。下流ポート６１０には、初期状態として下流ブリッジ６０６に割り当てられている。マネジメントモジュール９００上で動作するＰＣＩマネージャ９０１により、下流ポートと下流ブリッジとの組み合わせは任意に設定が可能である。しかし、本実施例においては、複数の下流ポートで共有するマルチルートＩ／Ｏデバイスについては、対象としない。そのため、Ｉ／Ｏのホストへの割り当てにおいては、Ｉ／Ｏデバイス４１０は下流ポート６０７または６０８に占有して割り当てることになる。
【００１４】
演算部１１とＩ／Ｏ部１２ａとの接続は、ルートコンプレックス２００ａと２個のＭＲＡ  ＰＣＩｅスイッチ６００ａ〜ｂとがルートコンプレックス―ＭＲＡ  ＰＣＩｅスイッチ間接続５１１ａａ，５１１ａｂでそれぞれ接続され、ルートコンプレックス２００ｂと２個のＭＲＡ  ＰＣＩｅスイッチ６００ａ〜ｂとがルートコンプレックス―ＭＲＡ  ＰＣＩｅスイッチ間接続５１１ｂａ、５１１ｂｂでそれぞれ接続される構成をとる。さらに、ＢＭＣ８００とマネジメントモジュール９００とが、ＢＭＣ―マネジメントモジュール間接続８０１で、接続される。ＢＭＣ―マネジメントモジュール間接続は、他の管理用目的と共通でも専用でもよい。
【００１５】
参考として、従来技術による計算機システムの初期構成２０を示すブロック図を、図２に示す。図２に示す従来の計算機システムと本発明を適用したシステム１０との違いは、ＭＲＡ  ＰＣＩｅスイッチ６００の代わりにＰＣＩｅスイッチ３００が搭載されている点である。ＰＣＩｅスイッチ３００のＩ／Ｏは1個の上流ポート３０１と複数の下流ポート３０７から構成される。ＰＣＩｅスイッチ３００の内部は上流ポート３０１と接続する上流ブリッジ３０３と、下流ポートと接続する下流ブリッジ３０５が仮想ＰＣＩバス３０４で相互に接続される構成をとる。ＰＣＩｅスイッチ３００はマルチルート非対応である為、図２に示す従来の計算機システムでは、ルートコンプレックスとＰＣＩｅスイッチとの接続は１対１となる。
【００１６】
図３は、計算機システム１０のソフトウエア・ハードウエアの構成を示す。ＣＰＵ１０１〜１０４上では、ＶＭＭ７００が動作する。さらに、ＶＭＭが提供する仮想ハードウエアである複数のＶＭ７０１ａ〜ｃ上で、それぞれＧｕｅｓｔ  ＯＳ７１０ａ〜ｃが動作する。ＶＭＭ７００は、ハードウエアのＮＵＭＡ情報として、ノード構成テーブル７３０と、ノード間距離テーブル７４０を備える。またＶＭＭ７００は、ＶＭリソース管理部７２０を備える。ＶＭリソース管理部は、ＶＭを構成する物理リソースを情報を管理するためにＶＭリソーステーブル７５０を用いる。
【００１７】
マネジメントモジュール９００では、マネジメントモジュールＯＳ上でＰＣＩマネージャ９０１が動作する。ＰＣＩマネージャ９０１はＩ／Ｏ割り当てを管理する、Ｉ／Ｏ割り当て管理部９１０を備える。Ｉ／Ｏ割り当て管理部はＩ／Ｏ割り当て情報を管理するためにＩ／Ｏ割り当てテーブル９２０を用いる。
【００１８】
ＶＭＭ７００とＰＣＩマネージャ９０１とは、ＣＰＵ１０１〜１０４，ルートコンプレック２００，ＢＭＣ８００，マネジメントモジュール９００を介して通信を行う。また、ＰＣＩマネージャ９０１は、マネジメントモジュール９００からＭＲＡ  ＰＣＩｅスイッチ６００に対して、ＶＭＭとは独立した制御を行うことができる。
【００１９】
図４は、ノード構成テーブル７３０を示す。ノードはＮＵＭＡにおけるＣＰＵ、Ｍｅｍｏｒｙに付与される位置情報である。テーブルはＣＰＵのノード情報を保持する７３０ａと、メモリのノード情報を保持する７３０ｂに分かれる。
【００２０】
図５は、ノード間距離テーブル７４０を示す。７４０ａは２ノード間の距離を値として格納する。値は相対値であり、同一ノード間が１０で、異種ノード間が２０であるとき、異種ノード間は同一ノード間と比較して２００％の距離であることを意味する。７４０ｂはノードとルートコンプレックス間の距離を値として格納する。７４０ａと同様値は相対値である。
【００２１】
図６は、ＶＭリソーステーブルを示す。ＣＰＵのリソーステーブル７５０ａ、Ｍｅｍｏｒｙのリソーステーブル７６０ｂ、Ｉ／Ｏのリソーステーブル７６０ｃから構成される。それぞれのテーブルでは、ＶＭＭが保持している全リソースリストと、ＶＭへの割り当て状態（ＶＭ  ａｓｓｉｎｅｄ）および、割り当て先ＶＭ情報（ＶＭ＃）を格納する。
【００２２】
図７は、Ｉ／Ｏ割り当てテーブル９２０を示す。Ｉ／Ｏ割り当てテーブル９２０はＰＣＩマネージャが管理する全物理ＰＣＩｅスロットの番号（ＳＬＯＴ＃）と、そのスロット上に搭載されるＰＣＩｅカードの種類（ＰＣＩｅ  Ｃａｒｄ）と、その割り当て先ブリッジ（ＶＳ＃）情報を格納する。テーブルの参照及び更新はＩ／Ｏ割り当て管理部９１０によって行われる。
【００２３】
図８は、ＶＭＭ７００によるＩ／Ｏ構成変更フローである。ユーザーからＶＭの状態表示の指示を受領すると（ステップ１１０１）、ＶＭＭはＶＭソーステーブル７５０からＣＰＵ，Ｍｅｍｏｒｙの割り当て状況を取得する（ステップ１１０２）。
【００２４】
次に、ＰＣＩＭに利用可能なＩＯのリストを要求する（ステップ１１０３）。
【００２５】
次に、ユーザーへ現在使用中のＶＭ状態及び利用可能なＣＰＵ，Ｍｅｍｏｒｙ，ＩＯのリストを表示する（ステップ１１０４）。
【００２６】
ユーザーからのＶＭ構成変更指示を受領すると（ステップ１１０５）、構成変更は削除又は増設か減設かを判定する（ステップ１１０６）。
【００２７】
ステップ１１０６の判定結果が減設の場合、直後に構成変更は動的減設か否かを判定する（ステップ１１０７）。ステップ１１０７の判定結果が動的減設の場合、ＶＭ上のＧｕｅｓｔ  ＯＳへのＨｏｔ  Ｒｅｍｏｖｅ  イベント通知によるＧｕｅｓｔ  ＯＳからのリソース切り離しを実施（ステップ１１０８）後、指定Ｉ／Ｏの撤去をＰＣＩＭに指示する（ステップ１１０９）。
【００２８】
ステップ１１０７の判定結果が動的減設でない場合は、ステップ１１０８を省略し直接ステップ１１０９に移る。ステップ１１０９の応答として、ＭＲＡ  ＰＣＩｅ  ＳＷからの指定Ｉ／Ｏの  ＰＣＩｅ  Ｈｏｔ  Ｒｅｍｏｖｅイベント受信する（ステップ１１１１）。
【００２９】
次にＶＭリソーステーブル７５０への反映を行う（ステップ１１１９）。１１０６の判定結果が増設の場合、指定ＣＰＵ数分について割り当て後のＣＰＵ同士が近距離となる組み合わせを優先して割り当て選択する（ステップ１１１２）。
【００３０】
次に指定Ｍｅｍｏｒｙ分についてＣＰＵから近距離にあるＭｅｏｍｏｒｙを優先して割り当てを選択する（ステップ１１１３）。
【００３１】
次にＭｅｍｏｒｙから近距離にあるルートコンプレックスを検索する（ステップ１１１５）。
【００３２】
検索したルートコンプレックスの配下に指定Ｉ／Ｏの配置をＰＣＩＭに指示する（ステップ１１１６）。
【００３３】
ＭＲＡ  ＰＣＩｅ  ＳＷからの指定Ｉ／Ｏの  ＰＣＩｅ  Ｈｏｔ  Ａｄｄ  イベント受信（ステップ１１１９）。
【００３４】
次に、構成変更は動的増設か否かを判定する（ステップ１１１７）。
【００３５】
ステップ１１１７の結果が動的増設である場合、ＶＭ上のＧｕｅｓｔ  ＯＳへの  Ｈｏｔ  Ａｄｄ  イベント通知によるＧｕｅｓｔ  ＯＳへのリソース追加を実施（ステップ１１１８）後にステップ１１１９へ移行する。
【００３６】
ステップ１１１７の結果が動的増設でない場合、直接ステップ１１１９に移る。最後にユーザーへのＶＭの作成・更新の結果を表示する（ステップ１１２０）。
【００３７】
図９は、ＰＣＩマネージャ９０１のＩ／Ｏ配置フローを示す。ＶＭＭからのＩ／Ｏの配置指示を受領（ステップ１２０１）すると、指定Ｉ／Ｏを管理ブリッジから切り離す（ステップ１２０２）。
【００３８】
次に、指示されたルートコンプレックス配下のブリッジに指定Ｉ／Ｏを接続する（ステップ１２０３）。
【００３９】
最後にブリッジレジスタの更新によるＶＭＭへのＰＣＩｅ  Ｈｏｔ  Ａｄｄイベントを通知する（ステップ１２０４）。
【００４０】
図１０はＰＣＩマネージャ９０１のＩ／Ｏ撤去フローを示す。ＶＭＭからのＩ／Ｏの撤去指示を受領すると（ステップ１３０１）、ブリッジレジスタの更新によるＶＭＭへのＰＣＩｅ  Ｈｏｔ  Ｒｅｍｏｖｅイベントを通知する（ステップ１３０２）。次に、指定Ｉ／Ｏのブリッジからの切り離しを行う（ステップ１３０３）。最後に管理ブリッジに指定Ｉ／Ｏを接続する（ステップ１３０４）。
【００４１】
次に、計算機システム１０aに対するＩ／Ｏ割り当て手順を、具体的に説明する。例として、計算機システム１０上で３個のＶＭを動作させるケースを挙げる。ＩＯデバイス４１０ａには、同種のＮＩＣカード、４１０ｂにはＦＣ（Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ）カードを搭載する。この計算機システム１０ａに対して、ＶＭ７０１ａ，ＶＭ７０１ｂ，ＶＭ７０１ｃには、それぞれＣＰＵ，Ｍｅｍｏｒｙ，１／Ｏデバイスを物理資源に対して、逐次的に１／４，１／２，１／４の割合で割り当てを行う例を説明する。
【００４２】
ＶＭ７０１ａへのリソース割り当てが、図８のステップ１１０１〜１１０５に示すフローでユーザーより指定されると、ＶＭＭ７００は、ステップ１１０６にてＶＭの新規作成指示であると判断する。
【００４３】
すると、ステップ１１１２にてＶＭリソース管理部７２０はＶＭリソーステーブル７５０ａを参照し、１ＣＰＵ分＝４Ｐｒｏｃｅｓｓｏｒ分として、同一ノード内の組であるＰｒｏｃｅｓｓｏｒ＃０〜３を選択する。結果、ＶＭＭ７０１ａには、ＣＰＵ分の割り当てとして、ＣＰＵ１０１の選択を行う。
【００４４】
次に、ステップ１１１３にて、ＶＭリソーステーブル７５０ｂを参照して、ＣＰＵ１０１の属するノード０と同一ノードに属するＭｅｍｏｒｙ１１１の選択を行う。
【００４５】
次に、ステップ１１１４にて、ノード間距離テーブル７４０ｂを参照して、選択したメモリの属するノード０から最も近距離にあるＲＣ０＝ルートコンプレックス２００ａを検索する。
【００４６】
ステップ１１１５にてルートコンプレックス２００ａの配下へ、ＮＩＣ１枚、Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ１枚の割り当て指示を、ＰＣＩマネージャ９０１に行う。ＰＣＩマネージャ９０１は、ステップ１２０１でＶＭＭ７００からのＩ／Ｏ割り当て指示を受け取ると、ステップ１２０２〜１２０３にてＮＩＣカードを下流ブリッジ６０６ａ−１から切り離し６０７ａ−１へ接続し、ＦＣカードを下流ブリッジ６０６ｂ−１から切り離し、６０７ｂ−１へ接続する。
【００４７】
次に、ステップ１２０４にて接続された下流ブリッジのレジスタを更新することで、ＰＣＩマネージャ９０１は、ＶＭＭ７００へＰＣＩｅ  Ｈｏｔ  Ａｄｄイベントを通知する。
【００４８】
ＶＭＭは、ステップ１１１６でＭＲＡ  ＰＣＩｅスイッチ６００ａからＮＩＣカードのＨｏｔ  Ａｄｄイベントを、ＰＣＩｅスイッチ６００ｂからＦＣカードのＨｏｔ  Ａｄｄイベントを受信し、新規増設であるのでステップ１１１８のＧｕｅｓｔ  ＯＳへの通知は行わずＶＭＭ上リソースの変更のみにとどめる。
【００４９】
次に、ステップ１１１９にて、ＶＭＭ上のリソース管理テーブルを更新し、ステップ１１２０でユーザーに対してＶＭ７０１ａのリソース割り当て結果を表示する。
【００５０】
次に、ＶＭ７０１ｂの割り当てがユーザーより指定されると、２ＣＰＵ分の割り当てを検討する。ここで、２ＣＰＵ＝８Ｐｒｏｃｅｓｓｏｒの選択には、ノード１−ノード２の組、ノード２−ノード３の組の２種類があるため、初めに各ノード間距離をテーブル７４０ａを参照して比較する。その結果どちらも２０であり等価であると判明し、次に、各ノードのルートコンプレックスとの距離関係を比較する為にテーブル７４０ｂを参照する。ここで、ノード２とノード３の組が共通の最短ルートコンプレックスを持つということが判明する。この結果、ＣＰＵ１０３，ＣＰＵ１０４が選択される。ＩＯの割り当ては、ＶＭ７０１ａと同様の手順にてルートコンプレックス２００ｂの配下に、ＮＩＣ２枚、ＦＣ２枚が割り当てられる。
【００５１】
最後に、ＶＭ７０１ｃの割り当てが指定されると、ＶＭＭは、残りのリソースをＶＭ７０１ａと同様の手順で割り当てを行う。
【００５２】
図１１はＩ／Ｏ割り当て後の計算機システム１０ｂを示す。各ＶＭ７０１ａ〜ｃにはそれぞれ図１２，図１３，図１４に示す物理リソースが割り当てられているように見える。
【００５３】
このようにＶＭの構成に応じてＰＣＩツリーを最適に構成することで、ＣＰＵ―Ｍｅｍｏｒｙ間の性能だけでなく、ＣＰＵ―Ｉ／Ｏ間、Ｍｅｍｏｒｙ―Ｉ／Ｏ間の性能が最適化され、システムが最大の性能を発揮できるようになる。
【符号の説明】
【００５４】
１０  計算機システム
１１  計算機システム１０の演算部
１２  計算機システム１０のＩ／Ｏ部
２０  従来技術の計算機システム
１０１〜１０４  ＣＰＵ
１１１〜１１４  Ｍｅｍｏｒｙ
１２１〜１２５  ＣＰＵ間接続
１３１〜１３４  ＣＰＵ―Ｍｅｍｏｒｙ間接続
１４１〜１４４  ＣＰＵ―ルートコンプレックス間接続
２００  ルートコンプレックス
２０１  ホストブリッジ
２０２  仮想ＰＣＩバス
２０３  ルートブリッジ
２０４  ルートブリッジ−ルートポート間接続
２０５  ルートポート
２１０  サウスブリッジ
３００  ＰＣＩｅスイッチ
３０１  上流ポート
３０２  上流ポート―上流ブリッジ間接続
３０３  上流ブリッジ
３０４  仮想ＰＣＩバス
３０５  下流ブリッジ
３０６  下流ブジッジ―下流ポート間接続
３０７  下流ポート
４００  Ｉ／Ｏデバイス
４１０  Ｉ／Ｏデバイス
５０１  ルートコンプレックス―ＰＣＩｅスイッチ間接続
５０２  ＰＣＩｅスイッチ―エンドポイント間接続
５１１  ルートコンプレックス―ＭＲＡ  ＰＣＩｅスイッチ間接続
５１２  ＭＲＡ  ＰＣＩｅスイッチ―Ｉ／Ｏデバイス間接続
６００  ＭＲＡ  ＰＣＩｅスイッチ
６０１  上流ポート
６０２  上流ポート―上流ブリッジ間接続
６０３  上流ブリッジ
６０４  管理ポート
６０５  仮想ＰＣＩバス
６０６  下流ブリッジ
６０７  下流ブリッジ
６０８  下流ブリッジ
６０９  下流ブリッジ―下流ポート間接続
６１０  下流ポート
７００  ＶＭＭ
７０１  ＶＭ
７１０  ゲストＯＳ
７２０  ＶＭリソース管理部
７３０  ノード構成テーブル
７４０  ノード間距離テーブル
７５０  ＶＭリソーステーブル
８００  ＢＭＣ
８０１  ＢＭＣ―マネジメントモジュール間接続
９００  マネジメントモジュール
９０１  ＰＣＩマネージャ
９１０  Ｉ／Ｏ割り当て管理部
９２０  Ｉ／Ｏ割り当てテーブル
【図１】
2012146105.tif 000003
【図２】
2012146105.tif 000004
【図３】
2012146105.tif 000005
【図４】
2012146105.tif 000006
【図５】
2012146105.tif 000007
【図６】
2012146105.tif 000008
【図７】
2012146105.tif 000009
【図８】
2012146105.tif 000010
【図９】
2012146105.tif 000011
【図１０】
2012146105.tif 000012
【図１１】
2012146105.tif 000013
【図１２】
2012146105.tif 000014
【図１３】
2012146105.tif 000015
【図１４】
2012146105.tif 000016