JP2017016505A - 起動制御プログラム、起動制御方法及び起動制御装置 - Google Patents
起動制御プログラム、起動制御方法及び起動制御装置 Download PDFInfo
- Publication number
- JP2017016505A JP2017016505A JP2015134339A JP2015134339A JP2017016505A JP 2017016505 A JP2017016505 A JP 2017016505A JP 2015134339 A JP2015134339 A JP 2015134339A JP 2015134339 A JP2015134339 A JP 2015134339A JP 2017016505 A JP2017016505 A JP 2017016505A
- Authority
- JP
- Japan
- Prior art keywords
- virtual machine
- memory
- started
- memory amount
- amount
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
Description
新たな仮想マシンを所定の起動タイミングで起動する際に、前記情報処理装置上に起動済みの仮想マシンに割り当てられたメモリ量と前記新たに起動する仮想マシンに割り当てられるメモリ量の和に基づく第2のメモリ量と相関を有する前記第1のメモリ量に関連付けられた前記起動処理時間に基づいて、前記新たな仮想マシンの起動処理を開始するタイミングを決定すること、を有する処理をコンピュータに実行させる起動制御プログラムである。
図1に示されるクラウドシステムでは、ハイパーバイザHV1は、物理マシンPM1上に多数の仮想マシンVMを起動し、仮想マシンVMの稼働を制御する。そして、ハイパーバイザHV1が、仮想マシンVMにメモリの総容量以内でしかメモリ領域を割り当てないで仮想マシンVMを起動及び稼働させる場合、CPU資源はあまり活用されないことが判明した。例えば、物理マシンPM1内のメモリ使用率が80%を越えていても、CPU使用率は20%未満になる場合がある。これは、起動済みの仮想マシンVMが全てアクティブ状態である場合はむしろまれであり、通常、多くの仮想マシンVMがアイドル状態にあるからである。
図5は、仮想マシンの起動処理の概略を示す図である。仮想マシンの起動処理は、ハイパーバイザHV1による仮想マシンのメモリ領域の割り当て(S6)と、割り当てられたメモリ領域内へのゲストOSのロード(S8)と、ゲストOSによる起動処理(S9)を有する。新たな仮想マシンを起動開始するにあたり、ハイパーバイザHV1はまず起動対象の仮想マシンにメモリ領域の割り当てを実行する(S6)。この割り当て処理は、図4のハイパーバイザによるメモリ制御で説明した要求メモリ量を要求元に割り当てる処理である。
本実施の形態における管理サーバ4の起動制御機構4_1(起動制御プログラムBC_PR)は、自動起動制御スケジュールに設定されている各仮想マシンの起動時刻(または起動予定時刻)を、起動予定時刻での予測遅延時間分早めるよう調整する。起動予定時刻での予想起動遅延時間は、前述のとおり、主にメモリ割当時間TB2の変動により変動する。または、起動時刻を起動予定時刻での予測起動処理時間分早めるように調整してもよい。但し、起動処理時間TB(=TB1+TB2)のうち、時間TB1はメモリオーバコミットメント状態に依存せずほぼ一定の短い時間であるので、自動起動制御スケジュールは、この時間TB1を想定して設定される場合が多い。したがって、前述のように起動時刻を予測遅延時間分早める調整でもよい。
図6は、上記の第1の起動制御による起動制御機構4_1(起動制御プログラムBC_PR)による仮想マシンの自動起動制御の処理を示すフローチャート図である。前提として、クラウドシステムを運用する運用管理者などにより自動起動制御スケジュールが設定される(S10)。
DT=(4GB÷8GB)×DT_8
または、不足するメモリ量が12GBの場合は、予測される起動遅延時間DTは、以下のように補間演算により見積もる。
DT=DT_8+(DT_16−DT_8)×(12GB−8GB)/(16GB−8GB)
そして、起動時刻チューニングプログラムは、VM毎に、自動起動制御スケジュールの起動予定時刻を、上記の見積もり計算で取得した起動遅延時間だけ早めて調整し、調整後の起動予定時刻を起動制御プログラムに応答する(S25)。
図7は、第2の起動制御による起動制御機構4_1(起動制御プログラムBC_PR)による仮想マシンの自動起動制御の処理を示すフローチャート図である。まず、クラウドシステムを運用する運用管理者などにより自動起動制御スケジュールが設定される(S10)。そして、起動時刻調整タイミングになると(S11)、起動制御プログラムは、起動時刻チューニングプログラムをコールし、起動予定時刻(起動時刻)の調整を依頼する(S12)。起動時刻調整タイミングは、図6と同様である。
次に、具体例を示しながら、上記の第2の起動制御処理(図7)について説明する。
図12は、自動起動制御スケジュールの例を示す図である。このテーブルTBL4については、前述したとおりである。
不足するメモリ量=割当メモリ量−(起動前の)空きメモリ量
オーバコミット率=割当メモリ総量(起動後)÷実装メモリ総量
そして、起動時刻チューニングプログラムは、予測した不足するメモリ量と、オーバコミット率とから、起動処理時間の遅延時間BT2を見積もりにより予測し、自動起動プログラムに回答する(図7、8のS24_D)。
不足するメモリ量=割当メモリ量−(起動前の)空きメモリ量
オーバコミット率=割当メモリ総量(起動後)÷実装メモリ総量
以下、具体例で説明する。
最初に、仮想マシンVM2が起動される前の起動時刻の調整(図7、8のS22〜S25)について説明する。起動時刻チューニングプログラムは、自動起動制御スケジュールTBL4を入手する(図8のS22)。そして、未だ実績データが蓄積されていない状態であるので、起動時刻チューニングプログラムは、見積もり計算によりVM2の起動予定時刻での遅延時間を予測する(図7のS24_D)。
起動後の割当メモリ総量は
実メモリ総量(32GB)−起動後の空きメモリ量(20GB)+スワップアウトメモリ量(0GB)=12GB
起動後のオーバコミット率は
割当メモリ総量(12GB)÷実装メモリ総量(32GB)=12/32=37.5%
VM2の起動に際して不足するメモリ量は、図10のテーブルTBL2においてVM2の起動前はどの仮想マシンも起動されておらず空きメモリ量が32GBであるので、
割当メモリ量(12GB)−起動前の空きメモリ量(32GB)=0
図14は、起動処理時間実績データログの例を示す図である。このテーブルTLB6には、実績No.=001に、物理マシンPM1上に仮想マシンVM2の起動されたときの、上記の不足するメモリ量(0GB)とオーバコミット率(12/32)とが、起動処理時間BTと関連付けて記憶される(図7,8のS21)。
最初に、仮想マシンVM3が起動される前の起動時刻の調整時は、未だ実績データが蓄積されていない状態であるので、起動時刻チューニングプログラムは、見積もり計算によりVM3の起動予定時刻での遅延時間を予測する(図7のS24_D)。
割当メモリ総量は
実メモリ総量(32GB)−空きメモリ量(起動後)(4GB)+スワップアウトメモリ量(0GB)=28GB
オーバコミット率は
割当メモリ総量(28GB)÷実装メモリ総量(32GB)=28/32=87.5%
不足するメモリ量は
割当メモリ量(16GB)−空きメモリ量(起動前)(20GB)=0
図14の実績No.=002に、物理マシンPM1上に仮想マシンVM3が起動されたときの、上記の不足するメモリ量(0GB)とオーバコミット率(28/32)とが、起動処理時間BTと関連付けて記憶される(図7,8のS21)。
まず、仮想マシンVM1が起動される前の起動時刻の調整について説明する(図7、8のS22〜S25)。未だ実績データが蓄積されていない状態であるので、起動時刻チューニングプログラムは、見積もりによりVM1の起動予定時刻での遅延時間を予測する(図7、8のS24_D)。
不足するメモリ量は
割当メモリ量(28GB)−空きメモリ量(起動前)(4GB)=24GB
割当メモリ総量は
実メモリ総量(32GB)−空きメモリ量(起動後)(0GB)+スワップアウトメモリ量(24GB)=56GB
オーバコミット率は
割当メモリ総量(56GB)÷実装メモリ総量(32GB)=56/32=175%
起動時刻チューニングプログラムは、上記の不足するメモリ量24GBに基づいて、図15の見積もり遅延時間DTから、起動処理時間の遅延時間を予測する(図7、8のS24_D)。図15の見積もり遅延時間には、不足するメモリ量が24GBの場合の遅延時間DT_24が登録されているので、この遅延時間DT_24を予測遅延時間とする。もし、不足するメモリ量が24GBの遅延時間DT_24がテーブルTBL7にない場合は、不足するメモリ量が16GBの遅延時間DT_16に基づいて、以下のように予測する。
予測遅延時間TD_24=(DT_16÷16GB)×24GB
そして、起動時刻チューニングプログラムは、仮想マシンVM1の起動予定時刻8:00を、予測遅延時間だけ早めて調整後の起動予定時刻を計算し、起動制御プログラムに回答する(図7、8のS25)。それに基づいて、起動制御プログラムは、仮想マシンVM1を調整後の起動予定時刻8:00-TD_24に起動開始する。
割当メモリ総量は
実メモリ総量(32GB)−空きメモリ量(起動後)(0GB)+スワップアウトメモリ量(24GB)=56GB
オーバコミット率は
割当メモリ総量(56GB)÷実装メモリ総量(32GB)=56/32=175%
不足するメモリ量は
割当メモリ量(28GB)−空きメモリ量(起動前)(4GB)=24GB
図14の実績No.=003に、物理マシンPM1上に仮想マシンVM1が起動されたときの、上記の不足するメモリ量(24GB)とオーバコミット率(56/32)とが、起動処理時間BTと関連付けて記憶される(図7,8のS21)。
まず、仮想マシンVM4が起動される前の起動時刻の調整について説明する(図7、8のS22〜S25)。未だ実績データが蓄積されていない状態であるので、起動時刻チューニングプログラムは、見積もりによりVM4の起動予定時刻での遅延時間を予測する(図7、8のS24_D)。
不足するメモリ量は
割当メモリ量(12GB)−空きメモリ量(起動前)(0GB)=12GB
割当メモリ総量(起動後)は
実メモリ総量(32GB)−空きメモリ量(起動後)(0GB)+スワップアウトメモリ量(36GB)=68GB
オーバコミット率(起動後)は
割当メモリ総量(68GB)÷実装メモリ総量(32GB)=68/32=212.5%
起動時刻チューニングプログラムは、上記の不足するメモリ量24GBに基づいて、図15の見積もり遅延時間DTから、起動処理時間の遅延時間を予測する(図7、8のS24_D)。図15の見積もり遅延時間には、不足するメモリ量が8GBと16GBの場合の遅延時間DT_8, DT_16が登録されているので、以下のように予測することができる。
予測遅延時間TD_12=(DT_8+DT_16)÷2
そして、起動時刻チューニングプログラムは、仮想マシンVM1の起動予定時刻8:10を、予測遅延時間TD_12だけ早めて調整後の起動予定時刻を計算し、起動制御プログラムに回答する(S25)。それに基づいて、起動制御プログラムは、仮想マシンVM1を調整後の起動予定時刻8:10-TD_12に起動開始する。
割当メモリ総量(起動後)は
実メモリ総量(32GB)−空きメモリ量(起動後)(0GB)+スワップアウトメモリ量(36GB)=68GB
オーバコミット率(起動後)は
割当メモリ総量(68GB)÷実装メモリ総量(32GB)=68/32=212.5%
不足するメモリ量は
割当メモリ量(12GB)−空きメモリ量(起動前)(0GB)=12GB
図14の実績No.=004に、物理マシンPM1上に仮想マシンVM4が起動されたときの、上記の不足するメモリ量とオーバコミット率とが、起動処理時間BTと関連付けて記憶される(図7,8のS21)。
次に、既に前述の仮想マシンVM1〜VM4の起動処理が行われ、図14の起動処理時間実績データログが蓄積された状態で、再び図16のように仮想マシンVM1が起動予定の場合と、図17のように仮想マシンVM4が起動予定の場合の起動予定時刻の調整について説明する。
起動時刻チューニングプログラムは、自動起動制御スケジュールTBL4を入手する(図8のS22)。それによれば、仮想マシンVM1の起動予定時刻では、既に、仮想マシンVM2,VM3が起動済みである。そこで、起動時刻チューニングプログラムは、仮想マシンVM1の起動予定時刻での予測不足メモリ量と予測オーバコミットの程度を算出する(図7、8のS23)。この算出は、前述の仮想マシンVM1が起動したときと同じであり、次のとおりである。
予測不足メモリ量=割当メモリ量(28GB)−予測空きメモリ量(4GB)=24GB
予測オーバコミット率=割当予定メモリ総量(56GB)÷実装メモリ総量(32GB)=56/32=175%
そこで、起動時刻チューニングプログラムは、図14の起動処理時間実績データログTBL6を検索し、予測した不足メモリ量(24GB)と相関する不足メモリ量と関連付けられた起動処理時間BT003(実績No.003)を抽出する(図7、8のS24_B)。もし、予測不足メモリ量(24GB)と相関するログが複数ある場合は、メモリコミットメントの程度(メモリコミットメント率または量)が相関するログの起動処理時間を抽出する。そして、抽出した起動処理時間BT003から、実績データログ内の予測不足メモリ量=0のログの起動処理時間の平均値を減算して、予測遅延時間DTを算出する(図7、8のS25)。
次に、自動起動制御スケジュールTBL4によれば、仮想マシンVM4の起動予定時刻では、既に、仮想マシンVM2,VM3,VM1が起動済みである。そこで、起動時刻チューニングプログラムは、仮想マシンVM4の起動予定時刻での予測不足メモリ量と予測オーバコミットの程度を次のとおり算出する(図8のS23)。
予測不足メモリ量=割当メモリ量(12GB)−予測空きメモリ量(0GB)=12GB
予測オーバコミット率=割当予定メモリ総量(68GB)÷実装メモリ総量(32GB)=68/32=212.5%
そこで、起動時刻チューニングプログラムは、図14の起動処理時間実績データログを検索し、予測した不足メモリ量(12GB)と相関する不足メモリ量と関連付けられた起動処理時間BT004(実績No.004)を抽出する(図7、8のS24_B)。もし、この予測不足メモリ量と相関するログが複数ある場合は、メモリコミットメントの程度(メモリコミットメント率または量)が相関するログの起動処理時間を抽出する。そして、抽出した起動処理時間BT004から、実績データログ内の予測不足メモリ量=0のログの起動処理時間の平均値を減算して、予測遅延時間DTを算出する(図8のS24,25)。
複数の仮想マシンの調整された起動時刻が短時間の間に集中する場合、それぞれの調整起動時刻が起動処理時間の間重ならないように、調整起動時刻を再調整するのが好ましい。複数の仮想マシンの起動処理が重なると、必ずしも実績データログと同じ起動処理時間の遅延時間になるとは限らないからである。
上記の実施の形態の第2の起動制御では、起動処理時間実績データを蓄積し、実績データから起動処理時間の遅延時間を参照して起動予定時刻を調整する。実績データを利用するメリットは次のとおりである。
仮想マシンを生成可能な情報処理装置上で仮想マシンが起動される際の、前記情報処理装置上に起動済みの仮想マシンに割り当てられたメモリ量と起動する仮想マシンに割り当てられるメモリ量の和に基づく第1のメモリ量と、前記起動する仮想マシンの起動に要した起動処理時間と、を関連付けた起動処理実績データを記憶部に記憶し、
新たな仮想マシンを所定の起動タイミングで起動する際に、前記情報処理装置上に起動済みの仮想マシンに割り当てられたメモリ量と前記新たに起動する仮想マシンに割り当てられるメモリ量の和に基づく第2のメモリ量と相関を有する前記第1のメモリ量に関連付けられた前記起動処理時間に基づいて、前記新たな仮想マシンの起動処理を開始するタイミングを決定すること、
を含む処理をコンピュータに実行させる起動制御プログラム。
前記第1のメモリ量は、前記起動する仮想マシンの起動の為に起動済みの他の仮想マシンから取得するメモリ量であり、
前記第2のメモリ量は、前記新たな仮想マシンの起動の為に起動済みの他の仮想マシンから取得するメモリ量である、付記1に記載の起動制御プログラム。
前記記憶することは、前記第1のメモリ量に加えて、前記起動する仮想マシンの起動後のメモリの第1のオーバコミットの程度も、前記起動処理時間と関連付けて記憶部に記憶することを有し、
前記決定する処理において、前記第2のメモリ量と相関を有する前記第1のメモリ量に関連付けられた前記起動処理時間のうち、さらに、前記新たな仮想マシンの起動後のメモリの第2のオーバコミットの程度と相関を有する前記第1のオーバコミットの程度に関連付けられる前記起動処理時に基づいて、前記新たな仮想マシンの起動処理を開始するタイミングを決定する、付記1または2に記載の起動制御プログラム。
前記第1のオーバコミットの程度及び前記第2のオーバコミットの程度は、
複数の仮想マシンに割り当てたメモリ総量の、前記情報処理装置が実装するメモリ総量に対する比率である、オーバコミット率である、付記3に記載の起動制御プログラム。
前記第1のオーバコミットの程度及び前記第2のオーバコミットの程度は、
複数の仮想マシンに割り当てたメモリ総量から、前記情報処理装置が実装するメモリ総量を減じたメモリ量である、付記3に記載の起動制御プログラム。
前記決定する処理は、前記起動処理実績データ内に前記第2のメモリ量と相関を有する前記第1のメモリ量が存在しない場合、前記新たな仮想マシンを起動する際に前記他の仮想マシンから取得する第3のメモリ量に対応する見積もり遅延時間から、前記第2のメモリ量と前記第3のメモリ量との比率に応じて前記新たな仮想マシンの起動処理の見積もり遅延時間を決定し、前記決定した見積もり遅延時間に基づいて、前記新たな仮想マシンの起動処理を開始するタイミングを決定する、付記1に記載の起動制御プログラム。
前記決定する処理は、前記起動タイミングより前記起動処理時間に含まれる遅延時間だけ前の時刻に前記起動処理を開始するタイミングを決定する、付記1に記載の起動制御プログラム。
前記決定する処理は、前記起動タイミングを規定した起動制御スケジュールが変更された後と、前記情報処理装置で仮想マシンの起動処理及び停止処理が行われた後に、行われる、付記1に記載の起動制御プログラム。
前記新たに仮想マシンを起動する際に前記起動済みの他の仮想マシンから取得するメモリ量がゼロの場合、前記新たな仮想マシンの起動処理を開始するタイミングを、前記所定の起動タイミングのまま変更しない、付記2に記載の起動制御プログラム。
仮想マシンを生成可能な情報処理装置上で仮想マシンが起動される際の、前記情報処理装置上に起動済みの仮想マシンに割り当てられたメモリ量と起動する仮想マシンに割り当てられるメモリ量の和に基づく第1のメモリ量と、前記起動する仮想マシンの起動に要した起動処理時間と、を関連付けた起動処理実績データを記憶部に記憶し、
新たな仮想マシンを所定の起動タイミングで起動する際に、前記情報処理装置上に起動済みの仮想マシンに割り当てられたメモリ量と前記新たに起動する仮想マシンに割り当てられるメモリ量の和に基づく第2のメモリ量と相関を有する前記第1のメモリ量に関連付けられた前記起動処理時間に基づいて、前記新たな仮想マシンの起動処理を開始するタイミングを決定すること、
をコンピュータが実行する起動制御方法。
仮想マシンを生成可能な情報処理装置上で仮想マシンが起動される際の、前記情報処理装置上に起動済みの仮想マシンに割り当てられたメモリ量と起動する仮想マシンに割り当てられるメモリ量の和に基づく第1のメモリ量と、前記起動する仮想マシンの起動に要した起動処理時間と、を関連付けた起動処理実績データを記憶する記憶部と、
新たな仮想マシンを所定の起動タイミングで起動する際に、前記情報処理装置上に起動済みの仮想マシンに割り当てられたメモリ量と前記新たに起動する仮想マシンに割り当てられるメモリ量の和に基づく第2のメモリ量と相関を有する前記第1のメモリ量に関連付けられた前記起動処理時間に基づいて、前記新たな仮想マシンの起動処理を開始するタイミングを決定する起動タイミング決定部と、
を有する起動制御装置。
仮想マシンを生成可能な情報処理装置上で仮想マシンが起動される際の、前記仮想マシンの起動の為に起動済みの他の仮想マシンから取得する第1のメモリ量と、起動する前記仮想マシンの起動に要した起動処理時間と、を関連付けた起動処理実績データを記憶部に記憶すること、
新たな仮想マシンを所定の起動タイミングで起動する際に、前記新たな仮想マシンの起動の為に起動済みの他の仮想マシンから取得する第2のメモリ量と相関を有する前記第1のメモリ量に関連付けられた前記起動処理時間に基づいて、前記新たな仮想マシンの起動処理を開始するタイミングを決定すること、
を含む処理をコンピュータに実行させる起動制御プログラム。
仮想マシンを生成可能な情報処理装置上で仮想マシンが起動される際の、前記仮想マシンの起動の為に起動済みの他の仮想マシンから取得する第1のメモリ量と、起動する前記仮想マシンの起動に要した起動処理時間と、を関連付けた起動処理実績データを記憶部に記憶すること、
新たな仮想マシンを所定の起動タイミングで起動する際に、前記新たな仮想マシンの起動の為に起動済みの他の仮想マシンから取得する第2のメモリ量と相関を有する前記第1のメモリ量に関連付けられた前記起動処理時間に基づいて、前記新たな仮想マシンの起動処理を開始するタイミングを決定すること、
をコンピュータが実行する起動制御方法。
仮想マシンを生成可能な情報処理装置上で仮想マシンが起動される際の、前記仮想マシンの起動の為に起動済みの他の仮想マシンから取得する第1のメモリ量と、起動する前記仮想マシンの起動に要した起動処理時間と、を関連付けた起動処理実績データを記憶する記憶部と、
新たな仮想マシンを所定の起動タイミングで起動する際に、前記新たな仮想マシンの起動の為に起動済みの他の仮想マシンから取得する第2のメモリ量と相関を有する前記第1のメモリ量に関連付けられた前記起動処理時間に基づいて、前記新たな仮想マシンの起動処理を開始するタイミングを決定する起動タイミング決定部と、
を有する起動制御装置。
仮想マシンを生成可能な情報処理装置上で仮想マシンが起動される際の、前記仮想マシンの起動の為に起動済みの他の仮想マシンから取得する第1のメモリ量と、起動する前記仮想マシンの起動に要した起動処理時間と、を関連付けた起動処理実績データを記憶部に記憶すること、
新たな仮想マシンを所定の起動タイミングで起動する際に、前記新たな仮想マシンの起動の為に起動済みの他の仮想マシンから取得する第2のメモリ量と相関を有する前記第1のメモリ量に関連付けられた前記起動処理時間に基づいて、前記新たな仮想マシンの起動処理を開始するタイミングを決定すること、
を有する処理をコンピュータに実行させる起動制御プログラム。
VM:仮想マシン
HV:ハイパーバイザ、仮想化基盤ソフトウエア
G_OS:ゲストOS
A_PR:管理プログラム
BC_PR:起動制御プログラム、ブートコントロールプログラム
S20:起動時刻チューニングプログラム
10、20:CPU
12、22:メモリ、RAM
14、24:I/O、I/Oスイッチ
18、28:ストレージ、補助記憶装置、HDD
TBL1:起動処理イベントログ
TBL2:仮想メモリ割当総量のデータの例
TBL3:実装メモリ総量のデータの例
TBL4:自動起動制御スケジュールの例
TBL5:VM割当(または割当予定)メモリ量の例
TBL6:起動処理時間データログの例
TBL7:見積もり遅延時間の例
Claims (12)
- 仮想マシンを生成可能な情報処理装置上で仮想マシンが起動される際の、前記情報処理装置上に起動済みの仮想マシンに割り当てられたメモリ量と起動する仮想マシンに割り当てられるメモリ量の和に基づく第1のメモリ量と、前記起動する仮想マシンの起動に要した起動処理時間と、を関連付けた起動処理実績データを記憶部に記憶し、
新たな仮想マシンを所定の起動タイミングで起動する際に、前記情報処理装置上に起動済みの仮想マシンに割り当てられたメモリ量と前記新たに起動する仮想マシンに割り当てられるメモリ量の和に基づく第2のメモリ量と相関を有する前記第1のメモリ量に関連付けられた前記起動処理時間に基づいて、前記新たな仮想マシンの起動処理を開始するタイミングを決定すること、
を含む処理をコンピュータに実行させる起動制御プログラム。 - 前記第1のメモリ量は、前記起動する仮想マシンの起動の為に起動済みの他の仮想マシンから取得するメモリ量であり、
前記第2のメモリ量は、前記新たな仮想マシンの起動の為に起動済みの他の仮想マシンから取得するメモリ量である、請求項1に記載の起動制御プログラム。 - 前記記憶することは、前記第1のメモリ量に加えて、前記起動する仮想マシンの起動後のメモリの第1のオーバコミットの程度も、前記起動処理時間と関連付けて記憶部に記憶することを有し、
前記決定する処理において、前記第2のメモリ量と相関を有する前記第1のメモリ量に関連付けられた前記起動処理時間のうち、さらに、前記新たな仮想マシンの起動後のメモリの第2のオーバコミットの程度と相関を有する前記第1のオーバコミットの程度に関連付けられる前記起動処理時に基づいて、前記新たな仮想マシンの起動処理を開始するタイミングを決定する、請求項1または2に記載の起動制御プログラム。 - 前記第1のオーバコミットの程度及び前記第2のオーバコミットの程度は、
複数の仮想マシンに割り当てたメモリ総量の、前記情報処理装置が実装するメモリ総量に対する比率である、オーバコミット率である、請求項3に記載の起動制御プログラム。 - 前記第1のオーバコミットの程度及び前記第2のオーバコミットの程度は、
複数の仮想マシンに割り当てたメモリ総量から、前記情報処理装置が実装するメモリ総量を減じたメモリ量である、請求項3に記載の起動制御プログラム。 - 前記決定する処理は、前記起動処理実績データ内に前記第2のメモリ量と相関を有する前記第1のメモリ量が存在しない場合、前記新たな仮想マシンを起動する際に前記他の仮想マシンから取得する第3のメモリ量に対応する見積もり遅延時間から、前記第2のメモリ量と前記第3のメモリ量との比率に応じて前記新たな仮想マシンの起動処理の見積もり遅延時間を決定し、前記決定した見積もり遅延時間に基づいて、前記新たな仮想マシンの起動処理を開始するタイミングを決定する、請求項1に記載の起動制御プログラム。
- 前記新たに仮想マシンを起動する際に前記起動済みの他の仮想マシンから取得するメモリ量がゼロの場合、前記新たな仮想マシンの起動処理を開始するタイミングを、前記所定の起動タイミングのまま変更しない、請求項2に記載の起動制御プログラム。
- 仮想マシンを生成可能な情報処理装置上で仮想マシンが起動される際の、前記情報処理装置上に起動済みの仮想マシンに割り当てられたメモリ量と起動する仮想マシンに割り当てられるメモリ量の和に基づく第1のメモリ量と、前記起動する仮想マシンの起動に要した起動処理時間と、を関連付けた起動処理実績データを記憶部に記憶し、
新たな仮想マシンを所定の起動タイミングで起動する際に、前記情報処理装置上に起動済みの仮想マシンに割り当てられたメモリ量と前記新たに起動する仮想マシンに割り当てられるメモリ量の和に基づく第2のメモリ量と相関を有する前記第1のメモリ量に関連付けられた前記起動処理時間に基づいて、前記新たな仮想マシンの起動処理を開始するタイミングを決定すること、
をコンピュータが実行する起動制御方法。 - 仮想マシンを生成可能な情報処理装置上で仮想マシンが起動される際の、前記情報処理装置上に起動済みの仮想マシンに割り当てられたメモリ量と起動する仮想マシンに割り当てられるメモリ量の和に基づく第1のメモリ量と、前記起動する仮想マシンの起動に要した起動処理時間と、を関連付けた起動処理実績データを記憶する記憶部と、
新たな仮想マシンを所定の起動タイミングで起動する際に、前記情報処理装置上に起動済みの仮想マシンに割り当てられたメモリ量と前記新たに起動する仮想マシンに割り当てられるメモリ量の和に基づく第2のメモリ量と相関を有する前記第1のメモリ量に関連付けられた前記起動処理時間に基づいて、前記新たな仮想マシンの起動処理を開始するタイミングを決定する起動タイミング決定部と、
を有する起動制御装置。 - 仮想マシンを生成可能な情報処理装置上で仮想マシンが起動される際の、前記仮想マシンの起動の為に起動済みの他の仮想マシンから取得する第1のメモリ量と、起動する前記仮想マシンの起動に要した起動処理時間と、を関連付けた起動処理実績データを記憶部に記憶すること、
新たな仮想マシンを所定の起動タイミングで起動する際に、前記新たな仮想マシンの起動の為に起動済みの他の仮想マシンから取得する第2のメモリ量と相関を有する前記第1のメモリ量に関連付けられた前記起動処理時間に基づいて、前記新たな仮想マシンの起動処理を開始するタイミングを決定すること、
を含む処理をコンピュータに実行させる起動制御プログラム。 - 仮想マシンを生成可能な情報処理装置上で仮想マシンが起動される際の、前記仮想マシンの起動の為に起動済みの他の仮想マシンから取得する第1のメモリ量と、起動する前記仮想マシンの起動に要した起動処理時間と、を関連付けた起動処理実績データを記憶部に記憶すること、
新たな仮想マシンを所定の起動タイミングで起動する際に、前記新たな仮想マシンの起動の為に起動済みの他の仮想マシンから取得する第2のメモリ量と相関を有する前記第1のメモリ量に関連付けられた前記起動処理時間に基づいて、前記新たな仮想マシンの起動処理を開始するタイミングを決定すること、
をコンピュータが実行する起動制御方法。 - 仮想マシンを生成可能な情報処理装置上で仮想マシンが起動される際の、前記仮想マシンの起動の為に起動済みの他の仮想マシンから取得する第1のメモリ量と、起動する前記仮想マシンの起動に要した起動処理時間と、を関連付けた起動処理実績データを記憶する記憶部と、
新たな仮想マシンを所定の起動タイミングで起動する際に、前記新たな仮想マシンの起動の為に起動済みの他の仮想マシンから取得する第2のメモリ量と相関を有する前記第1のメモリ量に関連付けられた前記起動処理時間に基づいて、前記新たな仮想マシンの起動処理を開始するタイミングを決定する起動タイミング決定部と、
を有する起動制御装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2015134339A JP6589417B2 (ja) | 2015-07-03 | 2015-07-03 | 起動制御プログラム、起動制御方法及び起動制御装置 |
| US15/190,293 US10055244B2 (en) | 2015-07-03 | 2016-06-23 | Boot control program, boot control method, and boot control device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2015134339A JP6589417B2 (ja) | 2015-07-03 | 2015-07-03 | 起動制御プログラム、起動制御方法及び起動制御装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2017016505A true JP2017016505A (ja) | 2017-01-19 |
| JP6589417B2 JP6589417B2 (ja) | 2019-10-16 |
Family
ID=57683051
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2015134339A Expired - Fee Related JP6589417B2 (ja) | 2015-07-03 | 2015-07-03 | 起動制御プログラム、起動制御方法及び起動制御装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US10055244B2 (ja) |
| JP (1) | JP6589417B2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2019217743A (ja) * | 2018-06-22 | 2019-12-26 | 富士ゼロックス株式会社 | 情報処理装置、画像形成装置及びプログラム |
| JP2024078783A (ja) * | 2022-11-30 | 2024-06-11 | 株式会社日立ビルシステム | 情報処理装置及びアプリケーション起動制御方法 |
Families Citing this family (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11336294B2 (en) * | 2016-06-10 | 2022-05-17 | Apple Inc. | Hybrid, adaptive virtual memory compression |
| US20180129524A1 (en) * | 2016-11-10 | 2018-05-10 | International Business Machines Corporation | Managing pre-allocated virtual machine instance pools |
| US11792307B2 (en) | 2018-03-28 | 2023-10-17 | Apple Inc. | Methods and apparatus for single entity buffer pool management |
| JP7067270B2 (ja) * | 2018-05-25 | 2022-05-16 | 富士通株式会社 | 情報処理装置,ロードプログラムおよびロード方法 |
| US10846224B2 (en) | 2018-08-24 | 2020-11-24 | Apple Inc. | Methods and apparatus for control of a jointly shared memory-mapped region |
| US11558348B2 (en) | 2019-09-26 | 2023-01-17 | Apple Inc. | Methods and apparatus for emerging use case support in user space networking |
| US11477123B2 (en) | 2019-09-26 | 2022-10-18 | Apple Inc. | Methods and apparatus for low latency operation in user space networking |
| US11829303B2 (en) | 2019-09-26 | 2023-11-28 | Apple Inc. | Methods and apparatus for device driver operation in non-kernel space |
| US11748133B2 (en) * | 2020-04-23 | 2023-09-05 | Netapp, Inc. | Methods and systems for booting virtual machines in the cloud |
| US11606302B2 (en) | 2020-06-12 | 2023-03-14 | Apple Inc. | Methods and apparatus for flow-based batching and processing |
| US11775359B2 (en) | 2020-09-11 | 2023-10-03 | Apple Inc. | Methods and apparatuses for cross-layer processing |
| US11954540B2 (en) | 2020-09-14 | 2024-04-09 | Apple Inc. | Methods and apparatus for thread-level execution in non-kernel space |
| US11799986B2 (en) | 2020-09-22 | 2023-10-24 | Apple Inc. | Methods and apparatus for thread level execution in non-kernel space |
| US11876719B2 (en) | 2021-07-26 | 2024-01-16 | Apple Inc. | Systems and methods for managing transmission control protocol (TCP) acknowledgements |
| US11882051B2 (en) | 2021-07-26 | 2024-01-23 | Apple Inc. | Systems and methods for managing transmission control protocol (TCP) acknowledgements |
| US11966748B2 (en) * | 2021-09-30 | 2024-04-23 | Ati Technologies Ulc | Dynamic boot configuration |
| CN114546637B (zh) * | 2022-01-16 | 2024-09-06 | 华东师范大学 | 一种类型有限的虚拟机分配方法 |
| US20240220294A1 (en) * | 2022-12-28 | 2024-07-04 | Microsoft Technology Licensing, Llc | VM Migration Using Memory Pointers |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010532034A (ja) * | 2007-06-27 | 2010-09-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 仮想マシンのメモリを管理するためのシステム、方法、及びコンピュータ・プログラム |
| JP2013041397A (ja) * | 2011-08-15 | 2013-02-28 | Hitachi Systems Ltd | 仮想サーバ制御システム及びプログラム |
| WO2014091580A1 (ja) * | 2012-12-12 | 2014-06-19 | 株式会社東芝 | クラウドシステム管理装置、クラウドシステム、再配置方法、及びプログラム |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0728657A (ja) | 1993-07-09 | 1995-01-31 | Hitachi Ltd | 仮想計算機における無人化システム |
| US5842226A (en) * | 1994-09-09 | 1998-11-24 | International Business Machines Corporation | Virtual memory management for a microkernel system with multiple operating systems |
| DE10133962A1 (de) * | 2001-07-17 | 2003-02-06 | Bosch Gmbh Robert | Verfahren zur Synchronisation und Vorrichtung |
| US7284084B2 (en) * | 2004-08-30 | 2007-10-16 | International Business Machines Corporation | ROM scan memory expander |
| WO2011002735A1 (en) * | 2009-07-01 | 2011-01-06 | Carnegie Mellon University | Methods and apparatuses for monitoring energy consumption and related operations |
| JP5538310B2 (ja) | 2011-06-27 | 2014-07-02 | 株式会社エヌ・ティ・ティ・データ | 仮想化システム、および仮想化方法 |
| JP5632403B2 (ja) | 2012-01-24 | 2014-11-26 | 日本電信電話株式会社 | タスク管理システム、タスク管理サーバ、タスク管理方法、及びタスク管理プログラム |
| US9569223B2 (en) * | 2013-02-13 | 2017-02-14 | Red Hat Israel, Ltd. | Mixed shared/non-shared memory transport for virtual machines |
| US10747563B2 (en) * | 2014-03-17 | 2020-08-18 | Vmware, Inc. | Optimizing memory sharing in a virtualized computer system with address space layout randomization (ASLR) enabled in guest operating systems wherein said ASLR is enable during initialization of a virtual machine, in a group, when no other virtual machines are active in said group |
-
2015
- 2015-07-03 JP JP2015134339A patent/JP6589417B2/ja not_active Expired - Fee Related
-
2016
- 2016-06-23 US US15/190,293 patent/US10055244B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010532034A (ja) * | 2007-06-27 | 2010-09-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 仮想マシンのメモリを管理するためのシステム、方法、及びコンピュータ・プログラム |
| JP2013041397A (ja) * | 2011-08-15 | 2013-02-28 | Hitachi Systems Ltd | 仮想サーバ制御システム及びプログラム |
| WO2014091580A1 (ja) * | 2012-12-12 | 2014-06-19 | 株式会社東芝 | クラウドシステム管理装置、クラウドシステム、再配置方法、及びプログラム |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2019217743A (ja) * | 2018-06-22 | 2019-12-26 | 富士ゼロックス株式会社 | 情報処理装置、画像形成装置及びプログラム |
| JP7176247B2 (ja) | 2018-06-22 | 2022-11-22 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置、画像形成装置及びプログラム |
| JP2024078783A (ja) * | 2022-11-30 | 2024-06-11 | 株式会社日立ビルシステム | 情報処理装置及びアプリケーション起動制御方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20170003977A1 (en) | 2017-01-05 |
| US10055244B2 (en) | 2018-08-21 |
| JP6589417B2 (ja) | 2019-10-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6589417B2 (ja) | 起動制御プログラム、起動制御方法及び起動制御装置 | |
| TWI752994B (zh) | 應用的擴容方法、裝置和系統 | |
| JP5544967B2 (ja) | 仮想マシン管理プログラム及び仮想マシン管理装置 | |
| US9201695B2 (en) | Computer system and control method for acquiring required resources | |
| US9367340B2 (en) | Resource management method and apparatus for virtual machine system, and virtual machine system | |
| US20140280956A1 (en) | Methods and systems to manage computer resources in elastic multi-tenant cloud computing systems | |
| JP2012094030A (ja) | 計算機システム及び処理制御方法 | |
| JP2012221273A (ja) | 動的にリソースを割り当てる方法、システム及びプログラム | |
| US20160239322A1 (en) | Computer system and control method for computer system | |
| WO2011155233A1 (ja) | クラスタ構成管理方法、管理装置及びプログラムを格納した記憶媒体 | |
| CN107026802A (zh) | 一种资源管理方法及设备 | |
| US20160196157A1 (en) | Information processing system, management device, and method of controlling information processing system | |
| CN110750336B (zh) | 一种OpenStack虚拟机内存热扩容方法 | |
| CN110750330A (zh) | 一种虚拟机创建方法、系统、电子设备及存储介质 | |
| JP2015075898A (ja) | 処理再開方法、処理再開プログラムおよび情報処理システム | |
| Zhang et al. | CloudGC: Recycling idle virtual machines in the cloud | |
| JP7035858B2 (ja) | マイグレーション管理プログラム、マイグレーション方法およびマイグレーションシステム | |
| CN110704195B (zh) | 一种cpu调整方法、服务器及计算机可读存储介质 | |
| JP2014229253A (ja) | マシン管理システム、管理サーバ、マシン管理方法、及びプログラム | |
| KR102014246B1 (ko) | 리소스 통합관리를 위한 메소스 처리 장치 및 방법 | |
| JP7104327B2 (ja) | 情報処理装置、仮想マシン管理プログラムおよび仮想マシン管理方法 | |
| CN115794305B (zh) | 虚拟机内存的调整方法和装置、存储介质及电子装置 | |
| JP6168799B2 (ja) | 仮想計算機システム | |
| CN118170549A (zh) | 资源分配方法、装置及电子设备 | |
| CN105868012A (zh) | 处理用户请求的方法和装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180413 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181218 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190205 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190404 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190702 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190808 |
|
| 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: 20190820 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190902 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6589417 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |