(57)【要約】【課題】仮想マシンに設定する最適なＮＥＷ領域サイズを求める。【解決手段】仮想マシンのＮＥＷ領域サイズを、スカベンジＧＣ周期Ｔ×（単位時間に発生する短命制御信号オブジェクトの合計サイズ＋単位時間に発生する長命コールオブジェクトの合計サイズ）とする。但し、スカベンジＧＣ周期Ｔを、｛目標停止時間−（スカベンジＧＣにおけるＮＥＷ領域からＯＬＤ領域への短命制御信号オブジェクトのコピー時間の合計値＋ＣＭＳにおけるＯＬＤ領域にコピーされた短命制御信号オブジェクトに対するリマーク時間の合計値）｝／（スカベンジＧＣにおけるＮＥＷ領域からＯＬＤ領域への長命コールオブジェクトのコピー時間の合計値＋ＣＭＳにおけるＯＬＤ領域にコピーされた長命コールオブジェクトのリマーク時間の合計値）とする。【選択図】図３
2014052954.tif 000002
【特許請求の範囲】
【請求項１】
通信ノードに用いられる仮想マシンに設定するメモリのＮＥＷ領域サイズを計算する仮想マシンチューニング値計算装置であって、
前記仮想マシンは、メモリ上のＮＥＷ領域のＧＣ（ガベージコレクション）の方式としてスカベンジＧＣを採用し、前記メモリ上のＯＬＤ領域のＧＣの方式としてＣＭＳ（Concurrent Mark & Sweep）を採用する仮想マシンであり、
前記仮想マシンに用いられるアプリケーションは、他の端末装置が前記仮想マシンにアクセスしてから処理を終了するまでの一連の動作を、複数の制御信号が関連するコールとして管理し、前記コールに対するオブジェクトとして１以上の長命コールオブジェクトを生成し、前記制御信号に対するオブジェクトとして１以上の短命制御信号オブジェクトを生成するアプリケーションであり、
前記アプリケーションにおける、単位時間あたりのコール発生数と、前記コール１つあたりの制御信号数とを示したトラヒックモデル情報と、
前記制御信号１つあたりの短命制御信号オブジェクト数と、前記コール１つあたりの長命コールオブジェクト数と、短命制御信号オブジェクト平均保留時間と、前記短命制御信号オブジェクトのサイズと、前記長命コールオブジェクトのサイズとを示したアプリケーションモデル情報と、
前記スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間と、前記ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間とを示したＧＣ動作パラメータ情報と、
前記仮想マシンにおけるＧＣ時のプログラム停止時間の目標値である目標停止時間との入力を受け付け、記憶部に記憶し、
前記記憶部の、前記トラヒックモデル情報、前記アプリケーションモデル情報、前記ＧＣ動作パラメータ情報および前記目標停止時間を用いて、
以下の式（１）および式（２）により前記ＮＥＷ領域サイズを計算するチューニングパラメータ値計算部を備えることを特徴とする仮想マシンチューニング値計算装置。
ＮＥＷ領域サイズ＝スカベンジＧＣ周期Ｔ×単位時間あたりのコール発生数×（コール１つあたりの長命コールオブジェクト数×長命コールオブジェクトのサイズ＋コール１つあたりの制御信号数×制御信号１つあたりの短命制御信号オブジェクト数×短命制御信号オブジェクトのサイズ）…式（１）
ただし、
スカベンジＧＣ周期Ｔ＝{目標停止時間−（単位時間あたりのコール発生数×コール１つあたりの制御信号数×制御信号１つあたりの短命制御信号オブジェクト数×短命制御信号オブジェクト平均保留時間×スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間＋単位時間あたりのコール発生数×コール１つあたりの制御信号数×制御信号１つあたりの短命制御信号オブジェクト数×短命制御信号オブジェクト平均保留時間×ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間）}／（単位時間あたりのコール発生数×コール１つあたりの長命コールオブジェクト数×スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間＋単位時間あたりのコール発生数×コール１つあたりの長命コールオブジェクト数×ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間）…式（２）
【請求項２】
前記チューニングパラメータ値計算部が、複数の前記仮想マシンからなるシステムにおける前記仮想マシンそれぞれの前記ＮＥＷ領域サイズを計算するとき、
前記仮想マシンそれぞれの、前記トラヒックモデル情報、前記アプリケーションモデル情報および前記ＧＣ動作パラメータ情報と、前記システム全体の目標停止時間を分配した前記仮想マシンそれぞれの目標停止時間とを用いて、
前記式（１）および式（２）により前記仮想マシンそれぞれの前記ＮＥＷ領域サイズを計算することを特徴とする請求項１に記載の仮想マシンチューニング値計算装置。
【請求項３】
通信ノードに用いられる仮想マシンに設定するメモリのＮＥＷ領域サイズの範囲を計算する仮想マシンチューニング値計算装置であって、
前記仮想マシンは、メモリ上のＮＥＷ領域のＧＣの方式としてスカベンジＧＣを採用し、前記メモリ上のＯＬＤ領域のＧＣの方式としてＣＭＳ（Concurrent Mark & Sweep）を採用する仮想マシンであり、
前記仮想マシンに用いられるアプリケーションは、他の端末装置が前記仮想マシンにアクセスしてから処理を終了するまでの一連の動作を、複数の制御信号が関連するコールとして管理し、前記コールに対するオブジェクトとして１以上の長命コールオブジェクトを生成し、前記制御信号に対するオブジェクトとして１以上の短命制御信号オブジェクトを生成するアプリケーションであり、
前記アプリケーションにおける、前記単位時間あたりのコール発生数と、前記コール１つあたりの制御信号数とを示したトラヒックモデル情報と、
前記制御信号１つあたりの短命制御信号オブジェクト数と、前記コール１つあたりの長命コールオブジェクト数と、短命制御信号オブジェクト平均保留時間と、前記短命制御信号オブジェクトのサイズと、前記長命コールオブジェクトのサイズとを示したアプリケーションモデル情報と、
前記スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間と、前記ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間とを示したＧＣ動作パラメータ情報と、
前記仮想マシンにおけるＧＣ時のプログラム停止時間の目標値である目標停止時間と、
前記仮想マシンにおける稼動率の目標値との入力を受け付け、記憶部に記憶し、
前記記憶部の、前記トラヒックモデル情報、前記アプリケーションモデル情報、前記ＧＣ動作パラメータ情報、前記目標停止時間および前記稼動率の目標値を用いて、
以下の式（３）〜式（７）により前記ＮＥＷ領域サイズの範囲を計算するチューニングパラメータ値計算部を備えることを特徴とする仮想マシンチューニング値計算装置。
目標停止時間＞スカベンジＧＣ停止時間ｔ１＋リマーク停止時間ｔ２…式（３）
スカベンジＧＣ周期Ｔ＞短命制御信号オブジェクト平均保留時間…式（４）
スカベンジＧＣ周期Ｔ／（スカベンジＧＣ周期Ｔ＋スカベンジＧＣ停止時間ｔ１）＞稼動率の目標値…式（５）
ただし、
スカベンジＧＣ停止時間ｔ１＝（単位時間あたりのコール発生数×コール１つあたりの制御信号数×制御信号１つあたりの短命制御信号オブジェクト数×短命制御信号オブジェクト平均保留時間＋スカベンジＧＣ周期Ｔ×単位時間あたりのコール発生数×コール１つあたりの長命コールオブジェクト数）×スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間…式（６）
リマーク停止時間ｔ２＝（単位時間あたりのコール発生数×コール１つあたりの制御信号数×制御信号１つあたりの短命制御信号オブジェクト数×短命制御信号オブジェクト平均保留時間＋スカベンジＧＣ周期×単位時間あたりのコール発生数×コール１つあたりの長命コールオブジェクト数）×ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間…式（７）
【請求項４】
通信ノードに用いられる仮想マシンに設定するメモリのＮＥＷ領域サイズを計算する仮想マシンチューニング値計算方法であって、
前記仮想マシンは、メモリ上のＮＥＷ領域のＧＣ（ガベージコレクション）の方式としてスカベンジ方式を採用し、前記メモリ上のＯＬＤ領域のＧＣの方式としてＣＭＳ（Concurrent Mark & Sweep）を採用する仮想マシンであり、
前記仮想マシンに用いられるアプリケーションは、他の端末装置が前記仮想マシンにアクセスしてから処理を終了するまでの一連の動作を、複数の制御信号が関連するコールとして管理し、前記コールに対するオブジェクトとして１以上の長命コールオブジェクトを生成し、前記制御信号に対するオブジェクトとして１以上の短命制御信号オブジェクトを生成するアプリケーションであり、
前記ＮＥＷ領域サイズを計算する仮想マシンチューニング値計算装置が、
前記アプリケーションにおける、前記単位時間あたりのコール発生数と、前記コール１つあたりの制御信号数とを示したトラヒックモデル情報と、
前記制御信号１つあたりの短命制御信号オブジェクト数と、前記コール１つあたりの長命コールオブジェクト数と、短命制御信号オブジェクト平均保留時間と、前記短命制御信号オブジェクトのサイズと、前記長命コールオブジェクトのサイズとを示したアプリケーションモデル情報と、
前記スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間と、前記ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間とを示したＧＣ動作パラメータ情報と、
前記仮想マシンにおけるＧＣ時のプログラム停止時間の目標値である目標停止時間との入力を受け付け、記憶部に記憶するステップと、
前記記憶部の、前記トラヒックモデル情報、前記アプリケーションモデル情報、前記ＧＣ動作パラメータ情報および前記目標停止時間を用いて、
以下の式（１）および式（２）により前記ＮＥＷ領域サイズを計算するステップとを実行することを特徴とする仮想マシンチューニング値計算方法。
ＮＥＷ領域サイズ＝スカベンジＧＣ周期Ｔ×（単位時間あたりのコール発生数×コール１つあたりの長命コールオブジェクト数×長命コールオブジェクトのサイズ＋単位時間あたりのコール発生数×コール１つあたりの制御信号数×制御信号１つあたりの短命制御信号オブジェクト数×短命制御信号オブジェクト平均保留時間×短命制御信号オブジェクトのサイズ）…式（１）
ただし、
スカベンジＧＣ周期Ｔ＝{目標停止時間−（単位時間あたりのコール発生数×コール１つあたりの制御信号数×制御信号１つあたりの短命制御信号オブジェクト数×短命制御信号オブジェクト平均保留時間×スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間＋単位時間あたりのコール発生数×コール１つあたりの制御信号数×制御信号１つあたりの短命制御信号オブジェクト数×短命制御信号オブジェクト平均保留時間×ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間）}／（単位時間あたりのコール発生数×コール１つあたりの長命コールオブジェクト数×スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間＋単位時間あたりのコール発生数×コール１つあたりの長命コールオブジェクト数×ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間）…式（２）
【請求項５】
通信ノードに用いられる仮想マシンに設定するメモリのＮＥＷ領域サイズの範囲を計算する仮想マシンチューニング値計算方法であって、
前記仮想マシンは、メモリ上のＮＥＷ領域のＧＣ（ガベージコレクション）の方式としてスカベンジＧＣを採用し、前記メモリ上のＯＬＤ領域のＧＣの方式としてＣＭＳ（Concurrent Mark & Sweep）を採用する仮想マシンであり、
前記仮想マシンに用いられるアプリケーションは、他の端末装置が前記仮想マシンにアクセスしてから処理を終了するまでの一連の動作を、複数の制御信号が関連するコールとして管理し、前記コールに対するオブジェクトとして１以上の長命コールオブジェクトを生成し、前記制御信号に対するオブジェクトとして１以上の短命制御信号オブジェクトを生成するアプリケーションであり、
前記ＮＥＷ領域サイズの範囲を計算する仮想マシンチューニング値計算装置が、
前記アプリケーションにおける、前記単位時間あたりのコール発生数と、前記コール１つあたりの制御信号数とを示したトラヒックモデル情報と、
前記制御信号１つあたりの短命制御信号オブジェクト数と、前記コール１つあたりの長命コールオブジェクト数と、短命制御信号オブジェクト平均保留時間と、前記短命制御信号オブジェクトのサイズと、前記長命コールオブジェクトのサイズとを示したアプリケーションモデル情報と、
前記スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間と、前記ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間とを示したＧＣ動作パラメータ情報と、
前記仮想マシンにおけるＧＣ時のプログラム停止時間の目標値である目標停止時間と、
前記仮想マシンにおける稼動率の目標値との入力を受け付け、記憶部に記憶するステップと、
前記記憶部の、前記トラヒックモデル情報、前記アプリケーションモデル情報、前記ＧＣ動作パラメータ情報、前記目標停止時間および前記稼動率の目標値を用いて、
以下の式（３）〜式（７）により前記ＮＥＷ領域サイズの範囲を計算するステップとを実行することを特徴とする仮想マシンチューニング値計算方法。
目標停止時間＞スカベンジＧＣ停止時間ｔ１＋リマーク停止時間ｔ２…式（３）
スカベンジＧＣ周期Ｔ＞短命制御信号オブジェクト平均保留時間…式（４）
スカベンジＧＣ周期Ｔ／（スカベンジＧＣ周期Ｔ＋スカベンジＧＣ停止時間ｔ１）＞稼動率の目標値…式（５）
ただし、
スカベンジＧＣ停止時間ｔ１＝（単位時間あたりのコール発生数×コール１つあたりの制御信号数×制御信号１つあたりの短命制御信号オブジェクト数×短命制御信号オブジェクト平均保留時間＋スカベンジＧＣ周期Ｔ×単位時間あたりのコール発生数×コール１つあたりの長命コールオブジェクト数）×スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間…式（６）
リマーク停止時間ｔ２＝（単位時間あたりのコール発生数×コール１つあたりの制御信号数×制御信号１つあたりの短命制御信号オブジェクト数×短命制御信号オブジェクト平均保留時間＋スカベンジＧＣ周期×単位時間あたりのコール発生数×コール１つあたりの長命コールオブジェクト数）×ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間…式（７）
【発明の詳細な説明】
【技術分野】
【０００１】
Java（登録商標）VM（バーチャルマシン）等の仮想マシンチューニング値計算装置および仮想マシンチューニング値計算方法に関する。
【背景技術】
【０００２】
Java（登録商標）VM等の仮想マシンを用いたシステムにおいてガベージコレクション（ＧＣ）時には、オブジェクトのコピーやチェック（マーク）のために、システムがある程度の時間停止してしまう。Java（登録商標）VMにおけるＧＣの仕組みは、以下の非特許文献１，２に開示されている。一般的に仮想マシンを用いたシステムでは、処理モデルの異なる様々なアプリケーションが搭載されるため、ＧＣによるプログラム停止時間を予測する（見積もる）ことは困難であった。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】チューニングのためのJavaVM講座（前編）、[online]、[平成２４年８月１０日検索]、インターネット<URL: http://www.atmarkit.co.jp/fjava/rensai3/javavm02/javavm02_1.html >
【非特許文献２】チューニングのためのJavaVM講座（後編）、[online]、[平成２４年８月１０日検索]、インターネット<URL: http://www.atmarkit.co.jp/fjava/rensai3/javavm02/javavm02_2.html >
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、ＳＩＰ（Session Initiation Protocol）サーバ等の通信ノードのように、大量処理を行いつつ、かつ、低レイテンシ（遅延時間をできるだけ少なくすること）を求められるシステムにおいて仮想マシンを用いるには、システム開発前に、ＧＣによるプログラム停止時間を予測することが重要である。しかし、前記したとおり、仮想マシンを用いたシステムでは、処理モデルの異なる様々なアプリケーションが搭載されるため、ＧＣによる停止時間を予測する（見積もる）ことは困難である。
【０００５】
このため、システム開発者は、仮想マシンのチューニング値（目標遅延時間（許容されるプログラム停止時間の最大値）を満たし、かつスループットを最大とする仮想マシンのパラメータ値）を求めるため、仮想マシンの性能測定と停止時間の確認の繰り返しを行わなくてはならなかった。ここで、特にチューニング値で重要となるのは、メモリのＮＥＷ領域に割り当てるサイズ（ＮＥＷ領域サイズ）である。そこで、本発明は、前記した課題を解決し、仮想マシンに設定するＮＥＷ領域サイズ（最適ＮＥＷ領域サイズ）を求める手段を提供すること目的とする。
【課題を解決するための手段】
【０００６】
前記した課題を解決するため、本発明は、通信ノードに用いられる仮想マシンに設定するメモリのＮＥＷ領域サイズを計算する仮想マシンチューニング値計算装置であって、前記仮想マシンは、メモリ上のＮＥＷ領域のＧＣ（ガベージコレクション）の方式としてスカベンジＧＣを採用し、前記メモリ上のＯＬＤ領域のＧＣの方式としてＣＭＳ（Concurrent Mark & Sweep）を採用する仮想マシンであり、前記仮想マシンに用いられるアプリケーションは、他の端末装置が前記仮想マシンにアクセスしてから処理を終了するまでの一連の動作を、複数の制御信号が関連するコールとして管理し、前記コールに対するオブジェクトとして１以上の長命コールオブジェクトを生成し、前記制御信号に対するオブジェクトとして１以上の短命制御信号オブジェクトを生成するアプリケーションであり、前記アプリケーションにおける、単位時間あたりのコール発生数（Ａ１）と、前記コール１つあたりの制御信号数（Ａ２）とを示したトラヒックモデル情報と、前記制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）と、前記コール１つあたりの長命コールオブジェクト数（Ｂ２）と、短命制御信号オブジェクト平均保留時間（Ｂ３）と、前記短命制御信号オブジェクトのサイズ（Ｂ４）と、前記長命コールオブジェクトのサイズ（Ｂ５）とを示したアプリケーションモデル情報と、前記スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間（Ｃ２）と、前記ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間（Ｃ３）とを示したＧＣ動作パラメータ情報と、前記仮想マシンにおけるＧＣ時のプログラム停止時間の目標値である目標停止時間（Ｄ）との入力を受け付け、記憶部に記憶し、前記記憶部の、前記トラヒックモデル情報、前記アプリケーションモデル情報、前記ＧＣ動作パラメータ情報および前記目標停止時間を用いて、以下の式（１）および式（２）により前記ＮＥＷ領域サイズを計算する。なお、長命コールオブジェクト、短命制御信号オブジェクトを生成する際に一時的に生成されるオブジェクトも存在するがこれらも短命制御信号オブジェクトとして扱っている。
ＮＥＷ領域サイズ＝スカベンジＧＣ周期Ｔ×単位時間あたりのコール発生数（Ａ１）×（コール１つあたりの長命コールオブジェクト数（Ｂ２）×長命コールオブジェクトのサイズ（Ｂ５）＋コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクトのサイズ（Ｂ４））…式（１）
ただし、
スカベンジＧＣ周期Ｔ＝{目標停止時間（Ｄ）−（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクト平均保留時間（Ｂ３）×スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのコピー時間（Ｃ２）＋単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクト平均保留時間（Ｂ３）×ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間（Ｃ３））}／（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの長命コールオブジェクト数（Ｂ２）×スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間（Ｃ２）＋単位時間あたりのコール発生数（Ａ１）×コール１つあたりの長命コールオブジェクト数（Ｂ２）×ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間（Ｃ３））…式（２）
【０００７】
このように、本発明の仮想マシンチューニング値計算装置は、仮想マシンに設定するＮＥＷ領域サイズを計算するために、（１）トラヒックモデル情報、（２）アプリケーションモデル情報および（３）仮想マシンのＧＣ動作パラメータ情報を用いる。ここで、従来のＷｅｂ系のシステムでは、１台のサーバ（仮想マシン）に多数のアプリケーションが動作し、トラヒック条件もそのアプリケーションそれぞれ異なるため、（１）トラヒックモデル情報および（２）アプリケーションモデル情報を用いてＮＥＷ領域サイズ（最適ＮＥＷ領域サイズ）を求めることは困難であった。しかし、仮想マシンの用いられるコンピュータが、ＳＩＰサーバ等の通信ノードであれば、動作するアプリケーションは単一であることが一般的である。そこで、本発明の発明者はこの点に着目し、通信ノードに用いられる仮想マシンのＮＥＷ領域サイズ（最適ＮＥＷ領域サイズ）を計算する際、（１）トラヒックモデル情報および（２）アプリケーションモデル情報を用いて計算する仮想マシンチューニング値計算装置を考案するに至った。
【０００８】
ここで、本発明で想定する仮想マシンに用いられるアプリケーションは、他の端末装置が当該仮想マシンにアクセスしてから処理を終了するまでの一連の動作を、複数の制御信号が関連するコールとして管理する。そして、仮想マシンが１つのコールを処理する際に、コールはメモリ上に比較的長時間存在することから、１つのコールに対するオブジェクトとして１以上の長命コールオブジェクトを生成する。一方、仮想マシンが１つの制御信号を処理する際、制御信号はメモリ上に比較的短時間しか存在しないため、１つの制御信号に対するオブジェクトとして１以上の短命制御信号オブジェクトを生成するものとする。
【０００９】
この仮想マシンがＧＣを行う際には、非特許文献１，２に記載されるとおり、メモリをＮＥＷ領域とＯＬＤ領域とに分割してＧＣを行う。ここでは、ＮＥＷ領域のＧＣの方式として、スカベンジＧＣ方式をとり、ＯＬＤ領域のＧＣの方式として、ＣＭＳ方式をとるものとする。なお、ＧＣ時におけるプログラム停止時間は、スカベンジＧＣにおけるＮＥＷ領域からＯＬＤ領域へのオブジェクトのマークおよびコピー時間＋ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクトのリマーク時間である。
【００１０】
ここで、本発明において、
ＮＥＷ領域サイズ（最適なＮＥＷ領域サイズ）＝スカベンジＧＣ周期Ｔ×単位時間あたりのコール発生数（Ａ１）×（コール１つあたりの長命コールオブジェクト数（Ｂ２）×長命コールオブジェクトのサイズ（Ｂ５）＋コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクトのサイズ（Ｂ４））…式（１）
としている。
【００１１】
式（１）における（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの長命コールオブジェクト数（Ｂ２）×長命コールオブジェクトのサイズ（Ｂ５））は、単位時間あたりにＮＥＷ領域において長命コールオブジェクトの占める合計サイズを示す。
【００１２】
また、式（１）における（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクトのサイズ（Ｂ４））は、単位時間あたりにＮＥＷ領域において使用中の短命制御信号オブジェクトおよび短命制御信号オブジェクトのガベージの占める合計サイズの平均値を示す。
【００１３】
つまり、仮想マシンに必要なＮＥＷ領域サイズは、スカベンジＧＣ時にＮＥＷ領域に存在するオブジェクト（使用中の短命制御信号オブジェクトと長命コールオブジェクト）の合計サイズ）および短命制御信号オブジェクトのガベージの占めるサイズであればよいので、仮想マシンに必要なＮＥＷ領域サイズを、スカベンジＧＣ周期Ｔ×単位時間あたりＮＥＷ領域に存在するオブジェクト（短命制御信号オブジェクトと長命コールオブジェクト）が占める合計サイズとしている。
【００１４】
さらに、式（１）で用いるスカベンジＧＣ周期Ｔを、式（２）に示すように、
スカベンジＧＣ周期Ｔ＝{目標停止時間（Ｄ）−（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクト平均保留時間（Ｂ３）×スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間（Ｃ２）＋単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクト平均保留時間（Ｂ３）×ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間（Ｃ３））}／（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの長命コールオブジェクト数（Ｂ２）×スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間（Ｃ２）＋単位時間あたりのコール発生数（Ａ１）×コール１つあたりの長命コールオブジェクト数（Ｂ２）×ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間（Ｃ３））…式（２）
としている。なお、式（２）における目標停止時間は、システムの設計者等が仮想マシンに許容する停止時間の最大値である。
【００１５】
また、式（２）における、（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクト平均保留時間（Ｂ３）×スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間（Ｃ２））は、スカベンジＧＣにおけるＮＥＷ領域の短命制御信号オブジェクトのマークおよびコピー時間の合計値を示す。
【００１６】
さらに、式（２）における（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクト平均保留時間（Ｂ３）×ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間（Ｃ３））は、ＣＭＳにおけるＯＬＤ領域にコピーされた短命制御信号オブジェクトのリマーク時間の合計値を示す。
【００１７】
また、式（２）における（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの長命コールオブジェクト数（Ｂ２）×スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間（Ｃ２））は、スカベンジＧＣにおけるＮＥＷ領域の長命コールオブジェクトのマークおよびコピー時間の合計値を示す。
【００１８】
さらに、式（２）における（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの長命コールオブジェクト数（Ｂ２）×ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間（Ｃ３））は、ＣＭＳにおけるＯＬＤ領域にコピーされた長命コールオブジェクトのリマーク時間の合計値を示す。
【００１９】
つまり、式（２）において、スカベンジＧＣ周期Ｔを、｛目標停止時間（Ｄ）−（スカベンジＧＣにおけるＮＥＷ領域の短命制御信号オブジェクトのマークおよびコピー時間の合計値＋ＣＭＳにおけるＯＬＤ領域にコピーされた短命制御信号オブジェクトに対するリマーク時間の合計値）｝／（スカベンジＧＣにおけるＮＥＷ領域の長命コールオブジェクトのマークおよびコピー時間の合計値＋ＣＭＳにおけるＯＬＤ領域にコピーされた長命コールオブジェクトのリマーク時間の合計値）、すなわち、スカベンジＧＣ周期Ｔを、｛目標停止時間（Ｄ）−（短命制御信号オブジェクトのマークおよびコピーおよびリマークによるプログラム停止時間）｝／（長命コールオブジェクトのマークおよびコピーおよびリマークによるプログラム停止時間）としている。なお、スカベンジＧＣ周期Ｔを、目標停止時間（Ｄ）−（短命制御信号オブジェクトのマークおよびコピーおよびリマークによるプログラム停止時間）／（長命コールオブジェクトのマークおよびコピーおよびリマークによるプログラム停止時間）としているのは、短命制御信号オブジェクトの生存時間がスカベンジＧＣ周期Ｔよりも短いことが想定されるからである。つまり、スカベンジＧＣ時に、ＮＥＷ領域に短命制御信号オブジェクトがすべて存続しているとは限らないからである。
【００２０】
また、本発明の仮想マシンチューニング値計算装置のチューニングパラメータ値計算部が、複数の前記仮想マシンからなるシステムにおける前記仮想マシンそれぞれの前記ＮＥＷ領域サイズを計算するとき、前記仮想マシンそれぞれの、前記トラヒックモデル情報、前記アプリケーションモデル情報および前記ＧＣ動作パラメータ情報と、前記システム全体の目標停止時間を分配した前記仮想マシンそれぞれの目標停止時間とを用いて、前記式（１）および式（２）により前記仮想マシンそれぞれの前記ＮＥＷ領域サイズを計算する。
【００２１】
このようにすることで、システムが複数の仮想マシンからなる場合に、システム全体で要求される目標停止時間の条件を満たすような、各仮想マシンのＮＥＷ領域サイズを計算することができる。
【００２２】
また、本発明は、通信ノードに用いられる仮想マシンに設定するメモリのＮＥＷ領域サイズの範囲を計算する仮想マシンチューニング値計算装置であって、前記仮想マシンは、メモリ上のＮＥＷ領域のＧＣの方式としてスカベンジＧＣを採用し、前記メモリ上のＯＬＤ領域のＧＣの方式としてＣＭＳ（Concurrent Mark & Sweep）を採用する仮想マシンであり、前記仮想マシンに用いられるアプリケーションは、他の端末装置が前記仮想マシンにアクセスしてから処理を終了するまでの一連の動作を、複数の制御信号が関連するコールとして管理し、前記コールに対するオブジェクトとして１以上の長命コールオブジェクトを生成し、前記制御信号に対するオブジェクトとして１以上の短命制御信号オブジェクトを生成するアプリケーションであり、前記アプリケーションにおける、前記単位時間あたりのコール発生数（Ａ１）と、前記コール１つあたりの制御信号数（Ａ２）とを示したトラヒックモデル情報と、前記制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）と、前記コール１つあたりの長命コールオブジェクト数（Ｂ２）と、短命制御信号オブジェクト平均保留時間（Ｂ３）と、前記短命制御信号オブジェクトのサイズ（Ｂ４）と、前記長命コールオブジェクトのサイズ（Ｂ５）とを示したアプリケーションモデル情報と、前記スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間（Ｃ２）と、前記ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間（Ｃ３）とを示したＧＣ動作パラメータ情報と、前記仮想マシンにおけるＧＣ時のプログラム停止時間の目標値である目標停止時間（Ｄ）と、前記仮想マシンにおける稼動率の目標値との入力を受け付け、記憶部に記憶し、前記記憶部の、前記トラヒックモデル情報、前記アプリケーションモデル情報、前記ＧＣ動作パラメータ情報、前記目標停止時間および前記稼動率の目標値を用いて、以下の式（３）〜式（７）により前記ＮＥＷ領域サイズの範囲を計算する。
目標停止時間（Ｄ）＞スカベンジＧＣ停止時間ｔ１＋リマーク停止時間ｔ２…式（３）
スカベンジＧＣ周期Ｔ＞短命制御信号オブジェクト平均保留時間（Ｂ３）…式（４）
スカベンジＧＣ周期Ｔ／（スカベンジＧＣ周期Ｔ＋スカベンジＧＣ停止時間ｔ１）＞稼動率の目標値…式（５）
ただし、
スカベンジＧＣ停止時間ｔ１＝（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクト平均保留時間（Ｂ３）＋スカベンジＧＣ周期Ｔ×単位時間あたりのコール発生数（Ａ１）×コール１つあたりの長命コールオブジェクト数（Ｂ２））×スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間（Ｃ２）…式（６）
リマーク停止時間ｔ２＝（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクト平均保留時間（Ｂ３）＋スカベンジＧＣ周期×単位時間あたりのコール発生数（Ａ１）×コール１つあたりの長命コールオブジェクト数（Ｂ２））×ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間（Ｃ３）…式（７）
なお、ＮＥＷ領域サイズが左辺となるようにする場合、式（３）〜式（５）は、以下の式（８）〜式（１１）のようになり、これから最適なＮＥＷ領域の範囲を求めることができる。
（最適な範囲の）ＮＥＷ領域サイズ＜スカベンジＧＣ周期Ｔ×（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの長命コールオブジェクト数（Ｂ２）×長命コールオブジェクトのサイズ（Ｂ５）＋スカベンジＧＣ周期Ｔ×単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクトのサイズ（Ｂ４））…式（８）
（最適な範囲の）ＮＥＷ領域サイズ＞短命制御信号オブジェクト平均保留時間（Ｂ３）×（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの長命コールオブジェクト数（Ｂ２）×長命コールオブジェクトのサイズ（Ｂ５）＋スカベンジＧＣ周期Ｔ×単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクトのサイズ（Ｂ４））…式（９）
（最適な範囲の）ＮＥＷ領域サイズ＞稼働率の目標値×単位時間時間あたりのコース発生数(Ａ１) ×単位時間時間あたりのコース発生数(Ａ１)×（コール１つあたりの長命コールオブジェクト数（Ｂ２）×長命コールオブジェクトのサイズ（Ｂ５）＋コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクトのサイズ（Ｂ４））×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクト平均保留時間（Ｂ３）×スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間（Ｃ２）
／
(１−稼働率の目標値−稼働率の目標値×単位時間時間あたりのコース発生数(Ａ１)×コール１つあたりの長命コールオブジェクト数（Ｂ２）×スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間（Ｃ２）)…式（１０）
ただし、
スカベンジＧＣ周期Ｔ＝{目標停止時間（Ｄ）−（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクト平均保留時間（Ｂ３）×スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間（Ｃ２）＋単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクト平均保留時間（Ｂ３）×ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間（Ｃ３））}／（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの長命コールオブジェクト数（Ｂ２）×スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間（Ｃ２）＋単位時間あたりのコール発生数（Ａ１）×コール１つあたりの長命コールオブジェクト数（Ｂ２）×ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間（Ｃ３））…式(１１)
【００２３】
このようにすることで、仮想マシンチューニング値計算装置は、仮想マシンのプログラム停止時間が目標停止時間未満であることに加え、スカベンジＧＣ周期が短命制御信号オブジェクト平均保留時間よりも長いこと、および、仮想マシンの稼働率が目標値を超えていることを考慮して、仮想マシンに設定する適切なＮＥＷ領域サイズの範囲を求めることができる。
【００２４】
なお、式（３）に示す（スカベンジＧＣ停止時間ｔ１＋リマーク停止時間ｔ２）は、仮想マシンにおけるＧＣ時のプログラム停止時間を示す。また、式（５）における（スカベンジＧＣ周期Ｔ／（スカベンジＧＣ周期Ｔ＋スカベンジＧＣ停止時間ｔ１））は、仮想マシンの稼働率を示す。
【００２５】
また、式（６）および式（７）の（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクト平均保留時間（Ｂ３））は、スカベンジＧＣ時においてＮＥＷ領域に生存する短命制御信号オブジェクト数の平均値を示す。
【００２６】
式（６）および式（７）の（スカベンジＧＣ周期Ｔ×単位時間あたりのコール発生数（Ａ１）×コール１つあたりの長命コールオブジェクト数（Ｂ２））は、スカベンジＧＣ周期の間に発生する長命コールオブジェクト数を示す。つまり、スカベンジＧＣ時にＮＥＷ領域に生存する長命コールオブジェクト数を示す。
【００２７】
また、リマーク停止時間については、スカベンジＧＣによりＮＥＷ領域からＯＬＤ領域にコピーされたオブジェクト数（つまり、スカベンジＧＣ周期を迎えたときにＮＥＷ領域に生存するライブオブジェクト数）×ＯＬＤ領域にコピーされたオブジェクトの１つあたりのリマーク時間と考えることができる。よって、リマーク停止時間を、式（１２）に示すように、
リマーク停止時間ｔ２＝（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクト平均保留時間（Ｂ３）＋スカベンジＧＣ周期×単位時間あたりのコール発生数（Ａ１）×コール１つあたりの長命コールオブジェクト数（Ｂ２））×ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間（Ｃ３）…式（１２）
としている。
【発明の効果】
【００２８】
本発明によれば、通信ノードに用いられる仮想マシンに設定するＮＥＷ領域サイズ（最適ＮＥＷ領域サイズ）を容易に求めることができる。
【図面の簡単な説明】
【００２９】
【図１】本実施の形態の仮想マシンチューニング値計算装置の機能ブロック図である。
【図２】本実施の形態のトラヒックモデル情報およびアプリケーションモデル情報を説明するための図である。
【図３】仮想マシンにおけるＧＣを説明するための図である。
【図４】複数のサーバからなるシステムにおけるチューニングパラメータ値（最適ＮＥＷ領域サイズ）の計算処理を説明するための図である。
【図５】仮想マシンのＮＥＷ領域サイズに対する、仮想マシンの稼働率を例示した図である。
【図６】短命制御信号オブジェクトの数×短命制御信号オブジェクトのサイズの値、および、長命コールオブジェクトの数×長命コールオブジェクトのサイズの値の最適値の範囲を例示する図である。
【発明を実施するための形態】
【００３０】
以下、図面を参照しながら、本発明の仮想マシンチューニング値計算装置を実施するための形態を説明する。まず、図１を用いて、本実施の形態の仮想マシンチューニング値計算装置１０の構成を説明する。
【００３１】
＜構成＞
仮想マシンチューニング値計算装置１０は、アプリケーションモデル情報（後記）、トラヒックモデル情報（後記）、ＧＣ（ガベージコレクション）動作パラメータ情報（後記）およびこの仮想マシンのＧＣ時におけるプログラム停止時間の目標値（目標停止時間）の入力を受け付けると、これらの情報および目標値に基づき、仮想マシンに設定するＮＥＷ領域サイズ（最適ＮＥＷ領域サイズ）を計算し、出力する。この仮想マシンチューニング値計算装置１０の機能は、入力部１１、チューニングパラメータ値計算部１２および出力部１３に分けられる。
【００３２】
入力部１１および出力部１３は、入出力インタフェースから構成される。また、チューニングパラメータ値計算部１２は、この仮想マシンチューニング値計算装置１０の備えるＣＰＵ（Central Processing Unit。図示省略）がメインメモリ（図示省略）にプログラムを展開し、実行することにより実現する。なお、このプログラムは、仮想マシンチューニング値計算装置１０の備える補助記憶部（図示省略）の所定領域に格納されるものとする。なお、このチューニングパラメータ値計算部１２を、専用回路により実現するようにしてもよい。
【００３３】
入力部１１は、アプリケーションモデル情報の入力を受け付けるアプリケーションモデル入力部１１１、トラヒックモデル情報の入力を受け付けるトラヒックモデル入力部１１２、ＧＣ動作パラメータの入力を受け付けるＧＣ動作パラメータ入力部１１３および目標停止時間の入力を受け付ける目標停止時間入力部１１４を備える。また、出力部１３は、仮想マシンに設定するＮＥＷ領域サイズを出力するチューニングパラメータ値出力部１３１を備える。チューニングパラメータ値計算部１２は、チューニングパラメータ値計算アルゴリズムにより、仮想マシンに設定するＮＥＷ領域サイズを計算し、計算したＮＥＷ領域サイズをチューニングパラメータ値出力部１３１経由で外部装置等に出力する。
【００３４】
ここで、仮想マシンは、例えば、Java（登録商標）VM（バーチャルマシン）であり、ＳＩＰ（Session Initiation Protocol）サーバ等の通信ノードに用いられるものとする。そして、この仮想マシンに用いられるアプリケーション（アプリケーションプログラム）は、他の端末装置等が、この仮想マシンにアクセスしてから処理を終了するまでの一連の動作を、複数の制御信号が関連するコールとして管理するものとする。
【００３５】
例えば、アプリケーションが電話アプリケーションである場合を考える。この場合、１つの電話呼が１つのコールであり、このコールには「接続開始」や「接続終了」といった制御信号が関連する。そして、このようなアプリケーションにより仮想マシンは、コールに対し１以上のオブジェクトを生成し、制御信号に対し１以上のオブジェクトを生成する。ここで、１つのコールに対する処理は、仮想マシンの用いるメモリ上に比較的長い時間存在することから、１つのコールに対し生成されるオブジェクトを長命コールオブジェクトとする。一方、１つの制御信号については、その処理についてオブジェクトを生成したとしても比較的短時間（所定時間）で処理が完了してメモリ上から削除されるので、１つの制御信号に対して生成されるオブジェクトを短命制御信号オブジェクトとする。
【００３６】
仮想マシンのＧＣは、メモリのＮＥＷ領域およびＯＬＤ領域それぞれで行われるが、それぞれの領域で方式があり、ここでは、ＮＥＷ領域のＧＣの方式として、スカベンジＧＣ方式を採用し、ＯＬＤ領域のＧＣの方式として、ＣＭＳ方式を採用する場合を説明する。Java（登録商標）VMが生成したライブオブジェクトは所定のスカベンジＧＣ周期になるとマークされ、ＮＥＷ領域から、ＯＬＤ領域にコピーされる。そして、ＮＥＷ領域において当該オブジェクトのために確保されていた領域は解放される。ここで、ＯＬＤ領域にコピーされたオブジェクトに対し、チェック（リマーク）がされる。このＮＥＷ領域のマークおよびコピーの時間およびＯＬＤ領域にコピーされたオブジェクトのリマークの時間が、仮想マシンのＧＣによるプログラム停止時間となる。
【００３７】
本実施の形態で扱うトラヒックモデル（トラヒックモデル情報）、アプリケーションモデル（アプリケーションモデル情報）、ＧＣ動作パラメータ情報および目標停止時間について説明する。
【００３８】
＜トラヒックモデル情報＞
トラヒックモデル情報は、仮想マシンが用いるアプリケーションに関する、以下の情報を含む（図２（ａ）参照）。
・単位時間あたりのコール発生数（Ａ１）
・１コールあたり（コール１つあたり）の制御信号数（Ａ２）
なお、このようなトラヒックモデル情報を用いることで、チューニングパラメータ値計算部１２は、例えば、ＮＥＷ領域の単位時間あたりの制御信号発生数（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２））を求めることができる。
【００３９】
＜アプリケーションモデル情報＞
また、アプリケーションモデル情報は、仮想マシンが用いるアプリケーションに関する、以下の情報を含む（図２（ｂ）参照）。
・１制御信号あたり（制御信号１つあたり）の短命制御信号オブジェクト数（Ｂ１）
・１コールあたり（コール１つあたり）の長命コールオブジェクト数（Ｂ２）
・短命制御信号オブジェクト平均保留時間（Ｂ３）
・短命制御信号オブジェクトのサイズ（Ｂ４）
・長命コールオブジェクトのサイズ（Ｂ５）
【００４０】
＜ＧＣ動作パラメータ情報＞
さらに、ＧＣ動作パラメータ情報は、仮想マシンでＧＣを行う際に用いる以下の情報を含む。
・スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間（Ｃ２）
・ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間（Ｃ３）
【００４１】
＜目標停止時間＞
目標停止時間（Ｄ）は、仮想マシンにおいて許容するＧＣ時のプログラム停止時間である。
【００４２】
チューニングパラメータ値計算部１２は、仮想マシンチューニング値計算アルゴリズムにより仮想マシンに設定するＮＥＷ領域サイズを計算する。この仮想マシンチューニング値計算アルゴリズムは、前記したトラヒックモデル（トラヒックモデル情報）、アプリケーションモデル（アプリケーションモデル情報）、ＧＣ動作パラメータ情報および目標停止時間（Ｄ）を用いて、以下の式（１）および式（２）により仮想マシンのＮＥＷ領域サイズを計算するためのアルゴリズムである。
【００４３】
ＮＥＷ領域サイズ＝スカベンジＧＣ周期Ｔ×（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの長命コールオブジェクト数（Ｂ２）×長命コールオブジェクトのサイズ（Ｂ５）＋単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクト平均保留時間（Ｂ３）×短命制御信号オブジェクトのサイズ（Ｂ４））…式（１）
ただし、
スカベンジＧＣ周期Ｔ＝{目標停止時間（Ｄ）−（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクト平均保留時間（Ｂ３）×スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間（Ｃ２）＋単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクト平均保留時間（Ｂ３）×ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間（Ｃ３））}／（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの長命コールオブジェクト数（Ｂ２）×スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間（Ｃ２）＋単位時間あたりのコール発生数（Ａ１）×コール１つあたりの長命コールオブジェクト数（Ｂ２）×ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間（Ｃ３））…式（２）
【００４４】
前記式（１）および式（２）を、図２（ａ）、（ｂ）および図３を参照しながら説明する。なお、図３に示すグラフ２０１の細線は、ＮＥＷ領域サイズのうちオブジェクト（ライブオブジェクトおよび非ライブオブジェクト）により占有されるサイズを示す。特に、グラフ２０１の太線はＮＥＷ領域サイズのうちライブオブジェクトにより占有されるサイズを示す。また、グラフ２０２は、ＯＬＤ領域サイズのうち、オブジェクト（ライブオブジェクトおよび非ライブオブジェクト）により占有されるサイズを示す。このライブオブジェクトとは、ルート集合と呼ばれる、参照のもととなっているオブジェクトから参照をたどっていき、参照でつながっているオブジェクトのことである。非ライブオブジェクトとは、メモリ上のオブジェクトのうち、このライブオブジェクト以外のオブジェクトのことである。ＧＣにおいては、この非ライブオブジェクトのメモリ領域が解放される。このライブオブジェクトとは、ルート集合と呼ばれる参照のもととなっているオブジェクトから参照をたどっていったときに参照でつながっているオブジェクトのことである。非ライブオブジェクトとは、メモリ上のオブジェクトのうち、このライブオブジェクト以外のオブジェクトのことである。ＧＣにおいては、この非ライブオブジェクトのメモリ領域が解放される。
【００４５】
前記したとおり、仮想マシンは、ＮＥＷ領域上に生成したオブジェクト（短命制御信号オブジェクトおよび長命コールオブジェクト、ガベージも含む）が、ＮＥＷ領域サイズいっぱいになると、すなわちスカベンジＧＣ周期Ｔを迎えるとスカベンジＧＣを行う。これにより、ＮＥＷ領域のライブオブジェクトがマークされ、ＯＬＤ領域にコピーされ、ＮＥＷ領域において当該オブジェクトのために確保されていた領域は解放される。例えば、図３に示すように、仮想マシンはＮＥＷ領域の短命制御信号オブジェクトおよび長命コールオブジェクトのうち、ライブオブジェクトをＯＬＤ領域にコピーする。そして、ＮＥＷ領域において、放棄済オブジェクト（非ライブオブジェクト）およびコピーされたライブオブジェクトに割り当てられていた領域は解放され、ＮＥＷ領域サイズのうちオブジェクトにより占有されるサイズが０になる（グラフ２０１参照）。これによりＮＥＷ領域に新たなオブジェクトを受け入れるための領域が確保される。なお、このスカベンジＧＣ周期Ｔは、短命制御信号オブジェクト平均保留時間（平均生存時間）よりも長いことが想定されるので、短命制御信号オブジェクトは、スカベンジＧＣ周期Ｔを迎える前に放棄済オブジェクト（非ライブオブジェクト）となる可能性がある。また、仮想マシンは、ＯＬＤ領域のライブオブジェクトのマークを行い、その後、ＮＥＷ領域からコピーされたライブオブジェクトのリマークを行う。そして、ＯＬＤ領域でマークおよびリマークされたオブジェクト（ライブオブジェクト）以外のオブジェクト（放棄済オブジェクト）のスィープを行う。つまり、放棄済オブジェクトに割り当てられていた領域の解放が行われる。これにより、ＯＬＤ領域サイズのうちオブジェクトにより占有されるサイズが減少する（グラフ２０２参照）。これによりＯＬＤ領域に新たなオブジェクトを受け入れるための領域が確保される。なお、図３に示すスカベンジＧＣ停止時間ｔ１（スカベンジＧＣによるＮＥＷ領域のオブジェクトのマークとＯＬＤ領域へのコピー時間）およびリマーク停止時間ｔ２（ＣＭＳによるＮＥＷ領域からＯＬＤ領域へコピーされたライブオブジェクト群のリマーク時間）の合計値が仮想マシンにおけるＧＣ時のプログラム停止時間となる。
【００４６】
前記したとおり、チューニングパラメータ値計算部１２は、ＮＥＷ領域サイズ（最適なＮＥＷ領域サイズ）を、以下の式（１）および式（２）により求める。
【００４７】
ＮＥＷ領域サイズ＝スカベンジＧＣ周期Ｔ×単位時間あたりのコール発生数（Ａ１）×（コール１つあたりの長命コールオブジェクト数（Ｂ２）×長命コールオブジェクトのサイズ（Ｂ５）＋コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクトのサイズ（Ｂ４））…式（１）
【００４８】
式（１）における（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの長命コールオブジェクト数（Ｂ２）×長命コールオブジェクトのサイズ（Ｂ５））は、単位時間あたりにＮＥＷ領域において長命コールオブジェクトの占める合計サイズを示す。
【００４９】
また、式（１）における（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクト平均保留時間（Ｂ３）×短命制御信号オブジェクトのサイズ（Ｂ４））は、単位時間あたりにＮＥＷ領域において短命制御信号オブジェクトの占める合計サイズの平均値を示す。
【００５０】
つまり、仮想マシンに必要なＮＥＷ領域サイズは、スカベンジＧＣ時にＮＥＷ領域に存在するオブジェクト（短命制御信号オブジェクトと長命コールオブジェクト）の合計サイズ）分あればよいので、仮想マシンに必要なＮＥＷ領域サイズを、スカベンジＧＣ周期×単位時間あたりＮＥＷ領域に存在するオブジェクト（短命制御信号オブジェクトと長命コールオブジェクト）が占める合計サイズとしている。
【００５１】
また、式（１）において、単位時間あたりＮＥＷ領域において短命制御信号オブジェクトの占める合計サイズの平均値を、（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクト平均保留時間（Ｂ３）×短命制御信号オブジェクトのサイズ（Ｂ４））としているのは、短命制御信号オブジェクトの生存時間がスカベンジＧＣ周期Ｔよりも短いことが想定されるからである。つまり、スカベンジＧＣ時に、ＮＥＷ領域に短命制御信号オブジェクトがすべて存続しているとは限らないからである。
【００５２】
さらに、式（１）で用いるスカベンジＧＣ周期Ｔを、式（２）に示すように、
スカベンジＧＣ周期Ｔ＝{目標停止時間（Ｄ）−（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクト平均保留時間（Ｂ３）×スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間（Ｃ２）＋単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクト平均保留時間（Ｂ３）×ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間（Ｃ３））}／（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの長命コールオブジェクト数（Ｂ２）×スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間（Ｃ２）＋単位時間あたりのコール発生数（Ａ１）×コール１つあたりの長命コールオブジェクト数（Ｂ２）×ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間（Ｃ３））…式（２）
としている。なお、式（２）における目標停止時間（Ｄ）は、システムの設計者等が仮想マシンに許容するプログラム停止時間の最大値である。
【００５３】
また、式（２）における（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクト平均保留時間（Ｂ３）×スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間（Ｃ２））は、スカベンジＧＣにおけるＮＥＷ領域の短命制御信号オブジェクトのマークおよびコピー時間の合計値を示す。
【００５４】
さらに、式（２）における（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクト平均保留時間（Ｂ３）×ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間（Ｃ３））は、ＣＭＳにおけるＯＬＤ領域にコピーされた短命制御信号オブジェクトのリマーク時間の合計値を示す。
【００５５】
また、式（２）における（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの長命コールオブジェクト数（Ｂ２）×スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間（Ｃ２））は、スカベンジＧＣにおけるＮＥＷ領域の長命コールオブジェクトのマークおよびコピー時間の合計値を示す。
【００５６】
さらに、式（２）における（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの長命コールオブジェクト数（Ｂ２）×ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間（Ｃ３））は、ＣＭＳにおけるＯＬＤ領域にコピーされた長命コールオブジェクトのリマーク時間の合計値を示す。
【００５７】
つまり、式（２）において、スカベンジＧＣ周期Ｔを、｛目標停止時間（Ｄ）−（スカベンジＧＣにおけるＮＥＷ領域の短命制御信号オブジェクトのマークおよびコピー時間の合計値＋ＣＭＳにおけるＯＬＤ領域にコピーされた短命制御信号オブジェクトに対するリマーク時間の合計値）｝／（スカベンジＧＣにおけるＮＥＷ領域の長命コールオブジェクトのマークおよびコピー時間の合計値＋ＣＭＳにおけるＯＬＤ領域にコピーされた長命コールオブジェクトのリマーク時間の合計値）、すなわち、スカベンジＧＣ周期Ｔを、｛目標停止時間（Ｄ）−（短命制御信号オブジェクトのマークおよびコピーおよびリマークによるプログラム停止時間）｝／（長命コールオブジェクトのマークおよびコピーおよびリマークによるプログラム停止時間）としている。なお、スカベンジＧＣ周期Ｔを、目標停止時間−（短命制御信号オブジェクトのマークおよびコピーおよびリマークによるプログラム停止時間）／（長命コールオブジェクトのマークおよびコピーおよびリマークによるプログラム停止時間）としているのは、前記したとおり、短命制御信号オブジェクトの生存時間がスカベンジＧＣ周期Ｔよりも短いことが想定されるからである。
【００５８】
なお、仮想マシンチューニング値計算装置１０は、複数の仮想マシン（サーバ２０）からなるシステムにおける、仮想マシンそれぞれのＮＥＷ領域サイズ（チューニングパラメータ値）を計算するようにしてもよい。例えば、図４に示すように、システムがサーバ２０（サーバ２０ａ，２０ｂ，…，２０ｎ）により構成される場合を考える。この場合、図１の仮想マシンチューニング値計算装置１０のチューニングパラメータ値計算部１２は、入力部１１経由で入力されたシステム全体の目標停止時間をサーバ２０（サーバ２０ａ，２０ｂ，…，２０ｎ）ごとに分配する。つまり、システム全体の目標停止時間から、サーバ２０それぞれの目標停止時間を求めておく。ここでのサーバ２０それぞれの目標停止時間は、例えば、システム全体の目標停止時間を、各サーバ２０（サーバ２０ａ，２０ｂ，…，２０ｎ）に均等に分配した値や、各サーバ２０の処理能力に応じて分配した値等が考えられる。このサーバ２０それぞれの目標停止時間は、その合計値がシステム全体の目標停止時間となれば、システム開発者が設定した任意の値であってもよい。そして、チューニングパラメータ値計算部１２は、サーバ２０（サーバ２０ａ，２０ｂ，…，２０ｎ）それぞれの目標停止時間と、サーバ２０（サーバ２０ａ，２０ｂ，…，２０ｎ）それぞれのアプリケーションモデル情報、トラヒックモデル情報およびＧＣ動作パラメータ情報とを用いて、サーバ２０（サーバ２０ａ，２０ｂ，…，２０ｎ）それぞれのＮＥＷ領域サイズ（チューニングパラメータ値）を計算する。このようにすることで、システムが複数の仮想マシンからなる場合において、各仮想マシンに設定するＮＥＷ領域サイズ（チューニングパラメータ値）を求めることができる。
【００５９】
なお、前記した実施の形態において、仮想マシンに設定するＮＥＷ領域サイズ（最適ＮＥＷ領域サイズ）を求める際、仮想マシンの目標停止時間（ＧＣ時のプログラム停止時間の目標値）を用いることとしたが、これ以外の条件を用いるようにしてもよい。
【００６０】
一般的に、仮想マシンのＧＣ時のプログラム停止時間はできるだけ短い方が好ましい。ここでプログラム停止時間は、ＮＥＷ領域サイズ（特にＮＥＷ領域のＥｄｅｎ領域のサイズ）を小さくすると短くなるが、単純にＮＥＷ領域（特にＮＥＷ領域のＥｄｅｎ領域のサイズ）を小さくすればよいというわけではない。これは以下の理由による。
【００６１】
前記した実施の形態において、短命制御信号オブジェクトの生存（保留）時間は、スカベンジＧＣ周期Ｔよりも短いことを前提としている。しかし、ＮＥＷ領域を小さくしすぎると、ＮＥＷ領域がすぐにオブジェクト群でいっぱいになる。これにより、短命制御信号オブジェクトの平均生存（保留）時間よりも早くスカベンジＧＣが実行されるおそれがある。このため、ＮＥＷ領域で発生した短命制御信号オブジェクトが、スカベンジＧＣによりＯＬＤ領域へコピーされる確率も増えることになる。つまり、スカベンジＧＣにおいて、ＮＥＷ領域からＯＬＤ領域へのオブジェクトのコピー時間が増え、また、このようにＯＬＤ領域にコピーされるオブジェクト数が増えると、ＯＬＤ領域でのＣＭＳにおけるリマーク時間も増加し、その結果、プログラム停止時間が増加することになる。また、このようにＮＥＷ領域サイズ（特にＮＥＷ領域のＥｄｅｎ領域のサイズ）を小さくしすぎると、仮想マシンの稼動率も著しく低下することにもなる。なお、ここでの稼働率は、仮想マシンにおけるアプリケーションの実行時間／（仮想マシンにおけるアプリケーションの実行時間＋スカベンジＧＣ停止時間ｔ１）である。つまり、稼動率＝スカベンジＧＣ周期Ｔ／（スカベンジＧＣ周期Ｔ＋スカベンジＧＣ停止時間ｔ１）である。
【００６２】
従って、仮想マシンのチューニング値（例えば、ＮＥＷ領域サイズ）の計算においては、仮想マシンのＧＣ時のプログラム停止時間が目標停止時間（Ｄ）以下であることに加え、スカベンジＧＣ周期Ｔが短命制御信号オブジェクト平均保留時間（Ｂ３）よりも長いこと、および、仮想マシンの稼働率が目標値を超えていることを考慮するのが好ましい。
【００６３】
図５は、仮想マシンのＮＥＷ領域サイズに対する、仮想マシンの稼働率を例示した図である。図５に示すように、ＮＥＷ領域サイズは仮想マシンの稼働率が下限値（目標値）を超えていることが必要である。さらに、この仮想マシンの稼働率が下限値（目標値）を超えているＮＥＷ領域サイズの範囲の中で、短命制御信号オブジェクトが複数のＧＣに遭遇せず（つまり、スカベンジＧＣ周期Ｔ＞短命制御信号オブジェクト平均保留時間（Ｂ３）であり）、かつ、仮想マシンのプログラム停止時間が目標停止時間（Ｄ）未満の範囲が適切なＮＥＷ領域サイズとなる。つまり、図５に示すＳ１〜Ｓ２の範囲が、ＮＥＷ領域の適切な範囲となる。
【００６４】
よって、仮想マシンチューニング値計算装置１０のチューニングパラメータ値計算部１２は、仮想マシンに設定するＮＥＷ領域サイズを計算する際、式（３）〜式（７）を用いて、適切なＮＥＷ領域サイズの範囲を計算するようにしてもよい。
【００６５】
目標停止時間（Ｄ）＞スカベンジＧＣ停止時間ｔ１＋リマーク停止時間ｔ２…式（３）
スカベンジＧＣ周期Ｔ＞短命制御信号オブジェクト平均保留時間（Ｂ３）…式（４）
スカベンジＧＣ周期Ｔ／（スカベンジＧＣ周期Ｔ＋スカベンジＧＣ停止時間ｔ１）＞稼動率の目標値…式（５）
ただし、
スカベンジＧＣ停止時間ｔ１＝（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクト平均保留時間（Ｂ３）＋スカベンジＧＣ周期Ｔ×単位時間あたりのコール発生数（Ａ１）×コール１つあたりの長命コールオブジェクト数（Ｂ２））×スカベンジＧＣにおけるＮＥＷ領域のオブジェクト１つあたりのマークおよびコピー時間（Ｃ２）…式（６）
リマーク停止時間ｔ２＝（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクト平均保留時間（Ｂ３）＋スカベンジＧＣ周期×単位時間あたりのコール発生数（Ａ１）×コール１つあたりの長命コールオブジェクト数（Ｂ２））×ＣＭＳにおけるＯＬＤ領域にコピーされたオブジェクト１つあたりのリマーク時間（Ｃ３）…式（７）
【００６６】
なお、式（６）および式（７）の（単位時間あたりのコール発生数（Ａ１）×コール１つあたりの制御信号数（Ａ２）×制御信号１つあたりの短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクト平均保留時間（Ｂ３））は、スカベンジＧＣ時においてＮＥＷ領域に生存する短命制御信号オブジェクト数の平均値を示す。
【００６７】
式（６）および式（７）の（スカベンジＧＣ周期Ｔ×単位時間あたりのコール発生数（Ａ１）×コール１つあたりの長命コールオブジェクト数（Ｂ２））は、スカベンジＧＣ周期の間に発生する長命コールオブジェクト数を示す。つまり、スカベンジＧＣ時にＮＥＷ領域に生存する長命コールオブジェクト数を示す。
【００６８】
なお、複数の仮想マシン（サーバ２０）からなるシステムにおいて、仮想マシンそれぞれの適切なＮＥＷ領域サイズの範囲を求める場合にも、前記したとおり、システム全体の目標停止時間をサーバ２０（サーバ２０ａ，２０ｂ，…，２０ｎ）ごとに分配する。そして、チューニングパラメータ値計算部１２は、サーバ２０（サーバ２０ａ，２０ｂ，…，２０ｎ）それぞれの目標停止時間と、サーバ２０（サーバ２０ａ，２０ｂ，…，２０ｎ）それぞれのアプリケーションモデル情報、トラヒックモデル情報およびＧＣ動作パラメータ情報とを用いて、サーバ２０（サーバ２０ａ，２０ｂ，…，２０ｎ）それぞれの適切なＮＥＷ領域サイズ（チューニングパラメータ値）の範囲を計算するようにしてもよい。
【００６９】
なお、仮想マシン上で動作するアプリケーションの設計においては、各オブジェクトのサイズや数が、ＧＣによるプログラム停止時間（前記したスカベンジＧＣ停止時間ｔ１やリマーク停止時間ｔ２）に影響する。このため、この各オブジェクトのサイズや数の設定が重要である。つまり、前記した短命制御信号オブジェクト数（Ｂ１）、短命制御信号オブジェクトのサイズ（Ｂ４）、長命コールオブジェクト数（Ｂ２）および長命コールオブジェクトのサイズ（Ｂ５）の設定が重要である。ここで、仮想マシンの目標停止時間（Ｄ）、稼動率の目標値等を決めておけば、前記したチューニング値計算アルゴリズムを用いることで、短命制御信号オブジェクトおよび長命コールオブジェクトそれぞれのサイズや数がとりうる範囲は限定される。例えば、チューニング値計算アルゴリズムを用いることで、仮想マシンのプログラム停止時間が目標停止時間（Ｄ）未満となる、短命制御信号オブジェクト数（Ｂ１）×短命制御信号オブジェクトのサイズ（Ｂ４）の値および長命コールオブジェクト数（Ｂ２）×長命コールオブジェクトのサイズ（Ｂ５）の値の組み合わせは、図６のハッチング部分の範囲となる。このように短命制御信号オブジェクト数（Ｂ２）×短命制御信号オブジェクトのサイズ（Ｂ４）の値および長命コールオブジェクト数（Ｂ２）×長命コールオブジェクトのサイズ（Ｂ５）の値のとりうる範囲が事前に分かることで、システム開発者は、プログラム停止時間を目標停止時間（Ｄ）未満とするアプリケーションの設計を容易に行うことができる。
【符号の説明】
【００７０】
１０    仮想マシンチューニング値計算装置
１１    入力部
１２    チューニングパラメータ値計算部
１３    出力部
２０    サーバ
１１１  アプリケーションモデル入力部
１１２  トラヒックモデル入力部
１１３  ＧＣ動作パラメータ入力部
１１４  目標停止時間入力部
１３１  チューニングパラメータ値出力部
【図１】
2014052954.tif 000003
【図２】
2014052954.tif 000004
【図３】
2014052954.tif 000005
【図４】
2014052954.tif 000006
【図５】
2014052954.tif 000007
【図６】
2014052954.tif 000008