JP6547363B2 - 管理装置、管理装置の制御方法、及びプログラム - Google Patents

管理装置、管理装置の制御方法、及びプログラム Download PDF

Info

Publication number
JP6547363B2
JP6547363B2 JP2015063959A JP2015063959A JP6547363B2 JP 6547363 B2 JP6547363 B2 JP 6547363B2 JP 2015063959 A JP2015063959 A JP 2015063959A JP 2015063959 A JP2015063959 A JP 2015063959A JP 6547363 B2 JP6547363 B2 JP 6547363B2
Authority
JP
Japan
Prior art keywords
job
virtual machine
execution
state
management
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.)
Active
Application number
JP2015063959A
Other languages
English (en)
Other versions
JP2016184274A (ja
Inventor
桂一 紀伊
桂一 紀伊
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2015063959A priority Critical patent/JP6547363B2/ja
Publication of JP2016184274A publication Critical patent/JP2016184274A/ja
Application granted granted Critical
Publication of JP6547363B2 publication Critical patent/JP6547363B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、管理装置、管理装置の制御方法、及びプログラムに関する。
仮想化環境においては複数のゲストOS(Operating System)がホストOSの物理リソースを共有する。そのため、仮想化環境においては、処理によっては、ゲストOS間で処理を順次実行するのが望ましい場合がある。一方、仮想化環境において、一貫性のある情報採取をするために、2以上のゲストOS間で処理を同期実行するように制御する場合もある。
そこで、分散コンピューティング環境上でのグローバルスケジューラ(ワークキュー)、ジョブスケジューラ等の技術が提案されている。
特許文献1においては、少なくとも2つのドメインを駆動する仮想マシンモニターにおいて、ドメインから受信されたタスクを実行キューに挿入し、イベントの類型に応じて、実行キューに挿入されたタスクをスケジューリングするスケジューラを選択する技術が記載されている。
特許文献2においては、仮想化環境における、仮想サーバのリソースの予約状況に基づいて、仮想サーバの構成変更のためのリソースに、空きがあるか否かを判断し、構成変更のためのリソースの空きがある場合には、構成変更の情報を登録する技術が記載されている。そして、特許文献2に記載された技術においては、登録された構成変更の情報に基づいて、構成変更処理をスケジューリングし、仮想化環境に対する構成変更処理を実行する。
特開2011−192281号公報 特開2012−160045号公報
なお、上記の先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明の観点からなされたものである。
上述の通り、仮想化環境においては、ゲストOSにおいて実行されるジョブの実行を適切にスケジューリング、及び監視することが好ましい。しかし、仮想化環境において、サスペンド、レジューム等により、ゲストOSが、突如、応答停止、または応答復帰する場合がある。また、仮想化環境によっては、ライブマイグレーションにより、ジョブを実行する仮想マシンが変更される場合がある。仮想化環境においては、このような構成変更が発生する可能性が、物理環境より高い傾向がある。
また、ゲストOS間でリソース競合が発生すると、それぞれのゲストOSは仮想的には独立して動作しているつもりでも、互いのパフォーマンスに影響を与える場合がある。
特許文献1、2に記載された技術では、仮想サーバ(ゲストOS)間で、リソース競合が発生する場合について考慮していない。そのため、特許文献1、2に記載された技術では、仮想サーバが構成変更処理を実行すると、異なる仮想サーバに影響を与える恐れがある。
そこで、本発明は、仮想化環境における状態変化の影響を軽減し、仮想化環境の構成変更を、迅速にジョブスケジューリングに反映することに貢献する管理装置、管理装置の制御方法、及びプログラムを提供することを目的とする。
本発明の第1の視点によれば、管理装置が提供される。該管理装置は、1又は2以上のジョブを実行するための、1又は2以上のゲストOSを備える。
さらに、該管理装置は、前記ゲストOSを制御する、1又は2以上の仮想マシンを備える。
さらに、該管理装置は、前記仮想マシンの状態、状態変化の少なくともいずれかに基づいて、ジョブの実行スケジュールを決定する、ジョブ管理手段を備える。
前記ジョブ管理手段は、前記仮想マシンの状態、状態変化の少なくともいずれかと、ジョブの実行タイミングを示す情報とに基づいて、ジョブの実行スケジュールを決定する。
本発明の第2の視点によれば、1又は2以上のジョブを実行するための、1又は2以上のゲストOSと、前記ゲストOSを制御する、1又は2以上の仮想マシンと、を備える管理装置の制御方法が提供される。該管理装置の制御方法は、前記仮想マシンの状態、状態変化の少なくともいずれかに基づいて、ジョブの実行スケジュールを決定する工程を含む。
前記実行スケジュールを決定する工程では、前記仮想マシンの状態、状態変化の少なくともいずれかと、ジョブの実行タイミングを示す情報とに基づいて、ジョブの実行スケジュールを決定する。
本発明の第3の視点によれば、1又は2以上のジョブを実行するための、1又は2以上のゲストOS(Operating System)と、前記ゲストOSを制御する、1又は2以上の仮想マシンと、を備える管理装置を制御するコンピュータに実行させるプログラムが提供される。該プログラムは、前記仮想マシンの状態、状態変化の少なくともいずれかに基づいて、ジョブの実行スケジュールを決定する処理を含む。
前記実行スケジュールを決定する処理では、前記仮想マシンの状態、状態変化の少なくともいずれかと、ジョブの実行タイミングを示す情報とに基づいて、ジョブの実行スケジュールを決定する。
なお、該プログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non-transient)なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
本発明の各視点によれば、仮想化環境における状態変化の影響を軽減し、仮想化環境の構成変更を、迅速にジョブスケジューリングに反映することに貢献する管理装置、管理装置の制御方法、及びプログラムが提供される。
一実施形態の概要を説明するための図である。 仮想マシン管理装置1の内部構成の一例を示すブロック図である。 ジョブ実行エージェント12の動作の一例を示すフローチャートである。 ジョブ情報管理テーブルの一例を示す図である。 ジョブ管理マネージャ32動作の一例を示すフローチャートである。 仮想マシン20の状態変化時の行動に関するテーブルの一例を示す図である。 仮想マシン20の状態変化時の行動に関するテーブルの一例を示す図である。 仮想マシン20の状態変化時の行動に関するテーブルの一例を示す図である。 仮想マシン管理手段31の動作の一例を示すフローチャートである。 ジョブ制御情報管理テーブルの一例を示す図である。 実行制御対象ジョブの状態遷移の一例を示す状態遷移図である。 実行制御対象ジョブの状態遷移の一例を示す状態遷移図である。 実行制御対象ジョブの状態遷移の一例を示す状態遷移図である。
初めに、図1を用いて一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。
上述の通り、仮想化環境における状態変化の影響を軽減し、仮想化環境の構成変更を、迅速にジョブスケジューリングに反映することに貢献する管理装置が望まれる。
そこで、一例として、図1に示す管理装置1000を提供する。管理装置1000は、1又は2以上のゲストOS1010a、1010bと、1又は2以上の仮想マシン1020a、1020bと、ジョブ管理手段1030と、を備える。以下の説明では、ゲストOS1010a、1010bをゲストOS1010と記載し、仮想マシン1020a、1020bを仮想マシン1020と記載する。なお、図1は、ゲストOS1010a、1010b、仮想マシン1020a、1020bを示すが、これは、ゲストOS1010、仮想マシン1020の数を限定する趣旨ではない。
ゲストOS1010は、1又は2以上のジョブを実行する。例えば、図1の場合、ゲストOS1010aは、ジョブ1011a、及び1011bを実行する。また、図1の場合、ゲストOS1010bは、ジョブ1011c、及び1011dを実行する。なお、図1は、各ゲストOS1010において、実行対象である2個のジョブを示すが、これは、ゲストOS1010が実行するジョブの数を限定する趣旨ではない。
仮想マシン1020は、ゲストOS1010を制御する。例えば、図1の場合には、仮想マシン1020aは、ゲストOS1010aを制御するものとする。その場合、仮想マシン1020aは、ジョブ1011a、1011bの実行を制御するものとする。さらに、図1の場合には、仮想マシン1020bは、ゲストOS1010bを制御するものとする。その場合、仮想マシン1020bは、ジョブ1011c、1011dを制御するものとする。
ジョブ管理手段1030は、仮想マシンの状態、状態変化の少なくともいずれかに基づいて、ジョブの実行スケジュールを決定する。以下の説明では、ジョブ実行スケジュールを決定することを、ジョブスケジューリングとも呼ぶ。
以上より、管理装置1000においては、仮想マシンの構成変更等により、仮想マシン1020の状態が変化した場合であっても、仮想マシン1020の状態に応じて、ジョブ管理手段1030がジョブの実行スケジュールを決定し、更新する。その結果、管理装置1000は、仮想化環境における状態変化の影響を軽減することに貢献する。さらに、管理装置1000は、仮想化環境の構成変更を、迅速にジョブスケジューリングに反映することに貢献する。
[第1の実施形態]
第1の実施形態について、図面を用いてより詳細に説明する。なお、以下の説明では、仮想マシンを「VM」(Virtual Machine)とも呼ぶ。また、以下の説明では、上記の管理装置を、仮想マシン管理装置と呼ぶ。また、以下の説明では、上記のジョブ管理手段は、以下に記載のハイパーバイザ(Hypervisor(登録商標))に相当するものとする。
図2は、本実施形態に係る仮想マシン管理装置1の内部構成の一例を示すブロック図である。図2に示す仮想マシン管理装置1は、ゲストOS10a〜10cと、仮想マシン20a〜20cと、ハイパーバイザ30と、ハードウェア40とを含んで構成される。
図2に示すゲストOS10aは、ジョブ実行エージェント12aと、ジョブ11a、11bとを含んで構成される。同様に、図2に示すゲストOS10bは、ジョブ実行エージェント12bと、ジョブ11c、1dとを含んで構成される。また、図2に示すゲストOS10cは、ジョブ実行エージェント12cと、ジョブ11e、11fとを含んで構成される。
なお、以下の説明においては、ゲストOS10a〜10c、仮想マシン20a〜20c、ジョブ実行エージェント12a〜12c、ジョブ11a〜11fを、ゲストOS10、仮想マシン20、ジョブ実行エージェント12、ジョブ11と記載する。また、図2は、ゲストOS10a〜10c、仮想マシン20a〜20cを示すが、これは、ゲストOS10、仮想マシン20の数を限定する趣旨ではない。
仮想マシン管理装置1は、ハードウェア40上で、ハイパーバイザ30を動作させることで、仮想マシン20を制御する。具体的には、仮想マシン管理装置1においては、ハイパーバイザ30が、仮想マシン20のOSであるゲストOS10を動作させる。その結果、ハイパーバイザ30は、仮想マシン20を制御、及び管理できる。
ハイパーバイザ30を実現する場合、例えば、KVM(Kernel-based Virtual Machine)機能を利用したLinux(登録商標)KernelベースのHypervisorが挙げられる。また、ゲストOS10を実現する場合、例えば、ホストOS(基本OS)をWindows(登録商標)とし、Windows(登録商標)上で、Linux(登録商標)をゲストOSとして動作させても良い。
次に、ゲストOS10について詳細に説明する。
上述の通り、ゲストOS10は、ジョブ実行エージェント12と、制御対象のジョブ11とを含んで構成される。以下の説明は、制御対象のジョブ11を、実行制御対象ジョブとも呼ぶ。
ジョブ実行エージェント12は、ジョブ管理マネージャ32からの指示に従い、実行制御対象ジョブを実行する。なお、ジョブ管理マネージャ32の詳細は後述する。
ジョブ実行エージェント12を実現する場合、例えば、ゲストOS10内のプロセスとして実装することで、ジョブ実行エージェント12を実現しても良い。また、実行制御対象ジョブは、所定の処理を実行するコマンドとして実装されても良い。
また、ジョブ実行エージェント12は、実行制御対象ジョブを実行する場合、当該実行制御対象ジョブの実行状態を、ジョブ管理マネージャ32に通知する。具体的には、ジョブ実行エージェント12は、実行制御対象ジョブを実行する場合、当該実行制御対象ジョブの開始、中断、終了等の情報を、ジョブの実行状態としてジョブ管理マネージャ32に通知しても良い。
なお、仮想マシン管理装置1は、ハイパーバイザ30、及びゲストOS10が、参照可能なバッファ領域(図示せず)を備えていても良い。その場合、ジョブ実行エージェント12、及びジョブ管理マネージャ32は、当該バッファ領域を介して、情報の送受信を行っても良い。また、ジョブ実行エージェント12と、ジョブ管理マネージャ32とが、通信するためのインターフェースは、仮想ファイルとして実装しても良い。
次に、ハイパーバイザ30について、詳細に説明する。
ハイパーバイザ30は、仮想マシン管理手段31と、ジョブ管理マネージャ32とを含んで構成される。
まず、仮想マシン管理手段31について、詳細に説明する。
仮想マシン管理手段31は、仮想マシン状態通知手段311と、仮想マシン制御手段312とを含んで構成される。
仮想マシン管理手段31を実現する場合、例えば、Linux(登録商標)KernelベースのホストOS上のプロセスとして、仮想マシン管理手段31を実装しても良い。
仮想マシン状態通知手段311は、仮想マシン20から送信されるイベント(以下、VMイベントと呼ぶ)を検出する。以下、VMイベントは、ライブマイグレーション処理、サスペンド/レジューム処理等、仮想化環境固有の処理を意味するものとする。
そして、仮想マシン状態通知手段311は、VMイベントを検出した場合、検出したVMイベントを、ジョブ管理マネージャ32に通知する。ジョブ管理マネージャ32は、仮想マシン状態通知手段311から、VMイベントの通知を受信した場合、通知されたVMイベントに基づいて、仮想マシン20の状態及び/又は状態変化を推定する。そして、ジョブ管理マネージャ32は、仮想マシン20の状態及び/又は状態変化に基づいて、制御対象ジョブの実行スケジュールを決定(ジョブスケジューリング)する。ジョブ管理マネージャ32の詳細については、後述する。
仮想マシン制御手段312は、各ゲストOSに割り当てる物理リソースを管理する。さらに、仮想マシン制御手段312は、ゲストOS10の仮想リソースに割り当てられた、物理リソースに関する情報を識別する。また、仮想マシン制御手段312は、ハイパーバイザ30上で動作する仮想マシン20を管理する。
仮想マシン制御手段312を実現する場合、仮想マシン20を制御するための、既存のプログラム(例えば、libvirt API(Application Programming Interface))を利用して、仮想マシン制御手段312を実現しても良い。
次に、ジョブ管理マネージャ32について、詳細に説明する。なお、以下の説明において、「行動」とは、VMイベントが発生した場合に、VMイベント毎に必要となる、ジョブ管理マネージャ32の対応内容(処理内容)を意味する。
ジョブ管理マネージャ32は、仮想マシンイベント受信手段321と、行動決定手段322と、仮想マシン関連ジョブ取得手段323と、ジョブスケジューラ324と、を含んで構成される。
仮想マシンイベント受信手段321は、仮想マシン状態通知手段311から、VMイベントを受信する。
仮想マシン関連ジョブ取得手段323は、仮想マシンイベント受信手段321が受信した、VMイベントに対応する仮想マシン20を特定する。そして、仮想マシン関連ジョブ取得手段323は、特定した仮想マシン20上で実行中のジョブに関する情報と、特定した仮想マシン20上で実行待ちのジョブに関する情報と、を取得する。
行動決定手段322は、予めVMイベント毎に定義された行動一覧から、VMイベント発生時に必要な行動を決定する。
ジョブ管理マネージャ32は、仮想マシン関連ジョブ取得手段323が取得したジョブ一覧と、行動決定部322が決定した行動とに基づいて、ジョブスケジューラ324に、実行制御対象ジョブの再スケジュール要求(スケジュールの更新要求)を行う。
ジョブスケジューラ324は、実行契機調停手段325と、実行契機通知手段326とを含んで構成される。
実行契機調停手段325は、複数のジョブの起動、終了を管理する。具体的には、実行契機調停手段325は、ジョブの実行開始、終了状態の監視処理を行う。
実行契機通知手段326は、実行可能状態のジョブがある場合、ジョブ実行エージェント12に、当該実行可能状態のジョブに関する情報を送信する。そして、実行契機通知手段326は、当該実行可能状態のジョブを実行するように、ジョブ実行エージェント12に通知する。
次に、本実施形態に係る仮想マシン管理装置1の動作について説明する。以下の説明では、実行制御対象ジョブが、仮想マシン管理装置1全体の状態を把握する処理(例えば、psコマンド、topコマンド等)である場合を例示して説明する。なお、psコマンドとは、実行中のプロセスを表示するコマンドを意味する。また、topコマンドとは、プロセスの実行時の負荷に関する情報を取得、及び表示するコマンドを意味する。以下の説明では、実行プロセス、実行時の負荷等に関する情報を、性能情報と呼ぶ。
実行制御対象ジョブが、仮想マシン管理装置1全体の状態を把握する処理である場合、ジョブ管理マネージャ32は、複数のゲストOS10上での実行プロセス、実行時の負荷等の取得タイミングを、当該複数のゲストOS10で同期させることが望まれる。一方では、物理リソースの競合を避けるために、ジョブ管理マネージャ32は、各ゲストOS10に関して、順に、取得した性能情報の後処理を実行することが好ましい。ここで、後処理とは、性能情報の統計値の算出処理、ディスク入出力処理等であっても良い。
また、実行制御対象ジョブは、仮想化環境でのリソース競合(メモリ、CPU(Central Processing Unit)等の競合)につながる(リソース競合を発生し得る)ジョブであっても良く、実行制御対象ジョブの種類、処理内容等は問わない。
次に、仮想マシン管理装置1の動作について説明する。
まず、図3を参照しながら、ジョブ実行エージェント12の動作について説明する。
ステップA1において、ジョブ実行エージェント12は、VMイベントが発生したか否かを判断する。
まず、ジョブ実行エージェント12が、ジョブ管理マネージャ32から、「実行制御対象ジョブ開始の通知」を受け付けた場合の動作について説明する。
ジョブ実行エージェント12が、ジョブ管理マネージャ32から、「実行制御対象ジョブ開始の通知」を受け付けた場合、ジョブ実行エージェント12は、ジョブ情報管理テーブルで管理されているジョブ情報を、ジョブ管理マネージャ32から取得する(ステップA2)。
次に、ジョブ実行エージェント12は、取得したジョブ情報に基づいて、実行制御対象ジョブを起動し、実行可能状態となるまで一時中断する(ステップA3)。
そして、ジョブ実行エージェント12は、実行制御対象ジョブが「実行待ち」状態であることをジョブ管理マネージャ32へ通知する(ステップA4)。そして、ステップA9に遷移する。
ここで、図4を参照しながら、ジョブ情報管理テーブルについて説明する。
図4は、ジョブ情報管理テーブルの一例を示す図である。具体的には、図4に示すジョブ情報管理テーブルは、ジョブ識別子と、ジョブの内容と、タイプとを対応付けたテーブルである。ここで、ジョブ識別子とは、ジョブを識別するための情報を意味する。また、ジョブの内容とは、ジョブとして実行される処理の内容であり、図4に示すように、実行コマンド(即ち、実行関数名、及び当該実行関数の引数等)であっても良い。また、図4において、タイプとは、ジョブの実行タイミングを示す情報を意味する。なお、図4において、「同期」タイプとは、異なる仮想マシン20が、「ジョブの内容」に示すジョブの実行タイミングを同期させることを意味する。また、図4において、「順次」タイプとは、異なる仮想マシンが、「ジョブの内容」に示すジョブを実行する場合に、同一の仮想マシン20が当該ジョブの実行終了後に、他の仮想マシン20が当該ジョブを実行することを意味する。なお、以下の説明においても、「同期」タイプ、「順次」タイプとは、上記の意味であるものとする。
次に、実行制御対象ジョブが実行終了した場合の動作について説明する。
ジョブ実行エージェント12は、「実行制御対象ジョブの終了」を検知した場合、ジョブ実行エージェント12は、実行制御対象ジョブが「実行終了」状態になったことをジョブ管理マネージャ32へ通知する(ステップA5)。そして、ステップA9に遷移する。
次に、ジョブ実行エージェント12が、ジョブ管理マネージャ32から、「実行制御対象ジョブの実行/終了/中断のいずれかに関する通知」を受け付けた場合について説明する。
ジョブ実行エージェント12は、ジョブ管理マネージャ32から「実行制御対象ジョブの実行/終了/中断のいずれかに関する通知」を受け付けた場合、ジョブ情報、及びジョブの実行情報(実行/終了/中断)を取得する(ステップA6)。
次に、ジョブ実行エージェント12は、実行制御対象ジョブを、取得した実行情報の状態に変更する(ステップA7)。
そして、ジョブ実行エージェント12は、変更後のジョブの状態を、ジョブ管理マネージャ32へ通知する(ステップA8)。そして、ステップA9に遷移する。
ステップA9において、ジョブ実行エージェント12は、処理を継続するか否かを判断する。
ジョブ実行エージェント12は、処理を継続する場合(ステップA9、Yes分岐)には、ステップA1に戻り、各種イベント発生を契機に上記処理を繰り返す。一方、処理を継続しないと判断した場合(ステップA9、No分岐)には、ジョブ実行エージェント12は処理を終了する。
次に、図5を参照しながら、ジョブ管理マネージャ32の動作について説明する。
ステップB1において、イベントが発生した場合、ジョブ管理マネージャ32はイベントの内容を判断する。
まず、ジョブ管理マネージャ32が、「ジョブ実行エージェント12へのジョブの投入要求」を受け付けた場合の動作について説明する。
まず、ジョブ管理マネージャ32は、ユーザ(ジョブ投入者)から、「ジョブ実行エージェント12へのジョブの投入要求」を受け付けた場合、ジョブ制御情報管理テーブルへジョブ情報を登録する(ステップB2)。具体的には、ジョブ管理マネージャ32は、「ジョブ実行エージェント12へのジョブの投入要求」を受け付けた場合、ジョブ情報管理テーブルから、当該ジョブに関するジョブ情報を取得する。そして、ジョブ管理マネージャ32は、ジョブ制御情報管理テーブルに、取得したジョブ情報を登録する。なお、ジョブ管理マネージャ32は、ジョブの初期状態を、「実行準備中」として、ジョブ制御情報管理テーブルに、取得したジョブ情報を登録する。
次に、ジョブ管理マネージャ32は、ジョブ実行エージェント12に、ジョブ情報を通知する(ステップB3)。そして、ステップB14に遷移する。
次に、ジョブ管理マネージャ32が、「ジョブ実行エージェントから、ジョブの実行待ち/実行/終了/中断の通知」を受け付けた場合の動作について説明する。
ジョブ管理マネージャ32は、「ジョブ実行エージェントから、ジョブの実行待ち/実行/終了/中断の通知」を受け付けた場合、ジョブ実行エージェント12からジョブ情報を取得する(ステップB4)。
ステップB5において、ジョブ管理マネージャ32は、ジョブ制御情報管理テーブルへジョブ情報を反映する。
ステップB6において、ジョブ管理マネージャ32は、ジョブ制御情報管理テーブルから実行契機の通知が必要なジョブを取得する。具体的には、ジョブ制御情報管理テーブルにおいて、「仮想マシンの状態」が「実行中」であり、かつ「ジョブの状態」が「実行待ち」であるジョブのうち、実行可能なジョブを、ジョブ管理マネージャ32は選択、取得する。より具体的には、ジョブ管理マネージャ32は、上記条件を満たすジョブのうち、ジョブの「タイプ」(順次実行/同期実行)に基づいて、ジョブを選択する。
ステップB7において、ジョブ管理マネージャ32は、ジョブを選択した場合、ジョブ制御情報管理テーブルにおける、当該ジョブの状態を更新する。具体的には、ジョブ管理マネージャ32は、ジョブ制御情報管理テーブルにおける、当該ジョブの状態を、「実行」に更新する。
ステップB8において、ジョブ管理マネージャ32は、ジョブ実行エージェント12へジョブ情報を通知する。
次に、ジョブ管理マネージャ32が、「仮想マシン管理手段から、VMイベントの通知」を受け付けた場合について説明する。
ジョブ管理マネージャ32は、「仮想マシン管理手段から、VMイベントの通知」を受け付けた場合、仮想マシンイベント受信手段321が、VMイベント(状態変更前)を取得する(ステップB9)。ここで、通知されるVMイベントは、「ゲスト名」を識別するための情報、及び「VMイベント」を識別するための情報を含む。
ステップB10において、仮想マシン関連ジョブ取得手段323は、ジョブ制御情報管理テーブルから、VMイベントに含まれるゲスト名に対応する、ジョブ識別子の一覧を取得する。当該ジョブ識別子の一覧は、ジョブの再スケジューリング要求対象である、ジョブの一覧に相当する。
ステップB11において、行動決定手段322は、仮想マシンの状態が変化した際における行動テーブルから、行動を取得する。具体的には、行動決定手段322は、VMイベント発生時の対応を決定し、取得する。より具体的には、VMイベント毎に必要となる「対応」が、仮想マシンの状態が変化した際の行動テーブルに定義されている。そこで、行動決定手段322は、当該行動テーブルに基づいて、VMイベントに応じた行動を決定する。
ステップB12において、ジョブ管理マネージャ32は、ジョブ実行エージェントへジョブ情報を通知する。具体的には、ジョブ管理マネージャ32は、実行制御対象ジョブに対応するジョブ実行エージェントへ、ジョブ情報を通知する。ここで、ジョブ管理マネージャ32がジョブ実行エージェント12へ送る情報は、「ジョブ識別子」、及び行動決定手段322が決定した行動に対応する「ジョブの状態」を含む。
ステップB13において、ジョブ管理マネージャ32は、再スケジューリング要求が完了したことを確認する。ジョブ管理マネージャ32は、再スケジューリング要求が完了するまで、再スケジューリング要求の完了の確認を繰り返す。例えば、行動決定手段322が決定した行動が、「実行制御対象ジョブの完遂」であるとする。その場合、ジョブ管理マネージャ32は、実行制御対象ジョブの「ジョブの状態」が全て「実行終了」となるまで、再スケジューリング要求の完了の確認を繰り返す。そして、再スケジューリング要求が完了した場合、ステップB14に遷移する。
ステップB14において、ジョブ管理マネージャ32は、処理を継続するか否かを判断する。処理を継続する場合(ステップB14、Yes分岐)には、ステップB1に戻り、処理を継続する。一方、処理を継続しない場合(ステップB14、No分岐)には、ジョブ管理マネージャ32は処理を終了する。
次に、図6、図7を参照しながら、仮想マシン20の状態変化時の行動に関するテーブルについて説明する。
図6、図7は、VMイベントと、行動とを対応付けたテーブルである。図6、図7に示す通り、VMイベントは、「実行中」、「サスペンド」、「レジューム」、「一時停止」、「再開」、「ライブマイグレーション」、「停止処理」等を含む。また、図6、図7に示す通り、行動は、「実行制御対象ジョブの中断」、「実行制御対象ジョブの再開」、「実行制御対象ジョブの削除」等を含む。
また、実行制御対象のジョブの性質、状態に応じて、行動は異なる場合がある。そこで、図8に示す通り、行動テーブルは、VMイベントと、ジョブのタイプと、ジョブの実行状態と、行動とを対応付けたテーブルであっても良い。
図8に示す通り、仮想マシン20がサスペンドする場合、サスペンド処理が実行される前に、仮想マシン20は、同期実行中のジョブを完遂することが好ましい。また、仮想マシン20がサスペンドする場合、サスペンド処理終了後に、順次実行待ちのジョブを再登録することが好ましい。そして、同期実行中ではなく、かつ順次実行待ちではないジョブについては、仮想マシン20がサスペンドする場合、当該ジョブを削除することが好ましい。
次に、図9を参照しながら、仮想マシン管理手段31の動作について説明する。
ステップC1において、仮想マシン状態通知手段311は、ジョブ管理マネージャ32へ、状態変更前のVMイベントを通知する。
ステップC2において、仮想マシン管理手段31は、ジョブ管理マネージャ32から、状態変更前のVMイベントに関する返答を取得する。具体的には、仮想マシン管理手段32は、仮想マシン20の状態変更を実行するか、保留するかに関する返答を、ジョブ管理マネージャ32から取得する。
ステップC3において、取得した返答に基づいて、仮想マシン20の状態変更を実行するか、保留するかを、仮想マシン管理手段31は判断する。
仮想マシン20の状態変更を保留との返答があった場合(ステップC3、「保留」分岐)には、仮想マシン管理手段31は、仮想マシン20の操作を一時中断する(ステップC4)。そして、ステップC1に戻り、処理を継続する。
例えば、仮想マシン管理手段31が、所定の時間経過後、ジョブ管理マネージャ32に、再度、状態変更前のVMイベントを通知した場合、仮想マシン管理手段31は、仮想マシン20の操作を再開しても良い。または、ジョブ管理マネージャ32が、所定の時間経過後に、仮想マシン管理手段31に、操作を再開することを通知した場合、仮想マシン管理手段31は、仮想マシン20の操作を再開しても良い。
一方、仮想マシン20の状態変更を実行との返答があった場合(ステップC3、「実行」分岐)には、ステップC5に遷移する。なお、仮想マシン管理手段31の各種処理をフックする方式の場合、ジョブ管理マネージャ32からの再スケジューリング要求が完了するまで、仮想マシン管理手段31は、仮想マシンの操作を中断しても良い。そして、ジョブ管理マネージャ32からの再スケジューリング要求が完了した場合、仮想マシン管理手段31は、仮想マシン20の状態変更を実行すると判断しても良い。
ステップC5において、仮想マシン制御手段312は、仮想マシン20の状態変更を実行する。そして、仮想マシン状態通知手段311は、VMイベントをジョブ管理マネージャ32に通知する(ステップC6)。ジョブ管理マネージャ32に通知する情報は、ゲスト名、及び仮想マシン20の状態変化時の行動テーブルに定義されている、VMイベントを含む。
上記の通り、仮想マシン管理手段31からジョブ管理マネージャ32へVMイベントの通知が行われる契機は、仮想マシン20の状態変更前と状態変更後の2度ある。なぜなら、仮想マシン20の状態変更前には、実行制御対象ジョブの再スケジューリングを行う必要がある場合があるため、仮想マシン管理手段31からジョブ管理マネージャ32へVMイベントの通知が必要である。また、仮想マシン20の状態変更後においても、ジョブの再スケジューリングを行う必要があるため、仮想マシン管理手段31からジョブ管理マネージャ32へVMイベントの通知が必要である。
例えば、仮想マシン20がサスペンド/レジュームする場合、サスペンドが行われる前に実行制御対象ジョブの再スケジューリングが必要であり、レジュームが行われた後にも、実行制御対象ジョブの再スケジューリングが必要である。
次に、図10を参照しながら、ジョブ制御情報管理テーブルの一例について説明する。図10は、ジョブ制御情報管理テーブルの一例を示す図である。
図10に示すジョブ制御情報管理テーブルは、ゲスト名と、ジョブ識別子と、ジョブの状態と、仮想マシンの状態とを対応付けたテーブルである。ゲスト名とは、ゲストOSの名称(ゲストOSを識別するための情報)である。ジョブ識別子とは、各実行制御対象ジョブを識別するための情報である。ジョブの状態とは、実行制御対象ジョブの実行状態を示す情報である。図10の場合、ジョブの状態は、「実行中」、「実行待ち」、「実行準備中」、「実行終了」を含む。仮想マシンの状態とは、実行制御対象ジョブを実行する仮想マシンの状態を示す情報である。図10の場合、仮想マシンの状態は、「実行中」、「サスペンド」を含む。なお、図10に示すジョブの状態、及び仮想マシンの状態は一例であり、ジョブの状態、及び仮想マシンの状態を図10に示す状態に限定する趣旨ではない。
次に、図11、図12、図13を参照して、実行制御対象ジョブの状態遷移について説明する。
図11は、行動が「実行制御対象のジョブの完遂」の場合における、実行制御対象ジョブの状態遷移図である。図11に示す通り、仮想マシン20は、ジョブ管理マネージャ32に実行制御ジョブを投入した場合、当該実行制御対象ジョブは、「実行準備中」状態(状態S1)へ遷移する。そして、ジョブ管理マネージャ32は、ジョブ実行エージェント12へ実行制御対象ジョブを投入する。そして、実行制御対象ジョブは、「実行待ち」状態(状態S2)へ遷移する。
そして、実行契機通知手段326は、ジョブ実行エージェント12へ実行契機を通知する。そして、実行制御対象ジョブは、「実行」状態(状態S3)に遷移する。または、VMイベントが発生した場合、実行制御対象ジョブは、「実行」状態(状態S3)に遷移する。
そして、ジョブの実行が終了した場合、実行制御対象ジョブは、「終了」状態(状態S4)に遷移する。そして、ジョブ実行エージェント12は、実行制御対象ジョブを削除する。
ここで、行動が「実行制御対象のジョブの完遂」の場合に、対応するVMイベントは、短時間で終了するイベントであることが好ましい。または、行動が「実行制御対象のジョブの完遂」の場合に、対応するVMイベントは、中断不可能なジョブを実行中である、仮想マシン20に対する「サスペンド」処理であることが好ましい。
なぜなら、仮想マシン20が、レジューム処理によるサスペンド状態から復帰後に、実行制御対処ジョブを継続するか否かは、ハイパーバイザ30上で動作する、他の仮想マシン20の状態に依存する。
また、仮想マシン管理装置1が性能情報を取得する場合、各仮想マシン20に対応する性能情報を取得するタイミングを、仮想マシン20間において、性能情報の取得タイミングの同期をとることが好ましい。そのため、仮想マシン管理装置1が性能情報を取得する場合、管理装置20は、サスペンド処理を実行する前に、実行中の実行制御対象ジョブ、及び実行待ち状態の実行制御対象ジョブを完遂することが好ましい。
また、仮想マシン20が実行中のジョブを完了した時、仮想マシン20の状態変更が保留されている場合、ジョブ管理マネージャ32は、当該保留されている状態変更の処理を再開するように、仮想マシン管理手段31に通知しても良い。または、仮想マシン20が実行中のジョブを完了した時、仮想マシン20の状態変更が保留されている場合、仮想マシン管理手段31が状態変更の処理を再開するまで、仮想マシン20は、状態変更が保留されている状態を継続しても良い。
次に、行動が「実行制御対象ジョブの中断/再開」の場合における、実行制御対象ジョブの状態遷移について説明する。
図12は行動が「実行制御対象のジョブの中断/再開」の場合における、実行制御対象ジョブの状態遷移図である。図11に示す状態遷移図と、図12に示す状態遷移図との相違点は、図12に示す状態遷移図は、中断状態(状態T5)を含む点である。以下、図11に示す状態遷移図と、図12に示す状態遷移図との相違点について説明する。状態T1〜T4は、図11に示す状態S1〜状態S4と同一であるため、詳細な説明は省略する。
実行制御対象ジョブが実行されている状態において(状態T3)、ジョブの実行を中断する、VMイベントが発生した場合、実行制御対象ジョブは「中断」状態(状態T5)に遷移する。そして、実行制御対象ジョブが中断されている状態(状態T5)において、ジョブの実行を再開する、VMイベントが発生した場合、実行制御対象ジョブは「実行」状態(状態T3)に遷移する。
そして、ジョブの実行が終了した場合、実行制御対象ジョブは、「終了」状態(状態T4)に遷移する。そして、ジョブ実行エージェント12は、実行制御対象ジョブを削除する。
ここで、行動が「実行制御対象のジョブの中断/再開」の場合に、対応するVMイベントは、ジョブを実行していない仮想マシン20への「一時停止/再開」処理、同一のハイパーバイザ30上での「サスペンド/レジューム」処理等を含む。
なぜなら、実行制御対象ジョブが順次実行で良い場合、仮想マシン20間において、実行タイミングの同期をとる必要はない。例えば、実行制御対象ジョブが順次実行で良い場合に、当該実行制御対象ジョブが一時停止状態であるとする。その場合、当該実行制御対象ジョブの状態が一時停止状態から実行状態に遷移した場合に、仮想マシン20は、当該実行制御対象ジョブの実行を再開すれば良い。
例えば、行動決定手段322が、「行動」として、「実行制御対象ジョブの再開」を決定したとする。その場合、ジョブ実行エージェント12は、実行中の実行制御対象ジョブの「ジョブの状態」が「実行」となるように、ジョブスケジューラ324に再スケジューリング要求を出す。
また、例えば、VMイベント「レジューム」が発生した場合、ジョブ管理マネージャ32は、レジュームしたゲストOS10に対して、中断中の実行制御対象ジョブを再開するように、再スケジューリング要求を出す。
次に、行動が「他のハイパーバイザへの移動」の場合における、実行制御対象ジョブの状態遷移について説明する。
図13は、行動が「他のハイパーバイザへの移動」の場合における、実行制御対象ジョブの状態遷移図である。図11に示す状態遷移図と、図13に示す状態遷移図との相違点は、図13に示す状態遷移図は、「実行待ち」状態から、「終了状態」への状態遷移を含む点である。以下、図11に示す状態遷移図と、図13に示す状態遷移図との相違点について説明する。図13に示す状態U1〜U4は、図11に示す状態S1〜状態S4と同一であるため、詳細な説明は省略する。
実行制御対象ジョブが「実行待ち」状態(状態U2)である場合に、「他のハイパーバイザへの移動」を示す、VMイベントが発生した場合、実行制御対象ジョブは「終了」状態(状態U4)に遷移する。
具体的には、行動が「他のハイパーバイザへの移動」の場合、対応するVMイベントは、「他のハイパーバイザへのサスペンド/レジューム処理」、「他のハイパーバイザへのライブマイグレーション処理」を含む。
そして、行動決定手段322が、行動として、「他のハイパーバイザへの移動」を決定した場合、VMイベントが発生した、ゲストOS10において実行されている実行制御対象ジョブの「ジョブの状態」が、「終了」となるように、ジョブ管理マネージャ32は、ジョブスケジューラ324へ再スケジューリング要求を出す。そして、ジョブ管理マネージャ32は、移動先のハイパーバイザにジョブの移動を通知する。
以上のように、本実施形態に係る仮想マシン管理装置1は、仮想化環境において、仮想マシン20の状態変化に基づいて、ジョブスケジューラ324に対するイベントを決定する。その結果、本実施形態に係る仮想マシン管理装置1は、ゲストOS10からの応答を監視せずに、仮想化環境の構成変更を、迅速にジョブスケジューリングに反映することに貢献する。さらに、本実施形態に係る仮想マシン管理装置1は、仮想化環境固有の状態変化(ライブマイグレーション、サスペンド/リジューム等)に影響を受けず、仮想化環境の構成変更を、迅速にジョブスケジューリングに反映することに貢献する。
また、本実施形態に係る仮想マシン管理装置1は、仮想化環境において、構成変更を行う際に、実行制御中のジョブの状態に応じて、仮想化環境の構成変更を行うことに貢献する。なぜなら、本実施形態に係る仮想マシン管理装置1は、実行中のジョブの状態と、仮想マシン20の状態変化とに基づいて、仮想化環境の構成変更処理を制御するからである。
上述の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記1)上記の第1の視点に係る管理装置の通りである。
(付記2)前記仮想マシンは、当該仮想マシンに対応するイベントを、前記ジョブ管理手段に通知し、前記ジョブ管理手段は、前記仮想マシンから前記イベントの通知を受信する、仮想マシン状態通知手段と、前記仮想マシン状態通知手段が受信した前記イベントに対応する、前記仮想マシンを特定し、当該特定した仮想マシンにおけるジョブの一覧を、当該仮想マシンから取得する、仮想マシン関連ジョブ取得手段と、前記仮想マシンから受信した前記イベントに応じて、当該仮想マシンにおける、ジョブの実行スケジュールを決定する、ジョブスケジューラと、
をさらに備える、付記1に記載の管理装置。
(付記3)前記仮想マシン状態通知手段は、前記仮想マシンから受信した前記イベントに基づいて、当該仮想マシンの状態、状態変化の少なくともいずれかを推定する、付記2に記載の管理装置。
(付記4)前記仮想マシンは、当該仮想マシンの状態変化前、状態変化後の少なくともいずれかに、前記イベントを、前記ジョブ管理手段に通知する、付記2又は3に記載の管理装置。
(付記5)前記ジョブ管理手段は、前記仮想マシンに対応するイベントと、当該イベントの発生時における行動と、を対応付けた行動テーブルと、前記行動テーブルに基づいて、仮想マシン状態通知手段が受信した、前記イベントに対応する行動を決定する、行動決定部と、をさらに備える、付記2乃至4のいずれか一に記載の管理装置。
(付記6)前記行動テーブルは、前記イベントと、ジョブのタイプと、ジョブの実行状態と、前記行動とを対応付けたテーブルを含む、付記5に記載の管理装置。
(付記7)前記ジョブ管理手段は、前記仮想マシン関連ジョブ取得手段が取得する、前記ジョブの一覧と、前記行動決定手段が決定した行動とに基づいて、ジョブの実行スケジュールの更新要求を、前記ジョブスケジューラに送信する、付記5又は6に記載の管理装置。
(付記8)前記仮想マシン状態通知手段が受信する前記イベントは、ライブマイグレーション処理、サスペンド処理、レジューム処理のうち、少なくともいずれか一の処理に関する情報を含む、付記2乃至7のいずれか一に記載の管理装置。
(付記9)上記第2の視点に係る管理装置の制御方法の通りである。
(付記10)上記第3の視点に係るプログラムの通りである。
なお、上記の付記9、10に示す形態は、付記1に示す形態と同様に、付記2乃至8に示す形態に展開することが可能である。
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素(各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
1 仮想マシン管理装置
10、10a〜10c、1010a、1010b ゲストOS
11、11a〜11f、1011a〜1011d ジョブ
12、12a〜12c ジョブ実行エージェント
20、20a〜20c、1020a、1020b 仮想マシン
30 ハイパーバイザ
31 仮想マシン管理手段
32 ジョブ管理マネージャ
40 ハードウェア
311 仮想マシン状態通知手段
312 仮想マシン制御手段
321 仮想マシンイベント受信手段
322 行動決定手段
323 仮想マシン関連ジョブ取得手段
324 ジョブスケジューラ
325 実行契機調整手段
326 実行契機通知手段
1000 管理装置
1030 ジョブ管理手段
S1、T1、U1 「実行準備中」状態
S2、T2、U2 「実行待ち」状態
S3、T3、U3 「実行」状態
S4、T4、U4 「終了」状態
T5 「中断」状態

Claims (10)

  1. 1又は2以上のジョブを実行するための、1又は2以上のゲストOS(Operating System)と、
    前記ゲストOSを制御する、1又は2以上の仮想マシンと、
    前記仮想マシンの状態、状態変化の少なくともいずれかと、ジョブの実行タイミングを示す情報とに基づいて、ジョブの実行スケジュールを決定する、ジョブ管理手段と、
    を備える管理装置。
  2. 前記仮想マシンは、当該仮想マシンに対応するイベントを、前記ジョブ管理手段に通知し、
    前記ジョブ管理手段は、
    前記仮想マシンから前記イベントの通知を受信する、仮想マシン状態通知手段と、
    前記仮想マシン状態通知手段が受信した前記イベントに対応する、前記仮想マシンを特定し、当該特定した仮想マシンにおけるジョブの一覧を、当該仮想マシンから取得する、仮想マシン関連ジョブ取得手段と、
    前記仮想マシンから受信した前記イベントに応じて、当該仮想マシンにおける、ジョブの実行スケジュールを決定する、ジョブスケジューラと、
    をさらに備える、請求項1に記載の管理装置。
  3. 前記仮想マシン状態通知手段は、前記仮想マシンから受信した前記イベントに基づいて、当該仮想マシンの状態、状態変化の少なくともいずれかを推定する、請求項2に記載の管理装置。
  4. 前記仮想マシンは、当該仮想マシンの状態変化前、状態変化後の少なくともいずれかに、前記イベントを、前記ジョブ管理手段に通知する、請求項2又は3に記載の管理装置。
  5. 前記ジョブ管理手段は、
    前記仮想マシンに対応するイベントと、当該イベントの発生時における行動と、を対応付けた行動テーブルと、
    前記行動テーブルに基づいて、仮想マシン状態通知手段が受信した、前記イベントに対応する行動を決定する、行動決定手段と、
    をさらに備える、請求項2乃至4のいずれか一に記載の管理装置。
  6. 前記行動テーブルは、前記イベントと、ジョブのタイプと、ジョブの実行状態と、前記行動とを対応付けたテーブルを含む、請求項5に記載の管理装置。
  7. 前記ジョブ管理手段は、前記仮想マシン関連ジョブ取得手段が取得する、前記ジョブの一覧と、前記行動決定手段が決定した行動とに基づいて、ジョブの実行スケジュールの更新要求を、前記ジョブスケジューラに送信する、請求項5又は6に記載の管理装置。
  8. 前記仮想マシン状態通知手段が受信する前記イベントは、ライブマイグレーション処理、サスペンド処理、レジューム処理のうち、少なくともいずれか一の処理に関する情報を含む、請求項2乃至7のいずれか一に記載の管理装置。
  9. 1又は2以上のジョブを実行するための、1又は2以上のゲストOS(Operating System)と、前記ゲストOSを制御する、1又は2以上の仮想マシンと、を備える管理装置の制御方法であって、
    前記仮想マシンの状態、状態変化の少なくともいずれかと、ジョブの実行タイミングを示す情報とに基づいて、ジョブの実行スケジュールを決定する工程を含む、前記管理装置の制御方法。
  10. 1又は2以上のジョブを実行するための、1又は2以上のゲストOS(Operating System)と、前記ゲストOSを制御する、1又は2以上の仮想マシンと、を備える管理装置を制御するコンピュータに実行させるプログラムであって、
    前記仮想マシンの状態、状態変化の少なくともいずれかと、ジョブの実行タイミングを示す情報とに基づいて、ジョブの実行スケジュールを決定する処理を、前記管理装置を制御するコンピュータに実行させるプログラム。
JP2015063959A 2015-03-26 2015-03-26 管理装置、管理装置の制御方法、及びプログラム Active JP6547363B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015063959A JP6547363B2 (ja) 2015-03-26 2015-03-26 管理装置、管理装置の制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015063959A JP6547363B2 (ja) 2015-03-26 2015-03-26 管理装置、管理装置の制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2016184274A JP2016184274A (ja) 2016-10-20
JP6547363B2 true JP6547363B2 (ja) 2019-07-24

Family

ID=57241972

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015063959A Active JP6547363B2 (ja) 2015-03-26 2015-03-26 管理装置、管理装置の制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6547363B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101809380B1 (ko) 2016-11-29 2017-12-14 전자부품연구원 가상머신 기반 통합항해시스템을 위한 스케줄링 방법 및 장치

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2007108062A1 (ja) * 2006-03-17 2009-07-30 富士通株式会社 サーバ管理方法、プログラム及び装置
JP4697805B2 (ja) * 2006-10-24 2011-06-08 ルネサスエレクトロニクス株式会社 データ処理装置
JP4980792B2 (ja) * 2007-05-22 2012-07-18 株式会社日立製作所 仮想計算機の性能監視方法及びその方法を用いた装置
JP5440273B2 (ja) * 2010-03-09 2014-03-12 富士通株式会社 スナップショット管理方法、スナップショット管理装置、及びプログラム
CN102473118B (zh) * 2010-05-24 2016-10-12 松下电器(美国)知识产权公司 信息处理***

Also Published As

Publication number Publication date
JP2016184274A (ja) 2016-10-20

Similar Documents

Publication Publication Date Title
JP6646114B2 (ja) 動的仮想マシンサイジング
US10423451B2 (en) Opportunistically scheduling and adjusting time slices
Delgado et al. Kairos: Preemptive data center scheduling without runtime estimates
US9858101B2 (en) Virtual machine input/output thread management
US8935698B2 (en) Management of migrating threads within a computing environment to transform multiple threading mode processors to single thread mode processors
JP6186787B2 (ja) データ転送装置、データ転送システム、データ転送方法及びプログラム
JP2011192281A (ja) 仮想マシンモニター及び仮想マシンモニターのスケジューリング方法
US9189293B2 (en) Computer, virtualization mechanism, and scheduling method
US9571584B2 (en) Method for resuming process and information processing system
US10459773B2 (en) PLD management method and PLD management system
JP2008535040A (ja) 決定的イベント・シーケンスのロギングおよび再生のための命令をカウントするシステムおよび方法
JP5347451B2 (ja) マルチプロセッサシステム、競合回避プログラム及び競合回避方法
US20150378782A1 (en) Scheduling of tasks on idle processors without context switching
JP6620609B2 (ja) 分散処理実行管理プログラム、分散処理実行管理方法および分散処理実行管理装置
JP6547363B2 (ja) 管理装置、管理装置の制御方法、及びプログラム
JP6239400B2 (ja) 制御装置
US20180011734A1 (en) Job scheduler test program, job scheduler test method, and information processing apparatus
Babar Understanding Linux process states
JP2015210688A (ja) サーバ仮想化システム
WO2016084150A1 (ja) サーバ計算機、計算機システム、及び、方法
JP2021012481A (ja) 計算機システム及びプログラム実行方法
JP2019049844A (ja) 制御装置、制御方法及び制御プログラム
JP2014078088A (ja) プログラム制御方法、及び装置
JP2007072958A (ja) イベント同期の遅延検出方法及び装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181217

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190528

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190610

R150 Certificate of patent or registration of utility model

Ref document number: 6547363

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150