JP2011150736A - プロファイリングプログラム、プロファイリング方法、およびコンピュータ - Google Patents

プロファイリングプログラム、プロファイリング方法、およびコンピュータ Download PDF

Info

Publication number
JP2011150736A
JP2011150736A JP2011104782A JP2011104782A JP2011150736A JP 2011150736 A JP2011150736 A JP 2011150736A JP 2011104782 A JP2011104782 A JP 2011104782A JP 2011104782 A JP2011104782 A JP 2011104782A JP 2011150736 A JP2011150736 A JP 2011150736A
Authority
JP
Japan
Prior art keywords
profiling
virtual machine
program
cpu
hypervisor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2011104782A
Other languages
English (en)
Inventor
Satoshi Hirai
聡 平井
Koichi Kumon
耕一 久門
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 JP2011104782A priority Critical patent/JP2011150736A/ja
Publication of JP2011150736A publication Critical patent/JP2011150736A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】プロファイリング処理にかかる処理効率およびデータ精度の向上、プロファイリング機能を有する仮想マシンシステムの構築・管理にかかる作業期間の短期化、およびコスト削減を図ること。
【解決手段】(1)まず、ハイパーバイザ240によって、CPUに割り当てられた仮想マシンの識別情報がプロファイリング支援機構250に送信される。(2)プロファイリング支援機構250は、プロファイリングプログラムのアドレスをCPUの性能モニタリング割込みベクタに設定する。(3)CPUは、性能モニタリング割込みにより、ハイパーバイザ240を介さず、仮想マシン上の、プロファイリングプログラムを直接呼び出す。(4)プロファイリングプログラムは、プロファイリング処理をおこない、(5)ハイパーバイザ240を介さず、ログをログデータベース260に直接出力する。
【選択図】図7

Description

この発明は、仮想マシンシステムにおけるサンプリング式プロファイリングをおこなうプロファイリングプログラム、プロファイリング方法、およびコンピュータに関する。
近年、1台の物理マシン上で複数の論理マシン(仮想マシン)を動作させる仮想マシンシステムが多く利用されている。このような仮想マシンシステムにおいては、各仮想マシンから適時取得した動作情報(ベンチマークスコア)をデータベースに蓄積するプロファイリング機能を備えたものがあり、このプロファイリング機能によって蓄積された情報に基づいて、仮想マシンシステムの性能分析を容易におこなうことができるものとされている。
ここで、一例として、従来技術を利用した仮想マシンシステムによるプロファイリング処理の概要について説明する。図10は、従来技術を利用した仮想マシンシステムによるプロファイリング処理の概要を示す説明図である。
図10に示す、仮想マシンシステム1000は、1台の物理マシン上で複数の論理マシン(仮想マシン)を動作させるシステムであり、仮想マシン1010〜1030、ハイパーバイザ1040、およびログデータベース1050を備えて構成されている。このうち、仮想マシン1010〜1030は、それぞれ、各種アプリケーション、OS、およびプロファイリングプログラムを備える。
このように構成された仮想マシンシステム1000においては、まず、ハイパーバイザ1040によって、各仮想マシン1010〜1030のいずれかがCPUに割り当てられる。そして、CPUにおいて割込みイベントが発生した場合、ハイパーバイザ1040は、CPUから出力された割込みイベントを受け取り、CPUが割り当てられた仮想マシン上のプロファイリングプログラムに対して割込み処理要求を出力する。
そして、ハイパーバイザ1040から割込み処理要求を受け取ったプロファイリングプログラムは、当該プロファイリングプログラムが搭載された仮想マシンに対するプロファイリング処理をおこない、その結果データをハイパーバイザ1040に出力する。ハイパーバイザ1040は、プロファイリングプログラムから受け取った結果データをログとしてログデータベース1050に出力する。このようにログデータベース1050に蓄積されたログによって、仮想マシンシステム1000全体や各仮想マシン1010〜1030の性能を容易に分析することができるものとされている。
また、CPUに対し特権レベルごとの割込みアドレスを設定することによって、仮想マシンがCPUからの割込みイベントを直接受け取ることを可能とする技術が考案されている(たとえば、下記特許文献1参照。)。
特開2006−202279号公報
しかしながら、上記従来技術にあっては、各プロファイリングプログラムとハイパーバイザ1040とのデータのやり取りが必要であり、これがオーバーヘッドとなっていたため、プロファイリング処理にかかる処理効率やデータ精度が低下するといった問題が生じていた。また、上記データのやり取りをおこなうためのインターフェースを、ハイパーバイザ1040および各プロファイリングプログラムに作り込む必要があるため、仮想マシンシステム1000の構築・管理にかかる作業期間が長期化するうえ、コストが増加するといった問題が生じていた。
また、上述した特許文献1の技術は、特権レベルに応じて割込みアドレスを切り替える機能を備えたCPUを実装する必要があり、この場合、仮想マシンシステムの開発期間が長期化したり、開発コストが増加するといった問題が生じるため、容易に実現できるものではなかった。
この発明は、上述した従来技術による問題点を解消するため、プロファイリング処理にかかる処理効率およびデータ精度の向上を図ることができるうえ、プロファイリング機能を有する仮想マシンシステムの構築・管理にかかる作業期間の短期化、およびコスト削減を図ることができるプロファイリングプログラム、プロファイリング方法、およびコンピュータを提供することを目的とする。
本発明の一側面では、ハイパーバイザによりプロセッサに割り当てられた仮想マシン上に実装されるプロファイリングプログラムのアドレスが、前記プロセッサの性能モニタリング割込みベクタに設定された場合に、前記仮想マシンのベンチマークスコアを取得し、取得されたベンチマークスコアを、前記ハイパーバイザを介さずにメモリに保存するプロファイリングプログラム、プロファイリング方法、およびコンピュータが提案される。
本発明にかかるプロファイリングプログラム、プロファイリング方法、およびコンピュータによれば、プロファイリング処理にかかる処理効率およびデータ精度の向上を図ることができるうえ、プロファイリング機能を有する仮想マシンシステムの構築・管理にかかる作業期間の短期化、およびコスト削減を図ることができるという効果を奏する。
この発明の実施の形態にかかるコンピュータのハードウェア構成を示す説明図である。 この発明の実施の形態にかかる仮想マシンシステムのシステム構成を示す説明図である。 この発明の実施の形態にかかるプロファイリング支援機構の機能的構成を示すブロック図である。 記憶部に記憶されているプロファイリングプログラムのアドレスの一例を示す説明図である。 この発明の実施の形態にかかるプロファイリング支援機構によるプロファイリング支援処理の手順を示すフローチャートである。 プロファイリングプログラムのアドレスが設定された性能モニタリング割込みベクタの一例を示す説明図である。 この発明の実施の形態にかかる仮想マシンシステムによるプロファイリング処理の概要を示す説明図である。 仮想マシンに備えられたプロファイリングプログラムの処理概要を示す説明図である。 プロファイリングプログラムによって出力されたログの一例を示す説明図である。 従来技術を利用した仮想マシンシステムによるプロファイリング処理の概要を示す説明図である。
(実施の形態)
以下に添付図面を参照して、この発明にかかるプロファイリング支援プログラム、該プログラムを記録した記録媒体、プロファイリングプログラム、該プログラムを記録した記録媒体、プロファイリング方法、およびコンピュータの好適な実施の形態を詳細に説明する。
(コンピュータのハードウェア構成)
まず、この発明の実施の形態にかかるコンピュータのハードウェア構成について説明する。図1は、この発明の実施の形態にかかるコンピュータのハードウェア構成を示す説明図である。
図1において、コンピュータ100は、コンピュータ本体110と、入力装置120と、出力装置130と、から構成されており、不図示のルータやモデムを介してLAN,WANやインターネットなどのネットワーク140に接続可能である。
コンピュータ本体110は、CPU,メモリ,インターフェースを有する。CPUは、コンピュータ100の全体の制御を司る。メモリは、ROM,RAM,HD,光ディスク111,フラッシュメモリから構成される。メモリはCPUのワークエリアとして使用される。
また、メモリには各種プログラムが格納されており、CPUからの命令に応じてロードされる。HDおよび光ディスク111はディスクドライブによりデータのリード/ライトが制御される。また、光ディスク111およびフラッシュメモリはコンピュータ本体110に対し着脱自在である。インターフェースは、入力装置120からの入力、出力装置130への出力、ネットワーク140に対する送受信の制御をおこなう。
また、入力装置120としては、キーボード121、マウス122、スキャナ123などがある。キーボード121は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式であってもよい。マウス122は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。スキャナ123は、画像を光学的に読み取る。読み取られた画像は画像データとして取り込まれ、コンピュータ本体110内のメモリに格納される。なお、スキャナ123にOCR機能を持たせてもよい。
また、出力装置130としては、ディスプレイ131、スピーカ132、プリンタ133などがある。ディスプレイ131は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。また、スピーカ132は、効果音や読み上げ音などの音声を出力する。また、プリンタ133は、画像データや文書データを印刷する。
(仮想マシンシステムのシステム構成)
つぎに、この発明の実施の形態にかかる仮想マシンシステムのシステム構成について説明する。図2は、この発明の実施の形態にかかる仮想マシンシステムのシステム構成を示す説明図である。
図2に示す、仮想マシンシステム200は、図1に示したコンピュータ100に構成され、1台の物理マシン上で複数の論理マシン(仮想マシン)を動作させるシステムであり、仮想マシン210〜230、ハイパーバイザ240、プロファイリング支援機構250、およびログデータベース260を備えて構成されている。
仮想マシン210〜230は、それぞれ、各種アプリケーション、OS、およびプロファイリングプログラムを備える。このうち、プロファイリングプログラムは、当該プロファイリングプログラムが搭載された仮想マシンのベンチマークスコアを取得し、取得されたベンチマークスコアを、ハイパーバイザ240を介さずにログデータベース260に出力する。ここで、プロファイリングプログラムは、少なくとも、CPUが実行中のプログラムの識別情報と、CPUの識別番号と、当該ベンチマークスコア取得時のタイムスタンプとを、ベンチマークスコアとして取得する。
ハイパーバイザ240は、各仮想マシン210〜230をCPUに割り当てる。ここで、ある時点において、CPUに割り当てられている仮想マシンの数は、コンピュータ本体110(図1参照)に搭載されているCPUの数と等しい。このため、CPUの数が仮想マシンの数よりも少ない場合、ハイパーバイザ240は、適時(たとえば、一定時間経過後、仮想マシンが実行権を放棄した時など)CPUに割り当てる仮想マシンを切り替える。
プロファイリング支援機構250は、ハイパーバイザ240が仮想マシン210〜230のいずれかをCPUに割り当てる際に、CPUに割り当てられる仮想マシン上のプロファイリングプログラムが、直接、CPUからの性能モニタリング割込みを受けるように、CPUを制御するプログラムである。ここで、プロファイリング支援機構250は、ソフトウェア(プログラム)に限らず、安価なハードウェア(デジタル回路等)によりその機能を実現してもよい。なお、本実施の形態において、プロファイリング支援機構250は、便宜上、ハイパーバイザ240と別構成としたが、これに限らず、たとえば、ハイパーバイザ240の一機能であってもよい。
ログデータベース260は、プロファイリングプログラムから出力されたログを格納するデータベースである。
(プロファイリング支援機構250の機能的構成)
つぎに、この発明の実施の形態にかかるプロファイリング支援機構250の機能的構成について説明する。図3は、この発明の実施の形態にかかるプロファイリング支援機構250の機能的構成を示すブロック図である。
図3において、プロファイリング支援機構250は、記憶部301と、取得部302と、設定部303と、から構成されている。
記憶部301は、各仮想マシン210〜230のプロファイリングプログラムのアドレスを記憶する。
取得部302は、CPUに割り当てられる仮想マシン上のプロファイリングプログラムのアドレスを取得する。たとえば、取得部302は、仮想マシン上にプロファイリングプログラムが組み込まれる際に、上記プロファイリングプログラムのアドレスを取得して、記憶部301に格納する。また、取得部302は、図5を用いて後述するプロファイリング支援処理にて、記憶部301から、上記プロファイリングプログラムのアドレスを取得する。
設定部303は、CPUの性能モニタリング割込みベクタに、取得部302によって取得されたプロファイリングプログラムのアドレスを設定する。また、設定部303は、CPUの性能モニタリング割込みベクタに、CPUに割り当てられる仮想マシン上で稼動するOSと同一の特権レベルを設定する。
なお、上述した各機能構成部のうち、取得部302および設定部303は、具体的には、たとえば図1に示したコンピュータ本体110が有するメモリに記憶されたプログラムをCPUが実行することによってその機能を実現する。また、記憶部301は、具体的には、たとえば図1に示したコンピュータ本体110が有するメモリによってその機能を実現する。
(記憶部301に記憶されているプロファイリングプログラムのアドレスの一例)
つぎに、記憶部301に記憶されているプロファイリングプログラムのアドレスの一例について説明する。図4は、記憶部301に記憶されているプロファイリングプログラムのアドレスの一例を示す説明図である。
図4に示すように、記憶部301には、プロファイリングプログラムのアドレスを示す「ハンドラアドレス」と、「制御レジスタ1」および「制御レジスタ2」とが、各仮想マシン210〜230を一意に識別するための仮想マシン番号と関連付けられて記憶されている。
記憶部301に記憶されたこれらの情報は、たとえば、仮想マシン上にプロファイリングプログラムが組み込まれる際に、取得部302によって取得され、記憶部301に格納されたものである。なお、別の方法として、たとえば、ユーザが手作業でおこなってもよく、プロファイリングプログラムに送信機能を組み込み、プロファイリングプログラムから送信された情報を、プロファイリング支援機構250が自動的に記憶部301に登録するようにしてもよい。
(プロファイリング支援処理の手順)
つぎに、この発明の実施の形態にかかるプロファイリング支援機構250によるプロファイリング支援処理の手順について説明する。図5は、この発明の実施の形態にかかるプロファイリング支援機構250によるプロファイリング支援処理の手順を示すフローチャートである。
まず、取得部302によって、CPUに割り当てられる仮想マシン上のプロファイリングプログラムのアドレスを取得する(ステップS501)。つぎに、設定部303によって、CPUの性能モニタリング割込みベクタに、取得部302によって取得されたプロファイリングプログラムのアドレスを設定する(ステップS502)。そして、設定部303によって、CPUの性能モニタリング割込みベクタに、CPUに割り当てられる仮想マシン上で稼動するOSと同一の特権レベルを設定して(ステップS503)、一連の処理を終了する。
(性能モニタリング割込みベクタの一例)
つぎに、プロファイリングプログラムのアドレスが設定された性能モニタリング割込みベクタの一例について説明する。図6は、プロファイリングプログラムのアドレスが設定された性能モニタリング割込みベクタの一例を示す説明図である。
図6に示す例では、CPUの割込みベクタテーブルレジスタに「80000000」が設定されており、メモリアドレス「80000000」に割込みベクタテーブルがあることを示す。そして、割込みベクタテーブルの「3(番地)」が、性能モニタリング割込みベクタとして使用されており、「割込みハンドラアドレス」領域と「特権レベル」領域とによって構成されている。
「割込みハンドラアドレス」領域には、プロファイリング支援機構250によって、プロファイリングプログラムのアドレスが設定される。また、「特権レベル」領域には、プロファイリング支援機構250によって、CPUに割り当てられる仮想マシン上で稼動するOSと同一の特権レベルが設定される。
たとえば、図6に示す例では、プロファイリング支援機構250によって、「割込みハンドラアドレス」領域に、プロファイリングプログラムのアドレス「80900500」が設定され、「特権レベル」領域に、特権レベル「1」が設定されている。
(プロファイリング処理の概要)
つぎに、この発明の実施の形態にかかる仮想マシンシステム200によるプロファイリング処理の概要について説明する。図7は、この発明の実施の形態にかかる仮想マシンシステム200によるプロファイリング処理の概要を示す説明図である。
(1)まず、ハイパーバイザ240によって、仮想マシン210〜230のいずれか(本例では仮想マシン210)がCPUに割り当てられ、割り当てられた仮想マシンの識別情報がプロファイリング支援機構250に送信される。
(2)プロファイリング支援機構250は、記憶部301に記憶されているプロファイリングプログラムのアドレスの中から、割り当てられた仮想マシンに関連付けられているプロファイリングプログラムのアドレスを取得し、取得したプロファイリングプログラムのアドレスをCPUの性能モニタリング割込みベクタに設定する。同時に、CPUに割り当てられる仮想マシン上で稼動するOSと同一の特権レベルをCPUの性能モニタリング割込みベクタに設定する。
(3)CPUは、タイマーやイベントなどをトリガーとした性能モニタリング割込みにより、ハイパーバイザ240を介さず、仮想マシン上の、上記(2)で設定されたプロファイリングプログラムのアドレスによって特定されるプロファイリングプログラムを直接呼び出す。
(4)性能モニタリング割込みによって呼び出されたプロファイリングプログラムは、プロファイリング処理をおこない、(5)その結果として、ハイパーバイザ240を介さず、ログをログデータベース260に直接出力する。
(プロファイリングプログラムの処理概要)
つぎに、仮想マシン210〜230に備えられたプロファイリングプログラムの処理概要について説明する。図8は、仮想マシン210〜230に備えられたプロファイリングプログラムの処理概要を示す説明図である。
図8は、タイマーにより周期的に割込みが発生する例を示したものでありプロファイリングプログラムは、所定周期ごとに発生するCPUからの割込みを受けるたび、対象プログラムに対するプロファイリングをおこない、その結果として、ログをログデータベース260に出力する。
(ログの一例)
つぎに、プロファイリングプログラムによって出力されたログの一例について説明する。図9は、プロファイリングプログラムによって出力されたログの一例を示す説明図である。
図9に示すように、各仮想マシンから出力されたログは、仮想マシンごとにログデータベース260に蓄積されており、「タイムスタンプ」、「プロセスID」、および「アドレス」が、CPUを一意に識別するための「CPU番号」に関連付けられて構成されている。
たとえば、「CPU番号」によって、複数のCPUが搭載されている場合であっても、どのCPUで仮想マシンが稼動したかを特定することができる。また、「タイムスタンプ」、「プロセスID」、および「アドレス」によって、どのアプリケーションが、いつ、どれくらい実行されていたかを特定することができる。
このように、仮想マシンごとにログが蓄積されたことにより、仮想マシンごとの詳細動作を把握することができるようになっている。また、図9に示すように、ログを「CPU番号」ごとに集計し、「タイムスタンプ」順にソートすることにより、仮想マシンシステム200全体の詳細動作を、時系列で把握することができるようになっている。
以上説明したように、この発明の実施の形態にかかるプロファイリング支援プログラム、該プログラムを記録した記録媒体、プロファイリングプログラム、該プログラムを記録した記録媒体、プロファイリング方法、およびコンピュータによれば、仮想マシンにCPUが割り当てられた際に、CPUの性能モニタリング割込みベクタに、CPUが割り当てられた仮想マシン上のプロファイリングプログラムのアドレスを設定する構成としたため、CPUが割り当てられた仮想マシンは、割込みハンドラをCPUから直接受け取り、プロファイリングプログラムのアドレスを実行することができる。
また、上記構成に加え、ハイパーバイザを介さずにログをデータベースに直接出力することが可能なプロファイリングプログラムを、各仮想マシン上に備えたことにより、ハイパーバイザと各プロファイリングプログラムとの間のインターフェースを省くことができる。すわなち、上記インターフェースに伴う、ハイパーバイザや、各プロファイリングプログラムの修正作業を省くことができる。
また、上記構成に加え、CPUの識別情報およびタイムスタンプを含んだログをデータベースに出力することが可能なプロファイリングプログラムを、各仮想マシン上に備えたことにより、各仮想マシンの性能分析および仮想マシンシステム全体の性能分析を、データベースに蓄積されたログから、容易におこなわせることができる。
また、上記構成に加え、仮想マシンにCPUが割り当てられた際に、CPUの性能モニタリング割込みベクタに、CPUが割り当てられた仮想マシン上のOSと同一の特権レベルを設定する構成としたため、問題発生時の影響をCPUが割り当てられた仮想マシンに限定することができるうえ、セキュリティホールを防ぐことができる。
以上のことから、プロファイリング処理にかかる処理効率およびデータ精度の向上を図ることができるうえ、プロファイリング機能を有する仮想マシンシステムの構築・管理にかかる作業期間の短期化、およびコスト削減を図ることができる。
なお、本実施の形態で説明したプロファイリング方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な伝送媒体であってもよい。
(付記1)ハイパーバイザによりCPUに割り当てられた仮想マシン上に実装されたプロファイリングプログラムのアドレスを取得させる取得工程と、
前記CPUの性能モニタリング割込みベクタに、前記取得工程によって取得されたプロファイリングプログラムのアドレスを設定させる設定工程と、
を前記CPUに実行させることを特徴とするプロファイリング支援プログラム。
(付記2)前記設定工程は、
前記CPUの性能モニタリング割込みベクタに、前記仮想マシン上に実装されたOSと同一の特権レベルを設定させることを特徴とする付記1に記載のプロファイリング支援プログラム。
(付記3)付記1または2に記載のプロファイリング支援プログラムを記録したコンピュータ読み取り可能な記録媒体。
(付記4)ハイパーバイザによりCPUに割り当てられた仮想マシン上に実装されるプロファイリングプログラムであって、
当該プロファイリングプログラムのアドレスが、前記CPUの性能モニタリング割込みベクタに設定された場合に、前記仮想マシンのベンチマークスコアを取得させる取得工程と、
前記取得工程によって取得されたベンチマークスコアを、前記ハイパーバイザを介さずにメモリに保存させる保存工程と、
を前記CPUに実行させることを特徴とするプロファイリングプログラム。
(付記5)前記取得工程は、
少なくとも、前記CPUが実行中のプログラムの識別情報と、前記CPUの識別番号と、当該ベンチマークスコア取得時のタイムスタンプとを、前記仮想マシンのベンチマークスコアとして取得させることを特徴とする付記4に記載のプロファイリングプログラム。
(付記6)付記4または5に記載のプロファイリングプログラムを記録したコンピュータ読み取り可能な記録媒体。
(付記7)ハイパーバイザによりCPUに割り当てられた仮想マシン上に実装されたプロファイリングプログラムのアドレスを取得する取得工程と、
前記CPUの性能モニタリング割込みベクタに、前記取得工程によって取得されたプロファイリングプログラムのアドレスを設定する設定工程と、
を含んだことを特徴とするプロファイリング方法。
(付記8)前記設定工程は、
前記CPUの性能モニタリング割込みベクタに、前記仮想マシン上に実装されたOSと同一の特権レベルを設定することを特徴とする付記7に記載のプロファイリング方法。
(付記9)前記仮想マシンのベンチマークスコアを取得するベンチマークスコア取得工程と、
前記ベンチマークスコア取得工程によって取得されたベンチマークスコアを、前記ハイパーバイザを介さずにメモリに保存する保存工程と、
をさらに含んだことを特徴とする付記7または8に記載のプロファイリング方法。
(付記10)前記ベンチマークスコア取得工程は、
少なくとも、前記CPUが実行中のプログラムの識別情報と、前記CPUの識別番号と、当該ベンチマークスコア取得時のタイムスタンプとを、前記仮想マシンのベンチマークスコアとして取得することを特徴とする付記9に記載のプロファイリング方法。
(付記11)ハイパーバイザによりCPUに割り当てられた仮想マシン上に実装されたプロファイリングプログラムのアドレスを取得する取得手段と、
前記CPUの性能モニタリング割込みベクタに、前記取得手段によって取得されたプロファイリングプログラムのアドレスを設定する設定手段と、
を備えたことを特徴とするコンピュータ。
(付記12)前記設定手段は、
前記CPUの性能モニタリング割込みベクタに、前記仮想マシン上に実装されたOSと同一の特権レベルを設定することを特徴とする付記11に記載のコンピュータ。
(付記13)前記仮想マシンのベンチマークスコアを取得するベンチマークスコア取得手段と、
前記ベンチマークスコア取得手段によって取得されたベンチマークスコアを、前記ハイパーバイザを介さずにメモリに保存する保存手段と、
をさらに備えたことを特徴とする付記11または12に記載のコンピュータ。
(付記14)前記ベンチマークスコア取得手段は、
少なくとも、前記CPUが実行中のプログラムの識別情報と、前記CPUの識別番号と、当該ベンチマークスコア取得時のタイムスタンプとを、前記仮想マシンのベンチマークスコアとして取得することを特徴とする付記13に記載のコンピュータ。
以上のように、本発明にかかるプロファイリング支援プログラム、該プログラムを記録した記録媒体、プロファイリングプログラム、該プログラムを記録した記録媒体、プロファイリング方法、およびコンピュータは、プロファイリング機能を備えた仮想マシンシステムに利用可能であり、特に、処理効率およびデータ精度が高く、低コストかつ短期間での構築が前提とされた仮想マシンシステムへの利用に適している。
100 コンピュータ
200 仮想マシンシステム
210 仮想マシン
220 仮想マシン
230 仮想マシン
240 ハイパーバイザ
250 プロファイリング支援機構
260 ログデータベース
301 記憶部
302 取得部
303 設定部

Claims (4)

  1. ハイパーバイザによりプロセッサに割り当てられた仮想マシン上に実装されるプロファイリングプログラムであって、
    当該プロファイリングプログラムのアドレスが、前記プロセッサの性能モニタリング割込みベクタに設定された場合に、前記仮想マシンのベンチマークスコアを取得する取得工程と、
    前記取得工程によって取得されたベンチマークスコアを、前記ハイパーバイザを介さずにメモリに保存する保存工程と、
    を前記プロセッサに実行させることを特徴とするプロファイリングプログラム。
  2. 前記取得工程は、
    少なくとも、前記プロセッサが実行中のプログラムの識別情報と、前記プロセッサの識別番号と、当該ベンチマークスコア取得時のタイムスタンプとを、前記仮想マシンのベンチマークスコアとして取得することを特徴とする請求項1に記載のプロファイリングプログラム。
  3. プロセッサが、
    ハイパーバイザによりプロセッサに割り当てられた仮想マシン上に実装されるプロファイリングプログラムのアドレスが、前記プロセッサの性能モニタリング割込みベクタに設定された場合に、前記仮想マシンのベンチマークスコアを取得する取得工程と、
    前記取得工程によって取得されたベンチマークスコアを、前記ハイパーバイザを介さずにメモリに保存する保存工程と、
    を実行することを特徴とするプロファイリング方法。
  4. ハイパーバイザによりプロセッサに割り当てられた仮想マシン上に実装されるプロファイリングプログラムのアドレスが、前記プロセッサの性能モニタリング割込みベクタに設定された場合に、前記仮想マシンのベンチマークスコアを取得する取得手段と、
    前記取得手段によって取得されたベンチマークスコアを、前記ハイパーバイザを介さずにメモリに保存する保存手段と、
    を備えたことを特徴とするコンピュータ。
JP2011104782A 2011-05-09 2011-05-09 プロファイリングプログラム、プロファイリング方法、およびコンピュータ Pending JP2011150736A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011104782A JP2011150736A (ja) 2011-05-09 2011-05-09 プロファイリングプログラム、プロファイリング方法、およびコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011104782A JP2011150736A (ja) 2011-05-09 2011-05-09 プロファイリングプログラム、プロファイリング方法、およびコンピュータ

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007088621A Division JP4769755B2 (ja) 2007-03-29 2007-03-29 プロファイリング支援プログラム、プロファイリング支援方法、およびコンピュータ

Publications (1)

Publication Number Publication Date
JP2011150736A true JP2011150736A (ja) 2011-08-04

Family

ID=44537594

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011104782A Pending JP2011150736A (ja) 2011-05-09 2011-05-09 プロファイリングプログラム、プロファイリング方法、およびコンピュータ

Country Status (1)

Country Link
JP (1) JP2011150736A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017091467A (ja) * 2015-11-17 2017-05-25 株式会社東芝 仮想試験システム、仮想試験方法およびプログラム
US10733009B2 (en) 2017-05-16 2020-08-04 Fujitsu Limited Information processing apparatus and information processing method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0850556A (ja) * 1994-08-04 1996-02-20 Fujitsu Ltd 仮想計算機システム
JP2004318538A (ja) * 2003-04-17 2004-11-11 Fujitsu Ltd 性能モニタリング方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0850556A (ja) * 1994-08-04 1996-02-20 Fujitsu Ltd 仮想計算機システム
JP2004318538A (ja) * 2003-04-17 2004-11-11 Fujitsu Ltd 性能モニタリング方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017091467A (ja) * 2015-11-17 2017-05-25 株式会社東芝 仮想試験システム、仮想試験方法およびプログラム
US10733009B2 (en) 2017-05-16 2020-08-04 Fujitsu Limited Information processing apparatus and information processing method

Similar Documents

Publication Publication Date Title
JP5353227B2 (ja) 性能測定プログラム及び性能測定方法並びに性能測定機能を有する情報処理装置。
JP2007226413A (ja) メモリダンプ方法、メモリダンププログラム、及び、計算機システム
JP4873423B2 (ja) 仮想化プログラム、シミュレーション装置、仮想化方法
JP2007272692A (ja) プロファイリングプログラムおよびプロファイリング方法
JP2010086364A (ja) 情報処理装置、動作状態監視装置および方法
US11782761B2 (en) Resource management unit for capturing operating system configuration states and offloading tasks
JP5803935B2 (ja) 可用性分析装置及び可用性分析方法
JP4769755B2 (ja) プロファイリング支援プログラム、プロファイリング支援方法、およびコンピュータ
JP2011150736A (ja) プロファイリングプログラム、プロファイリング方法、およびコンピュータ
JP5381059B2 (ja) 機器、ログ記録制御方法、及びプログラム
JP2007233687A (ja) 仮想計算機システム、仮想計算機の制御方法、および仮想計算機プログラム
JP6510430B2 (ja) トレースデータ編集装置及び方法
US9058207B2 (en) Simulation apparatus, method, and computer-readable recording medium
JP2010198398A (ja) 計算機装置および制御方法
JP2010170325A (ja) 情報処理装置、ログ格納方法及びプログラム
KR101649606B1 (ko) 가상화 운영체제 성능 분석 방법, 이를 수행하는 가상화 운영체제 성능 분석 장치 및 이를 저장하는 기록매체
Russinovich Inside windows server 2008 kernel changes
JP2008123438A (ja) コンピュータシステム、プログラム情報収集方法、およびコンピュータプログラム
JP2013080386A (ja) 情報処理装置、アドレス管理方法
JP7103804B2 (ja) ユーザインタフェース制御装置、ユーザインタフェース制御方法、及び、ユーザインタフェース制御プログラム
JP6111731B2 (ja) 並列デバッグシステム、並列デバッグ方法、及び、並列デバッグプログラム
JP2006163565A (ja) ソート処理装置及びソート処理方法及びプログラム
JP2011003052A (ja) データ処理装置及び制御方法及びプログラム
JP2006172065A (ja) チェックポイント採取方法、システム及びプログラム
JP2009176228A (ja) 仮想マシンサーバ、仮想マシンサーバの情報保存方法及び仮想マシンサーバの情報保存用プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110509

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121127

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130409

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130422

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20130510