JP5640844B2 - 仮想計算機制御プログラム、計算機、及び仮想計算機制御方法 - Google Patents

仮想計算機制御プログラム、計算機、及び仮想計算機制御方法 Download PDF

Info

Publication number
JP5640844B2
JP5640844B2 JP2011061671A JP2011061671A JP5640844B2 JP 5640844 B2 JP5640844 B2 JP 5640844B2 JP 2011061671 A JP2011061671 A JP 2011061671A JP 2011061671 A JP2011061671 A JP 2011061671A JP 5640844 B2 JP5640844 B2 JP 5640844B2
Authority
JP
Japan
Prior art keywords
processing
virtual machine
capacity
user
virtual
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
JP2011061671A
Other languages
English (en)
Other versions
JP2012198698A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011061671A priority Critical patent/JP5640844B2/ja
Priority to US13/316,141 priority patent/US20120240111A1/en
Publication of JP2012198698A publication Critical patent/JP2012198698A/ja
Application granted granted Critical
Publication of JP5640844B2 publication Critical patent/JP5640844B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

本明細書は、仮想計算機に関する。
近年、1台のサーバ上で複数の仮想計算機(VM:Virtual Machine)を同時に動作させる仮想化技術が普及してきている。仮想化技術を用いることにより、各VMでオペレーティングシステム(OS)を稼動させることができる。これにより、1台のサーバ上で複数のOSを並列して稼動させることができ、サーバ資源を有効活用することができる。
例えば、仮想計算機システムにおいて、仮想CPUが割り当てられていない物理CPU(Central Processing Unit)を計算機システム全体で最適化することで消費電力の低減を図る技術がある。当該仮想計算機システムは、仮想化制御部を備えている。仮想化制御部は、スリープ状態と通常の動作状態とを切り替え可能な物理CPUを複数備えた物理計算機を複数の論理区画に分割し、各論理区画上でそれぞれゲストOSを動作させて、各論理区画に対する物理計算機の資源の割当を制御する。仮想化制御部は次の処理を行う。仮想化制御部が前記論理区画に対する操作指令を受け付ける。仮想化制御部は、受け付けた操作指令が論理区画制御部から仮想CPUを削除する操作指令のときには、仮想CPUと物理CPUの割り当て状態と物理CPUの動作状態を管理するテーブルから仮想CPUを削除する。仮想化制御部は、仮想CPUを削除した物理CPUに割り当てられている仮想CPUがなくなった場合には、当該物理CPUをスリープ状態に移行させる。
特開2009−140157号公報
ユーザ毎に配分した処理能力の範囲で、ユーザ毎の複数の仮想計算機資源を有効利用することができる仮想計算機制御プログラム、計算機、及び仮想計算機制御方法を提供する。
複数の仮想計算機を制御する仮想計算機制御プログラムは、コンピュータに、以下の処理を実行させる。すなわち、コンピュータは、ユーザ毎に、使用可能な処理演算能力の上限を設定する場合、前記ユーザ毎に設定されている前記処理演算能力の上限の範囲で該ユーザ毎に少なくとも1つの仮想計算機を上位仮想計算機として設定する。コンピュータは、前記ユーザ毎に、複数の仮想計算機を設定する場合、前記設定した上位仮想計算機の配下に、該複数の仮想計算機を下位仮想計算機として設定する。コンピュータは、前記ユーザ毎に設定されている前記処理演算能力の上限の範囲で、該ユーザ毎の前記複数の仮想計算機に対して該処理演算能力を配分する。
仮想計算機制御プログラムによれば、ユーザ毎に配分した処理能力の範囲で、ユーザ毎の複数の仮想計算機資源を有効利用することができる。
第1の実施形態における複数の仮想計算機を稼動させる実計算機の構成の一例を示す。 第1の実施形態におけるVMMの機能ブロック図の一例である。 第1の実施形態におけるVMまたはサブVMのFIX(上限)設定及びAUTO(FREE)設定を説明する図である。 第1の実施形態における計算機1のハードウェア2の構成ブロック図の一例である。 第1の実施形態における計算機1の機能ブロック図の一例を示す。 第1の実施形態における作業領域設定部31の処理内容の一例を示す。 第1の実施形態における配分処理部32の処理内容の一例を示す。 第1の実施形態における命令時間取得部33の処理内容の一例を示す。 第1の実施形態における制御情報格納部36に格納されているVM制御情報の一例を示す。 第1の実施形態における割当作業領域に展開される情報を説明するための図である。 第1の実施形態における制御部12によって実行される処理の配分手順を示すフローチャートの一例である。 第1の実施形態における順次配分処理(固定)を説明するための図である。 図12で示した順次配分処理(固定)の結果を示す。 第1の実施形態における順次配分処理(平均分配方式)を説明するための図である。 図14で示した順次配分処理(平均分配方式)の結果を示す。 第1の実施形態における順次配分処理のフローの一例を示す。 第1の実施形態における連続配分処理のフローの一例を示す。 第1の実施形態における連続配分処理のフローの一例を示す。 第1の実施形態における能力下限値適用処理を説明するための図である。 第1の実施形態における能力下限値適用処理(S42)の詳細フローの一例を示す。 第2の実施形態における計算機1のハードウェア2の構成ブロック図の一例である。 第2の実施形態における計算機1の機能ブロックの一例を示す。 第2の実施形態における制御部12aによって実行される処理の配分手順を示すフローチャートである。 S81の処理の詳細の一例を示す。
VMの運用方法の一例として、次の方法がある。例えば、1人のユーザで利用する1台の実計算機を、本番系で用いるVM(本番系VM)と開発系で用いるVM(開発系VM)に分ける。そして、開発系で使用できるCPUの処理能力には上限を設け、本番系で使用できるCPUの処理能力には上限を設けない(AUTO設定またはFREE設定)。このように、開発系で用いるVMをAUTO設定(FREE設定)しないのは、次の理由による。
例えば、開発系VMで開発中のプログラムのバグにより処理がループしてしまった場合、開発系VMの処理能力をAUTO設定(FREE設定)にしておくと、本番系のCPUの処理能力まで食い潰し本番系が処理できなくなる可能性がある。
そのため、開発系では、CPUの処理能力の上限範囲が決められている。また、本番系については、日中はオンライン、夜間はバッチ処理で1日中、システムが稼動していることが多い。
これに対して、開発系については、通常勤務時間の中で開発作業を行うことが多い。そのため、本番系をAUTO設定(FREE設定)にすることで、開発系が使用していない深夜などの時間帯は開発系に割り当てられていたCPU能力を本番系で利用可能にする。これにより、システムを効率的に使用することができる。
クラウドシステムなどのアウトソーシングサービスにおいては、1台の実計算機を、複数のVMに分け、複数のユーザで利用することが考えられる。また、各ユーザは、本番系(基幹系と情報系等、業務毎に分かれることもある。)と開発系との2種類以上のVMを持つことが考えられる。
この場合、上記運用の仕方だと、次の事象が生じる可能性がある。例えば、ユーザAの本番系のCPU能力をAUTO設定(FREE設定)にしてユーザAの開発系のCPU能力に上限を設定したとする。この場合、ユーザAの本番系のCPU能力に関しては、AUTO設定(FREE設定)がされている。そのため、例えば、ユーザAの開発系のCPUの処理能力だけでなく、ユーザBの開発系または本番系のCPUの処理能力に余剰があれば、ユーザBに割り当てられたCPUの処理能力分まで使用してしまう可能性がでてくる。すると、ユーザAは、アウトソーシングサービスで契約した総CPU割当量よりも多い割当量を使えてしまうことになる。
また、ユーザBの開発系の割当余剰分がユーザAの本番系に使われている最中は、ユーザBの本番系は、本来使えるはずのユーザBの開発系の割当余剰分を使えないことになる。したがって、ユーザBは、契約した総CPU割当量よりも少ない割当量しか使えないことになる。
そこで、本実施形態では、ユーザ毎に配分した処理能力の範囲で、ユーザ毎の複数の仮想計算機資源を有効利用することができる仮想計算機技術について説明する。ここでは、一例として、複数のVMを稼動させて複数ユーザで少なくとも1台の実計算機を共用する仮想計算機について説明する。すなわち、仮想計算機は、各ユーザがCPUの処理能力に関してFREE設定がされたVMと上限設定がされたVMを利用する場合であっても、各ユーザに割り当てられたCPUの処理能力の範囲内でCPU処理能力を制御することができる。
図1は、第1の実施形態における複数の仮想計算機を稼動させる実計算機の構成の一例を示す。計算機1は、仮想化プログラムとしての仮想計算機モニタ(VMM:Virtual Machine Monitor)を実行することにより、複数の仮想計算機(VM:Virtual Machine)として機能する。
計算機1は、ハードウェア2、仮想計算機モニタ(VMM)3、複数の仮想計算機(VM)4を含む。ハードウェア2は、実CPUと実記憶装置等を含む物理的なデバイス群である。ハードウェア2については、後述する。
VMM3は、計算機1上で複数のVM(4)を稼動させて制御するために、VM(4)に対して仮想的なハードウェア環境を提供するプログラムである。具体的は、VMM3は、各VM4のオペレーティングシステム(OS:Operating System)のディスパッチ(物理CPUの制御権割り当て)、それらのOSが実行する特権命令のエミュレーション、物理CPU等のハードウェア2の制御等を行う。
各VM(4)は、VMM3上で、他のVM(4)と独立して稼動する仮想的な計算機である。各VM(4)は、それぞれのOSがVMM3を介してハードウェア2の物理CPUの制御権を獲得して当該CPU上で実行されることにより実現される。
図2は、第1の実施形態におけるVMMの機能ブロック図の一例である。VMM3は、VM設定部5、サブVM設定部6、VMM制御部7を含む。
VM設定部5は、ユーザ毎に、使用可能な処理演算能力の上限を設定する。VM設定部5は、前記ユーザ毎に設定されている前記処理演算能力の上限の範囲で該ユーザ毎に少なくとも1つの仮想計算機を上位仮想計算機として設定する。すなわち、VM設定部5は、入力装置またはネットワークを介してVMM3上においてユーザ毎にVMを使用するための情報を取得し、VMの設定を行う。VMを使用するための情報とは、例えば、CPUの処理能力の配分の上限もしくは下限、またはその制限を解除する旨の解除情報等に関する情報である。VM設定部5は、第1設定部の一例である。
サブVM設定部6は、ユーザ毎に、複数の仮想計算機を設定する。サブVM設定部6は、前記設定した上位仮想計算機の配下に、複数の仮想計算機を下位仮想計算機として設定する。すなわち、サブVM設定部6は、入力装置またはネットワークを介してVMが複数に分割されて生成されたVM(サブVM)を使用するための情報を取得し、サブVMの設定を行う。サブVMを使用するための情報とは、例えば、CPUの処理能力の配分の上限もしくは下限、またはその制限を解除する旨の解除情報等に関する情報である。サブVM設定部6は、第2設定部の一例である。
VMM制御部7は、ユーザ毎に設定されている処理演算能力の上限の範囲で、ユーザ毎の複数の仮想計算機に対して処理演算能力を配分する。VMM制御部7は、VM部5及び/またはサブVM設定部により設定された内容に基づいて、VM及び/またはサブVMを生成し、制御する。例えば、VMM制御部7は、各VMに設定されているCPU処理能力の配分値の範囲内で、そのVM内に存在する各サブVMに割り当てられたCPU処理能力の配分値に応じて、各サブVMにCPU処理能力を配分する。VMM制御部7は、配分処理部の一例である。
これにより、ユーザ毎に配分した処理能力の範囲で、ユーザ毎の複数の仮想計算機資源を有効利用することができる。
また、サブVM設定部6は、上位仮想計算機に配分された前記処理演算能力の範囲で、上位仮想計算機の配下にある各仮想計算機に、処理演算能力の上限を設定する。VMM制御部7は、上位仮想計算機の配下にあるいずれかの下位仮想計算機について、下位仮想計算機に配分された処理演算能力の上限の制限を解除する制限解除設定がされている場合、次の処理を行う。すなわち、VMM制御部7は、同一の上位仮想計算機の配下において、処理演算能力の上限の設定された、使用中でない下位仮想計算機に配分された処理演算能力を、制限解除設定がされた下位仮想計算機に配分する。
これにより、サブVMのCPUの処理能力の配分に関してFREE設定がされていたとしても、各ユーザに配分されたCPUの処理能力を超えて、CPUの処理能力を使用することができなくなる。
また、サブVM設定部6は、いずれかの下位仮想計算機に処理演算能力の下限を設定する。VMM制御部7は、下限が設定された下位仮想計算機へ配分する処理演算能力を確保する。このとき、VMM制御部7は、同一の上位仮想計算機の配下で、処理演算能力の上限の設定された使用中でない下位仮想計算機に配分された処理演算能力のうち確保された処理演算能力を超える範囲の処理演算能力を、制限解除設定がされた下位仮想計算機に配分する。
これにより、処理演算能力の下限が設定されたサブVMが未使用であっても、そのサブVMに配分された処理演算能力は確保されているので、そのサブVMを使用したいときには随時使用することができる。
また、VMM制御部7は、第1制御部と、第2制御部とを含む。第1制御部は、複数の上位仮想計算機に対して、処理演算能力を配分する。第2制御部は、上位仮想計算機の配下にある複数の仮想計算機に対して、処理演算能力を配分する。第1CPU12a−1は、第1制御部の一例である。第2CPU12a−2は、第2制御部の一例である。
これにより、第1制御部に処理が集中するのを防止することができるので、第1制御部の処理負担の軽減を図ることができる。また、サブVM単位の処理を複数のCPUに処理させることができるので、処理の高速化を図ることができる。
また、VMM制御部7は、上位仮想計算機または下位仮想計算機に配分された処理演算能力に応じた順番で、上位仮想計算機または下位仮想計算機に処理実行時間を割り当てることができる。
これにより、CPU配分値に応じて各VMまたは各サブVMへ命令処理を振り分けることができる。
上述したように、VMを使用するための情報には、CPUの処理能力の配分の上限もしくは下限の範囲内でCPU処理能力を用いるか、またはその制限を解除する旨の解除情報等に関する情報が含まれる。このような情報は、本実施形態では、「システム利用方法」という。システム利用方法には、CPUの処理能力の配分値を固定的に保持する旨の設定(FIX設定)または動的に変更する旨の設定(AUTO設定(またはFREE設定))がある。これについて、図3を用いて説明する。
図3は、第1の実施形態におけるVMまたはサブVMのFIX(上限)設定及びAUTO(FREE)設定を説明する図である。VMM制御部7は、各VMに対して設定した配分値に応じて、CPU処理能力の上限を各VMに固定的に提供する。図3の例では、VMM3は、VM1、VM2、VM3、VM4に対してそれぞれ、30%、40%、10%、20%のCPU処理能力を配分する。
VMM3は、各VMを連携している。各VMは、VMMから提供されたCPU処理能力の範囲内で制御を行う。VM内にサブVMがある場合、サブVMは、VMMから提供されたCPU処理能力の範囲内で制御を行う。サブVMは、サブVMがない場合のVMと同様の動作を行う。
図3の例では、VMM3は、VM1におけるVM11、VM12に対してそれぞれ、VM1のCPU処理能力の80%、20%を配分する。また、VMM3は、VM2におけるVM21、VM22に対してそれぞれ、VM2のCPU処理能力の90%、10%を配分する。また、VMM3は、VM3におけるVM31に対して、VM3のCPU処理能力の10%を配分する。なお、VM4は未使用である。
VM1に関して、VM11、VM12のシステム利用設定についてそれぞれ、AUTO、FIXが設定されている。この場合、AUTO設定がされているサブVM11は、AUTO設定が有効になった際には、VM1のCPU処理能力の範囲内において、現在使用中でないFIX設定されたサブVMに配分されたCPU処理能力を使用することができる。図3において、サブVM12が使用中でない場合、サブVM11は、自身に配分されたCPU処理能力(80%)に、サブVM12に配分されたCPU処理能力(20%)を加えたCPU処理能力を使用することができる。
FIX設定がされているVM12は、自身に配分されたCPU処理能力(20%)の範囲内でCPU処理能力を使用することができる。ただし、AUTO設定が有効となったサブVM11により既にVM12に配分されたCPU処理能力が使用されている場合には、VM11の処理が終了するまで、VM12はそのCPU処理能力を使用できない。
VM2に関して、FIX設定がされているVM21、VM22はそれぞれ、自身に配分されたCPU処理能力90%,10%の範囲内でCPU処理能力を使用することができる。
VM3に関して、VM31のシステム利用設定について、AUTOが設定され、上位VM3がFIX設定されているとする。この場合、VM31がAUTO設定であってもVM31の10%までの上限でCPU処理能力を使用することができる。なお、当機能を使用した場合は、上位VMは、例えば、FIXモードとする。
VM4は、未使用である。この場合、他の稼動中のVMがVM4に配分されたCPU処理能力を使用しないように、VMM3は、VM4に対して待ち状態制御を行う。なお、サブVMが未使用の場合でも、同様に、VM4に対して待ち状態制御を行う。
図4は、第1の実施形態における計算機1のハードウェア2の構成ブロック図の一例である。計算機1は、制御部12、ROM13、RAM16、通信I/F14、記憶装置17、出力I/F11、入力I/F15、読み取り装置18、バス19、出力機器21、入力機器22によって構成されている。ここで、CPU(Central Processing Unit)は、中央演算装置を示す。ROMは、リードオンリメモリを示す。RAMは、ランダムアクセスメモリを示す。I/Fは、インターフェースを示す。
バス19には、制御部12、ROM13、RAM16、通信I/F14、記憶装置17、出力I/F11、入力I/F15、及び読み取り装置18等が接続されている。読み取り装置18は、可搬型記録媒体を読み出す装置である。出力機器21は、出力I/F11に接続されている。入力機器22は、入力I/F15に接続にされている。
記憶装置17としては、ハードディスクドライブ、フラッシュメモリ装置、磁気ディスク装置など様々な形式の記憶装置を使用することができる。RAM16は、例えば、データを一時的に格納する作業領域として用いられる。
記憶装置17またはROM13には、例えば、VMM3、及び各VMのOS等のプログラム及びデータ、後述する処理で用いるテーブル等の情報が格納されている。
制御部12は、記憶装置17等に格納した後述する処理を実現するプログラムを読み出し、当該プログラムを実行する演算処理装置(例えば、CPU)である。
後述する実施形態で説明する処理を実現するプログラムは、プログラム提供者側から通信ネットワーク20、および通信I/F14を介して、例えば記憶装置17に格納してもよい。また、後述する実施形態で説明する処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読み取り装置18に設定されて、制御部12によってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはCD−ROM、フレキシブルディスク、光ディスク、光磁気ディスク、ICカード、USBメモリ装置など様々な形式の記憶媒体を使用することができる。このような記憶媒体に格納されたプログラムが読み取り装置18によって読み取られる。
また、入力機器22には、キーボード、マウス、電子カメラ、ウェブカメラ、マイク、スキャナ、センサ、タブレット、タッチパネルなどを用いることが可能である。また、出力機器21には、ディスプレイ、プリンタ、スピーカなどを用いることが可能である。また、ネットワーク20は、インターネット、LAN、WAN、専用線、有線、無線等の通信網であってよい。
図5は、第1の実施形態における計算機1の機能ブロック図の一例を示す。計算機1は、VMM3、制御情報格納部36、割当作業領域39、命令時間テーブル40を含む。VMM3は、作業領域設定部31、配分処理部32、命令時間取得部33、作業領域更新部34、履歴更新部35を含む。作業領域設定部31は、VM設定部5、サブVM設定部6として機能する。配分処理部32、命令時間取得部33、作業領域更新部34、履歴更新部35は、VMM制御部7として機能する。
制御情報格納部36には、VM制御情報が格納されている。VM制御情報は、各VMを管理・制御するために用いる情報群であって、VM割当制御情報37、再分割割当情報38を含む。VM割当制御情報37は、各VMに計算機1の資源を割り当てるために用いる情報である。再分割割当情報38は、1つのVMを更に複数のVM(すなわち、サブVM)に分けてそれぞれ管理・制御するために用いる情報である。VM割当制御情報37、再分割割当情報38は、管理者が入力装置22を用いて入力したり、ネットワーク20を介して入力された情報が格納されたものである。
また、計算機1は、不図示のユーザ管理テーブルを含む。ユーザ管理テーブルは、ユーザ毎に、ユーザの使用するVM及びサブVMを識別する情報が登録されている。ユーザ管理テーブルの登録情報は、管理者が入力装置22を用いて入力したり、ネットワーク20を介して入力された情報が格納されたものである。ユーザ管理テーブルは、VM制御情報(VM割当制御情報37、再分割割当情報38)と関連付けることができる。これにより、ユーザ毎のVM及び/またはサブVMを管理することができる。
割当作業領域39は、現在実行している処理において各VM及び/または各サブVMに計算機1の資源を割り当てるために用いる情報が一時的に展開される実メモリ上の作業領域である。割当作業領域39には、VM制御情報(VM割当制御情報37、再分割割当情報38)等の情報が展開される。
命令時間テーブル40には、各VM及び/または各サブVMに実行させる命令の処理時間が格納されている。
作業領域設定部31は、制御情報格納部36から抽出したVM制御情報を割当作業領域39に設定する。また、作業領域設定部31は、現在使用中のVMの処理順を管理する処理順情報を割当作業領域39に設定する。
配分処理部32は、割当作業領域39に設定されたVM制御情報に含まれる「システム利用方法」に応じて、VM及び/またはサブVMのCPU処理能力の配分を調整する。また、配分処理部32は、各VMまたは各サブVMにどのような順で処理を割り当てるかを算出して確定する。
命令時間取得部33は、配分処理部32で処理が割り当てられたVMまたはサブVMに対して与えられる命令を処理するためにかかる時間を、命令時間テーブル40から取得する。
作業領域更新部34は、配分処理部32で算出して確定した内容及び命令時間取得部33で取得した命令時間を用いて、割当作業領域39に展開されているVM制御情報、及び処理順情報等を更新する。
履歴更新部35は、配分処理部32で算出して確定した内容を履歴(ログファイル41)として記憶装置17へ格納する。
図6は、第1の実施形態における作業領域設定部31の処理内容の一例を示す。作業領域設定部31は、制御情報格納部36から各VM4のVM制御情報を取得する(S1)。作業領域設定部31は、取得したVM制御情報から、割当作業領域39に設定する対象となるVM制御情報を確定する(S2)。作業領域設定部31は、その確定したVM制御情報を割当作業領域39に設定する(S3)。
図7は、第1の実施形態における配分処理部32の処理内容の一例を示す。配分処理部32は、割当作業領域39から、各VMに割り当てられたCPU配置値等の配分に関する情報を含むVM制御情報を取得する(S4)。
取得したVM制御情報の「システム利用方法」がAUTO(またはFREE)設定の場合、配分処理部32は、VMまたはサブVMのCPU配分値について、AUTO(またはFREE)設定で使用可能な最大値をVMまたはサブVMに設定する(S5)。
配分処理部32は、命令制御方式を用いて処理対象となるVMまたはサブVMを算出する(S6)。ここで、命令制御方式とは、処理対象となるVMまたはサブVMを算出する方法をいう。命令制御方式の一例としては、後述する順次配分処理、連続配分処理等がある。
配分処理部32は、S6の算出の結果に基づいて、処理対象となるVMまたはサブVMを確定する(S7)。
図8は、第1の実施形態における命令時間取得部33の処理内容の一例を示す。命令時間取得部33は、処理対象として確定したVM(処理VM)または処理対象として確定したサブVM(処理サブVM)のOSから当該処理VMまたは処理サブVMの命令を取得する(S8)。命令時間取得部33は、命令処理時間テーブル43から、S8で取得した命令に対応する処理時間を取得する(S9)。
図9は、第1の実施形態における制御情報格納部36に格納されているVM制御情報の一例を示す。制御情報格納部36は、(A)VM割当制御情報37、及び(B)再分割割当情報38をVM制御情報として含む。VM割当制御情報37及び再分割割当情報38には、システム構築時に設定された情報及び、入力装置またはネットワークを介して入力された情報が格納されている。記憶装置17は、制御情報格納部36を含む。
また、不図示のユーザ管理テーブルが記憶装置17に格納されている。ユーザ管理テーブルには、ユーザを識別するユーザ識別情報、そのユーザが使用するVMを識別するVM識別情報、そのユーザが使用するサブVMを識別するサブVM識別情報等の情報が関連付けられて格納されている。
VMの数(n台)に応じて、VM割当情報i(i=1〜n)が設定されている。各VM割当情報iは、「VMi名」51、「指定OS識別」52、・・・、「CPU配分値」53、「システム利用方式」54、「連続配分」55、「能力下限値」56、「利用能力掛率」57、「再分割数」58等のデータ項目を含む。
「VMi名」51には、VMi(i=1〜n)の名称が格納される。「指定OS識別」52には、VMiで利用されているOSを識別する識別情報が格納される。「CPU配分値」53には、VMiに対して配分されるCPUの配分値が格納される。ここで、CPUの配分値は、例えば、百分率(%)で設定される。「システム利用方法」54には、VMiに対して配分されたCPU配分値を固定にする「FIX」、またはVMiに対して配分されたCPU配分値を動的に変動させる「AUTO(またはFREE)」が格納される。「連続配分」55には、後述する命令制御方式において連続に処理することを示す情報が格納される。「能力下限値」56には、VMiに対して配分されるCPUの能力下限値が格納される。ここで、能力下限値は、例えば、百分率(%)で設定される。「利用能力掛率」57は、後述する処理で用いられる。「再分割数」58には、例えば、VMiをさらに分割して構築されるサブVMijの数が格納される。
VMiが分割されて、VMiの配下に、さらに、仮想計算機VMijが生成される場合、その生成されたVMijの数mに応じて、「再分割j」61の項目が生成される。「再分割j」61には、再分割情報が設定されている。
「再分割j」61に格納される再分割情報は、「処理順番」62、「VMij名」63、「CPU配分値」64、「利用能力掛率」65を含む。「処理順番」62には、VMijの処理順が格納される。「VMij名」63には、VMij(i=1〜n、j=1〜m)の名称が格納される。「CPU配分値」64には、VMijに対して配分されるCPU配分値が格納される。「利用能力掛率」65は、後述する処理で用いられる。
再分割割当情報38は、「再分割j」61に対応するサブVMijのサブVM割当情報ijを含む。各サブVM割当情報ijは、「サブVMij名」71、「指定OS識別」72、・・・、「CPU配分値」73、「システム利用方式」74、「連続配分」75、「能力下限値」76等のデータ項目を含む。
「サブVMij名」71には、サブVMijの名称が格納される。「指定OS識別」72には、サブVMijで用いられるOSの識別情報が格納される。「CPU配分値」73には、サブVMijに対して配分されるCPUの配分値が格納される。「システム利用方法」74には、サブVMijに対して配分されたCPU配分値を固定にする「FIX」、またはサブVMijに対して配分されたCPU配分値を動的に変動させる「AUTO(またはFREE)」が格納される。「連続配分」75には、後述する命令制御方式において連続に処理することを示す情報が格納される。「能力下限値」76には、サブVMijに対して配分されるCPUの能力下限値が格納される。
「VMi名」をキーとして、不図示のユーザ管理テーブルと、VM割当制御情報37、及び再分割割当情報38を関連付けることにより、ユーザ毎のVM及び/またはサブVMを管理することができる。
図10は、第1の実施形態における割当作業領域に展開される情報を説明するための図である。割当作業領域39には、例えば、(A)処理順作業情報80、(B)VM割当制御情報37、(C)再分割割当情報38が展開される。
作業領域設定部31は、イニシャルプログラムロード(IPL)時に、制御情報格納部36からVM制御情報(VM割当制御情報37、再分割割当情報38)の内容を読み出して割当作業領域39に展開する。
このとき、作業領域設定部31は、割当作業領域39に処理順情報80を生成する。処理順情報80は、現在実行しているVMi(i=1〜n)の使用状況を管理する作業情報である。
処理順情報80は、ヘッダ情報として「制御情報」、それ以降に使用中のVMiについての処理順(VMi)情報を含む。「制御情報」は、「平均分配方式」85、「最大能力制限値」86を含む。「平均分配方式」85は、命令制御方式を決定するために用いられる項目である。「最大能力制限値」86は、能力下限値適用処理を行う場合に用いられる項目である。
処理順(VMi)情報は、「処理順番」81、「VMi名」82、「CPU配分値」83、「利用能力掛率」84等を含む。「処理順番」81は、現在稼動しているVMの処理順番が格納される。「VMi名」82には、VMiの名称が格納される。「CPU配分値」83には、そのVMiに配分されているCPUの配分値が格納される。「利用能力掛率」84は、処理配分を算出する際に用いられる作業項目である。
配分処理部32、命令時間取得部33、作業領域更新部34、履歴更新部35は、割当作業領域39に展開したVM制御情報と、処理順情報80を用いて、各VMi、及びサブVMijの動作に伴って変化するCPUの使用状況の更新を行う。当該更新処理については、図11を用いて説明する。
図11は、第1の実施形態における制御部12によって実行される処理の配分手順を示すフローチャートの一例である。計算機1の起動時に、制御部12は記憶装置からVMM3のプログラムを読み出して、そのVMM3のプログラムを実行する。
すると、制御部12は、VMM3のプログラムに基づいて、作業領域設定部31、配分処理部32、命令時間取得部33、作業領域更新部34、履歴更新部35として機能し、次の処理を行う。すなわち、制御部12は、図10で説明した割当作業領域39に展開されたVM制御情報(VM割当制御情報37、再分割割当情報38)と、処理順情報80を用いて、図11に示すフローを実行する。
まず、制御部12は、割当作業領域39に展開された処理順情報80のうち、最も小さいCPU配分値を有する処理順情報を取得する(S21)。なお、S21において、本実施形態では、CPU配分値の最も小さいVMから処理を行うが、これに限定されない。例えば、制御部12は、CPU配分値の最も大きいVMから処理を行うようにしてもよい。
次に、制御部12は、S21で取得した処理順情報の「VMi名」を参照し、VM割当制御情報37から、その「VMi名」によって関係付けられているVM割当情報iを取得する(S22)。
制御部12は、S22で取得したVM割当情報iの「再分割数」に値が設定されているか、または設定されている「再分割数」が2以上であるかを判定する(S23)。S22で取得したVM割当情報iの「再分割数」に値が設定されていない場合、または設定されている「再分割数」が2未満である場合(S23で「No」)、制御部12は、次の処理を行う。すなわち、制御部12は、割当作業領域39に展開された各VMについてのVM割当情報iから、優先度及び利用能力掛率を確定する。ここで、優先度とは、CPU配分値に応じて設定される値をいう。VM(またはサブVM)についての利用能力掛率とは、以下の式(1)で表される値をいう。
利用能力掛率=全体能力/VM(またはサブVM)設定値×処理能力設定値 (1)
ここで、VM(またはサブVM)設定値は、VM(またはサブVM)についてのCPU配分値に相当する。また、全体能力は、CPU配分値の合計に相当する。処理能力設定値は、各VMiまたはサブVMijの処理能力に応じて設定される値である。
制御部12は、S31で確定した優先度及び利用能力掛率を用いて、各VMに対して処理実行時間を割当てる(S32)。配分処理では、命令制御方式に応じて、各VMに対して処理の配分がされる。配分処理については後述する。
制御部12は、S32の配分処理結果をログファイルに格納する(S33)。その後、処理の制御がS21の処理に戻る。
S22で取得したVM割当情報iの「再分割数」に値が設定されている場合、または設定されている「再分割数」が2以上である場合(S23で「Yes」)、制御部12は、次の処理を行う。すなわち、制御部12は、S22で取得したVM割当情報iに含まれる再分割情報61のうち、最も小さいCPU配分値を有する再分割情報を取得する(S24)。
制御部12は、S24で取得した再分割情報の「VMij名」を参照し、再分割割当情報38から、その「VMij名」によって関係付けられているサブVM割当情報ijを取得する(S25)。
制御部12は、割当作業領域39に展開された各サブVMijについてのサブVM割当情報ijから優先度及び利用能力掛率を確定する(S26)。S26の処理は、S31の処理と同じである。
制御部12は、S26で確定した優先度及び利用能力掛率を用いて、各VMに対して処理実行時間を割り当てる(S27)。S27の処理は、S32の処理と同じである。
制御部12は、S27の配分処理結果をログファイルに格納する(S28)。その後、処理の制御がS21の処理に戻る。
制御部12は、割当作業領域39に展開されたVM割当情報iであって、配分処理を行ったサブVMijの上位のVMiについてのVM割当情報iの「CPU配分値」53を更新する(S29)。制御部12は、サブVMijの処理の実行により、当該サブVMijのCPU処理能力の変動に応じて変動する上位VMiのCPU処理能力に基づく配分値を更新する。
制御部12は、割当作業領域39に展開された処理順情報であって、S29で更新したVM割当情報iに対応するVMiの処理順情報のCPU配分値を更新し、さらに処理順を更新する(S30)。
以下では、S27及びS32の配分処理の詳細について説明する。配分処理は、命令制御方式に応じて実行される。命令制御方式の一例には、順次配分処理、連続配分処理等がある。これらの各処理については、以下で詳述する。
図12は、第1の実施形態における順次配分処理(固定)を説明するための図である。順次配分処理(固定)は、処理時間単位が一定であって、CPU配分値に応じて均等に、各VMまたは各サブVMに処理を割り当てる。なお、図12では、VM単位での順次配分処理について説明するが、サブVM単位での順次配分処理についても同様である。
図12において、優先度は、CPUの配分値に応じて設定される。利用能力値は、上述の式(1)により得られる値である。式(1)において、全体能力を100とする。処理能力設定値を仮に1とする。また、図12の例では、各回の命令時間は5である。
図12では、一例として、VM(VM1、VM2、VM3、VM4)の配分処理について説明するが、サブVMの配分処理についてもVMと同様に行うことができる。
VM1、VM2、VM3、VM4のCPU配分値はそれぞれ、30%、40%、10%、20%とする。この場合、VM1、VM2、VM3、VM4の優先度は、30、40、10、20とする。
VM1の利用能力掛率(A)は、式(1)より、100/30×1=3.3333・・・である。VM2の利用能力掛率(A)は、式(1)より、100/40×1=2.5である。VM3の利用能力掛率(A)は、式(1)より、100/10×1=10である。VM4の利用能力掛率(A)は、式(1)より、100/20×1=5である。
1回目の配分処理において、処理能力合計率値(B)は、利用能力掛率(A)と同じである。制御部12は、処理能力合計率値のうち、最も小さい値のVMを検出し、その処理VMフラグを「1」とする。その処理フラグの立ったVMが処理対象となる処理VMとなる。処理VMは、命令処理を取得して、実行する。処理VMの処理後、その処理時間=5を処理時間合計(C)に加算する。
2回目の配分処理において、制御部12は、各VMの利用能力掛率(A)に前回の処理時間合計(C)を乗じて、処理能力合計率値(B)を算出する。このとき、前回の処理時間合計(C)の値が0の場合、制御部12は、各VMの利用能力掛率(A)に「1」を乗じて、処理能力合計率値(B)を算出する。制御部12は、処理能力合計率値(B)のうち、最も小さい値のVMを検出し、その処理VMフラグを「1」とする。その処理フラグの立ったVMが処理対象となる処理VMとなる。処理VMは、命令処理を取得して、実行する。処理VMの処理後、その処理時間=5を処理時間合計(C)に加算する。
3回目以降の配分処理は、上記の処理が繰り返される。この処理の結果は、図13に示される。なお、11回目の処理において、各VMの処理能力合計率値が同じになっている。この場合、優先度の最も高いVMが処理VMとして設定される。したがって、11回目の処理において、VM2が処理VMとなる。
図13は、図12で示した順次配分処理(固定)の結果を示す。図12の処理VMフラグが立った順に番号を振れば、図13の結果が得られる。したがって、その順番で、VMに処理制御が割り当てられる。
このように、順次配分処理(固定)では、タイムシェアリングシステム(TSS)方式を採用し、実行するVMまたはサブVMを順に切り替えて、処理を行う。順次配分処理は、例えば、オンライン系の処理(スループットを重視しない処理)に採用することできる。
図14は、第1の実施形態における順次配分処理(平均分配方式)を説明するための図である。図14の順次配分処理(平均分配)では、命令時間が一定でない点が図12の順次配分処理(固定)と異なる。図14の順次配分処理では、所定回数内で行われる処理の完了時間を、CPU処理能力に応じて、なるべく平準化するように処理を行う。なお、図14では、一例として、VM(VM1、VM2、VM3、VM4)の配分処理について説明するが、サブVMの配分処理についてもVMと同様に行うことができる。
1回目の配分処理において、処理能力合計率値(B)は、利用能力掛率(A)と同じである。制御部12は、処理能力合計率値(B)のうち、最も小さい値のVMを検出し、その処理VMフラグを「1」とする。その処理フラグの立ったVMが処理対象となる処理VMとなる。処理VMは、命令処理を取得して、実行する。処理VMの処理後、その処理時間=5を処理時間合計(C)に加算する。
2回目の配分処理において、制御部12は、各VMの利用能力掛率(A)に前回の処理時間合計(C)を乗じて、処理能力合計率値(B)を算出する。このとき、前回の処理時間合計(C)の値が0の場合、制御部12は、各VMの利用能力掛率(A)に「1」を乗じて、処理能力合計率値(B)を算出する。制御部12は、処理能力合計率値(B)のうち、最も小さい値のVMを検出し、その処理VMフラグを「1」とする。その処理フラグの立ったVMが処理対象となる処理VMとなる。処理VMは、命令処理を取得して、実行する。処理VMの処理後、その処理時間=5を処理時間合計(C)に加算する。
3回目の配分処理において、制御部12は、各VMの利用能力掛率(A)に前回の処理時間合計(C)を乗じて、処理能力合計率値(B)を算出する。制御部12は、処理能力合計率値(B)のうち、最も小さい値のVMを検出し、その処理VMフラグを「1」とする。その処理フラグの立ったVMが処理対象となる処理VMとなる。処理VMは、命令処理を取得して、実行する。処理VMの処理後、その処理時間=6を処理時間合計(C)に加算する。
4回目以降の配分処理は、上記の処理が繰り返される。この処理の結果は、図15に示される。なお、9回目の処理において、最も小さい処理能力合計率値は、VM3とVM4の処理能力合計率値で同じ値である。この場合、最も優先度の高いVMが処理VMとして設定される。したがって、9回目の処理において、VM4が処理VMとなる。
図15は、図14で示した順次配分処理(平均分配方式)の結果を示す。図14の処理VMフラグが立った順に番号を振れば、図15の結果が得られる。したがって、その順番で、VMに処理制御が割り当てられる。
図16は、第1の実施形態における順次配分処理のフローの一例を示す。図16のフローは、図12−図15で説明した順次配分処理のフローである。図16のフローが図11のS32の処理として読み出された場合、制御部12は、VM単位で図16のフローを実行する。また、図16のフローが図11のS27の処理として読み出された場合、制御部12はサブVM単位で図16のフローを実行する。
まず、制御部12は、予め設定された情報に基づいて、能力下限値適用処理を行うか否かを判定する(S41)。能力下限値適用処理(S42)については、後述する。能力下限値適用処理を行わない場合(S41で「No」)、制御部12は、S31で用いた各VM割当情報iまたはS26で用いた各サブVM割当情報ijから「システム利用方式」を読み出す。
「システム利用方式」に「AUTO(またはFREE)」が設定されている場合、制御部12は、AUTO設定により使用可能な最大能力制限値を、CPU配分値に設定する(S44)。
具体的には、VM単位での配分処理の場合、制御部12は、100(%)−(FIX設定された未使用中のVMのCPU配分値)×h(h:整数)の値を、「最大能力制限値」として処理順情報の制御情報に設定する。hは、FIX設定された未使用中のVMの数である。それから、制御部12は、その「最大能力制限値」を、割当作業領域39に展開されたVM割当情報の「CPU配分値」53及び処理順情報の「CPU配分値」83に設定する。これにより、AUTO設定されたVMは、そのFIX設定された使用中でないVMのCPU処理能力を使うことができる。
また、サブVM単位での配分処理の場合、制御部12は、100(%)−(FIX設定された未使用中のサブVMのCPU配分値)×h(h:整数)の値を、「最大能力制限値」として処理順情報の制御情報に設定する。hは、FIX設定された未使用中のVMの数である。それから、制御部12は、その「最大能力制限値」を、割当作業領域39に展開されたサブVM割当情報の「CPU配分値」73及びVM割当情報に含まれる再分割情報61の「CPU配分値」64に設定する。これにより、AUTO設定されたサブVMは、そのFIX設定された使用中でないサブVMのCPU処理能力を使うことができる。
S44の処理が終了した場合、またはS43において「システム利用方式」に「FIX」が設定されている場合、制御部12は、最小の処理能力合計率値を有するVM(またはサブVM)を取得する(S45)。S45において取得したVM(またはサブVM)が複数存在している場合(S46で「Yes」)、制御部12は、その取得したVM(またはサブVM)のうち最も優先度が高いものを取得する(S47)。
制御部12は、S46またはS47で取得したVM(または処理サブVM)を処理VM(または処理サブVM)として確定する(S48)。
それから、制御部12は、処理順情報80の制御情報に含まれる配分方式が平均分配方式か否かを判定する(S49)。ここで、制御部12は、処理順情報80の制御情報に「平均分配方式」が有効であるか否かを判断することにより、配分方式が平均分配方式か否かを判定する。
S49において、配分方式が平均分配方式でないと判定した場合(S49で「No」)、制御部12は、予め設定された固定命令処理時間を取得する(S50)。S49において、配分方式が平均分配方式であると判定した場合(S49で「Yes」)、制御部12は、命令時間テーブル40から、確定した処理VM(またはサブVM)をキーして、命令処理時間を取得する(S51)。
制御部12は、処理VM(または処理サブVM)に、当該命令処理を実行させるように制御する(S52)。
制御部12は、利用能力掛率に、前回の処理時間合計を乗じて、VM(またはサブVM)毎に処理能力合計率値を算出する(S53)。制御部12は、処理VM(またはサブVM)が実行した命令処理時間を処理時間合計に反映する(S54)。
これにより、図12−図15で説明したように、処理VMフラグが立った順で、VMまたはサブVMに実行させる処理が配分される。上記では、命令制御方式が順次配分処理である場合について説明したが、命令制御方式は順次配分処理だけでなく、例えば、連続分配方式も採用することができる。以下では、命令制御方式が連続配分処理である場合について説明する。
図17は、第1の実施形態における連続配分処理のフローの一例を示す。連続配分処理とは、1回前に実施したVM(またはサブVM)に再度処理を実施させるように、連続して処理を割り当てる処理をいう。図17のフローは、図16のフローにS61−S63を追加したものである。
図17のフローが図11のS32の処理として読み出された場合、制御部12は、VM単位で図17のフローを実行する。また、図17のフローが図11のS27の処理として読み出された場合、制御部12はサブVM単位で図17のフローを実行する。
VM単位での配分処理の場合、S54の処理後、割当作業領域39に展開されたVM割当情報iの「連続配分」55の内容がONであれば、制御部12は、S52において処理VMとして設定されたVMに、当該命令処理を実行させるように制御する(S62)。制御部12は、処理VMが実行した命令処理時間を処理時間合計に反映する(S63)。
サブVM単位での配分処理の場合、S53の処理後、割当作業領域39に展開されたサブVM割当情報ijの「連続配分」75の内容がONであれば、制御部12は、次の処理を行う。すなわち、制御部12は、S52において処理サブVMとして設定されたサブVMに、当該命令処理を実行させるように制御する(S62)。制御部12は、処理サブVMが実行した命令処理時間を処理時間合計に反映する(S63)。なお、S62、S63は、処理環境に応じて随時繰り返すことができる。
このように、連続配分処理では、ラウンドロビン方式を採用している。すなわち、連続配分処理では、主として連続命令で処理する。そして、1つのVMまたはサブVMにおいて、命令待ち行列が混んでいる場合には、例えば、2命令連続処理を行ってもよい。また、命令待ち行列が空いているときは、例えば、10命令連続処理を行ってもよい。このように、全体のシステムの負荷に応じて、処理量を変えることができる。連続配分処理は、バッチ系の処理(スループットを重視する処理)に採用することができる。
ここで、図16または図17のS41において、「Yes」へ進んだ場合、能力下限値適用処理が実行される。以下では、図18を用いて、能力下限値適用処理について説明する。
図18は、第1の実施形態における能力下限値適用処理を説明するための図である。図18では、一例として、VM(VM5、VM6、VM7)の能力下限値適用処理について説明するが、サブVMの能力下限値適用処理についてもVMと同様に行うことができる。
例えば、VM5が、使用状態で、CPU配分値40%、AUTO設定であるとする。VM6が、使用状態で、CPU配分値30%、FIX設定であるとする。VM7が、未使用状態で、CPU配分値20%、FIX設定であるとする。
能力下限値適用処理が適用されない場合、AUTO設定されたVM5は、未使用のVM7に配分されるCPU配分値の分をVM5自身のCPU配分値に加えて、処理を行う。
一方で、能力下限値適用処理が適用される場合、VM7が未使用状態であっても、VM7に対しては「能力下限値」に設定された最低限のCPU配分値が確保されている。したがって、AUTO設定されたVM5は、未使用状態のVM7に割り当てられた「能力下限値」の分のCPU配分値を使用することができない。
図19は、能力下限値適用処理(S42)の詳細フローの一例を示す。図16または図17のS41において、「Yes」へ進んだ場合、制御部12は、能力下限値適用処理を実行する(S42)。ここでは、まず、制御部12は、各VM割当情報iまたはサブVM割当情報ijから「システム利用方式」を読み出す。
「システム利用方式」に「AUTO(またはFREE)」が設定されている場合(S71で「Yes」)、制御部12は、次の処理を行う(S72)。すなわち、VM単位での配分処理の場合、制御部12は、VM割当情報iから「能力下限値」56を取得する。また、サブVM単位での配分処理の場合、制御部12は、サブVM割当情報ijから「能力下限値」76を取得する。
制御部12は、100(%)−能力下限値×pの値を、「最大能力制限値」として処理順情報80の制御情報に設定する(S73)。ここで、pは、「能力下限値」に値が設定されているVMまたはサブVMの数を表す。
この「最大能力制限値」の設定がされている場合、図16または図17のS44において、制御部12は、処理順情報80の制御情報から「最大能力制限値」を取得し、次の処理を行う。
すなわち、VM単位での配分処理の場合、制御部12は、取得した「最大能力制限値」−(FIX設定された未使用中のVMのCPU配分値)×hの値を、新たな「最大能力制限値」として処理順情報の制御情報に設定する。それから、制御部12は、その「最大能力制限値」を、割当作業領域39に展開されたVM割当情報の「CPU配分値」53及び処理順情報の「CPU配分値」83に設定する。これにより、能力下限値の設定されたサブVMの使用するCPU処理能力を確保しつつ、AUTO設定されたVMは、そのFIX設定された使用中でないVMのCPU処理能力を使うことができる。
また、サブVM単位での配分処理の場合、制御部12は、取得した「最大能力制限値」−(FIX設定された未使用中のサブVMのCPU配分値)×hの値を、新たな「最大能力制限値」として処理順情報の制御情報に設定する。それから、制御部12は、その「最大能力制限値」を、割当作業領域39に展開されたサブVM割当情報の「CPU配分値」73及びVM割当情報に含まれる再分割情報61の「CPU配分値」64に設定する。これにより、能力下限値の設定されたサブVMの使用するCPU処理能力を確保しつつ、AUTO設定されたサブVMは、そのFIX設定された使用中でないサブVMのCPU処理能力を使うことができる。
このように本実施形態によれば、ユーザ毎に配分した処理能力の範囲で、ユーザ毎の複数の仮想計算機資源を有効利用することができる。すなわち、各ユーザが、CPU能力に関してFREE設定がされたサブVMと上限設定がされたサブVMを利用する場合であっても、VMM制御部7は、ユーザ毎に配分した処理能力の範囲で、ユーザ毎の複数の仮想計算機のCPU処理能力を制御できる。また、サブVMのCPUの処理能力の配分に関してFREE設定がされていたとしても、各ユーザに配分されたCPUの処理能力を超えて、CPUの処理能力を使用することができなくなる。また、処理演算能力の下限が設定されたサブVMが未使用であっても、そのサブVMに配分された処理演算能力は確保されているので、そのサブVMを使用したいときには随時使用することができる。
次に、第2の実施形態について説明する。第2の実施形態では、マルチプロセッサを用いた計算機に第1の実施形態を適用した場合について説明する。なお、第2の実施形態において、第1の実施形態と同一の構成、機能、処理等については同一の符号を付し、その説明を省略する。
図20は、第2の実施形態における計算機1のハードウェア2の構成ブロック図の一例である。図20の計算機1のハードウェア2は、図4の制御部12を、制御部12aに置き換えたものである。制御部12aは、複数のCPUを含むマルチプロセッサシステムである。
図21は、第2の実施形態における計算機1の機能ブロックの一例を示す。図21の計算機1は、図5の配分処理部32を、CPU割当/配分処理部32aに置き換えたものである。CPU割当/配分処理部32aは、サブVM単位での配分処理の場合、当該処理を行っているCPU以外のCPUに対して、サブVM単位での配分処理を割当てる。そのサブVM単位での配分処理を割り当たれたCPUが、そのサブVM単位での配分処理を実行する。
命令時間取得部33、作業領域更新部34、履歴更新部35は、サブVM単位での配分処理の場合に実行するCPUが、CPU割当/配分処理部32aで処理が割り当てられたCPUに変更される以外は、第1の実施形態で説明した内容と同様である。
図22は、第2の実施形態における制御部12aによって実行される処理の配分手順を示すフローチャートの一例である。計算機1の起動時に、制御部12aのうちの第1CPU12a−1は、記憶装置からVMM3のプログラムを読み出して、そのVMM3のプログラムを実行する。
すると、第1CPU12a−1は、VMM3のプログラムに基づいて、作業領域設定部31、配分処理部32、命令時間取得部33、作業領域更新部34、履歴更新部35として機能し、次の処理を行う。すなわち、第1CPU12a−1は、図10で説明した割当作業領域39に展開されたVM制御情報(VM割当制御情報37、再分割割当情報38)と、処理順情報80を用いて、図22に示すフローを実行する。
まず、第1CPU12a−1は、割当作業領域39に展開された処理順情報80のうち、最も小さいCPU配分値を有する処理順情報を取得する(S21)。なお、S21において、本実施形態では、CPU配分値の最も小さいVMから処理を行うが、これに限定されない。例えば、第1CPU12a−1は、CPU配分値の最も大きいVMから処理を行うようにしてもよい。
次に、第1CPU12a−1は、S21で取得した処理順情報の「VMi名」を参照し、VM割当制御情報37から、その「VMi名」によって関係付けられているVM割当情報iを取得する(S22)。
第1CPU12a−1は、S22で取得したVM割当情報iの「再分割数」に値が設定されているか、または設定されている「再分割数」が2以上であるかを判定する(S23)。S22で取得したVM割当情報iの「再分割数」に値が設定されていない場合、または設定されている「再分割数」が2未満である場合(S23で「No」)、第1CPU12a−1は、S31の処理を行う。S31以降の処理については、図11の処理と同様なので、省略する。
S22で取得したVM割当情報iの「再分割数」に値が設定されている場合、または設定されている「再分割数」が2以上である場合(S23で「Yes」)、第1CPU12a−1は、次の処理を行う。すなわち、第1CPU12a−1は、OSの制御に基づいて、制御部12aのうちの第1CPU12a−1以外のいずれかのCPU(以下、第2CPU12a−2という)を選択する。すると、第2CPU12a−2へ処理の制御が遷移する(S81)。
図23は、S81の処理の詳細の一例を示す。第2CPU12a−2は、S24a−S30aを実行する。S24a−S30aは、図11のS24−S30の処理と同様である。S30aの処理が終了すると、第1CPU12a−1へ処理の制御が戻る。
これにより、第1の実施形態の効果に加えて、さらに、第1CPU12a−1に処理が集中するのを防止することができるので、第1CPU12a−1の処理負担の軽減を図ることができる。また、サブVM単位の処理を複数のCPUに処理させることができるので、処理の高速化を図ることができる。
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
上記実施形態に関し、更に以下の付記を開示する。
(付記1) ユーザ毎に、使用可能な処理演算能力の上限を設定する第1設定部と、
前記ユーザ毎に、複数の仮想計算機を設定する第2設定部と、
前記ユーザ毎に設定されている前記処理演算能力の上限の範囲で、該ユーザ毎の前記複数の仮想計算機に対して該処理演算能力を配分する配分処理部と、
を備えることを特徴とする計算機。
(付記2)
前記第1設定部は、前記ユーザ毎に設定されている前記処理演算能力の上限の範囲で該ユーザ毎に少なくとも1つの仮想計算機を上位仮想計算機として設定し、
前記第2設定部は、前記設定した上位仮想計算機の配下に、複数の仮想計算機を下位仮想計算機として設定する
ことを特徴とする付記1に記載の計算機。
(付記3)
前記第2設定部は、前記上位仮想計算機に配分された前記処理演算能力の範囲で、該上位仮想計算機の配下にある各仮想計算機に、該処理演算能力の上限を設定し、
前記配分処理部は、前記上位仮想計算機の配下にあるいずれかの下位仮想計算機について、該下位仮想計算機に配分された処理演算能力の上限の制限を解除する制限解除設定がされている場合、同一の上位仮想計算機の配下において、前記処理演算能力の上限の設定された、使用中でない下位仮想計算機に配分された前記処理演算能力を、前記制限解除設定がされた前記下位仮想計算機に配分する
ことを特徴とする付記2に記載の計算機。
(付記4)
前記第2設定部は、いずれかの前記下位仮想計算機に該処理演算能力の下限を設定し、
前記配分処理部は、前記下限が設定された前記下位仮想計算機へ配分する処理演算能力を確保すると共に、同一の上位仮想計算機の配下において、前記処理演算能力の上限の設定された、使用中でない下位仮想計算機に配分された前記処理演算能力のうち前記確保された処理演算能力を超える範囲の処理演算能力を、前記制限解除設定がされた下位仮想計算機に配分する
ことを特徴とする付記3に記載の計算機。
(付記5)
前記配分処理部は、
前記複数の上位仮想計算機に対して、前記処理演算能力を配分する第1制御部と、
前記上位仮想計算機の配下にある複数の仮想計算機に対して、前記処理演算能力を配分する第2制御部と、
を備えることを特徴とする付記2〜4のうちいずれか1項に記載の計算機。
(付記6)
前記配分処理部は、前記上位仮想計算機または前記下位仮想計算機に配分された前記処理演算能力に応じた順番で、前記上位仮想計算機または前記下位仮想計算機に処理実行時間を割り当てる
ことを特徴とする付記2〜5のうちいずれか1項に記載の計算機。
(付記7)
前記配分処理部は、前記処理実行時間を割り当てた前記上位仮想計算機または前記下位仮想計算機に、連続して前記処理実行時間を割り当てる
ことを特徴とする付記6に記載の計算機。
(付記8) コンピュータに、
ユーザ毎に、使用可能な処理演算能力の上限を設定し、
前記ユーザ毎に、複数の仮想計算機を設定し、
前記ユーザ毎に設定されている前記処理演算能力の上限の範囲で、該ユーザ毎の前記複数の仮想計算機に対して該処理演算能力を配分する
処理を実行させることを特徴とする複数の仮想計算機を制御する仮想計算機制御プログラム。
(付記9)
ユーザ毎に、使用可能な処理演算能力の上限を設定する場合、前記ユーザ毎に設定されている前記処理演算能力の上限の範囲で該ユーザ毎に少なくとも1つの仮想計算機を上位仮想計算機として設定し、
前記ユーザ毎に、複数の仮想計算機を設定する場合、前記設定した上位仮想計算機の配下に、複数の仮想計算機を下位仮想計算機として設定する
ことを特徴とする付記8に記載の仮想計算機制御プログラム。
(付記10)
前記ユーザ毎に、複数の仮想計算機を設定する場合、前記上位仮想計算機に配分された前記処理演算能力の範囲で、該上位仮想計算機の配下にある各仮想計算機に、該処理演算能力の上限を設定し、
前記複数の仮想計算機に対して該処理演算能力を配分する場合において、前記上位仮想計算機の配下にあるいずれかの下位仮想計算機について、該下位仮想計算機に配分された処理演算能力の上限の制限を解除する制限解除設定がされている場合、同一の上位仮想計算機の配下において、前記処理演算能力の上限の設定された、使用中でない下位仮想計算機に配分された前記処理演算能力を、前記制限解除設定がされた前記下位仮想計算機に配分する
ことを特徴とする付記9に記載の仮想計算機制御プログラム。
(付記11)
前記ユーザ毎に、複数の仮想計算機を設定する場合、いずれかの前記下位仮想計算機に該処理演算能力の下限を設定し、
前記複数の仮想計算機に対して該処理演算能力を配分する場合、前記下限が設定された前記下位仮想計算機へ配分する処理演算能力を確保すると共に、同一の上位仮想計算機の配下において、前記処理演算能力の上限の設定された、使用中でない下位仮想計算機に配分された前記処理演算能力のうち前記確保された処理演算能力を超える範囲の処理演算能力を、前記制限解除設定がされた下位仮想計算機に配分する
ことを特徴とする付記10に記載の仮想計算機制御プログラム。
(付記12)
前記複数の仮想計算機に対して該処理演算能力を配分する場合、
第1制御部に、前記複数の上位仮想計算機に対して、前記処理演算能力を配分する処理をさせ、
第2制御部に、前記上位仮想計算機の配下にある複数の仮想計算機に対して、前記処理演算能力を配分させる
ことを特徴とする付記9〜11のうちいずれか1項に記載の仮想計算機制御プログラム。
(付記13)
前記複数の仮想計算機に対して該処理演算能力を配分する場合、前記上位仮想計算機または前記下位仮想計算機に配分された前記処理演算能力に応じた順番で、前記上位仮想計算機または前記下位仮想計算機に処理実行時間を割り当てる
ことを特徴とする付記9〜12のうちいずれか1項に記載の仮想計算機制御プログラム。
(付記14)
前記処理実行時間を割り当てた前記上位仮想計算機または前記下位仮想計算機に、連続して前記処理実行時間を割り当てる
ことを特徴とする付記13に記載の仮想計算機制御プログラム。
(付記15) コンピュータが実行する、複数の仮想計算機を制御する仮想計算機制御方法であって、
前記コンピュータは、
ユーザ毎に、使用可能な処理演算能力の上限を設定し、
前記ユーザ毎に、複数の仮想計算機を設定し、
前記ユーザ毎に設定されている前記処理演算能力の上限の範囲で、該ユーザ毎の前記複数の仮想計算機に対して該処理演算能力を配分する
処理を実行することを特徴とする仮想計算機制御方法。
(付記16)
前記コンピュータは、
ユーザ毎に、使用可能な処理演算能力の上限を設定する場合、前記ユーザ毎に設定されている前記処理演算能力の上限の範囲で該ユーザ毎に少なくとも1つの仮想計算機を上位仮想計算機として設定し、
前記ユーザ毎に、複数の仮想計算機を設定する場合、前記設定した上位仮想計算機の配下に、複数の仮想計算機を下位仮想計算機として設定する
ことを特徴とする付記15に記載の仮想計算機制御方法。
(付記17)
前記コンピュータは、
前記ユーザ毎に、複数の仮想計算機を設定する場合、前記上位仮想計算機に配分された前記処理演算能力の範囲で、該上位仮想計算機の配下にある各仮想計算機に、該処理演算能力の上限を設定し、
前記複数の仮想計算機に対して該処理演算能力を配分する場合において、前記上位仮想計算機の配下にあるいずれかの下位仮想計算機について、該下位仮想計算機に配分された処理演算能力の上限の制限を解除する制限解除設定がされている場合、同一の上位仮想計算機の配下において、前記処理演算能力の上限の設定された、使用中でない下位仮想計算機に配分された前記処理演算能力を、前記制限解除設定がされた前記下位仮想計算機に配分する
ことを特徴とする付記16に記載の仮想計算機制御方法。
(付記18)
前記コンピュータは、
前記ユーザ毎に、複数の仮想計算機を設定する場合、いずれかの前記下位仮想計算機に該処理演算能力の下限を設定し、
前記複数の仮想計算機に対して該処理演算能力を配分する場合、前記下限が設定された前記下位仮想計算機へ配分する処理演算能力を確保すると共に、同一の上位仮想計算機の配下において、前記処理演算能力の上限の設定された、使用中でない下位仮想計算機に配分された前記処理演算能力のうち前記確保された処理演算能力を超える範囲の処理演算能力を、前記制限解除設定がされた下位仮想計算機に配分する
ことを特徴とする付記17に記載の仮想計算機制御方法。
(付記19)
前記コンピュータは、
前記複数の仮想計算機に対して該処理演算能力を配分する場合、
第1制御部に、前記複数の上位仮想計算機に対して、前記処理演算能力を配分する処理をさせ、
第2制御部に、前記上位仮想計算機の配下にある複数の仮想計算機に対して、前記処理演算能力を配分させる
ことを特徴とする付記16〜18のうちいずれか1項に記載の仮想計算機制御方法。
(付記20)
前記コンピュータは、
前記複数の仮想計算機に対して該処理演算能力を配分する場合、前記上位仮想計算機または前記下位仮想計算機に配分された前記処理演算能力に応じた順番で、前記上位仮想計算機または前記下位仮想計算機に処理実行時間を割り当てる
ことを特徴とする付記16〜19のうちいずれか1項に記載の仮想計算機制御方法。
1 計算機
2 ハードウェア
3 VMM
4 VM
5 VM設定部
6 サブVM設定部
7 VMM制御部
12,12a 制御部
12a−1 第1CPU
12a−2 第2CPU
31 作業領域設定部
32 配分処理部
32a CPU割当/配分処理部
33 命令時間取得部
34 作業領域更新部
35 履歴更新部
36 VM制御情報格納部
37 VM割当制御情報
38 再分割割当情報
39 割当作業領域
40 命令時間テーブル

Claims (8)

  1. コンピュータに、
    ユーザ毎に、使用可能な処理演算能力の上限を設定する場合、前記ユーザ毎に設定されている前記処理演算能力の上限の範囲で該ユーザ毎に少なくとも1つの仮想計算機を上位仮想計算機として設定し
    前記ユーザ毎に、複数の仮想計算機を設定する場合、前記設定した上位仮想計算機の配下に、該複数の仮想計算機を下位仮想計算機として設定し
    前記ユーザ毎に設定されている前記処理演算能力の上限の範囲で、該ユーザ毎の前記複数の仮想計算機に対して該処理演算能力を配分する
    処理を実行させることを特徴とする複数の仮想計算機を制御する仮想計算機制御プログラム。
  2. 前記ユーザ毎に、複数の仮想計算機を設定する場合、前記上位仮想計算機に配分された前記処理演算能力の範囲で、該上位仮想計算機の配下にある各仮想計算機に、該処理演算能力の上限を設定し、
    前記複数の仮想計算機に対して該処理演算能力を配分する場合において、前記上位仮想計算機の配下にあるいずれかの下位仮想計算機について、該下位仮想計算機に配分された処理演算能力の上限の制限を解除する制限解除設定がされている場合、同一の上位仮想計算機の配下において、前記処理演算能力の上限の設定された、使用中でない下位仮想計算機に配分された前記処理演算能力を、前記制限解除設定がされた前記下位仮想計算機に配分する
    ことを特徴とする請求項に記載の仮想計算機制御プログラム。
  3. 前記ユーザ毎に、複数の仮想計算機を設定する場合、いずれかの前記下位仮想計算機に該処理演算能力の下限を設定し、
    前記複数の仮想計算機に対して該処理演算能力を配分する場合、前記下限が設定された前記下位仮想計算機へ配分する処理演算能力を確保すると共に、同一の上位仮想計算機の配下において、前記処理演算能力の上限の設定された、使用中でない下位仮想計算機に配分された前記処理演算能力のうち前記確保された処理演算能力を超える範囲の処理演算能力を、前記制限解除設定がされた下位仮想計算機に配分する
    ことを特徴とする請求項に記載の仮想計算機制御プログラム。
  4. 前記複数の仮想計算機に対して該処理演算能力を配分する場合、
    第1制御部に、前記複数の上位仮想計算機に対して、前記処理演算能力を配分する処理をさせ、
    第2制御部に、前記上位仮想計算機の配下にある複数の仮想計算機に対して、前記処理演算能力を配分させる
    ことを特徴とする請求項のうちいずれか1項に記載の仮想計算機制御プログラム。
  5. 前記複数の仮想計算機に対して該処理演算能力を配分する場合、前記上位仮想計算機または前記下位仮想計算機に配分された前記処理演算能力に応じた順番で、前記上位仮想計算機または前記下位仮想計算機に処理実行時間を割り当てる
    ことを特徴とする請求項のうちいずれか1項に記載の仮想計算機制御プログラム。
  6. 前記処理実行時間を割り当てた前記上位仮想計算機または前記下位仮想計算機に、連続して前記処理実行時間を割り当てる
    ことを特徴とする請求項に記載の仮想計算機制御プログラム。
  7. ユーザ毎に、使用可能な処理演算能力の上限を設定する場合、前記ユーザ毎に設定されている前記処理演算能力の上限の範囲で該ユーザ毎に少なくとも1つの仮想計算機を上位仮想計算機として設定する第1設定部と、
    前記ユーザ毎に、複数の仮想計算機を設定する場合、前記設定した上位仮想計算機の配下に、該複数の仮想計算機を下位仮想計算機として設定する第2設定部と、
    前記ユーザ毎に設定されている前記処理演算能力の上限の範囲で、該ユーザ毎の前記複数の仮想計算機に対して該処理演算能力を配分する配分処理部と、
    を備えることを特徴とする計算機。
  8. コンピュータが実行する、複数の仮想計算機を制御する仮想計算機制御方法であって、
    前記コンピュータは、
    ユーザ毎に、使用可能な処理演算能力の上限を設定する場合、前記ユーザ毎に設定されている前記処理演算能力の上限の範囲で該ユーザ毎に少なくとも1つの仮想計算機を上位仮想計算機として設定し
    前記ユーザ毎に、複数の仮想計算機を設定する場合、前記設定した上位仮想計算機の配下に、該複数の仮想計算機を下位仮想計算機として設定し
    前記ユーザ毎に設定されている前記処理演算能力の上限の範囲で、該ユーザ毎の前記複数の仮想計算機に対して該処理演算能力を配分する
    処理を実行することを特徴とする仮想計算機制御方法。
JP2011061671A 2011-03-18 2011-03-18 仮想計算機制御プログラム、計算機、及び仮想計算機制御方法 Active JP5640844B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011061671A JP5640844B2 (ja) 2011-03-18 2011-03-18 仮想計算機制御プログラム、計算機、及び仮想計算機制御方法
US13/316,141 US20120240111A1 (en) 2011-03-18 2011-12-09 Storage medium storing program for controlling virtual machine, computing machine, and method for controlling virtual machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011061671A JP5640844B2 (ja) 2011-03-18 2011-03-18 仮想計算機制御プログラム、計算機、及び仮想計算機制御方法

Publications (2)

Publication Number Publication Date
JP2012198698A JP2012198698A (ja) 2012-10-18
JP5640844B2 true JP5640844B2 (ja) 2014-12-17

Family

ID=46829522

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011061671A Active JP5640844B2 (ja) 2011-03-18 2011-03-18 仮想計算機制御プログラム、計算機、及び仮想計算機制御方法

Country Status (2)

Country Link
US (1) US20120240111A1 (ja)
JP (1) JP5640844B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101696698B1 (ko) * 2011-12-23 2017-01-17 한국전자통신연구원 상호 의존 관계가 있는 컴포넌트 분배 및 관리 방법
US9634886B2 (en) * 2013-03-14 2017-04-25 Alcatel Lucent Method and apparatus for providing tenant redundancy
EP3022649A1 (en) * 2013-07-19 2016-05-25 Hewlett Packard Enterprise Development LP Virtual machine resource management system and method thereof
US9769084B2 (en) * 2013-11-02 2017-09-19 Cisco Technology Optimizing placement of virtual machines
GB2537852B (en) * 2015-04-28 2019-07-17 Advanced Risc Mach Ltd Controlling transitions of devices between normal state and quiescent state
GB2537855B (en) 2015-04-28 2018-10-24 Advanced Risc Mach Ltd Controlling transitions of devices between normal state and quiescent state

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4519098B2 (ja) * 2006-03-30 2010-08-04 株式会社日立製作所 計算機の管理方法、計算機システム、及び管理プログラム
US8555274B1 (en) * 2006-03-31 2013-10-08 Vmware, Inc. Virtualized desktop allocation system using virtual infrastructure
US8479196B2 (en) * 2009-09-22 2013-07-02 International Business Machines Corporation Nested virtualization performance in a computer system
US8789041B2 (en) * 2009-12-18 2014-07-22 Verizon Patent And Licensing Inc. Method and system for bulk automated virtual machine deployment

