JPWO2010089808A1 - 仮想計算機の割当方法及び割当プログラム並びに仮想計算機環境を有する情報処理装置 - Google Patents

仮想計算機の割当方法及び割当プログラム並びに仮想計算機環境を有する情報処理装置 Download PDF

Info

Publication number
JPWO2010089808A1
JPWO2010089808A1 JP2010549270A JP2010549270A JPWO2010089808A1 JP WO2010089808 A1 JPWO2010089808 A1 JP WO2010089808A1 JP 2010549270 A JP2010549270 A JP 2010549270A JP 2010549270 A JP2010549270 A JP 2010549270A JP WO2010089808 A1 JPWO2010089808 A1 JP WO2010089808A1
Authority
JP
Japan
Prior art keywords
time
allocation
virtual machine
arithmetic processing
response
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
Application number
JP2010549270A
Other languages
English (en)
Other versions
JP5136658B2 (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
Publication of JPWO2010089808A1 publication Critical patent/JPWO2010089808A1/ja
Application granted granted Critical
Publication of JP5136658B2 publication Critical patent/JP5136658B2/ja
Expired - Fee Related 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本発明を適用した1システムでは、情報処理装置上に作成される仮想計算機に割り当てるディスパッチ時間を複数、設定し、設定したディスパッチ時間を順次、割り当て、情報処理装置を構成する外部記憶装置、及び通信装置等の入出力用装置を用いた入出力に要する応答時間を仮想計算機が測定し、測定した応答時間のディスパッチ時間による変化を基に、仮想計算機の最適なディスパッチ時間を特定して適用する。その最適なディスパッチ時間の適用により、高いレスポンス性能を維持しつつ、仮想計算機の実行効率の低下を抑える。

Description

本発明は、物理計算機上に作成される仮想計算機にCPUを割り当てる1回当たりの時間であるディパッチ時間を最適化する技術に関する。
仮想計算機(VM(Virtual Machine))技術は、情報処理装置等のコンピュータが有するハードウェアを論理的又は物理的に分割するとともに、分割したハードウェア上でオペレーティングシステム(OS)を動作させる技術である。この仮想計算機技術を用いることにより、ハードウェアを分割することにより仮想化したそれぞれのハードウェア上でOSを実行することにより、コンピュータ全体として複数のOSを実行させることができる。分割したハードウェア上で実行される各OS(ゲストOS)は、それぞれが1台のコンピュータを論理的に実現する。これは、複数のサーバ等のコンピュータを1台のコンピュータ上に統合できることを意味する。このことから仮想計算機技術では、導入するコンピュータ(物理的な計算機)の数の削減、ネットワーク構成の単純化、といった利点が得られる。
仮想計算機技術により論理的に実現されるコンピュータである「仮想計算機」上では、それぞれワークロード(Workload)としてのプログラムが実行される。各仮想計算機では、異なるワークロードが実行されるのが一般的である。そのワークロードは、それらが有する特性から分けることができる。ワークロードの種類の代表例としては、CPU(Centroral Processing Unit:中央演算処理装置)バウンドジョブ、及びIO(Input Output:入出力)バウンドジョブが挙げられる。
CPUバウンドジョブは、CPUによる計算処理を主に実行するワークロードである。CPUをワークロードに割り当てる程、ワークロードの処理時間であるCPUがIO装置に対してIO要求を出してから、当該IO装置がCPUに対してIO応答を返すまでのレスポンス時間(応答時間)が短くなるという特性を有している。
他方のIOバウンドジョブは、データ保存用の記録媒体(アクセス速度が比較的に遅い記憶装置)、或いはネットワークへのIOを比較的に高頻度に行うワークロードである。データベースシステムに代表される。IOの完了に要する時間が短い程、ワークロードの処理時間が短くなるという特性を有している。
仮想計算機システム環境が実現されたコンピュータでは、各仮想計算機で特性の異なるワークロードが実行されるのが一般的である。
仮想計算機システムは通常、仮想計算機監視部としての仮想計算機モニタ(Hypervisor:ハイパーバイザ)が各仮想計算機に演算資源としてのCPUを割り当てるようになっている。CPUを割り当てた仮想計算機からCPUの制御をハイパーバイザに取り戻す方法としては、ディスパッチタイマの設定による方法、及びアイドル検出による方法の2つを併用するのが一般的である。
ディスパッチタイマの設定による方法は、仮想計算機にCPUを割り当てる際にタイマを設定し、そのタイマによる一定時間(CPUを割り当てる1回当たりの時間であるディスパッチ時間)の計時によってCPUの制御をハイパーバイザに戻すものである。この方法によりCPUの制御がハイパーバイザに戻った場合、仮想計算機で実行しているワークロードはCPUバウンドジョブであると判断できる。
アイドル検出による方法は、仮想計算機が何らかのIOの完了待ち状態、つまりアイドル状態となったことを契機に、仮想計算機からCPUの制御をハイパーバイザに戻すものである。この方法によりCPUの制御がハイパーバイザに戻った場合、仮想計算機で実行しているワークロードはIOバウンドジョブであると判断できる。
上記2つの方法を併用する場合、仮想計算機で実行されているIOバウンドジョブの実行効率は、他の仮想計算機が大きく影響する。CPUバウンドジョブが実行される仮想計算機では、比較的に長いディスパッチ時間を設定する必要がある。このため、CPUバウンドジョブが実行される他の仮想計算機が多くなるほど、単位時間当たりにCPUが割り当てられる回数は少なくなり、実行効率が低下する。このことから、IOバウンドジョブが実行される仮想計算機では、実行効率の低下を抑えることが重要と考えられる。ここで、実行効率とは,ワークロードが単位時間当たりに有意な処理を実行した割合のことである。
IOバウンドジョブが走行する仮想計算機での実行効率の低下を抑える方法として、短いディスパッチ時間を設定する方法、及びIO完了割り込み待ち状態の仮想計算機に優先的にCPUを割り当てる方法が考えられる。しかし、それらの方法には、以下のような不具合があった。
短いディスパッチ時間を設定する方法は、仮想計算機にCPUを制御する権利であるCPU制御権を渡す時間間隔を短くして、IOバウンドジョブが実行される仮想計算機により早くCPU制御権を渡すようにするものである。しかし、この方法では、単位時間当たりのCPU制御権の切り換え回数がより多くなって、ハイパーバイザが行う処理が増え、本来の目的以外の部分で計算機資源が消費されるものであるオーバヘッドが増加する。オーバヘッドの増加は、仮想計算機システム全体の性能を低下させるだけでなく、仮想計算機に単位時間当たりにCPUが割り当てられる回数をより少なくさせる。その結果、各仮想計算機の実行効率を却って低下させるため望ましくない。
IO完了割り込み待ち状態の仮想計算機に優先的にCPUを割り当てる方法は、IOの完了を待つ仮想計算機を検出し、その仮想計算機にIOの完了を優先して通知するものである。しかし、この方法では、IOバウンドジョブの仮想計算機が多くなると、CPUバウンドジョブの仮想計算機にCPU制御権が渡りにくくなる。また、IO完了割り込み待ちの仮想計算機を検出する必要が生じることから、却ってハイパーバイザが行う処理が増えてオーバヘッドが増加する。このようなことから、この方法も望ましいものではない。
特開2002−215408号公報 特開2006−059052号公報 特開平07−110774号公報
本発明は、実行効率の低下を抑えつつ、仮想計算機にCPU制御権を割り当てるための技術を提供することを目的とする。
本発明を適用した1システムでは、仮想計算機監視部を有し、入出力装置が搭載、或いは接続され、演算処理装置(例えばCPU)を搭載した情報処理装置上に作成される仮想計算機にディスパッチ時間を割り当てる。その割り当ては、仮想計算機監視部が、演算処理装置を、複数の分割演算処理装置に分割し、仮想計算機監視部が、分割演算処理装置に、仮想計算機の割当時間を複数設定し、仮想計算機監視部が、複数の前記割当時間に基づいて、分割演算処理装置に、仮想計算機を割り当て、仮想計算機を割り当てられた分割演算処理装置が、入出力装置に入出力要求を出力してから、分割演算処理装置に、入出力装置からその入出力要求に対する応答が入力されるまでの応答時間を、複数の割当時間毎に測定し、設定された複数の割当時間と測定された複数の応答時間に基づいて、所定の範囲内の応答時間に対応する割当時間のうち、最大の割当時間である最適割当時間を抽出し、その抽出された最適割当時間を、仮想計算機に割り当てる。
上記入出力用装置とは、情報処理装置がハードウェア資源として用いることが可能なものが相当する。具体的には、搭載、或いは接続等によりアクセス可能な外部記憶装置、及び通信装置等である。 応答時間の変化に着目することにより、レスポンスの悪化を回避する、或いは抑えられるディスパッチ時間の範囲を特定することができる。それにより、高いレスポンス性能が得られる最長、或いは最長に近いディスパッチ時間を特定することもできる。
より長いディスパッチ時間を設定するほど、仮想計算機への演算処理装置(物理CPU)の割り当てに要する負荷は軽減される。それにより、ハードウェア資源を仮想計算機に対しより効率的に割り当てられるようになる。特定した最長、或いは最長に近いディスパッチ時間は、高いレスポンス性能を維持させつつ、仮想計算機への物理CPUの割り当てに要する負荷を最小レベルに抑える。レスポンスの悪化は、情報処理装置(物理計算機)の全体性能を大きく低下させる傾向がある。このようなことから、特定した最長、或いは最長に近いディスパッチ時間は、ディスパッチ時間として最適なものとなる。その最適なディスパッチ時間に自動調整することにより、走行するワークロードの種類に係わらず、実行効率の低下を抑えつつ、仮想計算機にCPU制御権を割り当てられることとなる。
本実施形態によるコンピュータのシステム構成を示す図である。 ハイパーバイザ12と仮想計算機14のプログラム構成を示す図である。 ディスパッチ時間とIOレスポンスの関係を示す図である。 IOレスポンス時間測定データの構造を示す図である。 ハイパーバイザ通知用IOレスポンスのデータ構造を示す図である。 平均IOレスポンス累積データの構造を示す図である。 評価項目毎に、本実施形態と各従来技術の評価内容を示す図である。 ディスパッチ時間設定に係わる処理のフローチャートである。 他のディスパッチ時間変更処理のフローチャートである。 ハードウェア構成の実施形態の一例を示す図である。
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図1は、本実施形態による仮想計算機システムが実現された情報処理装置としてのコンピュータのシステム構成を示す図である。図1に示すシステム構成は、コンピュータ1の動作時の環境を表したものである。コンピュータ1を構成するハードウェア11は、仮想計算機監視部としての仮想計算機モニタ(ハイパーバイザ)12によって分割されることにより仮想計算機環境が実現され、分割されたハードウェアが、ハイパーバイザ12によりワークロードに対して、動的、透過的に割り当てられる。
仮想計算機13は、ハイパーバイザ12の起動時に自動で起動される。この仮想計算機13では、ホストOS(オペレーティングシステム)が動作する。このホストOSは、ゲストOSが動作する仮想計算機14の起動、停止等の制御を行う。また、ハードウェア11を動作させるための各種ドライバを搭載している。
ハイパーバイザ12は、起動させた仮想計算機14毎に、制御権を割り当てるCPU、その制御権を割り当てるディスパッチ時間を決定し、その決定に従って制御権を割り当てるスケジューリングを行う。ディスパッチ時間は、以下のようにして決定する。図3を参照して具体的に説明する。
図3は、ディスパッチ時間とIOレスポンス時間(IO応答時間)の関係を示す図である。横軸にディスパッチ時間、縦軸にIOレスポンス時間を取っている。IOレスポンス時間は、IO実際の実行時間である。
IOを実際に実行するには時間を要する。このため図3に示すように、IOレスポンス時間は、ディスパッチ時間を長くさせても或る程度までは一定となる。ディスパッチ時間をそれ以上長くすると、IOによる割り込み待ち時間が発生するため、IOレスポンス時間は悪く(長く)なる。
ディスパッチ時間とIOレスポンス時間の間には、上記のような関係が存在する。本実施形態では、その関係に着目し、仮想計算機14毎にディスパッチ時間を決定する。それにより、図3中、矢印で示すIOレスポンス時間が変化する点を特定し、特定した変化点のディスパッチ時間を仮想計算機14に設定する。
このようにして本実施形態では、IOレスポンス時間を指針として、ディスパッチ時間を決定(設定)する。その理由は、仮想計算機システムでは、1つのHDD又はネットワークカード等のIO資源に対して同時に複数の分割されたハードウェア資源がアクセスすることがあるため、IOレスポンスが全体性能に大きく影響するからである。つまりIOレスポンスが悪ければ、複数の分割されたハードウェア資源にIO待ち時間が発生し、コンピュータ全体の性能も大きく低下する傾向があるからである。それにより、IOレスポンス性能を高く維持させつつ、なるべく長いディスパッチ時間を割り当てるようにしている。
より長いディスパッチ時間を割り当てるほど、単位時間当たりのCPU制御権の切り換え回数は少なくなる。従って、ハイパーバイザ12のオーバヘッドはより抑えられるようになる。このことから、オーバヘッドの増大による各仮想計算機14での実行効率の低下も抑えることができる。それにより、最適なディスパッチ時間を設定することとなる。
図3に示すような関係は、IO資源の種類に係わらずに存在する。このため、IO資源については特に限定するものではない。また、仮想計算機で実行されるプロセスは、複種類のIO資源を使用する場合がある。そのようなプロセスでは、実行効率に最も影響が大きい種類のIO資源に着目して、ディスパッチ時間を決定することが望ましい。

以降は、図2、及び図4〜図10を参照して、ディスパッチ時間を最適化するための動作について説明する。
図2は、ハイパーバイザ12と仮想計算機14のプログラム構成を示す図である。図2には、ディスパッチ時間の設定に特に重要なプログラム、及びデータを抜粋して示している。
仮想計算機14−1で動作するゲストOS1には、測定プログラム31が搭載されている。この測定プログラム31は、ゲストOS1上で実行中のプロセス32を対象にIOレスポンス時間、つまりIOに実際に要した時間(IOレスポンス時間)を測定するプログラムである。その測定結果は、IOレスポンス時間測定データ33として保存される。プロセス32は、実行中のワークロード自体のプロセスに相当する。仮想計算機14−2にも同様に、測定プログラム31を搭載したゲストOS2、ゲストOS2上で実行中のプロセス32、及びIOレスポンス時間測定データ33が存在する。プロセス32は一つのみ示しているが、多くの場合、複数のプロセス32が存在する。
測定プログラム31は、実際にはIO資源別にIOレスポンス時間を測定する。しかし、ここでは説明上、便宜的に、1種類のIO資源のみを想定する。想定するIO資源は、実行効率に最も影響を及ぼす種類である。
図4は、IOレスポンス時間測定データ33の構造を示す図である。
測定プログラム31は、プロセス32のIOレスポンス時間を測定する。このことから図4に示すように、IOレスポンス時間測定データ33は、過去の測定結果を格納したものとなっている。各測定結果には、測定を行った時刻である測定時間が付されている。それにより、測定1回分のデータは、測定時間、及びIOレスポンス時間の2つの項目のデータを有する。図4中、測定結果は「IO TimeN」(Nは整数)、測定時間は「TimeN」(Nは整数)と表記している。この「N」は、測定を行った順序を表している。
ハイパーバイザ12は、各仮想計算機14にCPU制御権を与えるスケジューリングを行うスケジューラ21、及び各仮想計算機14のディスパッチ時間を設定するディスパッチ時間設定プログラム22を有する。
スケジューラ21は、仮想計算機14毎に、割り当てる物理的なCPUである物理CPU(実CPU)を設定する。23は、各仮想計算機14に割り当てた物理CPUを示す設定データである。23−1は仮想計算機14−1用の設定データ、23−2は仮想計算機14−2用の設定データである。
設定データ14−1には「物理CPU1」、設定データ14−2には「物理CPU2」がそれぞれ表記されている。本実施形態では、そのようにして、仮想計算機14毎に異なる物理CPUを固定的に割り当てるようにしている。これは、複数の仮想計算機14を同じ物理CPUで動作させると、他の仮想計算機14の動作がIOレスポンスに影響するためである。言い換えれば、他の仮想計算機の動作による影響を排除して、IOレスポンス時間をより正確に測定するためである。
ハイパーバイザ12は、各仮想計算機14から、測定されたIOレスポンス時間を格納したハイパーバイザ通知用IOレスポンス24(以降「IOレスポンス24」と略記)を取得する。図5は、そのデータ構造を示す図である。図5に示すように本実施形態では、IOレスポンス24に、測定されたIOレスポンス時間の平均値(IOレスポンス平均時間)を格納するようにしている。これは図4に示すように、IOレスポンス時間はIOの負荷状況によって変動するため、常に同じではないからである。他には、複数の時間範囲である複数の期間を区切り、当該期間毎に対応するIOレスポンス時間(測定結果)の数を計数し、計数値の最も多い期間に対応するIOレスポンス時間、つまり最も頻度が高いと期待できるIOレスポンス時間を通知することも考えられる。
IOレスポンス24の取得、言い換えれば仮想計算機14からのIOレスポンス24の通知は、ハイパーバイザ・コール又はシステムコール等の既存の方法を用いることができる。測定プログラム31は標準的なOSに搭載されている。このことから、既存の方法を用いる場合、ゲストOSは変更しなくとも済むことになる。ゲストOSを変更するのであれば、既存の方法を用いなくとも良い。
測定プログラム31は、例えばハイパーバイザ12からの所定のコマンドにより起動され、測定を開始する。その測定は、ハイパーバイザ12から終了を指示するコマンドにより終了する。少なくとも最適なディスパッチ時間を設定するのに必要な期間、測定プログラム31は動作させることとなる。
ディスパッチ時間設定プログラム(以降「時間設定プログラム」と略記)22は、仮想計算機14毎に、ディスパッチ時間を設定する。最適なディスパッチ時間を特定するために、順次、異なるディスパッチ時間を設定する。スケジューラ21は、設定されたディスパッチ時間でCPU制御権を対応する仮想計算機14を割り当てる。最適なディスパッチ時間を特定するために設定するディスパッチ時間は、暫定的に設定されるものであることから、以降、便宜的に「暫定ディスパッチ時間」と呼び、区別する。
各仮想計算機14は、プロセス32でのIOレスポンス時間の測定を測定プログラム31に行わせ、その測定結果を測定時間(現在時刻)と共にIOレスポンス時間測定データ33に格納する。その測定データ33から得られるIOレスポンス平均時間を格納したIOレスポンス24は、例えば測定結果が得られる度ごとに、又は所定回数の測定結果が得られる度に、若しくは一定時間が経過する度に、測定結果をハイパーバイザ12に渡す。ここでは、IOレスポンス24は一定時間が経過する度に、測定結果をハイパーバイザ12に渡すと想定する。
時間設定プログラム22は、IOレスポンス24を取得した後に、暫定ディスパッチ時間を変更する。それにより、設定した暫定ディスパッチ時間と、その暫定ディスパッチ時間の設定により得られたIOレスポンス平均時間の組み合わせを平均IOレスポンス累積データ25として保存する。この累積データ25は、仮想計算機14毎に保存する。累積データ25−1は仮想計算機14−1用、累積データ25−2は仮想計算機14−2用である。
図6は、平均IOレスポンス累積データの構造を示す図である。項目名として表記の「ドメイン」(domain)は仮想計算機14を表す固有の識別データに相当する。格納例として表記の「domain1」中の「1」は、仮想計算機14に割り当てられたドメインIDを表している。
項目名として表記の「Dispatch1」及び「IO Time1」はそれぞれ、1回目に設定した暫定ディスパッチ時間、及び得られたIOレスポンス平均時間が対応するデータであることを表している。それにより表記された「1」は、暫定ディスパッチ時間を設定した順序を表している。これは、他の数値も同様である。
「Dispatch1」及び「Dispatch1」での実際の暫定ディスパッチ時間は一例としてそれぞれ、1ms、及び1.5msとなっている。それにより本実施形態では、暫定ディスパッチ時間は初期値を例えば1msとし、その初期値から例えば0.5msずつ増加させるようにしている。
IOレスポンス平均時間は、2回目の暫定ディスパッチ時間の設定時には5.23ms、10回目の暫定ディスパッチ時間の設定時には7.0msとなっている。11回目の暫定ディスパッチ時間の設定時には7.5msである。このことから、IOレスポンスが悪化したのは、図3に示す関係から、7回目あたりで設定した暫定ディスパッチ時間であると推測することができる。
時間設定プログラム22は、例えばIOレスポンスが明らかに悪化した暫定ディスパッチ時間、その暫定ディスパッチ時間の直前に設定したディスパッチ時間、或いはそれら暫定ディスパッチ時間の間の時間を最適なディスパッチ時間として選択する。そのようにして選択したディスパッチ時間は、以後、最適なディスパッチ時間として設定する。二つの暫定ディスパッチ時間の間の時間としては、例えば、IOレスポンスが悪化している暫定ディスパッチ時間でのIOレスポンス時間を結ぶ直線と、一定と見なすべきIOレスポンス時間を結ぶ直線とを想定し、それらの直線が交差する時間が考えられる。ここでは、IOレスポンスが悪化する直前の暫定ディスパッチ時間を最適なディスパッチ時間として選択するものとする。
このようにして選択するディスパッチ時間の設定は、予め定めた一定時間、有効と設定する。設定から一定時間が経過した後は、再度、最適なディスパッチ時間の特定を行う。これは、時間経過により、仮想計算機14で実行されるワークロードが変化する可能性があるためである。それにより、実行されるワークロードの種類、或いは数等による最適なディスパッチ時間の変化に対応するようにしている。高いIOレスポンス性能を維持しつつ、ハイパーバイザ12のオーバヘッドを抑えられることから、実行するワークロードに係わらず、最適なディスパッチ時間を設定することができる。
図7は、評価項目毎に、本実施形態と各従来技術の評価内容を示す図である。評価項目としては、ハイパーバイザのオーバヘッド、IOレスポンス、ワークロード混在時の最適化、及びワークロード変化への対応、の4つを選択している。ハイパーバイザのオーバヘッドの評価は、「大」「中」「小」で表している。IOレスポンスの評価は、「長」「中」「短」で表している。ワークロード混在時の最適化、及びワークロード変化への対応の各評価は共に、「良」「中」「悪」で表している。各評価項目において、最良の評価には図7中「○」を付して示している。
図7中の「(1)」〜「(4)」はそれぞれ、評価を行った対象を表している。具体的には、(1)は一般的な方法、つまりディスパッチタイマの設定による方法、及びアイドル検出による方法を併用したものを示している。(2)は短いディスパッチ時間を設定する方法を示している。(3)はIO完了割り込み待ちの仮想計算機に優先的にCPUを割り当てる方法を示している。(4)は本実施形態を示している。このようなことから、(1)〜(3)は何れも上記した従来技術に相当する。
図7に示すように、本実施形態では、他の従来技術とは異なり、全ての評価項目で評価は最良となっている。このことから、本実施形態のようなディスパッチ時間の設定(自動調整)は、ディスパッチ時間を最適化するうえで極めて有効であることが分かる。
図8は、ディスパッチ時間設定に係わる処理のフローチャートである。このフローチャートは、ハイパーバイザ12及び仮想計算機14上のゲストOSのそれぞれがディスパッチ時間設定のために実行する処理を抽出してその流れを示したものである。次に図8を参照して、ハイパーバイザ12及び仮想計算機14上のゲストOSの動作について詳細に説明する。図8に示すハイパーバイザ12の一連の処理は、仮想計算機14の起動、或いは管理者による指示を契機に実行される。
ハイパーバイザ12は、先ず、ディスパッチ時間の設定対象とする仮想計算機(図中「ゲストOS」と表記)に割り当てる物理CPUを選択し、1回目に設定する暫定ディスパッチ時間を決定する(ステップSH1)。物理CPUの選択により、図2に示す設定データ23が保存される。
物理CPUを選択した後は、決定した暫定ディスパッチ時間で物理CPUを仮想計算機14に割り当てるディスパッチを行う(ステップSH2)。その後は、仮想計算機14からIOレスポンス24が通知されるのを待つ待機状態に移行する。
一方、仮想計算機14のゲストOSは、ディスパッチにより測定プログラム31を用いたIOレスポンス時間の測定を行い、その測定結果の保存、及び測定結果からIOレスポンス平均時間を算出するための集計を行う(ステップSG1)。その後は、一定時間が経過したか否かを判定する(ステップSG2)。この一定時間とは、IOレスポンス24を定期的に通知するために設定した時間である。この一定時間は、例えば起動終了時、或いは前回IOレスポンス24を通知した時点から経過した時間と比較される。それにより、経過時間が一定時間以上であった場合、判定はYESとなり、IOレスポンス24の作成および通知を行い(ステップSG3)、一連の処理を終了する。その経過時間が一定時間より短い場合には、判定はNOとなって、ここで一連の処理を終了する。
上記したようにハイパーバイザ12側では、IOレスポンス24を取得した後に、暫定ディスパッチ時間を変更する。このため、仮想計算機14側では、一定時間が経過するまでの間、IOレスポンス時間の測定、及び測定結果の集計を繰り返し行うこととなる。それにより、図4に示すIOレスポンス時間測定データ33は、例えばIOレスポンス24の通知により削除する。そのようにして、割り当てられた暫定ディスパッチ時間毎に、時間測定データ33を保存する。時間測定データ33中の測定回数(count)は、集計時に更新される。
IOレスポンス24が通知されたハイパーバイザ12は、そのIOレスポンス24中のIOレスポンス平均時間を暫定ディスパッチ時間と共に平均IOレスポンス累積データ25として保存する(ステップSH3)。その保存後は、ステップSH4に移行して、あらかじめ決定したデータ数を取得したか否かを判定する。図6に示すように、暫定ディスパッチ時間は予め定めた時間分だけ、順次長くさせるようにしている。このことから、暫定ディスパッチ時間として最大とする時間を設定していた場合、判定はYESとなってステップSH6に移行する。暫定ディスパッチ時間が最大時間でなかった場合には、判定はNOとなり、暫定ディスパッチ時間を変更するディスパッチ時間変更処理を実行してから(ステップSH5)、上記ステップSH2に戻る。それにより、変更後の暫定ディスパッチ時間でのIOレスポンス時間の測定を仮想計算機14に行わせる。
ステップSH6では、収集したデータ、つまり保存した平均IOレスポンス累積データ25から最適なディスパッチ時間を選択する。選択したディスパッチ時間は、一定時間が経過するまでの間、仮想計算機14のディスパッチ時間として有効とさせる(ステップSH7及びSH8)。
この一定時間は、最適とするディスパッチ時間を更新(リフレッシュ)すべきタイミングを判定するために設定した時間である。この更新は、仮想計算機14で実行されるワークロードの変化に対応するためのものである。この一定時間は、前回、最適とするディスパッチ時間を設定してから経過した時間と比較される。それにより、経過時間が一定時間以上となった場合、ステップSH8の判定はYESとなり、ステップSH9で1回目に設定する暫定ディスパッチ時間を決定した後、上記ステップSH2に戻る。経過時間が一定時間より短い場合には、ステップSH8の判定はNOとなり、ステップSH7に戻る。それにより、ステップSH7及びSH8で形成される処理ループの実行を継続して、最適とするディスパッチ時間の設定を維持させる。
仮想計算機14で実行されるワークロードは、時間帯等によって変化する場合がある。このことから、一定時間ではなく、ディスパッチ時間を更新すべき時刻等を設定しても良い。それらを組み合わせても良い。
ハイパーバイザ12が実行する処理において、例えばステップSH1及びSH2はスケジューラ21が用いられ、他のステップSH3〜SH9は時間設定プログラム22が用いられる。そのようにして、最適なディスパッチ時間の設定、つまりディスパッチ時間の自動調整にスケジューラ21、及び時間設定プログラム22は係わっている。このことから、本実施形態による最適なディスパッチ時間を自動調整するプログラムは、スケジューラ21、及び時間設定プログラム22を有するハイパーバイザ12として実現されている。
本実施形態では、暫定ディスパッチ時間の変更は、予め定めた時間分、前回の暫定ディスパッチ時間を長くすることにより行っている(図6)。しかし、最適なディスパッチ時間は、前回、設定したディスパッチ時間と同じか、或いはあまり変化していない可能性がある。このことから、前回、設定したディスパッチ時間の付近を優先してIOレスポンス時間の測定を行わせるようにしても良い。この時点で最適なディスパッチ時間が前回のディスパッチ時間と同じか、或いは変化の幅が所定の幅以下である場合には、最適なディスパッチ時間をより少ない測定回数で特定できるようになる。
前回、設定したディスパッチ時間の付近を優先してIOレスポンス時間の測定を行わせる場合、例えば図9に示すような他のディスパッチ時間変更処理を実行させれば良い。この変更処理は、最適なディスパッチ時間を設定したことを条件に実行することから、ステップSH4の判定がNOとなった場合、最適なディスパッチ時間を設定したか否かを判定する判定処理を実行する必要がある。その判定処理により、最適なディスパッチ時間を設定したと判定した場合に、図9に示す他のディスパッチ時間変更処理を実行させる。最適なディスパッチ時間を設定していない場合には、ステップSH5のディスパッチ時間変更処理を実行させる。ステップSH9では、有効としていたディスパッチ時間を暫定ディスパッチ時間として設定させる変更を行うことが望ましい。
図9に示す他のディスパッチ時間変更処理を実行させる場合、あらかじめ決定した回数、IOレスポンス時間の測定を行わせる途中で最適なディスパッチ時間を特定できる可能性が高い。このため、他のディスパッチ時間変更処理の前に、最適なディスパッチ時間を選択(特定)するための処理、及びその処理により最適なディスパッチ時間を選択できたか否かを判定する判定処理を配置させることが望ましい。つまり、最適なディスパッチ時間が選択できなかった場合にのみ、他のディスパッチ時間変更処理を実行させることが望ましい。最適なディスパッチ時間が選択できた場合には、ステップSH7に移行させれば良い。
図9に示す他のディスパッチ時間変更処理では、先ず、ステップSH21で1回目の測定か否かを判定する。ステップSH3で保存した測定結果が1回目のものであった場合、判定はYESとなり、ステップSH22で次回の暫定ディスパッチ時間として、前回、設定した暫定ディスパッチ時間に予め定めた時間分だけ長くしたものを設定する。その設定後にこの変更処理を終了する。一方、測定結果が1回目のものでなかった場合には、判定はNOとなり、ステップSH23で前回、最適としたディスパッチ時間を中心点として増減させた時間を次回の暫定ディスパッチ時間として設定する。その設定後にこの変更処理を終了する。
例えば前回、最適とするディスパッチ時間が5.0msであった場合、上記他のディスパッチ時間変更処理を実行することにより、2回目以降、暫定ディスパッチ時間は5.5ms→4.5ms→6.0ms→4.0ms→・・・と順次、変更される。それにより、今回、最適とすべきディスパッチ時間の前回、最適としたディスパッチ時間からの変化の幅が比較的に小さい場合には、その最適とすべきディスパッチ時間をより少ない測定回数で特定できるようになる。平均IOレスポンス累積データ25の内容が図6に示すようなものであった場合、最適なディスパッチ時間として5.0msが設定される。
図10は、ハードウェア構成の実施形態の一例を示す図である。ここで図10を参照して、上記コンピュータ1の構成例について具体的に説明する。
図10に示すコンピュータは、CPU61、メモリ62、入力装置63、外部記憶装置64、媒体駆動装置65、及びネットワーク接続装置66を有し、これらがバス67によって互いに接続された構成となっている。同図に示す構成は一例であり、これに限定されるものではない。
CPU61は、当該コンピュータ全体の制御を行う演算処理装置である。仮想計算機14に制御権を与える物理CPUに相当する。図10には一つのみ示しているが、実際には複数、搭載される。搭載されるCPU61がマルチコア型であった場合、各コアはそれぞれ1物理CPUとして扱われる。
メモリ62は、プログラム実行、データ更新等の際に、外部記憶装置64(あるいは可搬型の記録媒体M)に記憶されているプログラムあるいはデータを一時的に格納するRAM等の半導体メモリである。CPU61は、プログラムをメモリ62に読み出して実行することにより、全体の制御を行う。
入力装置63は、例えば管理者が操作するコンソールとの接続用のインターフェースである。コンソールとの間でデータを送受信し、受信したデータはCPU61に送る。それにより、コンソールを介した指示に従ってコンピュータ1は動作する。
ネットワーク接続装置66は、ネットワークとの通信を行うものである。外部記憶装置64は、例えばハードディスク装置である。主に各種データやプログラムの保存に用いられる。
媒体駆動装置65は、光ディスクや光磁気ディスク等の可搬型の記録媒体Mにアクセスするものである。
図10に示す構成要素61〜66は、ハイパーバイザ12によって仮想化されるハードウェア11に相当する。図10に示す構成では、IOは外部記憶装置64へのアクセス、或いはネットワーク接続装置66を介した通信によって発生する。このことから、外部記憶装置64及びネットワーク接続装置66は共にIO資源である。
ハイパーバイザ12、仮想計算機13で動作するホストOS、各仮想計算機14で動作するゲストOSは例えば外部記憶装置64に格納されている。図1に示すシステム構成は、CPU61がハイパーバイザ12をメモリ62に読み出して起動し、そのハイパーバイザ12の制御で各仮想計算機13、14用のプログラムをメモリ62に読み出して実行することで実現される。図8及び図9に示す各種処理は、CPU61がハイパーバイザ12、仮想計算機13用のプログラム(主にホストOS)及び仮想計算機14用のプログラム(ゲストOSやワークロード等)を実行することで実現される。ハイパーバイザ12並びに仮想計算機13及び14用の各プログラムは、記録媒体Mに記録して配布しても良く、或いはネットワーク接続装置66により取得できるようにしても良い。
なお、本実施形態では、時間設定プログラム22をハイパーバイザ12に組み込んでいるが、組み込まないようにしても良い。つまり、時間設定プログラム22により設定する暫定ディスパッチ時間の割り当て、及び特定した最適なディスパッチ時間の適用が可能であれば、時間設定プログラム22はどのような形で搭載させても良い。
本実施形態は、1台のコンピュータ1に本発明を適用したものであるが、2台以上のコンピュータを用いて構築されたコンピュータシステムでも本発明は適用可能である。このこともあり、本発明は幅広くコンピュータ(コンピュータシステムを構成するコンピュータを含む)に適用することが可能である。その適用は、本実施形態に限定されるものではない。

Claims (10)

  1. 仮想計算機監視部を有するとともに、入出力装置に接続される情報処理装置が備える演算処理装置に対する仮想計算機の割当方法において、
    前記情報処理装置に、
    前記仮想計算機監視部が、前記演算処理装置を、複数の分割演算処理装置に分割するステップと、
    前記仮想計算機監視部が、前記分割演算処理装置に、前記仮想計算機の割当時間を複数設定するステップと、
    前記仮想計算機監視部が、複数の前記割当時間に基づいて、前記分割演算処理装置に、前記仮想計算機を割り当てるステップと、
    前記仮想計算機を割り当てられた前記分割演算処理装置が、前記入出力装置に入出力要求を出力してから、前記分割演算処理装置に、前記入出力装置から前記入出力要求に対する応答が入力されるまでの応答時間を、前記複数の割当時間毎に測定するステップと、
    前記設定された複数の割当時間と前記測定された複数の応答時間に基づいて、所定の範囲内の応答時間に対応する割当時間のうち、最大の割当時間である最適割当時間を抽出するステップと、
    前記抽出された最適割当時間を、前記仮想計算機に割り当てるステップとを実行させることを特徴とする仮想計算機の割当方法。
  2. 前記応答時間を、前記複数の割当時間毎に測定するステップは、
    一の前記分割演算処理装置に対して、前記仮想計算機を固定して割り当てることを特徴とする請求項1記載の仮想計算機の割当方法。
  3. 前記情報処理装置に、
    前記複数の分割演算処理装置に分割するステップと、
    前記仮想計算機の割当時間を複数設定するステップと、
    前記分割演算処理装置に、前記仮想計算機を割り当てるステップと、
    前記応答時間を、前記複数の割当時間毎に測定するステップと、
    前記最大の割当時間である最適割当時間を抽出するステップを周期的に実行させることにより、前記抽出された最適割当時間を周期的に変更することを特徴とする請求項1記載の仮想計算機の割当方法。
  4. 前記仮想計算機の割当時間を複数設定するステップは、
    前記最適割当時間に基づいて、前記分割演算処理装置に、前記仮想計算機を割り当てる順序を決定することを特徴とする請求項1〜3の何れか1項に記載の仮想計算機の割当方法。
  5. 仮想計算機監視部を有するとともに、入出力装置に接続される情報処理装置が備える演算処理装置に対する仮想計算機の割当プログラムにおいて、
    前記情報処理装置に、
    前記仮想計算機監視部が、前記演算処理装置を、複数の分割演算処理装置に分割するステップと、
    前記仮想計算機監視部が、前記分割演算処理装置に、前記仮想計算機の割当時間を複数設定するステップと、
    前記仮想計算機監視部が、複数の前記割当時間に基づいて、前記分割演算処理装置に、前記仮想計算機を割り当てるステップと、
    前記仮想計算機を割り当てられた前記分割演算処理装置が、前記入出力装置に入出力要求を出力してから、前記分割演算処理装置に、前記入出力装置から前記入出力要求に対する応答が入力されるまでの応答時間を、前記複数の割当時間毎に測定するステップと、
    前記設定された複数の割当時間と前記測定された複数の応答時間に基づいて、所定の範囲内の応答時間に対応する割当時間のうち、最大の割当時間である最適割当時間を抽出するステップと、
    前記抽出された最適割当時間を、前記仮想計算機に割り当てるステップとを実行させることを特徴とする仮想計算機の割当プログラム。
  6. 前記応答時間を、前記複数の割当時間毎に測定するステップは、
    一の前記分割演算処理装置に対して、前記仮想計算機を固定して割り当てることを特徴とする請求項5記載の仮想計算機の割当プログラム。
  7. 前記情報処理装置に、
    前記複数の分割演算処理装置に分割するステップと、
    前記仮想計算機の割当時間を複数設定するステップと、
    前記分割演算処理装置に、前記仮想計算機を割り当てるステップと、
    前記応答時間を、前記複数の割当時間毎に測定するステップと、
    前記最大の割当時間である最適割当時間を抽出するステップを周期的に実行させることにより、前記抽出された最適割当時間を周期的に変更することを特徴とする請求項5記載の仮想計算機の割当プログラム。
  8. 前記仮想計算機の割当時間を複数設定するステップは、
    前記最適割当時間に基づいて、前記分割演算処理装置に、前記仮想計算機を割り当てる順序を決定することを特徴とする請求項5〜7の何れか1項に記載の仮想計算機の割当プログラム。
  9. 入出力装置に接続されるとともに、仮想計算機環境を有する情報処理装置において、
    演算処理装置と、
    前記演算処理装置を、複数の分割演算処理装置に分割する分割手段と、
    前記分割演算処理装置に、前記仮想計算機の割当時間を複数設定する設定手段と、
    複数の前記割当時間に基づいて、前記分割演算処理装置に、前記仮想計算機を割り当てる割当手段と、
    前記仮想計算機を割り当てられた前記分割演算処理装置が、前記入出力装置に入出力要求を出力してから、前記分割演算処理装置に、前記入出力装置から前記入出力要求に対する応答が入力されるまでの応答時間を、前記複数の割当時間毎に測定する測定手段と、
    前記設定された複数の割当時間と前記測定された複数の応答時間に基づいて、所定の範囲内の応答時間に対応する割当時間のうち、最大の割当時間である最適割当時間を抽出する抽出手段とを有することを特徴とする情報処理装置。
  10. 前記測定手段は、
    一の前記分割演算処理装置に対して、前記仮想計算機を固定して割り当てることを特徴とする請求項9記載の情報処理装置。
JP2010549270A 2009-02-09 2009-02-09 仮想計算機の割当方法及び割当プログラム並びに仮想計算機環境を有する情報処理装置 Expired - Fee Related JP5136658B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/000515 WO2010089808A1 (ja) 2009-02-09 2009-02-09 仮想計算機の割当方法及び割当プログラム並びに仮想計算機環境を有する情報処理装置

Publications (2)

Publication Number Publication Date
JPWO2010089808A1 true JPWO2010089808A1 (ja) 2012-08-09
JP5136658B2 JP5136658B2 (ja) 2013-02-06

Family

ID=42541734

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010549270A Expired - Fee Related JP5136658B2 (ja) 2009-02-09 2009-02-09 仮想計算機の割当方法及び割当プログラム並びに仮想計算機環境を有する情報処理装置

Country Status (4)

Country Link
US (1) US8516482B2 (ja)
EP (1) EP2395430B1 (ja)
JP (1) JP5136658B2 (ja)
WO (1) WO2010089808A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5803496B2 (ja) * 2011-09-26 2015-11-04 富士通株式会社 ストレージシステム
JP5709735B2 (ja) * 2011-12-08 2015-04-30 三菱電機株式会社 仮想計算機システム
US9250945B2 (en) 2012-03-27 2016-02-02 Microsoft Technology Licensing, Llc Detecting a repeating execution time sequence in a virtual machine
JP5891900B2 (ja) * 2012-03-29 2016-03-23 富士通株式会社 アクセス制御方法、サーバ装置およびストレージ装置
JP6107801B2 (ja) * 2014-12-12 2017-04-05 日本電気株式会社 情報処理装置、情報処理システム、タスク処理方法、及び、プログラム
WO2017029785A1 (ja) * 2015-08-19 2017-02-23 日本電気株式会社 仮想計算機システムの性能予測装置、性能予測方法およびプログラム記憶媒体

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4736318A (en) * 1985-03-01 1988-04-05 Wang Laboratories, Inc. Data processing system having tunable operating system means
JPS63221448A (ja) * 1987-03-11 1988-09-14 Nec Corp プログラム動作インタバル変更方式
JPH07110774A (ja) 1993-10-13 1995-04-25 Hitachi Ltd 仮想計算機システムのウェイト状態制御方式
US7512951B2 (en) * 2000-07-31 2009-03-31 Infineon Technologies Ag Method and apparatus for time-sliced and multi-threaded data processing in a communication system
JP2002202959A (ja) * 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
JP4214682B2 (ja) * 2001-01-24 2009-01-28 株式会社日立製作所 計算機およびその入出力手段
JP2003177928A (ja) * 2001-12-11 2003-06-27 Hitachi Ltd 可変タイムスライス時間のスケジューリング方法
US7299468B2 (en) * 2003-04-29 2007-11-20 International Business Machines Corporation Management of virtual machines to utilize shared resources
JP3922576B2 (ja) * 2003-06-27 2007-05-30 株式会社日立製作所 命令プロセッサ割り当てスケジューリング方法、該命令プロセッサ割り当てスケジューリング方法を実現する計算機システムおよびそのためのプログラム
US20050251806A1 (en) * 2004-05-10 2005-11-10 Auslander Marc A Enhancement of real-time operating system functionality using a hypervisor
JP2006059052A (ja) 2004-08-19 2006-03-02 Hitachi Ltd 仮想計算機システム
US20080104589A1 (en) * 2006-11-01 2008-05-01 Mccrory Dave Dennis Adaptive, Scalable I/O Request Handling Architecture in Virtualized Computer Systems and Networks
JP4358224B2 (ja) * 2006-12-27 2009-11-04 株式会社東芝 ゲストosスケジューリング方法及び仮想計算機モニタ
JP5050601B2 (ja) * 2007-03-23 2012-10-17 日本電気株式会社 ジョブへの資源割当方式、ジョブへの資源割当方法およびプログラム
US8255906B2 (en) * 2007-08-24 2012-08-28 Opnet Technologies, Inc. Modeling overhead for a plurality of virtualization technologies in a computer system

Also Published As

Publication number Publication date
EP2395430A4 (en) 2013-06-26
EP2395430B1 (en) 2017-07-12
EP2395430A1 (en) 2011-12-14
WO2010089808A1 (ja) 2010-08-12
US8516482B2 (en) 2013-08-20
JP5136658B2 (ja) 2013-02-06
US20110246990A1 (en) 2011-10-06

Similar Documents

Publication Publication Date Title
EP2071458B1 (en) Power control method for virtual machine and virtual computer system
US8271989B2 (en) Method and apparatus for virtual processor dispatching to a partition based on shared memory pages
JP5885920B2 (ja) 仮想cpuベースの、周波数、及び電圧制御
US9183016B2 (en) Adaptive task scheduling of Hadoop in a virtualized environment
US8489904B2 (en) Allocating computing system power levels responsive to service level agreements
US9081621B2 (en) Efficient input/output-aware multi-processor virtual machine scheduling
US8312230B2 (en) Dynamic control of partition memory affinity in a shared memory partition data processing system
US8793427B2 (en) Remote memory for virtual machines
US9852008B2 (en) Computer-readable recording medium storing execution information notification program, information processing apparatus, and information processing system
US9098337B2 (en) Scheduling virtual central processing units of virtual machines among physical processing units
US20080184257A1 (en) Method, apparatus, and computer program product for providing a self-tunable parameter used for dynamically yielding an idle processor
JP5136658B2 (ja) 仮想計算機の割当方法及び割当プログラム並びに仮想計算機環境を有する情報処理装置
US20120239952A1 (en) Information processing apparatus, power control method, and recording medium
KR20100074920A (ko) 멀티코어 시스템에서의 로드 밸런싱 장치 및 방법
JP2009223842A (ja) 仮想計算機制御プログラム及び仮想計算機システム
US10846138B2 (en) Allocating resources of a memory fabric
JP2011253334A (ja) 仮想計算機およびcpu割り当て方法
KR101330609B1 (ko) 모바일 멀티코어 가상화 시스템에서 실시간 처리를 보장하기 위한 스케쥴링 방법
US9690619B2 (en) Thread processing method and thread processing system for setting for each thread priority level of access right to access shared memory
KR102443894B1 (ko) 가상화 환경에서 가상머신의 i/o 성능을 높이기 위한 스케줄링 방법
US20240211019A1 (en) Runtime-learning graphics power optimization
US20230297431A1 (en) Efficiency-adjusted hardware resource capacity to support a workload placement decision
CN116185631A (zh) 多核结构固态硬盘的负载均衡方法、装置、设备及介质
KR20220084900A (ko) 인터럽트 제어 장치 및 방법
WO2016084150A1 (ja) サーバ計算機、計算機システム、及び、方法

Legal Events

Date Code Title Description
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: 20121016

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121029

R150 Certificate of patent or registration of utility model

Ref document number: 5136658

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151122

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees