(57)【特許請求の範囲】
【請求項１】
仮想ネットワークインターフェースカードの割込みの親和性結合のための方法であって、
ＩａａＳリソース管理システムによって送信された要求メッセージを受信するステップであって、前記要求メッセージは、仮想ネットワークインターフェースカードの割込み親和性ポリシーパラメータを伝送する、ステップと、
複数の仮想中央処理装置ＶＣＰＵと複数の物理中央処理装置ＰＣＰＵとの間で１対１対応親和性結合を実行するステップと、
前記仮想ネットワークインターフェースカードの仮想割込みとＶＣＰＵとの間で親和性結合を実行するステップと、
前記親和性ポリシーパラメータに応じて、前記仮想ネットワークインターフェースカードの物理割込みと、対応するＰＣＰＵとの間で親和性結合を実行するステップと
を備えることを特徴とする方法。
【請求項２】
前記親和性ポリシーパラメータに応じて前記仮想ネットワークインターフェースカードの物理割込みと対応するＰＣＰＵとの間で親和性結合を実行するステップは、
前記仮想ネットワークインターフェースカードの前記仮想割込みが前記複数のＶＣＰＵの第１のＶＣＰＵと親和性結合している場合、前記ポリシーパラメータに応じて、前記仮想ネットワークインターフェースカードの前記物理割込みと前記複数のＰＣＰＵの第１のＰＣＰＵとの間で結合を実行するステップであって、前記第１のＶＣＰＵは、前記第１のＰＣＰＵとの親和性結合にあるＶＣＰＵである、ステップを特に備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記仮想ネットワークインターフェースカードの前記仮想割込みが、第２のＶＣＰＵとの親和性結合にあるように変更する場合、前記仮想ネットワークインターフェースカードの前記物理割込みと第２のＰＣＰＵとの間で結合を実行するステップであって、前記第２のＶＣＰＵは、前記第２のＰＣＰＵとの親和性結合にあるＶＣＰＵである、ステップをさらに備えることを特徴とする請求項２に記載の方法。
【請求項４】
前記仮想ネットワークインターフェースカードの前記物理割込みと前記複数のＰＣＰＵの第１のＰＣＰＵとの間で結合を前記実行するステップは、前記仮想ネットワークインターフェースカードの仮想割込み番号に応じて、対応する物理割込みを決定するように対応する物理割込み番号を見出すステップと、前記ＶＣＰＵと前記ＰＣＰＵとの間の１対１対応親和性結合関係に応じて、対応する第１のＰＣＰＵを決定するステップと、前記仮想ネットワークインターフェースカードの前記物理割込みと前記対応する第１のＰＣＰＵとの間で結合を実行するステップとを特に備えることを特徴とする請求項２に記載の方法。
【請求項５】
前記仮想ネットワークインターフェースカードの前記物理割込みと第２のＰＣＰＵとの間で結合を前記実行するステップは、前記仮想ネットワークインターフェースカードの仮想割込み番号に応じて、対応する物理割込みを決定するように対応する物理割込み番号を見出すステップと、前記ＶＣＰＵと前記ＰＣＰＵとの間の１対１対応親和性結合関係に応じて、対応する第２のＰＣＰＵを決定するステップと、前記仮想ネットワークインターフェースカードの前記物理割込みと前記対応する第２のＰＣＰＵとの間で結合を実行するステップとを特に備えることを特徴とする請求項３に記載の方法。
【請求項６】
前記親和性ポリシーパラメータに応じて、前記仮想ネットワークインターフェースカードの物理割込みと、対応するＰＣＰＵとの間で親和性結合を前記実行するステップは、
前記ポリシーパラメータに応じて、前記仮想ネットワークインターフェースカードの前記物理割込みとアイドルＰＣＰＵとの間で親和性結合を実行するステップを特に備えることを特徴とする請求項１に記載の方法。
【請求項７】
前記アイドルＰＣＰＵの状態が非アイドルに変更された場合、前記仮想ネットワークインターフェースカードの前記物理割込みと別のアイドルＰＣＰＵの間で親和性結合が実行されることを特徴とする請求項６に記載の方法。
【請求項８】
前記ポリシーパラメータに応じて、前記仮想ネットワークインターフェースカードの物理割込みと、対応するＰＣＰＵとの間で親和性結合を前記実行するステップは、
前記ポリシーパラメータに応じて、前記仮想ネットワークインターフェースカードの前記物理割込みと、前記仮想ネットワークインターフェースカードの前記物理割込みを処理するのに使用される予約されたＰＣＰＵとの間で親和性結合を実行するステップを特に備えることを特徴とする請求項１に記載の方法。
【請求項９】
ＩａａＳリソース管理システムによって送信された要求メッセージを受信するように構成された受信モジュールであって、前記要求メッセージは、仮想ネットワークインターフェースカードの割込み親和性ポリシーパラメータを伝送する、受信モジュールと、
複数の仮想中央処理装置ＶＣＰＵと複数の物理中央処理装置ＰＣＰＵとの間で１対１対応親和性結合を実行し、かつ前記仮想ネットワークインターフェースカードの仮想割込みとＶＣＰＵとの間で親和性結合を実行するように構成された第１の結合モジュールと、
前記親和性ポリシーパラメータが第１の所定のものである場合に、前記第１の結合モジュールが、前記仮想ネットワークインターフェースカードの前記仮想割込みと前記ＶＣＰＵとの間で親和性結合を実行した後、前記親和性ポリシーパラメータに応じて、前記仮想ネットワークインターフェースカードの物理割込みと、対応するＰＣＰＵとの間で親和性結合を実行するように構成された第２の結合モジュールと
を備えることを特徴とするコンピュータデバイス。
【請求項１０】
前記第１の結合モジュールによって、前記仮想ネットワークインターフェースカードの前記仮想割込みと前記ＶＣＰＵとの間の親和性結合を実行する、または親和性結合を変更する動作をキャプチャし、かつ前記仮想ネットワークインターフェースカードの前記物理割込みと、前記対応するＰＣＰＵとの間で親和性結合を実行するように前記第２の結合モジュールに命令するように構成されたキャプチャモジュールをさらに備え、
前記第２の結合モジュールは、前記キャプチャモジュールの通知に応じて、前記仮想ネットワークインターフェースカードの前記物理割込みと、前記対応するＰＣＰＵとの間で親和性結合を実行するようにさらに構成され、前記対応するＰＣＰＵは、前記ＶＣＰＵとの１対１対応親和性結合にあるＰＣＰＵであることを特徴とする請求項９に記載のコンピュータデバイス。
【請求項１１】
前記親和性ポリシーパラメータが第２の所定のものである場合に、前記第２の結合モジュールは、前記仮想ネットワークインターフェースカードの前記物理割込みとアイドルＰＣＰＵとの間で親和性結合を実行するように特に構成されることを特徴とする請求項９に記載のコンピュータデバイス。
【請求項１２】
前記親和性ポリシーパラメータが第３の所定のものである場合に、前記第２の結合モジュールは、前記仮想ネットワークインターフェースカードの前記物理割込みと、前記仮想ネットワークインターフェースカードの前記物理割込みを処理するのに使用される予約されたＰＣＰＵとの間で親和性結合を実行するように特に構成されることを特徴とする請求項９に記載のコンピュータデバイス。
【請求項１３】
請求項１ないし８のいずれかの方法をコンピュータに実行させるプログラムを記録したコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信技術の分野に関し、特に、仮想ネットワークインターフェースカードの割込みの親和性結合のための方法、およびコンピュータデバイスに関する。
【背景技術】
【０００２】
遠隔通信サービスは、一般に、コンピューティングネットワークを多用するアプリケーションであり、ネットワークインターフェースカードのパケット送信および受信を処理するのにＣＰＵによって使用されるソフトウェア割込み処理およびハードウェア割込み処理の極めて多数のオーバヘッドがある（例えば、５１２バイトＵＤＰパケットは、３００Ｍｂｐｓの固定レートでギガビットネットワークインターフェースカード上で受信および送信され、ギガビットネットワークインターフェースカードのソフトウェア割込み処理およびハードウェア割込み処理のオーバヘッドは、シングルコアＣＰＵ使用の３０％に達する可能性がある）。
【０００３】
物理マシンシナリオにおいて、マルチコアプロセッサに関して、いつ、いずれのＣＰＵ上でネットワークインターフェースカードの割込み処理が実行するかは、物理ネットワークインターフェースカードの割込みと物理ＣＰＵの間で親和性結合を設定することによって制御されることが可能である。このようにして、遠隔通信サービスプログラムは、要求されるとおりにネットワークインターフェースカードの割込み処理ポリシーを正確に制御して、サービスプログラムの実行に対する予測不可能な干渉を回避するようにすることができる。
【０００４】
クラウドコンピューティングの概念の絶え間ない推進とともに、仮想マシン上で遠隔通信サービスを実行することが、一般的な傾向となっている。仮想マシン上で遠隔通信サービスを実行することの信頼性および予測可能性の要件を満たすのに、仮想化プラットフォームは、ネットワークインターフェースカードの割込み処理ポリシーを正確に制御することができて、サービスプログラム、およびその仮想マシンと物理マシンを共有する隣接する仮想マシンのプログラムの実行に対する予測不可能な干渉を回避するようにする必要もある。
【０００５】
図１に示されるとおり、仮想マシンが導入された後、仮想ネットワークインターフェースカード（ＶＮＩＣ、Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）の割込みパケット送信および受信処理は、２段階に分割され、すなわち、第１に、仮想ネットワークインターフェースカードの物理割込みが、物理マシン上で実行するホストオペレーティングシステム（Ｈｏｓｔ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ、Ｈｏｓｔ  ＯＳ）にパケットを送信し、次に、ホストＯＳが、そのパケットを、仮想ネットワークインターフェースカードの仮想割込みをトリガするように仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ、ＶＭ）に配信し、次に、仮想マシン上で実行するゲストオペレーティングシステム（Ｇｕｅｓｔ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ、Ｇｕｅｓｔ  ＯＳ）が、仮想ネットワークインターフェースカードの仮想割込みのパケット送信および受信を処理する。仮想ネットワークインターフェースカードの物理割込みから仮想ネットワークインターフェースカードの仮想割込みに対する転送のプロセスにおいて、仮想ネットワークインターフェースカードの物理割込みが、処理のためにパケットを送信する物理ＣＰＵ、および仮想ネットワークインターフェースカードの仮想割込みが、処理のためにパケットを送信する仮想ＣＰＵに関して、デフォルトで固定の対応はなく、物理ＣＰＵと仮想ＣＰＵの間にも固定の対応はない。
【０００６】
仮想ネットワークインターフェースカードの割込みパケット送信および受信処理に関する明確なスケジューリングポリシーがない場合、仮想ネットワークインターフェースカードの割込みパケット送信および受信の影響は、仮想マシン環境において予測されることが可能でない。図２に示されるとおり、ＶＭ１のアプリケーション３（Ａｐｐｌｉｃａｔｉｏｎ  ３、ＡＰＰ３）は、ネットワークパケット送信および受信を担うプロセスであり、ＶＣＰＵ３（Ｖｉｒｔｕａｌ  Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、仮想中央処理装置）上で実行し、ＶＣＰＵ３は、ＰＣＰＵ３（Ｐｈｙｓｉｃａｌ  Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、物理中央処理装置３）上で実行するようにスケジュールされるものと想定される。明確なポリシー制御がない場合、仮想ネットワークインターフェースカードのものであり、ＡＰＰ３に対応する物理割込みのパケット送信および受信処理は、ＰＣＰＵ２上で生じることが可能であり、仮想ネットワークインターフェースカードの仮想割込みのパケット送信および受信処理は、ＶＣＰＵ１上で生じることが可能であり、その結果、ＶＣＰＵ２上で実行するＡＰＰ２、およびＶＣＰＵ１上で実行するＡＰＰ１に対して干渉がそれぞれもたらされる。さらに、仮想ネットワークインターフェースカードの物理割込みおよび仮想割込みのパケット送信および受信に関する明確なポリシー制御がない場合、物理マシンを共有するＶＭ間で隣接する干渉をもたらす可能性も高い。図２に示されるとおり、ＶＭ２のＡＰＰ５は、ネットワークパケット送信および受信を担い、ＶＣＰＵ５上で実行するプロセスであるものと想定され、ＶＣＰＵ５は、ＰＣＰＵ５上で実行するようにスケジュールされ、物理ネットワークインターフェースカードの対応する物理割込み処理は、ＰＣＰＵ４上であることが可能であり、ＶＭ１のＡＰＰ４に対して干渉がもたらされる。
【０００７】
遠隔通信システムに関して、ネットワークインターフェースカードのソフトウェア割込み処理およびハードウェア割込み処理の多数のオーバヘッドがあるため、ネットワークインターフェースカードのソフトウェア割込み処理およびハードウェア割込み処理のオーバヘッドが、正確に制御される必要があり、したがって、物理マシンを共有する仮想マシン間のネットワークインターフェースカードの割込みパケット送信および受信処理が互いに干渉しないことが実施され、仮想マシン内で、その仮想マシンにおけるネットワークインターフェースカードの割込み処理がＶＣＰＵ間で干渉を課さないことが実施される必要がある。
【発明の概要】
【課題を解決するための手段】
【０００８】
技術的問題を解決するのに、本発明の実施形態は、仮想ネットワークインターフェースカードの割込み親和性ポリシーの設定を実施するための方法、および仮想ネットワークインターフェースカードの割込みの処理が互いに干渉しないことを実施するコンピュータデバイスを提供する。
【０００９】
本発明の実施形態における仮想ネットワークインターフェースカードの割込みの親和性結合のための方法は、
ＩａａＳリソース管理システムによって送信された要求メッセージを受信するステップであって、要求メッセージは、仮想ネットワークインターフェースカードの割込み親和性ポリシーパラメータを伝送する、ステップ、
複数の仮想中央処理装置ＶＣＰＵと複数の物理中央処理装置ＰＣＰＵとの間で１対１対応親和性結合を実行するステップ、
仮想ネットワークインターフェースカードの仮想割込みとＶＣＰＵとの間で親和性結合を実行するステップ、および
親和性ポリシーパラメータに応じて、仮想ネットワークインターフェースカードの物理割込みと、対応するＰＣＰＵとの間で親和性結合を実行するステップを含む。
【００１０】
特に、仮想ネットワークインターフェースカードの仮想割込みが、複数のＶＣＰＵの第１のＶＣＰＵとの親和性結合にある場合、仮想ネットワークインターフェースカードの物理割込みと複数のＰＣＰＵの第１のＰＣＰＵとの間でポリシーパラメータに応じて結合が実行され、第１のＶＣＰＵは、第１のＰＣＰＵとの親和性結合にあるＶＣＰＵである。
【００１１】
本方法は、仮想ネットワークインターフェースカードの仮想割込みが、第２のＶＣＰＵとの親和性結合にあるように変更する場合、仮想ネットワークインターフェースカードの物理割込みと第２のＰＣＰＵとの間で結合を実行するステップであって、第２のＶＣＰＵは、第２のＰＣＰＵとの親和性結合にあるＶＣＰＵである、ステップをさらに含む。
【００１２】
仮想ネットワークインターフェースカードの物理割込みと、対応するＰＣＰＵとの間でポリシーパラメータに応じて親和性結合を実行するステップは、
仮想ネットワークインターフェースカードの物理割込みとアイドルＰＣＰＵとの間でポリシーパラメータに応じて親和性結合を実行するステップ、または
ポリシーパラメータに応じて、仮想ネットワークインターフェースカードの物理割込みと、仮想ネットワークインターフェースカードの物理割込みを処理するのに使用される予約されたＰＣＰＵとの間で親和性結合を実行するステップを特に含む。
【００１３】
本発明の実施形態におけるコンピュータデバイスは、
ＩａａＳリソース管理システムによって送信された要求メッセージを受信するように構成された受信モジュールであって、要求メッセージは、仮想ネットワークインターフェースカードの割込み親和性ポリシーパラメータを伝送する、受信モジュールと、
複数の仮想中央処理装置ＶＣＰＵと複数の物理中央処理装置ＰＣＰＵとの間で１対１対応親和性結合を実行し、かつ仮想ネットワークインターフェースカードの仮想割込みとＶＣＰＵとの間で親和性結合を実行するように構成された第１の結合モジュールと、
第１の結合モジュールが、仮想ネットワークインターフェースカードの仮想割込みとＶＣＰＵとの間で親和性結合を実行した後、親和性ポリシーパラメータに応じて仮想ネットワークインターフェースカードの物理割込みと、対応するＰＣＰＵとの間で親和性結合を実行するように構成された第２の結合モジュールとを含む。
【００１４】
コンピュータデバイスは、
第１の結合モジュールによって、仮想ネットワークインターフェースカードの仮想割込みとＶＣＰＵとの間の親和性結合を実行する、または親和性結合を変更する動作をキャプチャし、かつ仮想ネットワークインターフェースカードの物理割込みと、対応するＰＣＰＵとの間で親和性結合を実行するように第２の結合モジュールに命令するように構成されたキャプチャモジュールをさらに含み、
第２の結合モジュールは、キャプチャモジュールの通知に応じて、仮想ネットワークインターフェースカードの物理割込みと、対応するＰＣＰＵとの間で親和性結合を実行するようにさらに構成され、対応するＰＣＰＵは、ＶＣＰＵとの１対１対応親和性結合にあるＰＣＰＵである。
【００１５】
第２の結合モジュールが、仮想ネットワークインターフェースカードの物理割込みと対応するＰＣＰＵの間で親和性結合を実行することは、
第２の結合モジュールによって、仮想ネットワークインターフェースカードの物理割込みとアイドルＰＣＰＵとの間で親和性結合を実行すること、または
第２の結合モジュールによって、仮想ネットワークインターフェースカードの物理割込みと、仮想ネットワークインターフェースカードの物理割込みを処理するのに使用される予約されたＰＣＰＵとの間で親和性結合を実行することを特に含む。
【００１６】
本発明の実施形態における技術的解決策を使用することにより、仮想割込みとＶＣＰＵろの間、物理割込みとＰＣＰＵとの間、および対応するＶＣＰＵと、同一の仮想ネットワークインターフェースカードのＰＣＰＵとの間の３つの親和性結合関係が一貫しており、したがって、別のＶＣＰＵ上で実行するＡＰＰにもたらされる干渉がなく、同一のコンピュータデバイス上の別の仮想マシン上で実行するＡＰＰにもたらされる干渉もない。さらに、仮想ネットワークインターフェースカードの物理割込みは、ＰＣＰＵの負荷ステータスに応じてホストＯＳによって平衡された様態で自動的にスケジュールされ、したがって、アイドルＰＣＰＵが、ＰＣＰＵリソースの浪費を回避するようにより柔軟に使用されることが可能である。さらに、仮想マシンのＶＣＰＵが、専用のＰＣＰＵ上でスケジュールされなくてもよく、仮想ネットワークインターフェースカードの物理割込みが専用のＰＣＰＵに結合され、その結果、スケジューリング動作を単純化し、別のＶＣＰＵ上で実行するＡＰＰに対する干渉を回避する。
【図面の簡単な説明】
【００１７】
本発明の実施形態における技術的解決策をより明確に説明するため、以下では、それらの実施形態を説明するのに要求される添付の図面を簡単に概説する。明らかに、以下の説明における添付の図面は、本発明のいくつかの実施形態を示すに過ぎず、当業者は、それでも、独創的な取組みなしにこれらの添付の図面から他の図面を導き出すことが可能である。
【図１】従来技術における仮想ネットワークインターフェースカードの割込みを示す概略図である。
【図２】従来技術における仮想ネットワークインターフェースカードの仮想割込みおよび物理割込みの処理を示す概略図である。
【図３】本発明による仮想ネットワークインターフェースカードの割込みの親和性結合のためのシステムアーキテクチャを示す図である。
【図４Ａ】本発明の実施形態１による仮想ネットワークインターフェースカードの割込みの親和性結合を示す流れ図である。
【図４Ｂ】本発明の実施形態１による仮想ネットワークインターフェースカードの割込みの親和性結合を示す流れ図である。
【図５】本発明の実施形態１による仮想ネットワークインターフェースカードの割込みの親和性結合を示す概略ブロック図である。
【図６Ａ】本発明の実施形態２による仮想ネットワークインターフェースカードの割込みの親和性結合を示す流れ図である。
【図６Ｂ】本発明の実施形態２による仮想ネットワークインターフェースカードの割込みの親和性結合を示す流れ図である。
【図７】本発明の実施形態２による仮想ネットワークインターフェースカードの割込みの親和性結合を示す概略ブロック図である。
【図８Ａ】本発明の実施形態３による仮想ネットワークインターフェースカードの割込みの親和性結合を示す流れ図である。
【図８Ｂ】本発明の実施形態３による仮想ネットワークインターフェースカードの割込みの親和性結合を示す流れ図である。
【図９】本発明の実施形態３による仮想ネットワークインターフェースカードの割込みの親和性結合を示す概略ブロック図である。
【図１０】本発明の実施形態４によるコンピュータデバイスの内部構造を示す概略図である。
【発明を実施するための形態】
【００１８】
本発明の目的、技術的解決策、および利点をより明確にするため、以下では添付の図面を参照して本発明の実施形態を詳細にさらに説明する。
【００１９】
図３のシステムアーキテクチャ図に示されるように、システムアーキテクチャは、サービスリソース管理システムと、サービスとしてのインフラストラクチャ（Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ、ＩａａＳ）リソース管理システムと、仮想マシンのための実行環境を提供するコンピュータデバイスとを主に含み、コンピュータデバイスは、例えば、物理マシンとすることが可能である。
【００２０】
サービスリソース管理システムの主な機能は、特定のサービスの実行リソース要件に応じて仮想マシンのためのＩａａＳリソース管理システムに適用し、仮想ネットワークインターフェースカードの割込み親和性ポリシーパラメータが伝送される。
【００２１】
ＩａａＳリソース管理システムの主な機能は、サービスリソース管理システムから送信された仮想マシンリソース要件に応じて、その要件を満たすアイドル(idle)コンピュータデバイスを選択し、対応する仮想マシンを作成するようにその選択されたコンピュータデバイスに命令し、仮想マシンとは、現実のマシンと同様にプログラムを実行することができるコンピュータのソフトウェア実装を指し、仮想マシンは、複数の仮想中央処理装置ＶＣＰＵと、対応するオペレーティングシステム（ゲストＯＳ）と、アプリケーション（Ａｐｐ）とを含む。コンピュータデバイスは、複数の物理中央処理装置ＰＣＰＵを含む。ホストＯＳは、物理マシン上で実行し、ゲストＯＳは、仮想マシン上で実行する。
【００２２】
特定の手順は、以下のとおりである。すなわち、コンピュータデバイスが、ＩａａＳリソース管理システムによって送信された要求メッセージを受信し、要求メッセージは、仮想ネットワークインターフェースカードの割込み親和性ポリシーパラメータを伝送する、
コンピュータデバイスが、複数の仮想中央処理装置ＶＣＰＵと複数の物理中央処理装置ＰＣＰＵとの間で１対１対応親和性結合を実行し、かつ仮想ネットワークインターフェースカードの仮想割込みとＶＣＰＵとの間で親和性結合を実行する、および
コンピュータデバイスが、親和性ポリシーパラメータに応じて、仮想ネットワークインターフェースカードの物理割込みと、対応するＰＣＰＵとの間で親和性結合を実行する。
【００２３】
ＶＣＰＵとＰＣＰＵとの間の親和性結合とは、ＶＣＰＵが実行するようにスケジュールされるＰＣＰＵが決定されることに基づく結合関係を指し、例えば、ＶＣＰＵ１とＰＣＰＵ１との間の１対１対応親和性結合は、ＶＣＰＵ１が、別のＰＣＰＵ上で実行するのに代えて、ＰＣＰＵ１上で実行するようにスケジュールされることを示す。
【００２４】
仮想ネットワークインターフェースカードの割込みの親和性結合は、仮想ネットワークインターフェースカードの物理割込みの親和性結合と、仮想ネットワークインターフェースカードの仮想割込みの親和性結合とを含む。仮想ネットワークインターフェースカードの物理割込みの親和性結合は、仮想ネットワークインターフェースカードの物理割込みが生成された後、コンピュータデバイス上のホストＯＳが、処理のために物理割込みとの親和性結合にあるＰＣＰＵに物理割込みを送信することを指す。仮想ネットワークインターフェースカードの仮想割込みの親和性結合は、仮想ネットワークインターフェースカードの仮想割込みが生成された後、コンピュータデバイス上のゲストＯＳが、処理のために仮想割込みとの親和性結合にあるＶＣＰＵに仮想割込みを配信することを指す。
【００２５】
親和性ポリシーパラメータは、異なる特定のサービスシナリオに応じて、サービスリソース管理システムによって異なるパラメータとして設定され、これらの異なるパラメータは、自動追従ポリシー、自動平衡ポリシー、自動的に排他的なポリシーなどを特に含む異なる親和性結合ポリシーを実行するようにホストＯＳに別々に命令する。
【００２６】
本発明の解決策によれば、サービスとしてのインフラストラクチャＩａａＳリソース管理システムが、仮想ネットワークインターフェースカードの割込みパケット送信および受信処理のスケジューリングポリシーを構成する一般的な機能を提供し、したがって、仮想マシンを作成する際、コンピュータデバイスが、ＩａａＳリソース管理システムによって送信された割込み親和性ポリシーパラメータに応じて仮想ネットワークインターフェースカードの割込みに対して対応する結合およびスケジューリングを実行して、その結果、構成自動化を実施することができる。
【００２７】
実施形態１
親和性ポリシーパラメータが自動追従ポリシーとして設定された場合、仮想ネットワークインターフェースカードの割込み親和性ポリシーパラメータは、物理割込みとＰＣＰＵの間の親和性結合が、仮想割込みとＶＣＰＵの間の親和性結合の変更に従うことを示す。図４Ａおよび図４Ｂに示されるとおり、仮想ネットワークインターフェースカードの割込みの親和性結合のための方法は、特に以下のとおりであるステップ（１）、（２）、および（３）を主に含む。すなわち、
【００２８】
ステップ（１）は、以下の３つのサブステップを主に含む。
【００２９】
サービスリソース管理システムが、仮想マシンリソース要求を開始し、仮想マシンリソース要求の中の仮想ネットワークインターフェースカードの割込み親和性ポリシーパラメータは、自動的追従である。
【００３０】
要求を受信した後、ＩａａＳリソース管理システムが、リソース要件を満たすコンピュータデバイスを見出し、コンピュータデバイス上で実行するホストＯＳに対して仮想マシンを作成するための要求を開始し、要求は、仮想ネットワークインターフェースカードの自動追従割込み親和性ポリシーを伝送する。
【００３１】
ホストＯＳは、対応する仮想マシンの仮想ネットワークインターフェースカードの自動追従親和性ポリシーを記録し、仮想マシンにおけるゲストＯＳによる、仮想ネットワークインターフェースカードの仮想割込みの親和性結合を設定する動作がキャプチャされることが可能な自動キャプチャ機能をイネーブル(enable)にする。
【００３２】
ステップ（２）は、以下の２つのサブステップを主に含む。
【００３３】
サービスリソース管理システムが、仮想マシンを起動するための要求を開始し、要求を受信した後、ＩａａＳリソース管理システムが、対応するコンピュータデバイス上で実行するホストＯＳに対して対応する仮想マシンを起動するための要求を開始する。
【００３４】
仮想マシンが開始された後、ゲストＯＳが実行し、ゲストＯＳが実行した後、ＡＰＰが実行し、仮想マシンが起動された後、ホストＯＳが、仮想マシンのＶＣＰＵと、対応するＰＣＰＵとの間の１対１対応親和性結合を自動的に設定する（図５に示されるように、１対１対応親和性結合は、ＶＣＰＵ１からＶＣＰＵ４までと、ＰＣＰＵ１からＰＣＰＵ４までとの間でそれぞれ実行される）。
【００３５】
ステップ（３）は、以下の２つのサブステップを主に含む。
【００３６】
仮想マシン上で実行するゲストＯＳが、仮想ネットワークインターフェースカードの仮想割込みとＶＣＰＵの間で親和性結合を設定する、または仮想ネットワークインターフェースカードの仮想割込みとＶＣＰＵとの間に親和性結合を変更する。
【００３７】
ホストＯＳによってイネーブルにされた自動キャプチャ機能が、前述の仮想マシンにおけるゲストＯＳによる、仮想ネットワークインターフェースカードの仮想割込みの親和性結合を設定する、または変更する動作をキャプチャし、かつ自動追従ポリシーに応じて仮想ネットワークインターフェースカードの物理割込みと、対応するＰＣＰＵとの間で親和性結合関係を自動的に結合し、対応するＰＣＰＵは、ＶＣＰＵとの１対１対応親和性結合にあるＰＣＰＵである。
【００３８】
仮想ネットワークインターフェースカードの物理割込みと、対応するＰＣＰＵとの間で親和性結合関係を自動的に結合する特定の手順は、以下のとおりである。すなわち、ホストＯＳが、仮想ネットワークインターフェースカードの仮想割込みに応じて、仮想ネットワークインターフェースカードの対応する仮想割込み番号を見出し、仮想割込み番号に応じて対応する物理割込み番号を見出し（同一の仮想ネットワークインターフェースカードの仮想割込み番号と物理割込み番号は、１対１対応にある）、対応する物理割込みをさらに決定し、ホストＯＳが、ＶＣＰＵとＰＣＰＵとの間の１対１対応親和性結合関係に応じて、対応するＰＣＰＵを決定し、仮想ネットワークインターフェースカードの物理割込みと、対応するＰＣＰＵとの間で結合を実行するようにして、その結果、仮想割込みとＶＣＰＵとの間、物理割込みとＰＣＰＵとの間、および対応するＶＣＰＵと、同一の仮想ネットワークインターフェースカードのＰＣＰＵとの間の３つの親和性結合関係の一貫性を実施する。
【００３９】
仮想マシン上で実行するゲストＯＳが、仮想ネットワークインターフェースカードの仮想割込みとＶＣＰＵとの間で親和性結合関係を設定し、または変更し、ホストＯＳが、その動作をキャプチャし、仮想ネットワークインターフェースカードの物理割込みと対応するＰＣＰＵとを結合するように従う。この様態が、自動追従ポリシーである。
【００４０】
ステップ（３）は、図５における概略ブロック図を使用することによって示されることが可能であり、図における（２）、（３）、および（４）は、前述のステップ（２）および（３）に対応し、右の図（図における破線の右側）は、仮想ネットワークインターフェースカードの仮想割込みとＶＣＰＵとの間の親和性結合関係が変更した（ＶＣＰＵ３からＶＣＰＵ４に）場合、ホストＯＳが、仮想ネットワークインターフェースカードの物理割込みと対応するＰＣＰＵとの間で親和性関係を結合するように自動的に従って、仮想ネットワークインターフェースカードの物理割込みとＰＣＰＵ４との間で親和性結合を実行することが可能であり、ＶＣＰＵ４は、ＰＣＰＵ４との親和性結合にあることを示す。
【００４１】
前述の手順から、自動追従ポリシーが使用される場合、仮想割込みとＶＣＰＵとの間、物理割込みとＰＣＰＵとの間、および対応するＶＣＰＵと、同一の仮想ネットワークインターフェースカードのＰＣＰＵとの間の３つの親和性結合関係が一貫しており、したがって、別のＶＣＰＵ上で実行するＡＰＰにもたらされる干渉がなく、同一のコンピュータデバイス上の別の仮想マシン上で実行するＡＰＰにもたらされる干渉もないことが知られる。
【００４２】
実施形態２
親和性ポリシーパラメータが自動平衡ポリシーとして設定された場合、仮想ネットワークインターフェースカードの割込み親和性ポリシーパラメータは、物理割込みを処理するためのＰＣＰＵの平衡されたスケジューリングを示す。仮想ネットワークインターフェースカードの割込みの親和性結合のための方法が、図６Ａおよび図６Ｂに示され、特に以下のとおりであるステップ（１）、（２）、および（３）を主に含む。
【００４３】
ステップ（１）は、以下の３つのサブステップを主に含む。
【００４４】
サービスリソース管理システムが、仮想マシンリソース要求を開始し、仮想マシンリソース要求の中の仮想ネットワークインターフェースカードの割込み親和性ポリシーパラメータは、自動平衡である。
【００４５】
要求を受信した後、ＩａａＳリソース管理システムが、リソース要件を満たすコンピュータデバイスを見出し、コンピュータデバイス上で実行するホストＯＳに対して仮想マシンを作成するための要求を開始し、要求は、仮想ネットワークインターフェースカードの自動平衡割込み親和性ポリシーを伝送する。
【００４６】
ホストＯＳが、対応する仮想マシンの仮想ネットワークインターフェースカードの自動平衡親和性ポリシーを記録し、自動キャプチャ機能を無効(disable)にして、仮想マシンにおけるゲストＯＳによる、仮想ネットワークインターフェースカードの仮想割込みの親和性結合を設定する動作が、キャプチャされることが可能でないようにする。
【００４７】
ステップ（２）は、以下の２つのサブステップを主に含む。
【００４８】
サービスリソース管理システムが、仮想マシンを起動するための要求を開始し、要求を受信した後、ＩａａＳリソース管理システムが、対応するコンピュータデバイス上で実行するホストＯＳに対して対応する仮想マシンを起動するための要求を開始する。
【００４９】
仮想マシンが起動された後、ゲストＯＳが実行し、ゲストＯＳが実行した後、ＡＰＰが実行し、仮想マシンが起動された後、ホストＯＳが、仮想マシンのＶＣＰＵと対応するＰＣＰＵとの間で１対１対応親和性結合を自動的に設定する（図７に示されるとおり、１対１対応親和性結合は、ＶＣＰＵ１からＶＣＰＵ４までと、ＰＣＰＵ１からＰＣＰＵ４までとの間でそれぞれ実行される）。
【００５０】
ステップ（３）は、以下の２つのサブステップを主に含む。
【００５１】
仮想マシン上で実行するゲストＯＳが、仮想ネットワークインターフェースカードの仮想割込みとＶＣＰＵとの間で親和性結合を設定する、または仮想ネットワークインターフェースカードの仮想割込みとＶＣＰＵとの間で親和性結合を変更する。
【００５２】
ホストＯＳが、自動平衡ポリシーに応じて、自動キャプチャ機能を無効にして、仮想マシンにおけるゲストＯＳによって、仮想ネットワークインターフェースカードの仮想割込みの親和性結合を設定する、または変更する動作がキャプチャされないようにする。ホストＯＳが、仮想マシンが配置されたＰＣＰＵの負荷ステータスに応じて、仮想ネットワークインターフェースカードの物理割込みを平衡された様態で自動的にスケジュールし、かつ仮想ネットワークインターフェースカードの物理割込みを、それほど負荷がかけられていない、またはアイドルＰＣＰＵに動的に結合する。
【００５３】
ステップ（３）は、図７における概略ブロック図を使用することによって示されることが可能であり、図における（２）および（３）は、前述のステップ（２）および（３）にそれぞれ対応し、ＡＰＰ２が配置されたＰＣＰＵ２に負荷がそれほどかけられていない場合、ホストＯＳが、仮想ネットワークインターフェースカードのものであり、かつＡＰＰ３に対応する物理割込みとＰＣＰＵ２との間で親和性結合を実行し、図の右の図（図における破線の右側）に示されるとおり、期間の後、ＡＰＰ２が配置されたＰＣＰＵ２がビジーになり、ＡＰＰ４が配置されたＰＣＰＵ４がアイドルになった場合、ホストＯＳが、仮想ネットワークインターフェースカードのものであり、かつＡＰＰ３に対応する物理割込みとＰＣＰＵ４との間で親和性結合を実行する。
【００５４】
自動追従ポリシーとは対照的に、ホストＯＳは、仮想ネットワークインターフェースカードの仮想割込みとＶＣＰＵとの間の親和性結合の動作をキャプチャせず、仮想ネットワークインターフェースカードの物理割込みが、ＰＣＰＵの負荷ステータスに応じてホストＯＳによって平衡された様態で自動的にスケジュールされて、アイドルＰＣＰＵが、ＰＣＰＵリソースの浪費を回避するようにより柔軟に利用されることが可能であるようになる。
【００５５】
実施形態３
親和性ポリシーパラメータが自動的に排他的なポリシーとして設定された場合、仮想ネットワークインターフェースカードの割込み親和性ポリシーパラメータは、物理割込みを処理する予約されたＰＣＰＵがあることを示す。仮想ネットワークインターフェースカードの割込みの親和性結合のための方法が図８Ａおよび図８Ｂに示され、特に以下のとおりであるステップ（１）、（２）、および（３）を主に含む。
【００５６】
ステップ（１）は、以下の３つのサブステップを主に含む。
【００５７】
サービスリソース管理システムが、仮想マシンリソース要求を開始し、仮想マシンリソース要求の中の仮想ネットワークインターフェースカードの割込み親和性ポリシーパラメータは、自動的に排他的な使用である。
【００５８】
要求を受信した後、ＩａａＳリソース管理システムが、リソース要件を満たすコンピュータデバイスを見出し、コンピュータデバイス上で実行するホストＯＳに対して仮想マシンを作成するための要求を開始し、要求は、仮想ネットワークインターフェースカードの自動的に排他的な使用割込み親和性ポリシーを伝送する。
【００５９】
ホストＯＳは、対応する仮想マシンの仮想ネットワークインターフェースカードの自動的に排他的な使用親和性ポリシーを記録し、自動キャプチャ機能を無効にして、仮想マシンにおけるゲストＯＳによる、仮想ネットワークインターフェースカードの仮想割込みの親和性結合を設定する動作がキャプチャされることが可能でないようにする。
【００６０】
ステップ（２）は、以下の２つのサブステップを主に含む。
【００６１】
サービスリソース管理システムが、仮想マシンを起動するための要求を開始し、要求を受信した後、ＩａａＳリソース管理システムが、対応するコンピュータデバイス上で実行するホストＯＳに対して対応する仮想マシンを起動するための要求を開始する。
【００６２】
仮想マシンが起動された後、ゲストＯＳが実行し、ゲストＯＳが実行した後、ＡＰＰが実行し、仮想マシンが起動された後、ホストＯＳが、仮想マシンのＶＣＰＵと対応するＰＣＰＵとの間で１対１対応親和性結合を自動的に設定する（図９に示されるとおり、１対１対応親和性結合は、ＶＣＰＵ１からＶＣＰＵ４までと、ＰＣＰＵ１からＰＣＰＵ４までとの間でそれぞれ実行される）。
【００６３】
ステップ（３）は、以下の２つのサブステップを主に含む。
【００６４】
仮想マシン上で実行するゲストＯＳが、仮想ネットワークインターフェースカードの仮想割込みとＶＣＰＵとの間で親和性結合を設定する、または仮想ネットワークインターフェースカードの仮想割込みとＶＣＰＵとの間で親和性結合を変更する。
【００６５】
ホストＯＳが、自動的に排他的なポリシーに応じて、自動キャプチャ機能を無効にして、前述の仮想マシンにおけるゲストＯＳによって、仮想ネットワークインターフェースカードの仮想割込みの親和性結合を設定する、または変更する動作がキャプチャされないようにし、ホストＯＳが、仮想ネットワークインターフェースカードの物理割込みと、仮想ネットワークインターフェースカードの物理割込みを処理するのに使用される予約されたＰＣＰＵとの間で親和性結合を実行する。
【００６６】
ステップ（３）は、図９における概略ブロック図を使用することによって示されることが可能であり、ＰＣＰＵ９およびＰＣＰＵ１０は、仮想ネットワークインターフェースカードの物理割込みのために専用に予約されたＰＣＰＵであり、仮想マシン上のＶＣＰＵは、ＰＣＰＵ９およびＰＣＰＵ１０の上でスケジュールされず、仮想ネットワークインターフェースカードに対応する物理割込みは、排他的にこれらの専用のプロセッサ上でスケジュールされる。
【００６７】
実施形態２における解決策と同様に、ホストＯＳは、仮想ネットワークインターフェースカードの仮想割込みとＶＣＰＵとの間の親和性結合の動作をキャプチャせず、仮想マシンのＶＣＰＵは、専用のＰＣＰＵ上でスケジュールされなくてもよく、仮想ネットワークインターフェースカードの物理割込みは、専用のＰＣＰＵに結合され、その結果、スケジューリング動作を単純化し、別のＶＣＰＵ上で実行するＡＰＰに対する干渉を回避する。
【００６８】
実施形態４
図１０は、
ＩａａＳリソース管理システム００によって送信された要求メッセージを受信するように構成された受信モジュール１０１であって、要求メッセージは、仮想ネットワークインターフェースカードの割込み親和性ポリシーパラメータを伝送する受信モジュール１０１と、
複数の仮想中央処理装置ＶＣＰＵと複数の物理中央処理装置ＰＣＰＵの間で１対１対応親和性結合を実行し、かつ仮想ネットワークインターフェースカードの仮想割込みとＶＣＰＵとの間で親和性結合を実行するように構成された第１の結合モジュール１０２と、
第１の結合モジュール１０２が、仮想ネットワークインターフェースカードの仮想割込みとＶＣＰＵの間で親和性結合を実行した後、親和性ポリシーパラメータに応じて、仮想ネットワークインターフェースカードの物理割込みと、対応するＰＣＰＵとの間で親和性結合を実行するように構成された第２の結合モジュール１０３とを含むコンピュータデバイス１０の内部構造の図を示す。
【００６９】
さらに、コンピュータデバイスは、第１の結合モジュール１０２によって、仮想ネットワークインターフェースカードの仮想割込みとＶＣＰＵとの間で親和性結合を実行する、または親和性結合を変更する動作をキャプチャし、かつ仮想ネットワークインターフェースカードの物理割込みと、対応するＰＣＰＵとの間で親和性結合を実行するように第２の結合モジュール１０３に命令するように構成されたキャプチャモジュール１０４をさらに含む。
【００７０】
特に、第２の結合モジュール１０３は、キャプチャモジュール１０４の通知に応じて、仮想ネットワークインターフェースカードの物理割込みと、対応するＰＣＰＵとの間で親和性結合を実行するように構成され、対応するＰＣＰＵは、ＶＣＰＵとの１対１対応親和性結合にあるＰＣＰＵであり、または
第２の結合モジュール１０３は、仮想ネットワークインターフェースカードの物理割込みとアイドルＰＣＰＵとの間で親和性結合を実行し、または
第２の結合モジュール１０３は、仮想ネットワークインターフェースカードの物理割込みと、仮想ネットワークインターフェースカードの物理割込みを処理するのに使用される予約されたＰＣＰＵとの間で親和性結合を実行する。
【００７１】
当業者は、実施形態のステップのすべて、またはいくつかが、ハードウェア、または関連付けられたハードウェアに命令するプログラムによって実施されることが可能であることを理解することができる。そのプログラムは、コンピュータ可読記憶媒体の中に記憶されることが可能である。記憶媒体は、読取り専用メモリ、磁気ディスク、または光ディスクを含むことが可能である。
【００７２】
前述の説明は、本発明の例示的な実施形態に過ぎないが、本発明を限定するように意図されない。本発明の趣旨および原理を逸脱することなく行われるいずれの変形、均等の置換、および改良も、本発明の保護範囲内に入るものとする。
【図１】
0006257778.tif 000002
【図２】
0006257778.tif 000003
【図３】
0006257778.tif 000004
【図４Ａ】
0006257778.tif 000005
【図４Ｂ】
0006257778.tif 000006
【図５】
0006257778.tif 000007
【図６Ａ】
0006257778.tif 000008
【図６Ｂ】
0006257778.tif 000009
【図７】
0006257778.tif 000010
【図８Ａ】
0006257778.tif 000011
【図８Ｂ】
0006257778.tif 000012
【図９】
0006257778.tif 000013
【図１０】
0006257778.tif 000014