Also Published As

Publication number Publication date
JP2012198698A (ja) 2012-10-18
US20120240111A1 (en) 2012-09-20

Similar Documents

Publication Publication Date Title
JP5640844B2 (ja) 仮想計算機制御プログラム、計算機、及び仮想計算機制御方法
JP6381956B2 (ja) 動的仮想マシンサイジング
He et al. Developing resource consolidation frameworks for moldable virtual machines in clouds
RU2569805C2 (ru) Виртуальная архитектура неоднородной памяти для виртуальных машин
CN105843683B (zh) 用于动态优化平台资源分配的方法、***和设备
JP5088366B2 (ja) 仮想計算機制御プログラム、仮想計算機制御システムおよび仮想計算機移動方法
JP5569424B2 (ja) 更新装置、更新方法、および更新プログラム
TWI748530B (zh) 資源管理方法和裝置、電子設備及記錄媒體
US20160196157A1 (en) Information processing system, management device, and method of controlling information processing system
JP6741941B2 (ja) 仮想マシン管理プログラム、仮想マシン管理方法、及び、仮想マシン管理装置
Kim et al. Constraint-aware VM placement in heterogeneous computing clusters
KR101432751B1 (ko) 가상화 환경 내 하둡 맵리듀스의 부하 분산 방법 및 시스템
Hussain et al. SLA-RALBA: cost-efficient and resource-aware load balancing algorithm for cloud computing
Ramezani et al. A multi-objective load balancing system for cloud environments
Natesan et al. Optimal task scheduling in the cloud environment using a mean grey wolf optimization algorithm
Nguyen et al. Virtual machine allocation in cloud computing for minimizing total execution time on each machine
CN115599512A (zh) 在图形处理单元上调度作业
Seth et al. Dynamic threshold-based dynamic resource allocation using multiple VM migration for cloud computing systems
Djebbar et al. Optimization of tasks scheduling by an efficacy data placement and replication in cloud computing
Yang et al. Multi-policy-aware MapReduce resource allocation and scheduling for smart computing cluster
JP2012181578A (ja) 更新制御装置及びプログラム
Mangalampalli et al. An Effective VM Consolidation Mechanism by Using the Hybridization of PSO and Cuckoo Search Algorithms
Ro Modeling and analysis of memory virtualization in cloud computing
Geetha et al. Hadoop scheduler with deadline constraint
Veeramallu Dynamically allocating the resources using virtual machines

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140805

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140909

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: 20140930

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141013

R150 Certificate of patent or registration of utility model

Ref document number: 5640844

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150