JP2015099445A - 情報処理装置、デバイス利用方法およびデバイス利用プログラム - Google Patents

情報処理装置、デバイス利用方法およびデバイス利用プログラム Download PDF

Info

Publication number
JP2015099445A
JP2015099445A JP2013238142A JP2013238142A JP2015099445A JP 2015099445 A JP2015099445 A JP 2015099445A JP 2013238142 A JP2013238142 A JP 2013238142A JP 2013238142 A JP2013238142 A JP 2013238142A JP 2015099445 A JP2015099445 A JP 2015099445A
Authority
JP
Japan
Prior art keywords
computer
unit
virtual machine
virtual
physical
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.)
Pending
Application number
JP2013238142A
Other languages
English (en)
Inventor
陽平 松浦
Yohei Matsuura
陽平 松浦
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2013238142A priority Critical patent/JP2015099445A/ja
Publication of JP2015099445A publication Critical patent/JP2015099445A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】デバイスの利用効率を向上できるようにすることを目的とする。【解決手段】物理計算機200Aの仮想計算機部300は、デバイス201Aを利用するデバイス利用処理を含むアプリケーションプログラムを実行する第一の仮想計算機として機能する。デバイス割り当て機構部220は、仮想計算機部300によってアプリケーションプログラムに含まれるデバイス利用処理が開始されるときにデバイス201Aを仮想計算機部300に割り当てることができるか否かを判定する。デバイス割り当て機構部220は、デバイス201Aを仮想計算機部300に割り当てることができないと判定したときに他の物理計算機200B・200Cのうちデバイス201Aと同じ種類のデバイスを割り当てることができる物理計算機200を割り当て可能装置として選択する。仮想計算機モニタ部210は割り当て可能装置に仮想計算機部300をライブマイグレーションする。【選択図】図1

Description

本発明は、デバイスの利用方法に関するものである。
従来の仮想環境において、アプリケーションプログラムを実行する複数の物理計算機は、入出力デバイスを備え、アプリケーションプログラムが実行される際にアプリケーションプログラムが利用する入出力デバイスを確保できるか否かを判定する。そして、入出力デバイスを確保できる物理計算機は、仮想計算機を起動し、起動した仮想計算機に入出力デバイスを割り当て、起動した仮想計算機によってアプリケーションプログラムを実行する(例えば、特許文献1)。
この仮想環境では、仮想計算機が停止するまで仮想計算機に割り当てた入出力デバイスを他の仮想計算機に割り当てることができないため、仮想計算機が停止するまで同じ入出力デバイスを利用する他のアプリケーションプログラムを実行することができない。
また、別の仮想環境では、複数の物理計算機と入出力デバイスを備えるデバイスコントローラとがネットワークに接続し、デバイスコントローラが入出力デバイスを要求する物理計算機に入出力デバイスをマッピングする(例えば、特許文献2)。
この仮想環境では、デバイスコントローラとして機能する特殊なハードウェアデバイスが必要であり、また、入出力デバイスの増設が困難である。
特開2009−259108号公報 特開2010−237737号公報
本発明は、デバイスの利用効率を向上できるようにすることを目的とする。
本発明の情報処理装置は1つ以上の物理計算機と接続する。
前記情報処理装置は、
第一のデバイスと、
前記第一のデバイスを利用するデバイス利用処理を含むアプリケーションプログラムを実行する第一の仮想計算機として機能する第一の仮想計算機部と、
前記第一の仮想計算機部によって前記アプリケーションプログラムに含まれる前記デバイス利用処理が開始されるときに前記第一のデバイスを前記第一の仮想計算機に割り当てることができるか否かを判定し、前記第一のデバイスを前記第一の仮想計算機に割り当てることができないと判定したときに前記1つ以上の物理計算機のうち前記第一のデバイスと同じ種類のデバイスを割り当てることができる物理計算機を割り当て可能装置として選択するデバイス割り当て機構部と、
前記デバイス割り当て機構部によって選択された前記割り当て可能装置に前記第一の仮想計算機をライブマイグレーションするライブマイグレーション部とを備える。
本発明によれば、割り当て可能装置に第一の仮想計算機をライブマイグレーションすることによって第一の仮想計算機に割り当て可能装置のデバイスを割り当てることができるため、デバイスの利用効率を向上することができる。
実施の形態1における計算機システム100の構成図である。 実施の形態1における仮想計算機部300および仮想計算機モニタ部210の機能構成を示す図である。 実施の形態1における計算機システム100のデバイス利用方法を示すフローチャートである。 実施の形態1におけるデバイス割り当て処理(S200)のフローチャートである。 実施の形態1におけるデバイス割り当てリスト291の一例を示す図である。 実施の形態1におけるデバイス解放処理(S150)のフローチャートである。 実施の形態1における物理計算機200のハードウェア構成の一例を示す図である。 実施の形態2における物理計算機200の機能構成図である。 実施の形態3における物理計算機200の機能構成図である。 実施の形態3における仮想計算機優先度リスト292の一例を示す図である。 実施の形態3におけるデバイス割り当て処理(S200)のフローチャートである。 実施の形態4におけるデバイス割り当て処理(S200)のフローチャートである。 実施の形態4における割り当て変更処理(S300)のフローチャートである。 実施の形態4における仮想計算機の状態遷移の一例を示す図である。 実施の形態4におけるデバイス割り当てリスト291の状態遷移の一例を示す図である。
実施の形態1.
デバイスの利用効率を向上させる形態について説明する。
図1は、実施の形態1における計算機システム100の構成図である。
実施の形態1における計算機システム100の構成について、図1に基づいて説明する。
計算機システム100は、ネットワーク109に接続する複数の物理計算機200(200A、200B、200C)を備える。
物理計算機200A(情報処理装置の一例)は、仮想計算機モニタ部210と、デバイス割り当て機構部220と、リスト更新部230と、デバイス割り当てリスト291とを備える。
また、物理計算機200Aは、1つ以上の仮想計算機部300と、1つ以上の入出力デバイス(以下、デバイス201という)とを備える。但し、物理計算機200Aはデバイス201を内蔵しなくても構わない。つまり、デバイス201は物理計算機200Aに外付けされても構わない。
他の物理計算機200(200B、200C)の構成は、物理計算機200Aと同様である。
仮想計算機部300は、仮想計算機(VM)として機能し、デバイス201(例えば、デバイス201A)を利用するデバイス利用処理を含むアプリケーションプログラムを実行する。以下、デバイス利用処理を開始または終了する仮想計算機部300をデバイス利用計算機という。
デバイス利用計算機は、デバイス利用処理を開始するときに、利用するデバイス201(以下、利用デバイスという)の割り当てをデバイス割り当て機構部220に要求する。
デバイス割り当て機構部220は、デバイス利用計算機が利用デバイスの割り当てを要求したときに、デバイス利用計算機に利用デバイスを割り当てることができるか否かをデバイス割り当てリスト291に基づいて判定する。
デバイス利用計算機に利用デバイスを割り当てることができると判定した場合、デバイス割り当て機構部220は、利用デバイスの割り当てを仮想計算機モニタ部210に要求する。
デバイス利用計算機に利用デバイスを割り当てることができないと判定した場合、デバイス割り当て機構部220は、利用デバイスと同じ種類のデバイス201(以下、同種デバイスという)を割り当てることができる他の物理計算機200(以下、割り当て可能装置という)が有るか否かをデバイス割り当てリスト291に基づいて判定する。
割り当て可能装置が有ると判定した場合、デバイス割り当て機構部220は、割り当て可能装置へのデバイス利用計算機のライブマイグレーション(移動)を仮想計算機モニタ部210に要求する。
割り当て可能装置が無いと判定した場合、デバイス割り当て機構部220は、デバイス利用計算機を一時停止する。
デバイス割り当てリスト291は、物理計算機毎に、物理計算機と、物理計算機が備えるデバイスと、デバイスの割り当て状態と、デバイスが割り当てられた仮想計算機部とを示す。
デバイス割り当てリスト291は、物理計算機200Aが備える記憶部(図示省略)に記憶される。
仮想計算機モニタ部210は、仮想計算機モニタ(VMM)として機能し、仮想計算機部300を制御する。例えば、仮想計算機モニタ部210は以下のように動作する。
仮想計算機モニタ部210は、利用デバイスの割り当てが要求された場合、デバイス利用計算機に利用デバイスを割り当てる。
仮想計算機モニタ部210は、割り当て可能装置へのデバイス利用計算機のライブマイグレーションが要求された場合、デバイス利用計算機を割り当て可能装置にライブマイグレーションする。その後、割り当て可能装置の仮想計算機モニタ部210は、デバイス利用計算機を再開し、利用デバイスと同じ種類のデバイスである同種デバイスをデバイス利用計算機に割り当てる。
リスト更新部230は、各物理計算機200の仮想計算機モニタ部210と通信し、デバイス割り当てリスト291を更新する。
図2は、実施の形態1における仮想計算機部300および仮想計算機モニタ部210の機能構成を示す図である。
実施の形態1における仮想計算機部300および仮想計算機モニタ部210の機能構成について、図2に基づいて説明する。
仮想計算機部300は、アプリケーション部310と、デバイス利用フック部320と、ゲストOS部330とを備える。
アプリケーション部310は、デバイス201を利用するデバイス利用処理を含むアプリケーションプログラムを実行する。アプリケーション部310はアプリケーションプログラム毎に存在する。
デバイス利用フック部320は以下のようにデバイス利用処理をフックする。
デバイス利用フック部320は、デバイス利用処理の開始を検出し、デバイス利用処理が実行される前に利用デバイスの割り当てをゲストOS部330を介してデバイス割り当て機構部220に要求する。
ゲストOS部330は仮想計算機用のOS(ゲストOS)を実行する。
ゲストOS部330は、割り当て機構ドライバ部331とデバイスドライバ部332とを備える。
割り当て機構ドライバ部331は、デバイス利用フック部320の要求に従って、利用デバイスの割り当てをデバイス割り当て機構部220に要求する。
デバイスドライバ部332は、デバイス利用処理で発生した利用デバイスの制御を仮想計算機モニタ部210に要求する。デバイスドライバ部332はデバイス201毎に存在する。
仮想計算機モニタ部210は、デバイス割り当て部211と、ライブマイグレーション部212と、デバイス模擬部213とを備える。
デバイス割り当て部211は、利用デバイスの割り当てが要求された場合、利用デバイスをデバイス利用計算機に割り当てる。
ライブマイグレーション部212は、割り当て可能装置へのデバイス利用計算機のライブマイグレーションが要求された場合、デバイス利用計算機を割り当て可能装置にライブマイグレーションする。
デバイス模擬部213は、デバイスドライバ部332の要求に従って利用デバイスを制御する。
図3は、実施の形態1における計算機システム100のデバイス利用方法を示すフローチャートである。
実施の形態1における計算機システム100のデバイス利用方法について、図3に基づいて説明する。
図3に示すフローチャートは、各物理計算機200の仮想計算機部300においてアプリケーションプログラムに含まれるデバイス利用処理が開始または終了する度に実行される。
S110において、デバイス利用処理を開始または終了するデバイス利用計算機(仮想計算機)のデバイス利用フック部320は、デバイス利用処理の開始またはデバイス利用処理の終了を検出する。つまり、デバイス利用計算機のデバイス利用フック部320はデバイス利用処理をフックする。
S110の後、処理はS120に進む。
S120において、デバイス利用計算機のデバイス利用フック部320は、検出した内容を判定する。
デバイス利用処理の開始を検出した場合、処理はS130に進む。
デバイス利用処理の終了を検出した場合、処理はS140に進む。
S130において、デバイス利用計算機のデバイス利用フック部320は、デバイス利用処理で利用される利用デバイスを特定し、特定した利用デバイスがデバイス利用計算機に割り当て済みであるか否かを判定する。
例えば、デバイス利用フック部320は、利用デバイスがデバイス利用計算機に割り当て済みであるか否かを以下のように判定する。
デバイス利用フック部320は、利用デバイス用のデバイスドライバがデバイス利用計算機用の記憶領域にロードされていれば、利用デバイスがデバイス利用計算機に割り当て済みであると判定する。
デバイス利用フック部320は、デバイス割り当てリスト291に基づいて、利用デバイスがデバイス利用計算機に割り当て済みであるか否かを判定する。
デバイス利用フック部320は、利用デバイスがデバイス利用計算機に割り当て済みであるか否かを仮想計算機モニタ部210に問い合わせる。
利用デバイスがデバイス利用計算機に割り当て済みであると判定された場合(YES)、デバイス利用方法の処理は終了する。
利用デバイスがデバイス利用計算機に割り当て済みでないと判定された場合(NO)、処理はS200に進む。
S200において、デバイス利用計算機を備える物理計算機200はデバイス利用計算機に利用デバイスを割り当てる。
そして、デバイス利用計算機は、デバイスドライバ部332を介して利用デバイスを利用しながらアプリケーションプログラムを実行する。
デバイス割り当て処理(S200)の詳細については後述する。
S200の後、デバイス利用方法の処理は終了する。
S140において、デバイス利用計算機のデバイス利用フック部320は、利用デバイスがデバイス利用計算機に割り当て済みであるか否かを判定する(S130と同様)。
利用デバイスがデバイス利用計算機に割り当て済みであると判定された場合(YES)、処理はS150に進む。
利用デバイスがデバイス利用計算機に割り当て済みでないと判定された場合(NO)、デバイス利用方法の処理は終了する。
S150において、デバイス利用計算機を備える物理計算機200はデバイス利用計算機から利用デバイスの割り当てを解除する。つまり、物理計算機200はデバイス利用計算機から利用デバイスを解放する。
デバイス解放処理(S150)の詳細については後述する。
S150の後、デバイス利用方法の処理は終了する。
図4は、実施の形態1におけるデバイス割り当て処理(S200)のフローチャートである。
実施の形態1におけるデバイス割り当て処理(S200)について、図4に基づいて説明する。
S210において、デバイス利用計算機のデバイス利用フック部320は、割り当て機構ドライバ部331を介して利用デバイスの割り当てをデバイス割り当て機構部220に要求する。
つまり、デバイス利用計算機において、デバイス利用フック部320は利用デバイスの割り当てを割り当て機構ドライバ部331に要求し、割り当て機構ドライバ部331は利用デバイスの割り当てをデバイス割り当て機構部220に要求する。
S210の後、処理はS220に進む。
S220において、デバイス割り当て機構部220は、利用デバイスをデバイス利用計算機に割り当てることができるか否かをデバイス割り当てリスト291(図5参照)に基づいて判定する。
利用デバイスをデバイス利用計算機に割り当てることができると判定した場合(YES)、処理はS230に進む。
利用デバイスをデバイス利用計算機に割り当てることができないと判定した場合(NO)、処理はS240に進む。
図5は、実施の形態1におけるデバイス割り当てリスト291の一例を示す図である。
実施の形態1におけるデバイス割り当てリスト291に基づいて、図5に基づいて説明する。
デバイス割り当てリスト291は、物理計算機200毎に、物理計算機200を識別する識別子と、物理計算機200が備えるデバイス201の種類を識別する識別子と、デバイス201の割り当て状態と、デバイス201が割り当てられている仮想計算機部300を識別する識別子とを示す。
例えば、デバイス割り当てリスト291は、物理計算機PMのデバイスDが仮想計算機VMに割り当てられていることを示し、物理計算機PMのデバイスDがいずれの仮想計算機部300にも割り当てられていないことを示している。
例えば、デバイス利用計算機が物理計算機PMに備わる仮想計算機VMであり、利用デバイスが物理計算機PMのデバイスDである場合、デバイス割り当て機構部220は、物理計算機PMのデバイスDが未割り当てであるため、利用デバイスをデバイス利用計算機に割り当てることが可能であると判定する。
例えば、デバイス利用計算機が物理計算機PMに備わる仮想計算機VMであり、利用デバイスが物理計算機PMのデバイスDである場合、デバイス割り当て機構部220は、物理計算機PMのデバイスDが他の仮想計算機VMに割り当て済みであるため、利用デバイスをデバイス利用計算機に割り当てることが可能でないと判定する。
図4に戻り、S230から説明を続ける。
S230において、デバイス割り当て機構部220は利用デバイスの割り当てを仮想計算機モニタ部210に要求し、仮想計算機モニタ部210のデバイス割り当て部211は利用デバイスをデバイス利用計算機に割り当てる。デバイスの割り当て方法の一例としてホットプラグが挙げられる。
また、仮想計算機モニタ部210のデバイス割り当て部211は利用デバイスの割り当てを各物理計算機200のリスト更新部230に通知し、各物理計算機200のリスト更新部230は通知内容に従ってデバイス割り当てリスト291(図5参照)を更新する。つまり、リスト更新部230は利用デバイスの割り当て状態を割り当て済みにし、利用デバイスが割り当てられた仮想計算機の欄にデバイス利用計算機の識別名を設定する。
S230の後、デバイス割り当て処理(S200)は終了する。
S240において、デバイス割り当て機構部220はデバイス利用計算機の一時停止を仮想計算機モニタ部210に要求し、仮想計算機モニタ部210はデバイス利用計算機を一時停止する。
但し、デバイス利用計算機が一時停止の状態である場合、仮想計算機モニタ部210はデバイス利用計算機を一時停止する必要はない。
S240の後、処理はS250に進む。
S250において、デバイス割り当て機構部220は、利用デバイスを同じ種類のデバイス201である同種デバイスを割り当てることができる割り当て可能装置(物理計算機)が有るか否かをデバイス割り当てリスト291(図5参照)に基づいて判定する。
図5において、利用デバイスの種類がデバイスDである場合、デバイス割り当て機構部220は、物理計算機PMのデバイスDが未割り当てであるため、割り当て可能装置(物理計算機PM)があると判定する。
割り当て可能装置が有ると判定した場合(YES)、処理はS260に進む。
割り当て可能装置が無いと判定した場合(NO)、処理はS220に戻る。
S260において、デバイス割り当て機構部220は割り当て可能装置へのデバイス利用計算機のライブマイグレーションを仮想計算機モニタ部210に要求し、仮想計算機モニタ部210のライブマイグレーション部212はデバイス利用計算機を割り当て可能装置にライブマイグレーションする。
このとき、ライブマイグレーション部212は、デバイス利用計算機のメモリイメージをメモリから取得し、取得したデバイス利用計算機のメモリイメージをネットワーク109を介して割り当て可能装置に送信(移動)する。そして、割り当て可能装置の仮想計算機モニタ部210はデバイス利用計算機のメモリイメージを受信し、デバイス利用計算機のメモリイメージをメモリに記憶し、デバイス利用計算機のメモリイメージを用いてデバイス利用計算機の一時停止を解除する。つまり、割り当て可能装置の仮想計算機モニタ部210はデバイス利用計算機の動作を再開させる。デバイス利用計算機のメモリイメージは、メモリの記憶領域のうちのデバイス利用計算機用に確保された記憶領域に記憶されているデータである。また、割り当て可能装置の仮想計算機モニタ部210は、デバイス利用計算機を実行するための仮想計算機部300を生成する。
S260の後、処理はS270に進む。
S270において、割り当て可能装置の仮想計算機モニタ部210のデバイス割り当て部211は、ライブマイグレーションされたデバイス利用計算機に利用デバイスと同じ種類のデバイス201である同種デバイスを割り当てる。
また、割り当て可能装置の仮想計算機モニタ部210のデバイス割り当て部211は、利用デバイスの割り当てを割り当て可能装置のリスト更新部230および他の物理計算機200のリスト更新部230に通知する。そして、各物理計算機200のリスト更新部230は通知内容に従ってデバイス割り当てリスト291(図5参照)を更新する。つまり、リスト更新部230は利用デバイスの割り当て状態を割り当て済みにし、利用デバイスが割り当てられた仮想計算機の欄にデバイス利用計算機の識別名を設定する。
S270の後、デバイス割り当て処理(S200)は終了する。
図6は、実施の形態1におけるデバイス解放処理(S150)のフローチャートである。
実施の形態1におけるデバイス解放処理(S150)について、図6に基づいて説明する。
S151において、デバイス利用計算機のデバイス利用フック部320は、利用デバイスの解放を割り当て機構ドライバ部331を介してデバイス割り当て機構部220に要求する。
つまり、デバイス利用フック部320は利用デバイスの解放を割り当て機構ドライバ部331に要求し、割り当て機構ドライバ部331は利用デバイスの解放をデバイス割り当て機構部220に要求する。
S151の後、処理はS152に進む。
S152において、デバイス割り当て機構部220は利用デバイスの解放を仮想計算機モニタ部210に要求する。
S152の後、処理はS153に進む。
S153において、仮想計算機モニタ部210のデバイス割り当て部211は、デバイス利用計算機から利用デバイスの割り当てを解除する。つまり、仮想計算機モニタ部210のデバイス割り当て部211はデバイス利用計算機から利用デバイスを解放する。デバイスの解放方法の一例としてアンプラグが挙げられる。
また、仮想計算機モニタ部210のデバイス割り当て部211は利用デバイスの解放を各物理計算機200のリスト更新部230に通知し、各物理計算機200のリスト更新部230は通知内容に従ってデバイス割り当てリスト291(図5参照)を更新する。つまり、リスト更新部230は、利用デバイスの割り当て状態を未割り当てにし、利用デバイスが割り当てられた仮想計算機の欄からデバイス利用計算機の識別名を削除する。
S153の後、デバイス解放処理(S150)は終了する。
図7は、実施の形態1における物理計算機200のハードウェア構成の一例を示す図である。
実施の形態1における物理計算機200のハードウェア構成の一例について、図7に基づいて説明する。但し、物理計算機200のハードウェア構成は図7に示す構成と異なる構成であってもよい。
物理計算機200は、演算装置901、補助記憶装置902、主記憶装置903、通信装置904および入出力装置905を備えるコンピュータである。
演算装置901、補助記憶装置902、主記憶装置903、通信装置904および入出力装置905はバス909に接続している。
演算装置901は、プログラムを実行するCPU(Central Processing Unit)である。
補助記憶装置902は、例えば、ROM(Read Only Memory)、フラッシュメモリまたはハードディスク装置である。
主記憶装置903は、例えば、RAM(Random Access Memory)である。
通信装置904は、有線または無線でインターネット、LAN(ローカルエリアネットワーク)、電話回線網またはその他のネットワークを介して通信を行う。
入出力装置905は、例えば、マウス、キーボード、ディスプレイ装置である。
プログラムは、通常は補助記憶装置902に記憶されており、主記憶装置903にロードされ、演算装置901に読み込まれ、演算装置901によって実行される。
例えば、オペレーティングシステム(OS)が補助記憶装置902に記憶される。また、「〜部」として説明している機能を実現するプログラムが補助記憶装置902に記憶される。そして、OSおよび「〜部」として説明している機能を実現するプログラムは主記憶装置903にロードされ、演算装置901によって実行される。「〜部」は「〜処理」「〜工程」「〜プロセス」「〜タスク」と読み替えることができる。
「〜の判断」、「〜の判定」、「〜の抽出」、「〜の検知」、「〜の設定」、「〜の登録」、「〜の選択」、「〜の生成」、「〜の入力」、「〜の出力」等の処理の結果を示す情報、データ、ファイル、信号値または変数値が主記憶装置903または補助記憶装置902に記憶される。また、物理計算機200が使用するその他のデータが主記憶装置903または補助記憶装置902に記憶される。
実施の形態1により、仮想計算機がデバイスを利用するときに自物理計算機に空いているデバイスが無い場合、仮想計算機を他の物理計算機にライブマイグレーションし、デバイスの利用効率を向上させることができる。
実施の形態2.
仮想計算機部300にデバイス201をパススルー方式で割り当てる形態について説明する。
以下、実施の形態1と異なる事項について主に説明する。説明を省略する事項については実施の形態1と同様である。
計算機システム100の構成は実施の形態1と同様である(図1参照)。
図8は、実施の形態2における物理計算機200の機能構成図である。
実施の形態2における物理計算機200の機能構成について、図8に基づいて説明する。
物理計算機200は、実施の形態1(図2参照)で説明した構成のうち、デバイス模擬部213を備えていない。
デバイス割り当て部211がデバイス201をパススルー方式で仮想計算機部300に割り当てることにより、デバイスドライバ部332が仮想計算機モニタ部210を介せずにデバイス201を直接に制御することができるためである。
パススルー方式は、仮想計算機部のゲストOS(デバイスドライバ)が仮想計算機モニタを介せずにデバイスを直接に制御するための方式である。パススルー方式はI/Oパススルーまたはデバイスパススルーともいう。
デバイス利用方法の処理は実施の形態1と同様である(図3、図4、図6参照)。
但し、S230(図4)およびS270(図4)において、仮想計算機モニタ部210はデバイス利用計算機に利用デバイスをパススルー方式で割り当てる。
実施の形態2により、仮想計算機にデバイスをパススルー方式で割り当てることができる。
実施の形態3.
複数のデバイス割り当て要求が発生した場合にデバイスの割り当てを要求した各仮想計算機の優先度に基づいてデバイスを割り当てる形態について説明する。
以下、実施の形態1、2のいずれとも異なる事項について主に説明する。説明を省略する事項については実施の形態1、2の少なくともいずれかと同様である。
計算機システム100の構成は実施の形態1、2と同様である(図1参照)。
図9は、実施の形態3における物理計算機200の機能構成図である。
実施の形態3における物理計算機200の機能構成について、図9に基づいて説明する。
物理計算機200は、実施の形態1(図2参照)で説明した構成に加えて、仮想計算機優先度リスト292を備える。
仮想計算機優先度リスト292は、各仮想計算機部300の優先度を示すリストである。
デバイス割り当て機構部220は、仮想計算機優先度リスト292に基づいて、各仮想計算機部300の優先度順に各仮想計算機部300に対するデバイスの割り当てを仮想計算機モニタ部210に要求する。
図10は、実施の形態3における仮想計算機優先度リスト292の一例を示す図である。
図10に示すように、仮想計算機優先度リスト292は、仮想計算機毎に仮想計算機の識別子と仮想計算機の優先度とを示す。
デバイス利用方法の処理は実施の形態1、2と同様である(図3参照)。
但し、デバイス割り当て処理(S200)は図11に示す通りである。
図11は、実施の形態3におけるデバイス割り当て処理(S200)のフローチャートである。
実施の形態3におけるデバイス割り当て処理(S200)について、図11に基づいて説明する。
S211において、複数のデバイス利用フック部320が利用デバイスの割り当てを割り当て機構ドライバ部331を介してデバイス割り当て機構部220に要求する。つまり、複数のデバイス利用計算機(仮想計算機部300)が利用デバイスの割り当てをデバイス割り当て機構部220に要求する。
S211の後、処理はS212に進む。
S212において、デバイス割り当て機構部220は、未選択である複数のデバイス利用計算機のうち最も優先度が高いデバイス利用計算機を仮想計算機優先度リスト292(図10参照)に基づいて選択する。
S212の後、処理はS220に進む。
S220以降の処理はS212で選択されたデバイス利用計算機に対して実行される。
S220からS270は実施の形態1、2と同様である(図4参照)。
S280において、デバイス割り当て機構部220は、未選択のデバイス利用計算機が残っているか否かを判定する。
未選択のデバイス利用計算機が残っている場合(YES)、処理はS212に戻る。
未選択のデバイス利用計算機が残っていない場合(NO)、デバイス割り当て処理(S200)は終了する。
実施の形態3により、複数の仮想計算機がデバイスの割り当てを要求した場合に仮想計算機の優先度順に仮想計算機にデバイスを割り当て、同じデバイスを利用する仮想計算機の競合を防ぐことができる。
実施の形態3において、実施の形態2と同様に、仮想計算機にデバイスをパススルー方式で割り当てても構わない。
実施の形態4.
デバイスの割り当てを見直す形態、つまり、デバイスの再割り当てを行う形態について説明する。
以下、実施の形態1から3のいずれとも異なる事項について主に説明する。説明を省略する事項については実施の形態1から3の少なくともいずれかと同様である。
計算機システム100の構成は実施の形態1と同様である(図1参照)。
物理計算機200の機能構成は実施の形態3と同様である(図9参照)。
デバイス利用方法の処理は実施の形態1、2と同様である(図3参照)。
但し、デバイス割り当て処理(S200)は図12に示す通りである。
図12は、実施の形態4におけるデバイス割り当て処理(S200)のフローチャートである。
実施の形態4におけるデバイス割り当て処理(S200)について、図12に基づいて説明する。
S210、S230からS270は実施の形態1、2と同様である。
S221において、デバイス割り当て機構部220は、利用デバイスをデバイス利用計算機に割り当てることができるか否かをデバイス割り当てリスト291および仮想計算機優先度リスト292に基づいて判定する。
例えば、デバイス割り当て機構部220は、利用デバイスをデバイス利用計算機に割り当てることができるか否かを以下のように判定する。
利用デバイスがいずれの仮想計算機部300にも割り当てられていない場合、デバイス割り当て機構部220は、利用デバイスをデバイス利用計算機に割り当てることができると判定する。
利用デバイスがデバイス利用計算機よりも優先度が高い仮想計算機部300に割り当てられている場合、デバイス割り当て機構部220は、利用デバイスをデバイス利用計算機に割り当てることができないと判定する。
利用デバイスがデバイス利用計算機よりも優先度が低い仮想計算機部300に割り当てられている場合、デバイス割り当て機構部220は、利用デバイスをデバイス利用計算機に割り当てることができると判定する。この場合、利用デバイスが割り当てられている仮想計算機部300(以下、割り当て済み計算機という)に対する利用デバイスの割り当てを変更する必要がある。
S221の後、処理はS222に進む。
S222において、デバイス割り当て機構部220は、割り当て済み計算機に対する利用デバイスの割り当てを変更するか否かを判定する。
割り当て済み計算機に対する利用デバイスの割り当てを変更すると判定した場合(YES)、処理はS300に進む。割り当て変更処理(S300)については後述する。
割り当て済み計算機に対する利用デバイスの割り当てを変更しないと判定した場合(NO)、処理はS230に進む。
図13は、実施の形態4における割り当て変更処理(S300)のフローチャートである。
実施の形態4における割り当て変更処理(S300)について、図13に基づいて説明する。
S310において、デバイス割り当て機構部220は、割り当て済み計算機に割り当てられている利用デバイスの割り当ての変更を仮想計算機モニタ部210に要求する。
S310の後、処理はS320に進む。
S320において、仮想計算機モニタ部210のデバイス割り当て部211は、割り当て済み計算機から利用デバイスを解放し、デバイス利用計算機に利用デバイスを割り当てる。
また、仮想計算機モニタ部210のデバイス割り当て部211は利用デバイスの解放および割り当てを各物理計算機200のリスト更新部230に通知し、各物理計算機200のリスト更新部230は通知内容に従ってデバイス割り当てリスト291(図5参照)を更新する。
S320の後、割り当て済み計算機を新たなデバイス利用計算機と見なして、新たなデバイス利用計算機に対するデバイス割り当て処理(S200)(図12参照)が実行される。
図14は、実施の形態4における仮想計算機の状態遷移の一例を示す図である。
図15は、実施の形態4におけるデバイス割り当てリスト291の状態遷移の一例を示す図である。
図14に示す順序で仮想計算機VMがデバイスDを利用し、仮想計算機VMがデバイスDおよびデバイスDを利用する場合、デバイス割り当てリスト291は図15に示すように変化する。
ここで、仮想計算機VMおよび仮想計算機VMは物理計算機PMに備わり、仮想計算機VMは仮想計算機VMよりも優先度が高いものとする。
(0)仮想計算機VMがデバイスDを利用する処理を開始し、仮想計算機VMに物理計算機PMのデバイスDが割り当てられる。
(1)仮想計算機VMがデバイスDおよびデバイスDを利用する処理を開始し、仮想計算機VMから物理計算機PMのデバイスDが解放され、仮想計算機VMにデバイスDおよびデバイスDが割り当てられる。
また、仮想計算機VMは物理計算機PMにライブマイグレーションされ、仮想計算機VMに物理計算機PMのデバイスDが割り当てられる。
(3)仮想計算機VMがデバイスDおよびデバイスDを利用する処理を終了し、仮想計算機VMから物理計算機PMのデバイスDおよびデバイスDが解放される。
(4)仮想計算機VMがデバイスDを利用する処理を終了し、仮想計算機VMから物理計算機PMのデバイスDが解放される。
実施の形態4により、デバイスの割り当てを見直し、デバイスの利用効率を向上させることができる。
各実施の形態は、計算機システム100の形態の一例である。
つまり、計算機システム100は、各実施の形態で説明した構成要素の一部を備えなくても構わない。また、計算機システム100は、各実施の形態で説明していない構成要素を備えても構わない。さらに、計算機システム100は、各実施の形態の構成要素の一部または全てを組み合わせたものであっても構わない。
各実施の形態においてフローチャート等を用いて説明した処理手順は、各実施の形態に係る方法(例えば、デバイス利用方法)の処理手順の一例であり、また、各実施の形態に係るプログラム(例えば、デバイス利用プログラム)の処理手順の一例である。つまり、各実施の形態に係る方法およびプログラムは、各実施の形態で説明した処理手順と一部異なる処理手順で実現されても構わない。
100 計算機システム、109 ネットワーク、200 物理計算機、201 デバイス、210 仮想計算機モニタ部、211 デバイス割り当て部、212 ライブマイグレーション部、213 デバイス模擬部、220 デバイス割り当て機構部、230 リスト更新部、291 デバイス割り当てリスト、292 仮想計算機優先度リスト、300 仮想計算機部、310 アプリケーション部、320 デバイス利用フック部、330 ゲストOS部、331 割り当て機構ドライバ部、332 デバイスドライバ部、901 演算装置、902 補助記憶装置、903 主記憶装置、904 通信装置、905 入出力装置、909 バス。

Claims (7)

  1. 1つ以上の物理計算機と接続する情報処理装置であって、
    第一のデバイスと、
    前記第一のデバイスを利用するデバイス利用処理を含むアプリケーションプログラムを実行する第一の仮想計算機として機能する第一の仮想計算機部と、
    前記第一の仮想計算機部によって前記アプリケーションプログラムに含まれる前記デバイス利用処理が開始されるときに前記第一のデバイスを前記第一の仮想計算機に割り当てることができるか否かを判定し、前記第一のデバイスを前記第一の仮想計算機に割り当てることができないと判定したときに前記1つ以上の物理計算機のうち前記第一のデバイスと同じ種類のデバイスを割り当てることができる物理計算機を割り当て可能装置として選択するデバイス割り当て機構部と、
    前記デバイス割り当て機構部によって選択された前記割り当て可能装置に前記第一の仮想計算機をライブマイグレーションするライブマイグレーション部と
    を備えることを特徴とする情報処理装置。
  2. 前記情報処理装置は、前記1つ以上の物理計算機の物理計算機毎に物理計算機が備えるデバイスの種類と、物理計算機が備えるデバイスが割り当て済みであるか否かを表す割り当て状態とを示すデバイス割り当てリストを記憶し、
    前記デバイス割り当て機構部は、前記デバイス割り当てリストに基づいて、前記割り当て可能装置を選択する
    ことを特徴とする請求項1記載の情報処理装置。
  3. 前記ライブマイグレーション部は、前記デバイス割り当て機構部によって前記第一のデバイスを前記第一の仮想計算機に割り当てることができると判定された場合、前記第一の仮想計算機に前記第一のデバイスをパススルー方式で割り当てる
    ことを特徴とする請求項1または請求項2記載の情報処理装置。
  4. 前記情報処理装置は、第二の仮想計算機として機能する第二の仮想計算機部を備え、前記第一の仮想計算機と前記第二の仮想計算機とのそれぞれの優先度を示す仮想計算機優先度リストを記憶し、
    前記デバイス割り当て機構部は、前記第一の仮想計算機部と前記第二の仮想計算機部とのそれぞれが前記デバイス利用処理を開始した場合、前記仮想計算機優先度リストに基づいて、前記第一の仮想計算機と前記第二の仮想計算機とのうちの優先度が高い方の仮想計算機から先に前記第一のデバイスを割り当てることができるか否かを判定する
    ことを特徴とする請求項1から請求項3のいずれかに記載の情報処理装置。
  5. 前記情報処理装置は、デバイス割り当て部と、前記第一の仮想計算機より優先度が低い第二の仮想計算機として機能する第二の仮想計算機部とを備え、
    前記デバイス割り当て機構部は、前記第二の仮想計算機に前記第一のデバイスが割り当てられている場合、前記第一の仮想計算機に前記第一のデバイスを割り当てることができると判定し、
    前記デバイス割り当て部は、前記第一の仮想計算機に前記第一のデバイスを割り当てることができると判定された場合、前記第二の仮想計算機から前記第一のデバイスを解放し、前記第一の仮想計算機に前記第一のデバイスを割り当てる
    ことを特徴とする請求項1から請求項3のいずれかに記載の情報処理装置。
  6. 第一のデバイスを備えて1つ以上の物理計算機と接続する情報処理装置を用いるデバイス利用方法であって、
    第一の仮想計算機部が、前記第一のデバイスを利用するデバイス利用処理を含むアプリケーションプログラムを実行する第一の仮想計算機として機能し、
    デバイス割り当て機構部が、前記第一の仮想計算機部によって前記アプリケーションプログラムに含まれる前記デバイス利用処理が開始されるときに前記第一のデバイスを前記第一の仮想計算機に割り当てることができるか否かを判定し、前記第一のデバイスを前記第一の仮想計算機に割り当てることができないと判定したときに前記1つ以上の物理計算機のうち前記第一のデバイスと同じ種類のデバイスを割り当てることができる物理計算機を割り当て可能装置として選択し、
    ライブマイグレーション部が、前記デバイス割り当て機構部によって選択された前記割り当て可能装置に前記第一の仮想計算機をライブマイグレーションする
    ことを特徴とするデバイス利用方法。
  7. 第一のデバイスを利用するデバイス利用処理を含むアプリケーションプログラムを実行する第一の仮想計算機として機能する第一の仮想計算機処理と、
    前記第一の仮想計算機処理によって前記アプリケーションプログラムに含まれる前記デバイス利用処理が開始されるときに前記第一のデバイスを前記第一の仮想計算機に割り当てることができるか否かを判定し、前記第一のデバイスを前記第一の仮想計算機に割り当てることができないと判定したときに前記第一のデバイスと同じ種類のデバイスを割り当てることができる物理計算機を割り当て可能装置として選択するデバイス割り当て機構処理と、
    前記デバイス割り当て機構処理によって選択された前記割り当て可能装置に前記第一の仮想計算機をライブマイグレーションするライブマイグレーション処理と
    をコンピュータに実行させるためのデバイス利用プログラム。
JP2013238142A 2013-11-18 2013-11-18 情報処理装置、デバイス利用方法およびデバイス利用プログラム Pending JP2015099445A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013238142A JP2015099445A (ja) 2013-11-18 2013-11-18 情報処理装置、デバイス利用方法およびデバイス利用プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013238142A JP2015099445A (ja) 2013-11-18 2013-11-18 情報処理装置、デバイス利用方法およびデバイス利用プログラム

Publications (1)

Publication Number Publication Date
JP2015099445A true JP2015099445A (ja) 2015-05-28

Family

ID=53376033

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013238142A Pending JP2015099445A (ja) 2013-11-18 2013-11-18 情報処理装置、デバイス利用方法およびデバイス利用プログラム

Country Status (1)

Country Link
JP (1) JP2015099445A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009069385A1 (ja) * 2007-11-27 2009-06-04 Nec Corporation デバイス検出装置、デバイス検出方法及びプログラム
JP2011248503A (ja) * 2010-05-25 2011-12-08 Nippon Telegr & Teleph Corp <Ntt> 情報サービスシステム
JP2013508832A (ja) * 2009-10-21 2013-03-07 インターナショナル・ビジネス・マシーンズ・コーポレーション 物理コンピューティング・リソースの部分を論理パーティションに割り当てる方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009069385A1 (ja) * 2007-11-27 2009-06-04 Nec Corporation デバイス検出装置、デバイス検出方法及びプログラム
JP2013508832A (ja) * 2009-10-21 2013-03-07 インターナショナル・ビジネス・マシーンズ・コーポレーション 物理コンピューティング・リソースの部分を論理パーティションに割り当てる方法
JP2011248503A (ja) * 2010-05-25 2011-12-08 Nippon Telegr & Teleph Corp <Ntt> 情報サービスシステム

Similar Documents

Publication Publication Date Title
US9588789B2 (en) Management apparatus and workload distribution management method
CN107430549B (zh) 基于联合的存储器管理
JP5782445B2 (ja) 物理コンピューティング・リソースの部分を論理パーティションに割り当てる方法
EP3313023A1 (en) Life cycle management method and apparatus
TWI574202B (zh) 用於新應用程式之記憶體管理模型與介面
JP6168576B2 (ja) 仮想マシンマイグレーション管理の方法、装置およびシステム
US11194569B2 (en) Method, electronic device and medium for upgrading a hyper-converged infrastructure node
US20170017511A1 (en) Method for memory management in virtual machines, and corresponding system and computer program product
JP2014520346A5 (ja)
KR20210095690A (ko) 리소스 관리 방법과 장치, 전자 디바이스 및 기록 매체
US10853128B2 (en) Virtual machine management device and virtual machine management method
US20150039767A1 (en) Global cloud computing environment resource allocation with local optimization
US20160352821A1 (en) Method and system for allocating resources for virtual hosts
US10452442B2 (en) System and method for resource management
WO2018107945A1 (zh) 一种实现硬件资源分配的方法、装置及存储介质
US10061528B2 (en) Disk assignment for multiple distributed computing clusters in a virtualized computing environment
JP5867238B2 (ja) オートスケーリング方法,オートスケーリングプログラムおよびコンピュータノード
JPWO2017056310A1 (ja) 計算機および計算機の制御方法
CN113986539A (zh) 实现pod固定IP的方法、装置、电子设备和可读存储介质
US10754547B2 (en) Apparatus for managing disaggregated memory and method thereof
US9690619B2 (en) Thread processing method and thread processing system for setting for each thread priority level of access right to access shared memory
JP2011221634A (ja) 計算機システム、論理区画管理方法及び論理分割処理プログラム
JP2015099445A (ja) 情報処理装置、デバイス利用方法およびデバイス利用プログラム
JP2016038888A (ja) 情報処理システム、情報処理方法及び情報処理プログラム
JP6870390B2 (ja) 仮想基盤にもとづくシステムにおけるリソース割当方法、接続管理サーバおよび接続管理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160930

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170904

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180109