[go: up one dir, main page]

JP5809613B2 - Virtual machine tuning value calculation apparatus and virtual machine tuning value calculation method - Google Patents

Virtual machine tuning value calculation apparatus and virtual machine tuning value calculation method Download PDF

Info

Publication number
JP5809613B2
JP5809613B2 JP2012198427A JP2012198427A JP5809613B2 JP 5809613 B2 JP5809613 B2 JP 5809613B2 JP 2012198427 A JP2012198427 A JP 2012198427A JP 2012198427 A JP2012198427 A JP 2012198427A JP 5809613 B2 JP5809613 B2 JP 5809613B2
Authority
JP
Japan
Prior art keywords
lived
call
control signal
per
time
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.)
Expired - Fee Related
Application number
JP2012198427A
Other languages
Japanese (ja)
Other versions
JP2014052954A (en
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012198427A priority Critical patent/JP5809613B2/en
Publication of JP2014052954A publication Critical patent/JP2014052954A/en
Application granted granted Critical
Publication of JP5809613B2 publication Critical patent/JP5809613B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

Java(登録商標)VM(バーチャルマシン)等の仮想マシンチューニング値計算装置および仮想マシンチューニング値計算方法に関する。   The present invention relates to a virtual machine tuning value calculation device such as Java (registered trademark) VM (virtual machine) and a virtual machine tuning value calculation method.

Java(登録商標)VM等の仮想マシンを用いたシステムにおいてガベージコレクション(GC)時には、オブジェクトのコピーやチェック(マーク)のために、システムがある程度の時間停止してしまう。Java(登録商標)VMにおけるGCの仕組みは、以下の非特許文献1,2に開示されている。一般的に仮想マシンを用いたシステムでは、処理モデルの異なる様々なアプリケーションが搭載されるため、GCによるプログラム停止時間を予測する(見積もる)ことは困難であった。   During garbage collection (GC) in a system using a virtual machine such as Java (registered trademark) VM, the system stops for a certain period of time due to copying and checking (marking) of objects. The mechanism of GC in Java (registered trademark) VM is disclosed in Non-Patent Documents 1 and 2 below. In general, in a system using a virtual machine, since various applications with different processing models are installed, it is difficult to predict (estimate) a program stop time by GC.

チューニングのためのJavaVM講座(前編)、[online]、[平成24年8月10日検索]、インターネット<URL: http://www.atmarkit.co.jp/fjava/rensai3/javavm02/javavm02_1.html >JavaVM Course for Tuning (Part 1), [online], [Search August 10, 2012], Internet <URL: http://www.atmarkit.co.jp/fjava/rensai3/javavm02/javavm02_1.html > チューニングのためのJavaVM講座(後編)、[online]、[平成24年8月10日検索]、インターネット<URL: http://www.atmarkit.co.jp/fjava/rensai3/javavm02/javavm02_2.html >JavaVM Course for Tuning (Part 2), [online], [Search August 10, 2012], Internet <URL: http://www.atmarkit.co.jp/fjava/rensai3/javavm02/javavm02_2.html >

ここで、SIP(Session Initiation Protocol)サーバ等の通信ノードのように、大量処理を行いつつ、かつ、低レイテンシ(遅延時間をできるだけ少なくすること)を求められるシステムにおいて仮想マシンを用いるには、システム開発前に、GCによるプログラム停止時間を予測することが重要である。しかし、前記したとおり、仮想マシンを用いたシステムでは、処理モデルの異なる様々なアプリケーションが搭載されるため、GCによる停止時間を予測する(見積もる)ことは困難である。   Here, in order to use a virtual machine in a system such as a communication node such as a SIP (Session Initiation Protocol) server, which performs a large amount of processing and requires low latency (reducing the delay time as much as possible) It is important to predict the program stop time by GC before development. However, as described above, in a system using a virtual machine, since various applications with different processing models are installed, it is difficult to predict (estimate) a stop time by GC.

このため、システム開発者は、仮想マシンのチューニング値(目標遅延時間(許容されるプログラム停止時間の最大値)を満たし、かつスループットを最大とする仮想マシンのパラメータ値)を求めるため、仮想マシンの性能測定と停止時間の確認の繰り返しを行わなくてはならなかった。ここで、特にチューニング値で重要となるのは、メモリのNEW領域に割り当てるサイズ(NEW領域サイズ)である。そこで、本発明は、前記した課題を解決し、仮想マシンに設定するNEW領域サイズ(最適NEW領域サイズ)を求める手段を提供すること目的とする。   For this reason, the system developer needs to determine the tuning value of the virtual machine (the parameter value of the virtual machine that satisfies the target delay time (maximum allowable program stop time) and maximizes the throughput). We had to repeat the performance measurement and check the downtime. Here, what is particularly important for the tuning value is the size (NEW area size) allocated to the NEW area of the memory. Therefore, an object of the present invention is to provide means for solving the above-described problems and obtaining a NEW area size (optimum NEW area size) set in a virtual machine.

前記した課題を解決するため、本発明は、通信ノードに用いられる仮想マシンに設定するメモリのNEW領域サイズを計算する仮想マシンチューニング値計算装置であって、前記仮想マシンは、前記メモリ上のNEW領域のGC(ガベージコレクション)の方式としてスカベンジGCを採用し、前記メモリ上のOLD領域のGCの方式としてCMS(Concurrent Mark & Sweep)を採用する仮想マシンであり、前記仮想マシンに用いられるアプリケーションは、他の端末装置が前記仮想マシンにアクセスしてから処理を終了するまでの一連の動作を、複数の制御信号が関連するコールとして管理し、前記コールに対するオブジェクトとして1以上の長命コールオブジェクトを生成し、前記制御信号に対するオブジェクトとして1以上の短命制御信号オブジェクトを生成するアプリケーションであり、前記アプリケーションにおける、単位時間あたりのコール発生数(A1)と、前記コール1つあたりの制御信号数(A2)とを示したトラヒックモデル情報と、前記制御信号1つあたりの短命制御信号オブジェクト数(B1)と、前記コール1つあたりの長命コールオブジェクト数(B2)と、短命制御信号オブジェクト平均保留時間(B3)と、前記短命制御信号オブジェクトのサイズ(B4)と、前記長命コールオブジェクトのサイズ(B5)とを示したアプリケーションモデル情報と、前記スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(C2)と、前記CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間(C3)とを示したGC動作パラメータ情報と、前記仮想マシンにおけるGC時のプログラム停止時間の目標値である目標停止時間(D)との入力を受け付け、記憶部に記憶し、前記記憶部の、前記トラヒックモデル情報、前記アプリケーションモデル情報、前記GC動作パラメータ情報および前記目標停止時間を用いて、以下の式(1)および式(2)により前記NEW領域サイズを計算する。なお、長命コールオブジェクト、短命制御信号オブジェクトを生成する際に一時的に生成されるオブジェクトも存在するがこれらも短命制御信号オブジェクトとして扱っている。
NEW領域サイズ=スカベンジGC周期T×単位時間あたりのコール発生数(A1)×(コール1つあたりの長命コールオブジェクト数(B2)×長命コールオブジェクトのサイズ(B5)+コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクトのサイズ(B4))…式(1)
ただし、
スカベンジGC周期T={目標停止時間(D)−(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのコピー時間(C2)+単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間(C3))}/(単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2)×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(C2)+単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2)×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間(C3))…式(2)
To solve the problems described above, the present invention provides a virtual machine tuning value calculating device for calculating the NEW region size of the memory to be set to the virtual machine used in the communication node, the virtual machine, NEW on the memory This is a virtual machine that adopts scavenge GC as the GC (garbage collection) method for the area and CMS (Concurrent Mark & Sweep) as the GC method for the OLD area on the memory. Applications used in the virtual machine are: A series of operations from the time when another terminal device accesses the virtual machine to the end of processing is managed as a call related to a plurality of control signals, and one or more long-lived call objects are generated as objects for the call And one or more short-lived control signals as an object for the control signal. A traffic model information indicating the number of calls generated per unit time (A1) and the number of control signals (A2) per call in the application, and one control signal. Per-call short-lived control signal object number (B1), long-lived call object number per call (B2), short-lived control signal object average hold time (B3), and short-lived control signal object size (B4) Application model information indicating the size (B5) of the long-lived call object, mark and copy time (C2) per object in the NEW area in the scavenge GC, and object copied to the OLD area in the CMS Remark time per one (C3) And an input of a target stop time (D), which is a target value of a program stop time at the time of GC in the virtual machine, is stored in a storage unit, and the traffic of the storage unit Using the model information, the application model information, the GC operation parameter information, and the target stop time, the NEW area size is calculated by the following equations (1) and (2). There are objects that are temporarily generated when a long-lived call object and a short-lived control signal object are generated, but these are also treated as short-lived control signal objects.
NEW area size = scavenge GC cycle T × number of calls per unit time (A1) × (number of long-lived call objects per call (B2) × long-lived call object size (B5) + control signal per call Number (A2) × number of short-lived control signal objects per control signal (B1) × size of short-lived control signal object (B4)) (1)
However,
Scavenge GC period T = {target stop time (D) − (number of calls per unit time (A1) × number of control signals per call (A2) × number of short-lived control signal objects per control signal (B1) ) × short-lived control signal object average hold time (B3) × copy time per object in the NEW area (C2) in scavenge GC + number of calls generated per unit time (A1) × number of control signals per call ( A2) × number of short-lived control signal objects per control signal (B1) × average life of short-lived control signal objects (B3) × remark time per object copied to the OLD area in CMS (C3))} / (Number of calls per unit time (A1) x number of long-lived call objects per call (B2) x scavenge GC Mark and copy time per object in the NEW area (C2) + number of calls per unit time (A1) × number of long-lived call objects per call (B2) × objects copied to the OLD area in the CMS Remark time per one (C3)) ... Formula (2)

このように、本発明の仮想マシンチューニング値計算装置は、仮想マシンに設定するNEW領域サイズを計算するために、(1)トラヒックモデル情報、(2)アプリケーションモデル情報および(3)仮想マシンのGC動作パラメータ情報を用いる。ここで、従来のWeb系のシステムでは、1台のサーバ(仮想マシン)に多数のアプリケーションが動作し、トラヒック条件もそのアプリケーションそれぞれ異なるため、(1)トラヒックモデル情報および(2)アプリケーションモデル情報を用いてNEW領域サイズ(最適NEW領域サイズ)を求めることは困難であった。しかし、仮想マシンの用いられるコンピュータが、SIPサーバ等の通信ノードであれば、動作するアプリケーションは単一であることが一般的である。そこで、本発明の発明者はこの点に着目し、通信ノードに用いられる仮想マシンのNEW領域サイズ(最適NEW領域サイズ)を計算する際、(1)トラヒックモデル情報および(2)アプリケーションモデル情報を用いて計算する仮想マシンチューニング値計算装置を考案するに至った。   As described above, the virtual machine tuning value calculation apparatus according to the present invention calculates (1) traffic model information, (2) application model information, and (3) GC of the virtual machine in order to calculate the NEW area size set in the virtual machine. Use operating parameter information. Here, in the conventional Web system, a large number of applications operate on one server (virtual machine), and the traffic conditions are different for each application. Therefore, (1) traffic model information and (2) application model information are It has been difficult to obtain a NEW area size (optimum NEW area size) by using it. However, if the computer in which the virtual machine is used is a communication node such as an SIP server, it is common that there is a single application that operates. Therefore, the inventor of the present invention pays attention to this point, and calculates (1) traffic model information and (2) application model information when calculating the NEW area size (optimum NEW area size) of the virtual machine used for the communication node. It came to devise a virtual machine tuning value calculation device to calculate using.

ここで、本発明で想定する仮想マシンに用いられるアプリケーションは、他の端末装置が当該仮想マシンにアクセスしてから処理を終了するまでの一連の動作を、複数の制御信号が関連するコールとして管理する。そして、仮想マシンが1つのコールを処理する際に、コールはメモリ上に比較的長時間存在することから、1つのコールに対するオブジェクトとして1以上の長命コールオブジェクトを生成する。一方、仮想マシンが1つの制御信号を処理する際、制御信号はメモリ上に比較的短時間しか存在しないため、1つの制御信号に対するオブジェクトとして1以上の短命制御信号オブジェクトを生成するものとする。   Here, the application used in the virtual machine assumed in the present invention manages a series of operations from when another terminal device accesses the virtual machine to the end of processing as a call related to a plurality of control signals. To do. When the virtual machine processes one call, since the call exists in the memory for a relatively long time, one or more long-lived call objects are generated as objects for one call. On the other hand, when the virtual machine processes one control signal, since the control signal exists in the memory for a relatively short time, one or more short-lived control signal objects are generated as objects for one control signal.

この仮想マシンがGCを行う際には、非特許文献1,2に記載されるとおり、メモリをNEW領域とOLD領域とに分割してGCを行う。ここでは、NEW領域のGCの方式として、スカベンジGC方式をとり、OLD領域のGCの方式として、CMS方式をとるものとする。なお、GC時におけるプログラム停止時間は、スカベンジGCにおけるNEW領域からOLD領域へのオブジェクトのマークおよびコピー時間+CMSにおけるOLD領域にコピーされたオブジェクトのリマーク時間である。   When this virtual machine performs GC, as described in Non-Patent Documents 1 and 2, the memory is divided into a NEW area and an OLD area to perform GC. Here, the scavenge GC method is adopted as the GC method for the NEW region, and the CMS method is adopted as the GC method for the OLD region. The program stop time during GC is the mark and copy time of an object from the NEW area to the OLD area in the scavenge GC + the remark time of the object copied to the OLD area in the CMS.

ここで、本発明において、
NEW領域サイズ(最適なNEW領域サイズ)=スカベンジGC周期T×単位時間あたりのコール発生数(A1)×(コール1つあたりの長命コールオブジェクト数(B2)×長命コールオブジェクトのサイズ(B5)+コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクトのサイズ(B4))…式(1)
としている。
Here, in the present invention,
NEW area size (optimal NEW area size) = scavenge GC cycle T × number of calls per unit time (A1) × (number of long-lived call objects per call (B2) × long-lived call object size (B5) + Number of control signals per call (A2) × number of short-lived control signal objects per control signal (B1) × size of short-lived control signal objects (B4)) (1)
It is said.

式(1)における(単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2)×長命コールオブジェクトのサイズ(B5))は、単位時間あたりにNEW領域において長命コールオブジェクトの占める合計サイズを示す。   In Equation (1), (number of calls generated per unit time (A1) × number of long-lived call objects per call (B2) × size of long-lived call objects (B5)) is a long-lived call in the NEW area per unit time. Indicates the total size occupied by the object.

また、式(1)における(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクトのサイズ(B4))は、単位時間あたりにNEW領域において使用中の短命制御信号オブジェクトおよび短命制御信号オブジェクトのガベージの占める合計サイズの平均値を示す。   Also, in equation (1), (number of calls generated per unit time (A1) × number of control signals per call (A2) × number of short-lived control signal objects per control signal (B1) × short-lived control signal object The size (B4)) indicates an average value of the total size occupied by garbage of the short-lived control signal object and the short-lived control signal object being used in the NEW area per unit time.

つまり、仮想マシンに必要なNEW領域サイズは、スカベンジGC時にNEW領域に存在するオブジェクト(使用中の短命制御信号オブジェクトと長命コールオブジェクト)の合計サイズ)および短命制御信号オブジェクトのガベージの占めるサイズであればよいので、仮想マシンに必要なNEW領域サイズを、スカベンジGC周期T×単位時間あたりNEW領域に存在するオブジェクト(短命制御信号オブジェクトと長命コールオブジェクト)が占める合計サイズとしている。   In other words, the NEW area size required for the virtual machine is the size occupied by garbage of the objects (short life control signal object in use and long life call object) existing in the NEW area during scavenge GC and the short life control signal object. Therefore, the NEW area size required for the virtual machine is the total size occupied by the objects (short-lived control signal object and long-lived call object) existing in the NEW area per scavenge GC period T × unit time.

さらに、式(1)で用いるスカベンジGC周期Tを、式(2)に示すように、
スカベンジGC周期T={目標停止時間(D)−(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(C2)+単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間(C3))}/(単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2)×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(C2)+単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2)×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間(C3))…式(2)
としている。なお、式(2)における目標停止時間は、システムの設計者等が仮想マシンに許容する停止時間の最大値である。
Further, the scavenge GC period T used in the equation (1) is expressed by the following equation (2):
Scavenge GC period T = {target stop time (D) − (number of calls per unit time (A1) × number of control signals per call (A2) × number of short-lived control signal objects per control signal (B1) ) X short-lived control signal object average hold time (B3) x mark and copy time per object in the NEW area in scavenge GC (C2) + number of calls generated per unit time (A1) x control signal per call Number (A2) × short-lived control signal object number per control signal (B1) × short-lived control signal object average holding time (B3) × remark time per object copied to the OLD area in CMS (C3)) } / (Number of calls per unit time (A1) x Number of long-lived call objects per call (B2) x Ska Mark and copy time per object in the NEW area in Benji GC (C2) + number of calls per unit time (A1) x number of long-lived call objects per call (B2) x copied to the OLD area in CMS Remark time per object (C3)) (2)
It is said. Note that the target stop time in Expression (2) is the maximum stop time allowed for the virtual machine by the system designer or the like.

また、式(2)における、(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(C2))は、スカベンジGCにおけるNEW領域の短命制御信号オブジェクトのマークおよびコピー時間の合計値を示す。   In Expression (2), (number of calls per unit time (A1) × number of control signals per call (A2) × number of short-lived control signal objects per control signal (B1) × short-lived control signal Average object holding time (B3) × mark and copy time per object in NEW area in scavenge GC (C2)) indicates the total mark and copy time of the short-lived control signal object in the NEW area in scavenge GC.

さらに、式(2)における(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間(C3))は、CMSにおけるOLD領域にコピーされた短命制御信号オブジェクトのリマーク時間の合計値を示す。   Further, in Expression (2), (number of calls per unit time (A1) × number of control signals per call (A2) × number of short-lived control signal objects per control signal (B1) × short-lived control signal objects The average hold time (B3) × remark time (C3) per object copied to the OLD area in the CMS) indicates the total value of the remark times of the short-lived control signal objects copied to the OLD area in the CMS.

また、式(2)における(単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2)×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(C2))は、スカベンジGCにおけるNEW領域の長命コールオブジェクトのマークおよびコピー時間の合計値を示す。   Also, the number of calls per unit time (A1) × the number of long-lived call objects per call (B2) × the mark and copy time per object in the NEW area in the scavenge GC (C2) ) Indicates the total value of the mark and copy time of the long-lived call object in the NEW area in the scavenge GC.

さらに、式(2)における(単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2)×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間(C3))は、CMSにおけるOLD領域にコピーされた長命コールオブジェクトのリマーク時間の合計値を示す。   Further, in Expression (2), (number of calls per unit time (A1) × number of long-lived call objects per call (B2) × remark time per object copied to the OLD area in CMS (C3) ) Indicates the total remark time of the long-lived call object copied to the OLD area in the CMS.

つまり、式(2)において、スカベンジGC周期Tを、{目標停止時間(D)−(スカベンジGCにおけるNEW領域の短命制御信号オブジェクトのマークおよびコピー時間の合計値+CMSにおけるOLD領域にコピーされた短命制御信号オブジェクトに対するリマーク時間の合計値)}/(スカベンジGCにおけるNEW領域の長命コールオブジェクトのマークおよびコピー時間の合計値+CMSにおけるOLD領域にコピーされた長命コールオブジェクトのリマーク時間の合計値)、すなわち、スカベンジGC周期Tを、{目標停止時間(D)−(短命制御信号オブジェクトのマークおよびコピーおよびリマークによるプログラム停止時間)}/(長命コールオブジェクトのマークおよびコピーおよびリマークによるプログラム停止時間)としている。なお、スカベンジGC周期Tを、目標停止時間(D)−(短命制御信号オブジェクトのマークおよびコピーおよびリマークによるプログラム停止時間)/(長命コールオブジェクトのマークおよびコピーおよびリマークによるプログラム停止時間)としているのは、短命制御信号オブジェクトの生存時間がスカベンジGC周期Tよりも短いことが想定されるからである。つまり、スカベンジGC時に、NEW領域に短命制御信号オブジェクトがすべて存続しているとは限らないからである。   In other words, in the equation (2), the scavenge GC cycle T is expressed as follows: {target stop time (D)-(total value of the short life control signal object in the NEW area in the scavenge GC and the copy time + the short life copied in the OLD area in the CMS Total value of remark time for control signal object)} / (total value of mark and copy time of NEW area long-lived call object in scavenge GC + total value of remark time of long-lived call object copied to OLD area in CMS), , {Target stop time (D)-(Program stop time due to mark, copy and remark of short-lived control signal object)} / (Program stop due to mark, copy and remark of long-lived call object) ) To be. The scavenge GC period T is set to the target stop time (D)-(program stop time due to mark and copy and remark of short-lived control signal object) / (program stop time due to mark and copy and remark of long-lived call object). This is because it is assumed that the lifetime of the short-lived control signal object is shorter than the scavenge GC period T. That is, at the time of scavenging GC, not all short-lived control signal objects exist in the NEW area.

また、本発明の仮想マシンチューニング値計算装置のチューニングパラメータ値計算部が、複数の前記仮想マシンからなるシステムにおける前記仮想マシンそれぞれの前記NEW領域サイズを計算するとき、前記仮想マシンそれぞれの、前記トラヒックモデル情報、前記アプリケーションモデル情報および前記GC動作パラメータ情報と、前記システム全体の目標停止時間を分配した前記仮想マシンそれぞれの目標停止時間とを用いて、前記式(1)および式(2)により前記仮想マシンそれぞれの前記NEW領域サイズを計算する。   Further, when the tuning parameter value calculation unit of the virtual machine tuning value calculation apparatus of the present invention calculates the NEW area size of each of the virtual machines in a system including a plurality of the virtual machines, the traffic of each of the virtual machines Using the model information, the application model information, the GC operation parameter information, and the target stop time of each of the virtual machines to which the target stop time of the entire system is distributed, the equation (1) and the equation (2) The NEW area size of each virtual machine is calculated.

このようにすることで、システムが複数の仮想マシンからなる場合に、システム全体で要求される目標停止時間の条件を満たすような、各仮想マシンのNEW領域サイズを計算することができる。   In this way, when the system is composed of a plurality of virtual machines, the NEW area size of each virtual machine that satisfies the target stop time requirement required for the entire system can be calculated.

また、本発明の仮想マシンチューニング値計算装置は、さらに、前記仮想マシンにおける稼動率の目標値の入力を受け付け、前記記憶部に記憶し、前記チューニングパラメータ値計算部が、前記仮想マシンに設定する前記NEW領域サイズを計算する際に、前記記憶部の、前記トラヒックモデル情報、前記アプリケーションモデル情報、前記GC動作パラメータ情報、前記目標停止時間および前記稼動率の目標値を用いて、以下の式(3)〜式(7)により前記NEW領域サイズの範囲を計算する。
目標停止時間(D)>スカベンジGC停止時間t1+リマーク停止時間t2…式(3)
スカベンジGC周期T>短命制御信号オブジェクト平均保留時間(B3)…式(4)
スカベンジGC周期T/(スカベンジGC周期T+スカベンジGC停止時間t1)>稼動率の目標値…式(5)
ただし、
スカベンジGC停止時間t1=(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)+スカベンジGC周期T×単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2))×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(C2)…式(6)
リマーク停止時間t2=(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)+スカベンジGC周期×単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2))×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間(C3)…式(7)
なお、NEW領域サイズが左辺となるようにする場合、式(3)〜式(5)は、以下の式(8)〜式(11)のようになり、これから最適なNEW領域の範囲を求めることができる。
(最適な範囲の)NEW領域サイズ<スカベンジGC周期T×(単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2)×長命コールオブジェクトのサイズ(B5)+スカベンジGC周期T×単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクトのサイズ(B4))…式(8)
(最適な範囲の)NEW領域サイズ>短命制御信号オブジェクト平均保留時間(B3)×(単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2)×長命コールオブジェクトのサイズ(B5)+スカベンジGC周期T×単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクトのサイズ(B4))…式(9)
(最適な範囲の)NEW領域サイズ>稼働率の目標値×単位時間時間あたりのコース発生数(A1) ×単位時間時間あたりのコース発生数(A1)×(コール1つあたりの長命コールオブジェクト数(B2)×長命コールオブジェクトのサイズ(B5)+コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクトのサイズ(B4))×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(C2)

(1−稼働率の目標値−稼働率の目標値×単位時間時間あたりのコース発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2)×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(C2))…式(10)
ただし、
スカベンジGC周期T={目標停止時間(D)−(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(C2)+単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間(C3))}/(単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2)×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(C2)+単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2)×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間(C3))…式(11)
The virtual machine tuning value calculating apparatus of the present invention, further receives an input of the target value of the operating rate of the virtual machine, and stored in the storage unit, the tuning parameter calculation unit sets the virtual machine When calculating the NEW area size, using the traffic model information, the application model information, the GC operation parameter information, the target stop time, and the target value of the operation rate in the storage unit, the following formula ( The range of the NEW area size is calculated from 3) to Expression (7).
Target stop time (D)> scavenge GC stop time t1 + remark stop time t2 Formula (3)
Scavenge GC cycle T> short-lived control signal object average holding time (B3) Equation (4)
Scavenge GC cycle T / (scavenge GC cycle T + scavenge GC stop time t1)> target value of operating rate (5)
However,
Scavenge GC stop time t1 = (number of calls per unit time (A1) × number of control signals per call (A2) × number of short-lived control signal objects per control signal (B1) × short-lived control signal object average Holding time (B3) + scavenge GC cycle T × number of calls per unit time (A1) × number of long-lived call objects per call (B2)) × mark and copy per object in NEW area in scavenge GC Time (C2) ... Formula (6)
Remark stop time t2 = (number of calls per unit time (A1) × number of control signals per call (A2) × number of short-lived control signal objects per control signal (B1) × short-lived control signal object average hold Time (B3) + scavenge GC period × number of calls per unit time (A1) × number of long-lived call objects per call (B2)) × remark time per object copied to OLD area in CMS ( C3) ... Formula (7)
When the NEW area size is set to be the left side, Expressions (3) to (5) are as shown in the following Expressions (8) to (11), and an optimum NEW area range is obtained from this. be able to.
NEW area size (optimum range) <scavenge GC cycle T × (number of calls per unit time (A1) × number of long-lived call objects per call (B2) × long-lived call object size (B5) + scavenge GC cycle T × number of calls per unit time (A1) × number of control signals per call (A2) × number of short-lived control signal objects per control signal (B1) × size of short-lived control signal objects (B4 )) ... Formula (8)
NEW area size (optimum range)> short-lived control signal object average hold time (B3) × (number of calls per unit time (A1) × number of long-lived call objects per call (B2) × long-lived call object Size (B5) + scavenge GC period T × number of calls per unit time (A1) × number of control signals per call (A2) × number of short-lived control signal objects per control signal (B1) × short-lived control Signal object size (B4)) (9)
NEW area size (optimal range)> target value of availability x number of courses per unit time (A1) x number of courses per unit time (A1) x (number of long-lived call objects per call) (B2) × long life call object size (B5) + number of control signals per call (A2) × number of short life control signal objects per control signal (B1) × short life control signal object size (B4)) X number of control signals per call (A2) x number of short-lived control signal objects per control signal (B1) x short-lived control signal object average hold time (B3) x per object in NEW area in scavenge GC Mark and copy time (C2)
/
(1—Target value of utilization rate—Target value of utilization rate × Number of course occurrences per unit time (A1) × Number of long-lived call objects per call (B2) × One object in NEW area in scavenge GC Mark and copy time (C2)) ... Formula (10)
However,
Scavenge GC period T = {target stop time (D) − (number of calls per unit time (A1) × number of control signals per call (A2) × number of short-lived control signal objects per control signal (B1) ) X short-lived control signal object average hold time (B3) x mark and copy time per object in the NEW area in scavenge GC (C2) + number of calls generated per unit time (A1) x control signal per call Number (A2) × short-lived control signal object number per control signal (B1) × short-lived control signal object average holding time (B3) × remark time per object copied to the OLD area in CMS (C3)) } / (Number of calls per unit time (A1) x Number of long-lived call objects per call (B2) x Ska Mark and copy time per object in the NEW area in Benji GC (C2) + number of calls per unit time (A1) x number of long-lived call objects per call (B2) x copied to the OLD area in CMS Remark time per object (C3)) (11)

このようにすることで、仮想マシンチューニング値計算装置は、仮想マシンのプログラム停止時間が目標停止時間未満であることに加え、スカベンジGC周期が短命制御信号オブジェクト平均保留時間よりも長いこと、および、仮想マシンの稼働率が目標値を超えていることを考慮して、仮想マシンに設定する適切なNEW領域サイズの範囲を求めることができる。   By doing in this way, the virtual machine tuning value calculation apparatus, in addition to the program stop time of the virtual machine being less than the target stop time, the scavenge GC cycle is longer than the short-lived control signal object average hold time, and Considering that the operating rate of the virtual machine exceeds the target value, an appropriate NEW area size range set for the virtual machine can be obtained.

なお、式(3)に示す(スカベンジGC停止時間t1+リマーク停止時間t2)は、仮想マシンにおけるGC時のプログラム停止時間を示す。また、式(5)における(スカベンジGC周期T/(スカベンジGC周期T+スカベンジGC停止時間t1))は、仮想マシンの稼働率を示す。   Note that (scavenge GC stop time t1 + remark stop time t2) shown in Expression (3) indicates a program stop time during GC in the virtual machine. In addition, (scavenge GC cycle T / (scavenge GC cycle T + scavenge GC stop time t1)) in equation (5) indicates the operating rate of the virtual machine.

また、式(6)および式(7)の(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3))は、スカベンジGC時においてNEW領域に生存する短命制御信号オブジェクト数の平均値を示す。   Also, the number of calls generated per unit time (A1) × the number of control signals per call (A2) × the number of short-lived control signal objects per control signal (B1) in Expression (6) and Expression (7) X Short-lived control signal object average holding time (B3)) indicates an average value of the number of short-lived control signal objects that survive in the NEW area during scavenge GC.

式(6)および式(7)の(スカベンジGC周期T×単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2))は、スカベンジGC周期の間に発生する長命コールオブジェクト数を示す。つまり、スカベンジGC時にNEW領域に生存する長命コールオブジェクト数を示す。   Expression (6) and Expression (7) (scavenge GC period T × number of calls per unit time (A1) × number of long-lived call objects per call (B2)) occur during the scavenge GC period. Indicates the number of long-lived call objects. That is, it indicates the number of long-lived call objects that survive in the NEW area during scavenging GC.

また、リマーク停止時間については、スカベンジGCによりNEW領域からOLD領域にコピーされたオブジェクト数(つまり、スカベンジGC周期を迎えたときにNEW領域に生存するライブオブジェクト数)×OLD領域にコピーされたオブジェクトの1つあたりのリマーク時間と考えることができる。よって、リマーク停止時間を、式(12)に示すように、
リマーク停止時間t2=(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)+スカベンジGC周期×単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2))×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間(C3)…式(12)
としている。
Regarding the remark stop time, the number of objects copied from the NEW area to the OLD area by the scavenge GC (that is, the number of live objects that live in the NEW area when the scavenge GC period is reached) × the objects copied to the OLD area It can be thought of as the remark time per one. Therefore, the remark stop time is as shown in Expression (12),
Remark stop time t2 = (number of calls per unit time (A1) × number of control signals per call (A2) × number of short-lived control signal objects per control signal (B1) × short-lived control signal object average hold Time (B3) + scavenge GC period × number of calls per unit time (A1) × number of long-lived call objects per call (B2)) × remark time per object copied to OLD area in CMS ( C3) ... Formula (12)
It is said.

本発明によれば、通信ノードに用いられる仮想マシンに設定するNEW領域サイズ(最適NEW領域サイズ)を容易に求めることができる。   According to the present invention, a NEW area size (optimum NEW area size) set in a virtual machine used for a communication node can be easily obtained.

本実施の形態の仮想マシンチューニング値計算装置の機能ブロック図である。It is a functional block diagram of the virtual machine tuning value calculation apparatus of this Embodiment. 本実施の形態のトラヒックモデル情報およびアプリケーションモデル情報を説明するための図である。It is a figure for demonstrating the traffic model information and application model information of this Embodiment. 仮想マシンにおけるGCを説明するための図である。It is a figure for demonstrating GC in a virtual machine. 複数のサーバからなるシステムにおけるチューニングパラメータ値(最適NEW領域サイズ)の計算処理を説明するための図である。It is a figure for demonstrating the calculation process of the tuning parameter value (optimal NEW area | region size) in the system which consists of a some server. 仮想マシンのNEW領域サイズに対する、仮想マシンの稼働率を例示した図である。It is the figure which illustrated the operation rate of the virtual machine with respect to the NEW area size of a virtual machine. 短命制御信号オブジェクトの数×短命制御信号オブジェクトのサイズの値、および、長命コールオブジェクトの数×長命コールオブジェクトのサイズの値の最適値の範囲を例示する図である。It is a figure which illustrates the range of the optimal value of the value of the number of short-lived control signal objects x the size of the short-lived control signal object, and the number of long-lived call objects x the size of the long-lived call object.

以下、図面を参照しながら、本発明の仮想マシンチューニング値計算装置を実施するための形態を説明する。まず、図1を用いて、本実施の形態の仮想マシンチューニング値計算装置10の構成を説明する。   Hereinafter, an embodiment for implementing a virtual machine tuning value calculation apparatus of the present invention will be described with reference to the drawings. First, the configuration of the virtual machine tuning value calculation apparatus 10 according to the present embodiment will be described with reference to FIG.

<構成>
仮想マシンチューニング値計算装置10は、アプリケーションモデル情報(後記)、トラヒックモデル情報(後記)、GC(ガベージコレクション)動作パラメータ情報(後記)およびこの仮想マシンのGC時におけるプログラム停止時間の目標値(目標停止時間)の入力を受け付けると、これらの情報および目標値に基づき、仮想マシンに設定するNEW領域サイズ(最適NEW領域サイズ)を計算し、出力する。この仮想マシンチューニング値計算装置10の機能は、入力部11、チューニングパラメータ値計算部12および出力部13に分けられる。
<Configuration>
The virtual machine tuning value calculation apparatus 10 includes application model information (described later), traffic model information (described later), GC (garbage collection) operation parameter information (described later), and a target value (target) of the program stop time during GC of this virtual machine. When an input of stop time) is received, a NEW area size (optimum NEW area size) set in the virtual machine is calculated and output based on the information and the target value. The function of the virtual machine tuning value calculation device 10 is divided into an input unit 11, a tuning parameter value calculation unit 12 and an output unit 13.

入力部11および出力部13は、入出力インタフェースから構成される。また、チューニングパラメータ値計算部12は、この仮想マシンチューニング値計算装置10の備えるCPU(Central Processing Unit。図示省略)がメインメモリ(図示省略)にプログラムを展開し、実行することにより実現する。なお、このプログラムは、仮想マシンチューニング値計算装置10の備える補助記憶部(図示省略)の所定領域に格納されるものとする。なお、このチューニングパラメータ値計算部12を、専用回路により実現するようにしてもよい。   The input unit 11 and the output unit 13 are composed of input / output interfaces. The tuning parameter value calculation unit 12 is realized by a CPU (Central Processing Unit, not shown) included in the virtual machine tuning value calculation apparatus 10 developing and executing a program in a main memory (not shown). This program is stored in a predetermined area of an auxiliary storage unit (not shown) included in the virtual machine tuning value calculation apparatus 10. The tuning parameter value calculation unit 12 may be realized by a dedicated circuit.

入力部11は、アプリケーションモデル情報の入力を受け付けるアプリケーションモデル入力部111、トラヒックモデル情報の入力を受け付けるトラヒックモデル入力部112、GC動作パラメータの入力を受け付けるGC動作パラメータ入力部113および目標停止時間の入力を受け付ける目標停止時間入力部114を備える。また、出力部13は、仮想マシンに設定するNEW領域サイズを出力するチューニングパラメータ値出力部131を備える。チューニングパラメータ値計算部12は、チューニングパラメータ値計算アルゴリズムにより、仮想マシンに設定するNEW領域サイズを計算し、計算したNEW領域サイズをチューニングパラメータ値出力部131経由で外部装置等に出力する。   The input unit 11 includes an application model input unit 111 that receives input of application model information, a traffic model input unit 112 that receives input of traffic model information, a GC operation parameter input unit 113 that receives input of GC operation parameters, and an input of a target stop time The target stop time input unit 114 is provided. The output unit 13 includes a tuning parameter value output unit 131 that outputs a NEW area size set in the virtual machine. The tuning parameter value calculation unit 12 calculates a NEW area size set in the virtual machine by a tuning parameter value calculation algorithm, and outputs the calculated NEW area size to an external device or the like via the tuning parameter value output unit 131.

ここで、仮想マシンは、例えば、Java(登録商標)VM(バーチャルマシン)であり、SIP(Session Initiation Protocol)サーバ等の通信ノードに用いられるものとする。そして、この仮想マシンに用いられるアプリケーション(アプリケーションプログラム)は、他の端末装置等が、この仮想マシンにアクセスしてから処理を終了するまでの一連の動作を、複数の制御信号が関連するコールとして管理するものとする。   Here, the virtual machine is, for example, a Java (registered trademark) VM (virtual machine) and is used for a communication node such as a SIP (Session Initiation Protocol) server. An application (application program) used in this virtual machine is a call involving a plurality of control signals, which is a series of operations from when another terminal device or the like accesses this virtual machine until the processing is completed. Shall be managed.

例えば、アプリケーションが電話アプリケーションである場合を考える。この場合、1つの電話呼が1つのコールであり、このコールには「接続開始」や「接続終了」といった制御信号が関連する。そして、このようなアプリケーションにより仮想マシンは、コールに対し1以上のオブジェクトを生成し、制御信号に対し1以上のオブジェクトを生成する。ここで、1つのコールに対する処理は、仮想マシンの用いるメモリ上に比較的長い時間存在することから、1つのコールに対し生成されるオブジェクトを長命コールオブジェクトとする。一方、1つの制御信号については、その処理についてオブジェクトを生成したとしても比較的短時間(所定時間)で処理が完了してメモリ上から削除されるので、1つの制御信号に対して生成されるオブジェクトを短命制御信号オブジェクトとする。   For example, consider the case where the application is a telephone application. In this case, one telephone call is one call, and control signals such as “connection start” and “connection end” are related to this call. With such an application, the virtual machine generates one or more objects for the call and one or more objects for the control signal. Here, since processing for one call exists in the memory used by the virtual machine for a relatively long time, an object generated for one call is a long-lived call object. On the other hand, one control signal is generated for one control signal because the processing is completed in a relatively short time (predetermined time) and deleted from the memory even if an object is generated for the processing. Let the object be a short-lived control signal object.

仮想マシンのGCは、メモリのNEW領域およびOLD領域それぞれで行われるが、それぞれの領域で方式があり、ここでは、NEW領域のGCの方式として、スカベンジGC方式を採用し、OLD領域のGCの方式として、CMS方式を採用する場合を説明する。Java(登録商標)VMが生成したライブオブジェクトは所定のスカベンジGC周期になるとマークされ、NEW領域から、OLD領域にコピーされる。そして、NEW領域において当該オブジェクトのために確保されていた領域は解放される。ここで、OLD領域にコピーされたオブジェクトに対し、チェック(リマーク)がされる。このNEW領域のマークおよびコピーの時間およびOLD領域にコピーされたオブジェクトのリマークの時間が、仮想マシンのGCによるプログラム停止時間となる。   The GC of the virtual machine is performed in each of the NEW area and the OLD area of the memory, and there is a method in each area. Here, the scavenge GC method is adopted as the GC method of the NEW area, and the GC of the OLD area is determined. A case where the CMS method is adopted as a method will be described. A live object generated by a Java (registered trademark) VM is marked when a predetermined scavenge GC cycle is reached, and is copied from the NEW area to the OLD area. Then, the area reserved for the object in the NEW area is released. Here, the object copied to the OLD area is checked (remarked). The time for marking and copying the NEW area and the time for remarking the object copied to the OLD area are the program stop time by the GC of the virtual machine.

本実施の形態で扱うトラヒックモデル(トラヒックモデル情報)、アプリケーションモデル(アプリケーションモデル情報)、GC動作パラメータ情報および目標停止時間について説明する。   The traffic model (traffic model information), application model (application model information), GC operation parameter information, and target stop time handled in the present embodiment will be described.

<トラヒックモデル情報>
トラヒックモデル情報は、仮想マシンが用いるアプリケーションに関する、以下の情報を含む(図2(a)参照)。
・単位時間あたりのコール発生数(A1)
・1コールあたり(コール1つあたり)の制御信号数(A2)
なお、このようなトラヒックモデル情報を用いることで、チューニングパラメータ値計算部12は、例えば、NEW領域の単位時間あたりの制御信号発生数(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2))を求めることができる。
<Traffic model information>
The traffic model information includes the following information related to the application used by the virtual machine (see FIG. 2A).
-Number of calls per unit time (A1)
-Number of control signals per call (per call) (A2)
By using such traffic model information, the tuning parameter value calculation unit 12 can, for example, generate the number of control signals per unit time in the NEW area (number of calls generated per unit time (A1) × per call). The number of control signals (A2)) can be obtained.

<アプリケーションモデル情報>
また、アプリケーションモデル情報は、仮想マシンが用いるアプリケーションに関する、以下の情報を含む(図2(b)参照)。
・1制御信号あたり(制御信号1つあたり)の短命制御信号オブジェクト数(B1)
・1コールあたり(コール1つあたり)の長命コールオブジェクト数(B2)
・短命制御信号オブジェクト平均保留時間(B3)
・短命制御信号オブジェクトのサイズ(B4)
・長命コールオブジェクトのサイズ(B5)
<Application model information>
The application model information includes the following information related to the application used by the virtual machine (see FIG. 2B).
・ Number of short-lived control signal objects per control signal (per control signal) (B1)
・ Number of long-lived call objects per call (per call) (B2)
・ Short-life control signal object average holding time (B3)
・ Size of short-lived control signal object (B4)
・ Size of long-lived call object (B5)

<GC動作パラメータ情報>
さらに、GC動作パラメータ情報は、仮想マシンでGCを行う際に用いる以下の情報を含む。
・スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(C2)
・CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間(C3)
<GC operation parameter information>
Further, the GC operation parameter information includes the following information used when performing GC in the virtual machine.
-Mark and copy time per object in the NEW area in the scavenge GC (C2)
-Remark time per object copied to OLD area in CMS (C3)

<目標停止時間>
目標停止時間(D)は、仮想マシンにおいて許容するGC時のプログラム停止時間である。
<Target stop time>
The target stop time (D) is a program stop time during GC that is allowed in the virtual machine.

チューニングパラメータ値計算部12は、仮想マシンチューニング値計算アルゴリズムにより仮想マシンに設定するNEW領域サイズを計算する。この仮想マシンチューニング値計算アルゴリズムは、前記したトラヒックモデル(トラヒックモデル情報)、アプリケーションモデル(アプリケーションモデル情報)、GC動作パラメータ情報および目標停止時間(D)を用いて、以下の式(1)および式(2)により仮想マシンのNEW領域サイズを計算するためのアルゴリズムである。   The tuning parameter value calculation unit 12 calculates a NEW area size set in the virtual machine by the virtual machine tuning value calculation algorithm. This virtual machine tuning value calculation algorithm uses the above-described traffic model (traffic model information), application model (application model information), GC operation parameter information, and target stop time (D). This is an algorithm for calculating the NEW area size of the virtual machine according to (2).

NEW領域サイズ=スカベンジGC周期T×(単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2)×長命コールオブジェクトのサイズ(B5)+単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)×短命制御信号オブジェクトのサイズ(B4))…式(1)
ただし、
スカベンジGC周期T={目標停止時間(D)−(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(C2)+単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間(C3))}/(単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2)×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(C2)+単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2)×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間(C3))…式(2)
NEW area size = scavenge GC cycle T × (number of calls generated per unit time (A1) × number of long-lived call objects per call (B2) × size of long-lived call objects (B5) + number of calls generated per unit time (A1) × number of control signals per call (A2) × number of short-lived control signal objects per control signal (B1) × short-lived control signal object average hold time (B3) × short-lived control signal object size (B4) )) ... Formula (1)
However,
Scavenge GC period T = {target stop time (D) − (number of calls per unit time (A1) × number of control signals per call (A2) × number of short-lived control signal objects per control signal (B1) ) X short-lived control signal object average hold time (B3) x mark and copy time per object in the NEW area in scavenge GC (C2) + number of calls generated per unit time (A1) x control signal per call Number (A2) × short-lived control signal object number per control signal (B1) × short-lived control signal object average holding time (B3) × remark time per object copied to the OLD area in CMS (C3)) } / (Number of calls per unit time (A1) x Number of long-lived call objects per call (B2) x Ska Mark and copy time per object in the NEW area in Benji GC (C2) + number of calls per unit time (A1) x number of long-lived call objects per call (B2) x copied to the OLD area in CMS Remark time per object (C3)) (2)

前記式(1)および式(2)を、図2(a)、(b)および図3を参照しながら説明する。なお、図3に示すグラフ201の細線は、NEW領域サイズのうちオブジェクト(ライブオブジェクトおよび非ライブオブジェクト)により占有されるサイズを示す。特に、グラフ201の太線はNEW領域サイズのうちライブオブジェクトにより占有されるサイズを示す。また、グラフ202は、OLD領域サイズのうち、オブジェクト(ライブオブジェクトおよび非ライブオブジェクト)により占有されるサイズを示す。このライブオブジェクトとは、ルート集合と呼ばれる、参照のもととなっているオブジェクトから参照をたどっていき、参照でつながっているオブジェクトのことである。非ライブオブジェクトとは、メモリ上のオブジェクトのうち、このライブオブジェクト以外のオブジェクトのことである。GCにおいては、この非ライブオブジェクトのメモリ領域が解放される。このライブオブジェクトとは、ルート集合と呼ばれる参照のもととなっているオブジェクトから参照をたどっていったときに参照でつながっているオブジェクトのことである。非ライブオブジェクトとは、メモリ上のオブジェクトのうち、このライブオブジェクト以外のオブジェクトのことである。GCにおいては、この非ライブオブジェクトのメモリ領域が解放される。   The expressions (1) and (2) will be described with reference to FIGS. 2 (a), (b) and FIG. 3 indicates the size occupied by objects (live objects and non-live objects) in the NEW area size. In particular, the bold line in the graph 201 indicates the size occupied by the live object in the NEW area size. The graph 202 shows the size occupied by objects (live objects and non-live objects) in the OLD area size. This live object is an object called a root set, in which the reference is traced from the object that is the basis of the reference and connected by the reference. The non-live object is an object other than the live object among the objects on the memory. In GC, the memory area of this non-live object is released. The live object is an object that is connected by reference when the reference is traced from an object that is a reference source called a root set. The non-live object is an object other than the live object among the objects on the memory. In GC, the memory area of this non-live object is released.

前記したとおり、仮想マシンは、NEW領域上に生成したオブジェクト(短命制御信号オブジェクトおよび長命コールオブジェクト、ガベージも含む)が、NEW領域サイズいっぱいになると、すなわちスカベンジGC周期Tを迎えるとスカベンジGCを行う。これにより、NEW領域のライブオブジェクトがマークされ、OLD領域にコピーされ、NEW領域において当該オブジェクトのために確保されていた領域は解放される。例えば、図3に示すように、仮想マシンはNEW領域の短命制御信号オブジェクトおよび長命コールオブジェクトのうち、ライブオブジェクトをOLD領域にコピーする。そして、NEW領域において、放棄済オブジェクト(非ライブオブジェクト)およびコピーされたライブオブジェクトに割り当てられていた領域は解放され、NEW領域サイズのうちオブジェクトにより占有されるサイズが0になる(グラフ201参照)。これによりNEW領域に新たなオブジェクトを受け入れるための領域が確保される。なお、このスカベンジGC周期Tは、短命制御信号オブジェクト平均保留時間(平均生存時間)よりも長いことが想定されるので、短命制御信号オブジェクトは、スカベンジGC周期Tを迎える前に放棄済オブジェクト(非ライブオブジェクト)となる可能性がある。また、仮想マシンは、OLD領域のライブオブジェクトのマークを行い、その後、NEW領域からコピーされたライブオブジェクトのリマークを行う。そして、OLD領域でマークおよびリマークされたオブジェクト(ライブオブジェクト)以外のオブジェクト(放棄済オブジェクト)のスィープを行う。つまり、放棄済オブジェクトに割り当てられていた領域の解放が行われる。これにより、OLD領域サイズのうちオブジェクトにより占有されるサイズが減少する(グラフ202参照)。これによりOLD領域に新たなオブジェクトを受け入れるための領域が確保される。なお、図3に示すスカベンジGC停止時間t1(スカベンジGCによるNEW領域のオブジェクトのマークとOLD領域へのコピー時間)およびリマーク停止時間t2(CMSによるNEW領域からOLD領域へコピーされたライブオブジェクト群のリマーク時間)の合計値が仮想マシンにおけるGC時のプログラム停止時間となる。   As described above, the virtual machine performs scavenging GC when an object generated on the NEW area (including a short-lived control signal object, a long-lived call object, and garbage) reaches the NEW area size, that is, when the scavenging GC period T is reached. . As a result, the live object in the NEW area is marked, copied to the OLD area, and the area reserved for the object in the NEW area is released. For example, as shown in FIG. 3, the virtual machine copies a live object among the short-lived control signal object and long-lived call object in the NEW area to the OLD area. Then, in the NEW area, the area allocated to the abandoned object (non-live object) and the copied live object is released, and the size occupied by the object in the NEW area size becomes 0 (see graph 201). . Thereby, an area for accepting a new object is secured in the NEW area. In addition, since it is assumed that this scavenge GC cycle T is longer than the short-lived control signal object average holding time (average survival time), the short-lived control signal object is not abandoned object (non-free) before reaching the scavenge GC cycle T. Live object). Further, the virtual machine marks the live object in the OLD area, and then remarks the live object copied from the NEW area. Then, sweeping of objects (abandoned objects) other than the object (live object) marked and remarked in the OLD area is performed. That is, the area allocated to the abandoned object is released. As a result, the size occupied by the object in the OLD area size decreases (see graph 202). Thereby, an area for accepting a new object is secured in the OLD area. It should be noted that the scavenge GC stop time t1 shown in FIG. 3 (the mark of the object in the NEW area and the copy time to the OLD area by the scavenge GC) and the remark stop time t2 (the live object group copied from the NEW area to the OLD area by the CMS) The total value of the remark time) is the program stop time during GC in the virtual machine.

前記したとおり、チューニングパラメータ値計算部12は、NEW領域サイズ(最適なNEW領域サイズ)を、以下の式(1)および式(2)により求める。   As described above, the tuning parameter value calculation unit 12 obtains the NEW region size (optimum NEW region size) by the following equations (1) and (2).

NEW領域サイズ=スカベンジGC周期T×単位時間あたりのコール発生数(A1)×(コール1つあたりの長命コールオブジェクト数(B2)×長命コールオブジェクトのサイズ(B5)+コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクトのサイズ(B4))…式(1)   NEW area size = scavenge GC cycle T × number of calls per unit time (A1) × (number of long-lived call objects per call (B2) × long-lived call object size (B5) + control signal per call Number (A2) × number of short-lived control signal objects per control signal (B1) × size of short-lived control signal object (B4)) (1)

式(1)における(単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2)×長命コールオブジェクトのサイズ(B5))は、単位時間あたりにNEW領域において長命コールオブジェクトの占める合計サイズを示す。   In Equation (1), (number of calls generated per unit time (A1) × number of long-lived call objects per call (B2) × size of long-lived call objects (B5)) is a long-lived call in the NEW area per unit time. Indicates the total size occupied by the object.

また、式(1)における(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)×短命制御信号オブジェクトのサイズ(B4))は、単位時間あたりにNEW領域において短命制御信号オブジェクトの占める合計サイズの平均値を示す。   Also, in equation (1), (number of calls generated per unit time (A1) × number of control signals per call (A2) × number of short-lived control signal objects per control signal (B1) × short-lived control signal object Average hold time (B3) × size of short-lived control signal object (B4)) indicates an average value of the total size occupied by the short-lived control signal object in the NEW area per unit time.

つまり、仮想マシンに必要なNEW領域サイズは、スカベンジGC時にNEW領域に存在するオブジェクト(短命制御信号オブジェクトと長命コールオブジェクト)の合計サイズ)分あればよいので、仮想マシンに必要なNEW領域サイズを、スカベンジGC周期×単位時間あたりNEW領域に存在するオブジェクト(短命制御信号オブジェクトと長命コールオブジェクト)が占める合計サイズとしている。   In other words, the NEW area size required for the virtual machine only needs to be equal to the number of objects (short life control signal object and long life call object) existing in the NEW area during scavenging GC. , Scavenge GC period x total size occupied by objects (short-life control signal object and long-lived call object) existing in the NEW area per unit time.

また、式(1)において、単位時間あたりNEW領域において短命制御信号オブジェクトの占める合計サイズの平均値を、(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)×短命制御信号オブジェクトのサイズ(B4))としているのは、短命制御信号オブジェクトの生存時間がスカベンジGC周期Tよりも短いことが想定されるからである。つまり、スカベンジGC時に、NEW領域に短命制御信号オブジェクトがすべて存続しているとは限らないからである。   Further, in equation (1), the average value of the total size occupied by the short-lived control signal object in the NEW area per unit time is expressed as (number of calls generated per unit time (A1) × number of control signals per call (A2)) X number of short-lived control signal objects per control signal (B1) x short-lived control signal object average holding time (B3) x short-lived control signal object size (B4)) This is because it is assumed that it is shorter than the scavenge GC cycle T. That is, at the time of scavenging GC, not all short-lived control signal objects exist in the NEW area.

さらに、式(1)で用いるスカベンジGC周期Tを、式(2)に示すように、
スカベンジGC周期T={目標停止時間(D)−(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(C2)+単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間(C3))}/(単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2)×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(C2)+単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2)×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間(C3))…式(2)
としている。なお、式(2)における目標停止時間(D)は、システムの設計者等が仮想マシンに許容するプログラム停止時間の最大値である。
Further, the scavenge GC period T used in the equation (1) is expressed by the following equation (2):
Scavenge GC period T = {target stop time (D) − (number of calls per unit time (A1) × number of control signals per call (A2) × number of short-lived control signal objects per control signal (B1) ) X short-lived control signal object average hold time (B3) x mark and copy time per object in the NEW area in scavenge GC (C2) + number of calls generated per unit time (A1) x control signal per call Number (A2) × short-lived control signal object number per control signal (B1) × short-lived control signal object average holding time (B3) × remark time per object copied to the OLD area in CMS (C3)) } / (Number of calls per unit time (A1) x Number of long-lived call objects per call (B2) x Ska Mark and copy time per object in the NEW area in Benji GC (C2) + number of calls per unit time (A1) x number of long-lived call objects per call (B2) x copied to the OLD area in CMS Remark time per object (C3)) (2)
It is said. The target stop time (D) in equation (2) is the maximum program stop time allowed for the virtual machine by the system designer or the like.

また、式(2)における(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(C2))は、スカベンジGCにおけるNEW領域の短命制御信号オブジェクトのマークおよびコピー時間の合計値を示す。   Also, in equation (2), (number of calls per unit time (A1) × number of control signals per call (A2) × number of short-lived control signal objects per control signal (B1) × short-lived control signal object Average hold time (B3) × mark and copy time per object in NEW area in scavenge GC (C2)) indicates the total value of the mark and copy time of the short-lived control signal object in the NEW area in scavenge GC.

さらに、式(2)における(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間(C3))は、CMSにおけるOLD領域にコピーされた短命制御信号オブジェクトのリマーク時間の合計値を示す。   Further, in Expression (2), (number of calls per unit time (A1) × number of control signals per call (A2) × number of short-lived control signal objects per control signal (B1) × short-lived control signal objects The average hold time (B3) × remark time (C3) per object copied to the OLD area in the CMS) indicates the total value of the remark times of the short-lived control signal objects copied to the OLD area in the CMS.

また、式(2)における(単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2)×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(C2))は、スカベンジGCにおけるNEW領域の長命コールオブジェクトのマークおよびコピー時間の合計値を示す。   Also, the number of calls per unit time (A1) × the number of long-lived call objects per call (B2) × the mark and copy time per object in the NEW area in the scavenge GC (C2) ) Indicates the total value of the mark and copy time of the long-lived call object in the NEW area in the scavenge GC.

さらに、式(2)における(単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2)×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間(C3))は、CMSにおけるOLD領域にコピーされた長命コールオブジェクトのリマーク時間の合計値を示す。   Further, in Expression (2), (number of calls per unit time (A1) × number of long-lived call objects per call (B2) × remark time per object copied to the OLD area in CMS (C3) ) Indicates the total remark time of the long-lived call object copied to the OLD area in the CMS.

つまり、式(2)において、スカベンジGC周期Tを、{目標停止時間(D)−(スカベンジGCにおけるNEW領域の短命制御信号オブジェクトのマークおよびコピー時間の合計値+CMSにおけるOLD領域にコピーされた短命制御信号オブジェクトに対するリマーク時間の合計値)}/(スカベンジGCにおけるNEW領域の長命コールオブジェクトのマークおよびコピー時間の合計値+CMSにおけるOLD領域にコピーされた長命コールオブジェクトのリマーク時間の合計値)、すなわち、スカベンジGC周期Tを、{目標停止時間(D)−(短命制御信号オブジェクトのマークおよびコピーおよびリマークによるプログラム停止時間)}/(長命コールオブジェクトのマークおよびコピーおよびリマークによるプログラム停止時間)としている。なお、スカベンジGC周期Tを、目標停止時間−(短命制御信号オブジェクトのマークおよびコピーおよびリマークによるプログラム停止時間)/(長命コールオブジェクトのマークおよびコピーおよびリマークによるプログラム停止時間)としているのは、前記したとおり、短命制御信号オブジェクトの生存時間がスカベンジGC周期Tよりも短いことが想定されるからである。   In other words, in the equation (2), the scavenge GC cycle T is expressed as follows: {target stop time (D)-(total value of the short life control signal object in the NEW area in the scavenge GC and the copy time + the short life copied in the OLD area in the CMS Total value of remark time for control signal object)} / (total value of mark and copy time of NEW area long-lived call object in scavenge GC + total value of remark time of long-lived call object copied to OLD area in CMS), , {Target stop time (D)-(Program stop time due to mark, copy and remark of short-lived control signal object)} / (Program stop due to mark, copy and remark of long-lived call object) ) To be. The scavenge GC period T is set as the target stop time− (program stop time due to mark, copy and remark of short-lived control signal object) / (program stop time due to mark, copy and remark of long-lived call object) This is because it is assumed that the life time of the short-lived control signal object is shorter than the scavenge GC period T.

なお、仮想マシンチューニング値計算装置10は、複数の仮想マシン(サーバ20)からなるシステムにおける、仮想マシンそれぞれのNEW領域サイズ(チューニングパラメータ値)を計算するようにしてもよい。例えば、図4に示すように、システムがサーバ20(サーバ20a,20b,…,20n)により構成される場合を考える。この場合、図1の仮想マシンチューニング値計算装置10のチューニングパラメータ値計算部12は、入力部11経由で入力されたシステム全体の目標停止時間をサーバ20(サーバ20a,20b,…,20n)ごとに分配する。つまり、システム全体の目標停止時間から、サーバ20それぞれの目標停止時間を求めておく。ここでのサーバ20それぞれの目標停止時間は、例えば、システム全体の目標停止時間を、各サーバ20(サーバ20a,20b,…,20n)に均等に分配した値や、各サーバ20の処理能力に応じて分配した値等が考えられる。このサーバ20それぞれの目標停止時間は、その合計値がシステム全体の目標停止時間となれば、システム開発者が設定した任意の値であってもよい。そして、チューニングパラメータ値計算部12は、サーバ20(サーバ20a,20b,…,20n)それぞれの目標停止時間と、サーバ20(サーバ20a,20b,…,20n)それぞれのアプリケーションモデル情報、トラヒックモデル情報およびGC動作パラメータ情報とを用いて、サーバ20(サーバ20a,20b,…,20n)それぞれのNEW領域サイズ(チューニングパラメータ値)を計算する。このようにすることで、システムが複数の仮想マシンからなる場合において、各仮想マシンに設定するNEW領域サイズ(チューニングパラメータ値)を求めることができる。   Note that the virtual machine tuning value calculation apparatus 10 may calculate a NEW area size (tuning parameter value) of each virtual machine in a system including a plurality of virtual machines (servers 20). For example, as shown in FIG. 4, a case is considered where the system is configured by servers 20 (servers 20a, 20b,..., 20n). In this case, the tuning parameter value calculation unit 12 of the virtual machine tuning value calculation apparatus 10 in FIG. 1 sets the target stop time of the entire system input via the input unit 11 for each server 20 (servers 20a, 20b,..., 20n). To distribute. That is, the target stop time of each server 20 is obtained from the target stop time of the entire system. The target stop time of each server 20 here is, for example, a value obtained by equally distributing the target stop time of the entire system to each server 20 (servers 20a, 20b,..., 20n) or the processing capacity of each server 20. A value distributed in accordance with this can be considered. The target stop time of each server 20 may be an arbitrary value set by the system developer as long as the total value becomes the target stop time of the entire system. Then, the tuning parameter value calculation unit 12 sets the target stop time of each of the servers 20 (servers 20a, 20b,..., 20n) and the application model information and traffic model information of each of the servers 20 (servers 20a, 20b,..., 20n). And the NEW region size (tuning parameter value) of each of the servers 20 (servers 20a, 20b,..., 20n) is calculated using the GC operation parameter information. In this way, when the system is composed of a plurality of virtual machines, the NEW area size (tuning parameter value) set for each virtual machine can be obtained.

なお、前記した実施の形態において、仮想マシンに設定するNEW領域サイズ(最適NEW領域サイズ)を求める際、仮想マシンの目標停止時間(GC時のプログラム停止時間の目標値)を用いることとしたが、これ以外の条件を用いるようにしてもよい。   In the embodiment described above, the target stop time of the virtual machine (target value of program stop time during GC) is used when determining the NEW area size (optimum NEW area size) to be set in the virtual machine. Other conditions may be used.

一般的に、仮想マシンのGC時のプログラム停止時間はできるだけ短い方が好ましい。ここでプログラム停止時間は、NEW領域サイズ(特にNEW領域のEden領域のサイズ)を小さくすると短くなるが、単純にNEW領域(特にNEW領域のEden領域のサイズ)を小さくすればよいというわけではない。これは以下の理由による。   Generally, it is preferable that the program stop time at the time of GC of the virtual machine is as short as possible. Here, the program stop time is shortened when the NEW area size (especially, the size of the Eden area of the NEW area) is reduced, but it is not always necessary to simply reduce the NEW area (especially the size of the Eden area of the NEW area). . This is due to the following reason.

前記した実施の形態において、短命制御信号オブジェクトの生存(保留)時間は、スカベンジGC周期Tよりも短いことを前提としている。しかし、NEW領域を小さくしすぎると、NEW領域がすぐにオブジェクト群でいっぱいになる。これにより、短命制御信号オブジェクトの平均生存(保留)時間よりも早くスカベンジGCが実行されるおそれがある。このため、NEW領域で発生した短命制御信号オブジェクトが、スカベンジGCによりOLD領域へコピーされる確率も増えることになる。つまり、スカベンジGCにおいて、NEW領域からOLD領域へのオブジェクトのコピー時間が増え、また、このようにOLD領域にコピーされるオブジェクト数が増えると、OLD領域でのCMSにおけるリマーク時間も増加し、その結果、プログラム停止時間が増加することになる。また、このようにNEW領域サイズ(特にNEW領域のEden領域のサイズ)を小さくしすぎると、仮想マシンの稼動率も著しく低下することにもなる。なお、ここでの稼働率は、仮想マシンにおけるアプリケーションの実行時間/(仮想マシンにおけるアプリケーションの実行時間+スカベンジGC停止時間t1)である。つまり、稼動率=スカベンジGC周期T/(スカベンジGC周期T+スカベンジGC停止時間t1)である。   In the above-described embodiment, it is assumed that the survival (holding) time of the short-lived control signal object is shorter than the scavenge GC cycle T. However, if the NEW area is too small, the NEW area is immediately filled with objects. As a result, the scavenge GC may be executed earlier than the average survival (holding) time of the short-lived control signal object. For this reason, the probability that the short-lived control signal object generated in the NEW area is copied to the OLD area by the scavenge GC is also increased. That is, in the scavenge GC, the copy time of the object from the NEW area to the OLD area increases, and when the number of objects copied to the OLD area increases in this way, the remark time in the CMS in the OLD area also increases. As a result, the program stop time increases. Further, if the NEW area size (particularly the size of the Eden area of the NEW area) is made too small as described above, the operating rate of the virtual machine is also significantly reduced. The operating rate here is the execution time of the application in the virtual machine / (the execution time of the application in the virtual machine + the scavenge GC stop time t1). That is, operation rate = scavenge GC cycle T / (scavenge GC cycle T + scavenge GC stop time t1).

従って、仮想マシンのチューニング値(例えば、NEW領域サイズ)の計算においては、仮想マシンのGC時のプログラム停止時間が目標停止時間(D)以下であることに加え、スカベンジGC周期Tが短命制御信号オブジェクト平均保留時間(B3)よりも長いこと、および、仮想マシンの稼働率が目標値を超えていることを考慮するのが好ましい。   Therefore, in the calculation of the tuning value (for example, NEW area size) of the virtual machine, in addition to the program stop time during the GC of the virtual machine being equal to or less than the target stop time (D), the scavenge GC cycle T is a short-lived control signal. It is preferable to consider that it is longer than the object average hold time (B3) and that the operating rate of the virtual machine exceeds the target value.

図5は、仮想マシンのNEW領域サイズに対する、仮想マシンの稼働率を例示した図である。図5に示すように、NEW領域サイズは仮想マシンの稼働率が下限値(目標値)を超えていることが必要である。さらに、この仮想マシンの稼働率が下限値(目標値)を超えているNEW領域サイズの範囲の中で、短命制御信号オブジェクトが複数のGCに遭遇せず(つまり、スカベンジGC周期T>短命制御信号オブジェクト平均保留時間(B3)であり)、かつ、仮想マシンのプログラム停止時間が目標停止時間(D)未満の範囲が適切なNEW領域サイズとなる。つまり、図5に示すS1〜S2の範囲が、NEW領域の適切な範囲となる。   FIG. 5 is a diagram illustrating the operating rate of the virtual machine with respect to the NEW area size of the virtual machine. As shown in FIG. 5, the NEW area size requires that the operating rate of the virtual machine exceeds the lower limit (target value). Further, the short-lived control signal object does not encounter a plurality of GCs within the NEW region size range in which the operating rate of the virtual machine exceeds the lower limit (target value) (that is, scavenge GC cycle T> short-lived control). The range of the signal object average holding time (B3)) and the program stop time of the virtual machine less than the target stop time (D) is an appropriate NEW area size. That is, the range of S1 to S2 shown in FIG. 5 is an appropriate range of the NEW area.

よって、仮想マシンチューニング値計算装置10のチューニングパラメータ値計算部12は、仮想マシンに設定するNEW領域サイズを計算する際、式(3)〜式(7)を用いて、適切なNEW領域サイズの範囲を計算するようにしてもよい。   Therefore, the tuning parameter value calculation unit 12 of the virtual machine tuning value calculation apparatus 10 calculates an appropriate NEW region size using Equations (3) to (7) when calculating the NEW region size set in the virtual machine. The range may be calculated.

目標停止時間(D)>スカベンジGC停止時間t1+リマーク停止時間t2…式(3)
スカベンジGC周期T>短命制御信号オブジェクト平均保留時間(B3)…式(4)
スカベンジGC周期T/(スカベンジGC周期T+スカベンジGC停止時間t1)>稼動率の目標値…式(5)
ただし、
スカベンジGC停止時間t1=(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)+スカベンジGC周期T×単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2))×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間(C2)…式(6)
リマーク停止時間t2=(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3)+スカベンジGC周期×単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2))×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間(C3)…式(7)
Target stop time (D)> scavenge GC stop time t1 + remark stop time t2 Formula (3)
Scavenge GC cycle T> short-lived control signal object average holding time (B3) Equation (4)
Scavenge GC cycle T / (scavenge GC cycle T + scavenge GC stop time t1)> target value of operating rate (5)
However,
Scavenge GC stop time t1 = (number of calls per unit time (A1) × number of control signals per call (A2) × number of short-lived control signal objects per control signal (B1) × short-lived control signal object average Holding time (B3) + scavenge GC cycle T × number of calls per unit time (A1) × number of long-lived call objects per call (B2)) × mark and copy per object in NEW area in scavenge GC Time (C2) ... Formula (6)
Remark stop time t2 = (number of calls per unit time (A1) × number of control signals per call (A2) × number of short-lived control signal objects per control signal (B1) × short-lived control signal object average hold Time (B3) + scavenge GC period × number of calls per unit time (A1) × number of long-lived call objects per call (B2)) × remark time per object copied to OLD area in CMS ( C3) ... Formula (7)

なお、式(6)および式(7)の(単位時間あたりのコール発生数(A1)×コール1つあたりの制御信号数(A2)×制御信号1つあたりの短命制御信号オブジェクト数(B1)×短命制御信号オブジェクト平均保留時間(B3))は、スカベンジGC時においてNEW領域に生存する短命制御信号オブジェクト数の平均値を示す。   It should be noted that the number of calls generated per unit time (A1) × the number of control signals per call (A2) × the number of short-lived control signal objects per control signal (B1) in Expression (6) and Expression (7) X Short-lived control signal object average holding time (B3)) indicates an average value of the number of short-lived control signal objects that survive in the NEW area during scavenge GC.

式(6)および式(7)の(スカベンジGC周期T×単位時間あたりのコール発生数(A1)×コール1つあたりの長命コールオブジェクト数(B2))は、スカベンジGC周期の間に発生する長命コールオブジェクト数を示す。つまり、スカベンジGC時にNEW領域に生存する長命コールオブジェクト数を示す。   Expression (6) and Expression (7) (scavenge GC period T × number of calls per unit time (A1) × number of long-lived call objects per call (B2)) occur during the scavenge GC period. Indicates the number of long-lived call objects. That is, it indicates the number of long-lived call objects that survive in the NEW area during scavenging GC.

なお、複数の仮想マシン(サーバ20)からなるシステムにおいて、仮想マシンそれぞれの適切なNEW領域サイズの範囲を求める場合にも、前記したとおり、システム全体の目標停止時間をサーバ20(サーバ20a,20b,…,20n)ごとに分配する。そして、チューニングパラメータ値計算部12は、サーバ20(サーバ20a,20b,…,20n)それぞれの目標停止時間と、サーバ20(サーバ20a,20b,…,20n)それぞれのアプリケーションモデル情報、トラヒックモデル情報およびGC動作パラメータ情報とを用いて、サーバ20(サーバ20a,20b,…,20n)それぞれの適切なNEW領域サイズ(チューニングパラメータ値)の範囲を計算するようにしてもよい。   Note that, in a system composed of a plurality of virtual machines (servers 20), as described above, when determining an appropriate NEW area size range for each virtual machine, the target stop time of the entire system is set to the server 20 (servers 20a and 20b). , ..., 20n). Then, the tuning parameter value calculation unit 12 sets the target stop time of each of the servers 20 (servers 20a, 20b,..., 20n) and the application model information and traffic model information of each of the servers 20 (servers 20a, 20b,..., 20n). And the range of the appropriate NEW area size (tuning parameter value) for each of the servers 20 (servers 20a, 20b,..., 20n) may be calculated using the GC operation parameter information.

なお、仮想マシン上で動作するアプリケーションの設計においては、各オブジェクトのサイズや数が、GCによるプログラム停止時間(前記したスカベンジGC停止時間t1やリマーク停止時間t2)に影響する。このため、この各オブジェクトのサイズや数の設定が重要である。つまり、前記した短命制御信号オブジェクト数(B1)、短命制御信号オブジェクトのサイズ(B4)、長命コールオブジェクト数(B2)および長命コールオブジェクトのサイズ(B5)の設定が重要である。ここで、仮想マシンの目標停止時間(D)、稼動率の目標値等を決めておけば、前記したチューニング値計算アルゴリズムを用いることで、短命制御信号オブジェクトおよび長命コールオブジェクトそれぞれのサイズや数がとりうる範囲は限定される。例えば、チューニング値計算アルゴリズムを用いることで、仮想マシンのプログラム停止時間が目標停止時間(D)未満となる、短命制御信号オブジェクト数(B1)×短命制御信号オブジェクトのサイズ(B4)の値および長命コールオブジェクト数(B2)×長命コールオブジェクトのサイズ(B5)の値の組み合わせは、図6のハッチング部分の範囲となる。このように短命制御信号オブジェクト数(B2)×短命制御信号オブジェクトのサイズ(B4)の値および長命コールオブジェクト数(B2)×長命コールオブジェクトのサイズ(B5)の値のとりうる範囲が事前に分かることで、システム開発者は、プログラム停止時間を目標停止時間(D)未満とするアプリケーションの設計を容易に行うことができる。   In designing an application operating on a virtual machine, the size and number of each object affect the program stop time (the scavenge GC stop time t1 and the remark stop time t2 described above) due to GC. Therefore, setting the size and number of each object is important. That is, the settings of the number of short-lived control signal objects (B1), the size of short-lived control signal objects (B4), the number of long-lived call objects (B2), and the size of long-lived call objects (B5) are important. Here, if the target stop time (D) of the virtual machine, the target value of the operation rate, etc. are determined, the size and number of the short-lived control signal object and the long-lived call object can be determined by using the tuning value calculation algorithm described above. The range that can be taken is limited. For example, by using a tuning value calculation algorithm, the value of the number of short-lived control signal objects (B1) × the size of short-lived control signal objects (B4) and the long-lived, in which the program stop time of the virtual machine is less than the target stop time (D) The combination of the value of the number of call objects (B2) × the size of the long-lived call object (B5) is within the hatched range in FIG. Thus, the possible range of the value of the number of short-lived control signal objects (B2) × the size of the short-lived control signal object (B4) and the value of the number of long-lived call objects (B2) × the size of the long-lived call object (B5) can be known in advance. Thus, the system developer can easily design an application in which the program stop time is less than the target stop time (D).

10 仮想マシンチューニング値計算装置
11 入力部
12 チューニングパラメータ値計算部
13 出力部
20 サーバ
111 アプリケーションモデル入力部
112 トラヒックモデル入力部
113 GC動作パラメータ入力部
114 目標停止時間入力部
131 チューニングパラメータ値出力部
DESCRIPTION OF SYMBOLS 10 Virtual machine tuning value calculation apparatus 11 Input part 12 Tuning parameter value calculation part 13 Output part 20 Server 111 Application model input part 112 Traffic model input part 113 GC operation parameter input part 114 Target stop time input part 131 Tuning parameter value output part

Claims (5)

通信ノードに用いられる仮想マシンに設定するメモリのNEW領域サイズを計算する仮想マシンチューニング値計算装置であって、
前記仮想マシンは、前記メモリ上のNEW領域のGC(ガベージコレクション)の方式としてスカベンジGCを採用し、前記メモリ上のOLD領域のGCの方式としてCMS(Concurrent Mark & Sweep)を採用する仮想マシンであり、
前記仮想マシンに用いられるアプリケーションは、他の端末装置が前記仮想マシンにアクセスしてから処理を終了するまでの一連の動作を、複数の制御信号が関連するコールとして管理し、前記コールに対するオブジェクトとして1以上の長命コールオブジェクトを生成し、前記制御信号に対するオブジェクトとして1以上の短命制御信号オブジェクトを生成するアプリケーションであり、
前記アプリケーションにおける、単位時間あたりのコール発生数と、前記コール1つあたりの制御信号数とを示したトラヒックモデル情報と、
前記制御信号1つあたりの短命制御信号オブジェクト数と、前記コール1つあたりの長命コールオブジェクト数と、短命制御信号オブジェクト平均保留時間と、前記短命制御信号オブジェクトのサイズと、前記長命コールオブジェクトのサイズとを示したアプリケーションモデル情報と、
前記スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間と、前記CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間とを示したGC動作パラメータ情報と、
前記仮想マシンにおけるGC時のプログラム停止時間の目標値である目標停止時間との入力を受け付け、記憶部に記憶し、
前記記憶部の、前記トラヒックモデル情報、前記アプリケーションモデル情報、前記GC動作パラメータ情報および前記目標停止時間を用いて、
以下の式(1)および式(2)により前記NEW領域サイズを計算するチューニングパラメータ値計算部を備えることを特徴とする仮想マシンチューニング値計算装置。
NEW領域サイズ=スカベンジGC周期T×単位時間あたりのコール発生数×(コール1つあたりの長命コールオブジェクト数×長命コールオブジェクトのサイズ+コール1つあたりの制御信号数×制御信号1つあたりの短命制御信号オブジェクト数×短命制御信号オブジェクトのサイズ)…式(1)
ただし、
スカベンジGC周期T={目標停止時間−(単位時間あたりのコール発生数×コール1つあたりの制御信号数×制御信号1つあたりの短命制御信号オブジェクト数×短命制御信号オブジェクト平均保留時間×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間+単位時間あたりのコール発生数×コール1つあたりの制御信号数×制御信号1つあたりの短命制御信号オブジェクト数×短命制御信号オブジェクト平均保留時間×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間)}/(単位時間あたりのコール発生数×コール1つあたりの長命コールオブジェクト数×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間+単位時間あたりのコール発生数×コール1つあたりの長命コールオブジェクト数×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間)…式(2)
A virtual machine tuning value calculation device for calculating a NEW area size of a memory set in a virtual machine used for a communication node,
The virtual machine, the virtual machine that the scavenge GC adopted as a method of GC (garbage collection) of NEW area on the memory, to adopt a CMS (Concurrent Mark & Sweep) as a method of GC of OLD region on the memory Yes,
The application used for the virtual machine manages a series of operations from when another terminal device accesses the virtual machine to the end of processing as a call related to a plurality of control signals, and as an object for the call. An application that generates one or more long-lived call objects and generates one or more short-lived control signal objects as objects for the control signal;
Traffic model information indicating the number of calls generated per unit time and the number of control signals per call in the application;
The number of short-lived control signal objects per control signal, the number of long-lived call objects per call, the average short-lived control signal object holding time, the size of the short-lived control signal object, and the size of the long-lived call object Application model information indicating
GC operation parameter information indicating the mark and copy time per object in the NEW area in the scavenge GC and the remark time per object copied to the OLD area in the CMS;
Receiving an input of a target stop time which is a target value of a program stop time at the time of GC in the virtual machine, and storing it in a storage unit;
Using the traffic model information, the application model information, the GC operation parameter information, and the target stop time of the storage unit,
A virtual machine tuning value calculation device comprising a tuning parameter value calculation unit for calculating the NEW region size according to the following equations (1) and (2).
NEW area size = scavenge GC cycle T × number of calls per unit time × (number of long-lived call objects per call × size of long-lived call object + number of control signals per call × short life per control signal Number of control signal objects × size of short-lived control signal object) (1)
However,
Scavenge GC cycle T = {target stop time− (number of calls per unit time × number of control signals per call × number of short-lived control signal objects per control signal × short-lived control signal object average holding time × scavenge GC Mark and copy time per object in the NEW area + number of calls generated per unit time x number of control signals per call x number of short-lived control signal objects per control signal x short-lived control signal object average hold time X Remark time per object copied to OLD area in CMS} / (Number of calls per unit time x Number of long-lived call objects per call x Mark per object in NEW area in scavenge GC And copy time + call per unit time Number of long-lived call objects per call × remark time per object copied to the OLD area in CMS) (2)
前記チューニングパラメータ値計算部が、複数の前記仮想マシンからなるシステムにおける前記仮想マシンそれぞれの前記NEW領域サイズを計算するとき、
前記仮想マシンそれぞれの、前記トラヒックモデル情報、前記アプリケーションモデル情報および前記GC動作パラメータ情報と、前記システム全体の目標停止時間を分配した前記仮想マシンそれぞれの目標停止時間とを用いて、
前記式(1)および式(2)により前記仮想マシンそれぞれの前記NEW領域サイズを計算することを特徴とする請求項1に記載の仮想マシンチューニング値計算装置。
When the tuning parameter value calculation unit calculates the NEW area size of each of the virtual machines in a system including a plurality of the virtual machines,
Using the traffic model information, the application model information, and the GC operation parameter information of each of the virtual machines, and the target stop time of each of the virtual machines that distributes the target stop time of the entire system,
The virtual machine tuning value calculation apparatus according to claim 1, wherein the NEW area size of each of the virtual machines is calculated by the expressions (1) and (2).
前記仮想マシンチューニング値計算装置は、
さらに、前記仮想マシンにおける稼動率の目標値の入力を受け付け、前記記憶部に記憶し、
前記チューニングパラメータ値計算部が、前記仮想マシンに設定する前記NEW領域サイズを計算する際に、前記記憶部の、前記トラヒックモデル情報、前記アプリケーションモデル情報、前記GC動作パラメータ情報、前記目標停止時間および前記稼動率の目標値を用いて、
以下の式(3)〜式(7)により前記NEW領域サイズの範囲を計算することを特徴とする請求項1に記載の仮想マシンチューニング値計算装置。
目標停止時間>スカベンジGC停止時間t1+リマーク停止時間t2…式(3)
スカベンジGC周期T>短命制御信号オブジェクト平均保留時間…式(4)
スカベンジGC周期T/(スカベンジGC周期T+スカベンジGC停止時間t1)>稼動率の目標値…式(5)
ただし、
スカベンジGC停止時間t1=(単位時間あたりのコール発生数×コール1つあたりの制御信号数×制御信号1つあたりの短命制御信号オブジェクト数×短命制御信号オブジェクト平均保留時間+スカベンジGC周期T×単位時間あたりのコール発生数×コール1つあたりの長命コールオブジェクト数)×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間…式(6)
リマーク停止時間t2=(単位時間あたりのコール発生数×コール1つあたりの制御信号数×制御信号1つあたりの短命制御信号オブジェクト数×短命制御信号オブジェクト平均保留時間+スカベンジGC周期×単位時間あたりのコール発生数×コール1つあたりの長命コールオブジェクト数)×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間…式(7)
The virtual machine tuning value calculation device is:
Further, it receives an input of the target value of the operating rate of the virtual machine, and stored in the storage unit,
When the tuning parameter value calculation unit calculates the NEW region size to be set in the virtual machine, the traffic model information, the application model information, the GC operation parameter information, the target stop time, and the storage unit are stored in the storage unit. Using the target value of the operating rate,
The following equation (3) Virtual Machine tuning value calculating device according to claim 1, wherein the benzalkonium to calculate the range of the NEW area size by to (7).
Target stop time> scavenge GC stop time t1 + remark stop time t2 Formula (3)
Scavenge GC period T> short-lived control signal object average holding time (4)
Scavenge GC cycle T / (scavenge GC cycle T + scavenge GC stop time t1)> target value of operating rate (5)
However,
Scavenge GC stop time t1 = (number of calls generated per unit time × number of control signals per call × number of short-lived control signal objects per control signal × short-lived control signal object average holding time + scavenge GC cycle T × unit Number of calls per time x number of long-lived call objects per call) x mark and copy time per object in NEW area in scavenge GC (6)
Remark stop time t2 = (number of calls per unit time × number of control signals per call × number of short-lived control signal objects per control signal × short-lived control signal object average hold time + scavenge GC cycle × per unit time Number of call occurrences x number of long-lived call objects per call) x remark time per object copied to OLD area in CMS (7)
通信ノードに用いられる仮想マシンに設定するメモリのNEW領域サイズを計算する仮想マシンチューニング値計算方法であって、
前記仮想マシンは、前記メモリ上のNEW領域のGC(ガベージコレクション)の方式としてスカベンジGCを採用し、前記メモリ上のOLD領域のGCの方式としてCMS(Concurrent Mark & Sweep)を採用する仮想マシンであり、
前記仮想マシンに用いられるアプリケーションは、他の端末装置が前記仮想マシンにアクセスしてから処理を終了するまでの一連の動作を、複数の制御信号が関連するコールとして管理し、前記コールに対するオブジェクトとして1以上の長命コールオブジェクトを生成し、前記制御信号に対するオブジェクトとして1以上の短命制御信号オブジェクトを生成するアプリケーションであり、
前記NEW領域サイズを計算する仮想マシンチューニング値計算装置が、
前記アプリケーションにおける、単位時間あたりのコール発生数と、前記コール1つあたりの制御信号数とを示したトラヒックモデル情報と、
前記制御信号1つあたりの短命制御信号オブジェクト数と、前記コール1つあたりの長命コールオブジェクト数と、短命制御信号オブジェクト平均保留時間と、前記短命制御信号オブジェクトのサイズと、前記長命コールオブジェクトのサイズとを示したアプリケーションモデル情報と、
前記スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間と、前記CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間とを示したGC動作パラメータ情報と、
前記仮想マシンにおけるGC時のプログラム停止時間の目標値である目標停止時間との入力を受け付け、記憶部に記憶するステップと、
前記記憶部の、前記トラヒックモデル情報、前記アプリケーションモデル情報、前記GC動作パラメータ情報および前記目標停止時間を用いて、
以下の式(1)および式(2)により前記NEW領域サイズを計算するステップとを実行することを特徴とする仮想マシンチューニング値計算方法。
NEW領域サイズ=スカベンジGC周期T×(単位時間あたりのコール発生数×コール1つあたりの長命コールオブジェクト数×長命コールオブジェクトのサイズ+単位時間あたりのコール発生数×コール1つあたりの制御信号数×制御信号1つあたりの短命制御信号オブジェクト数×短命制御信号オブジェクト平均保留時間×短命制御信号オブジェクトのサイズ)…式(1)
ただし、
スカベンジGC周期T={目標停止時間−(単位時間あたりのコール発生数×コール1つあたりの制御信号数×制御信号1つあたりの短命制御信号オブジェクト数×短命制御信号オブジェクト平均保留時間×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間+単位時間あたりのコール発生数×コール1つあたりの制御信号数×制御信号1つあたりの短命制御信号オブジェクト数×短命制御信号オブジェクト平均保留時間×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間)}/(単位時間あたりのコール発生数×コール1つあたりの長命コールオブジェクト数×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間+単位時間あたりのコール発生数×コール1つあたりの長命コールオブジェクト数×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間)…式(2)
A virtual machine tuning value calculation method for calculating a NEW area size of a memory set in a virtual machine used for a communication node,
The virtual machine, the virtual machine that the scavenge GC adopted as a method of GC (garbage collection) of NEW area on the memory, to adopt a CMS (Concurrent Mark & Sweep) as a method of GC of OLD region on the memory Yes,
The application used for the virtual machine manages a series of operations from when another terminal device accesses the virtual machine to the end of processing as a call related to a plurality of control signals, and as an object for the call. An application that generates one or more long-lived call objects and generates one or more short-lived control signal objects as objects for the control signal;
A virtual machine tuning value calculation device for calculating the NEW region size is:
In the application, and call generation per unit of time, and traffic model information indicating the number of control signals per the call one,
The number of short-lived control signal objects per control signal, the number of long-lived call objects per call, the average short-lived control signal object holding time, the size of the short-lived control signal object, and the size of the long-lived call object Application model information indicating
GC operation parameter information indicating the mark and copy time per object in the NEW area in the scavenge GC and the remark time per object copied to the OLD area in the CMS;
Receiving an input of a target stop time that is a target value of a program stop time during GC in the virtual machine and storing the input in a storage unit;
Using the traffic model information, the application model information, the GC operation parameter information, and the target stop time of the storage unit,
And a step of calculating the NEW region size according to the following formulas (1) and (2):
NEW area size = scavenge GC cycle T × (number of calls generated per unit time × number of long-lived call objects per call × size of long-lived call object + number of calls generated per unit time × number of control signals per call X number of short-lived control signal objects per control signal x short-lived control signal object average holding time x size of short-lived control signal object) (1)
However,
Scavenge GC cycle T = {target stop time− (number of calls per unit time × number of control signals per call × number of short-lived control signal objects per control signal × short-lived control signal object average holding time × scavenge GC Mark and copy time per object in the NEW area + number of calls generated per unit time x number of control signals per call x number of short-lived control signal objects per control signal x short-lived control signal object average hold time X Remark time per object copied to OLD area in CMS} / (Number of calls per unit time x Number of long-lived call objects per call x Mark per object in NEW area in scavenge GC And copy time + call per unit time Number of long-lived call objects per call × remark time per object copied to the OLD area in CMS) (2)
前記仮想マシンチューニング値計算装置は、
さらに、前記仮想マシンにおける稼動率の目標値の入力を受け付け、前記記憶部に記憶するステップを実行し
前記NEW領域サイズを計算するステップを実行する際に、前記記憶部の、前記トラヒックモデル情報、前記アプリケーションモデル情報、前記GC動作パラメータ情報、前記目標停止時間および前記稼動率の目標値を用いて、
以下の式(3)〜式(7)により前記NEW領域サイズの範囲を計算するステップを実行することを特徴とする請求項4に記載の仮想マシンチューニング値計算方法。
目標停止時間>スカベンジGC停止時間t1+リマーク停止時間t2…式(3)
スカベンジGC周期T>短命制御信号オブジェクト平均保留時間…式(4)
スカベンジGC周期T/(スカベンジGC周期T+スカベンジGC停止時間t1)>稼動率の目標値…式(5)
ただし、
スカベンジGC停止時間t1=(単位時間あたりのコール発生数×コール1つあたりの制御信号数×制御信号1つあたりの短命制御信号オブジェクト数×短命制御信号オブジェクト平均保留時間+スカベンジGC周期T×単位時間あたりのコール発生数×コール1つあたりの長命コールオブジェクト数)×スカベンジGCにおけるNEW領域のオブジェクト1つあたりのマークおよびコピー時間…式(6)
リマーク停止時間t2=(単位時間あたりのコール発生数×コール1つあたりの制御信号数×制御信号1つあたりの短命制御信号オブジェクト数×短命制御信号オブジェクト平均保留時間+スカベンジGC周期×単位時間あたりのコール発生数×コール1つあたりの長命コールオブジェクト数)×CMSにおけるOLD領域にコピーされたオブジェクト1つあたりのリマーク時間…式(7)
The virtual machine tuning value calculation device is:
Further, it receives an input of the target value of the operating rate of the virtual machine, and executes the step of storing in the storage unit,
When executing the step of calculating the NEW region size, using the traffic model information, the application model information, the GC operation parameter information, the target stop time and the target value of the operation rate in the storage unit,
Virtual Machine tuning value calculation method according to claim 4, characterized in that to perform the steps of calculating the range of the NEW region size according to the following equation (3) to (7).
Target stop time> scavenge GC stop time t1 + remark stop time t2 Formula (3)
Scavenge GC period T> short-lived control signal object average holding time (4)
Scavenge GC cycle T / (scavenge GC cycle T + scavenge GC stop time t1)> target value of operating rate (5)
However,
Scavenge GC stop time t1 = (number of calls generated per unit time × number of control signals per call × number of short-lived control signal objects per control signal × short-lived control signal object average holding time + scavenge GC cycle T × unit Number of calls per time x number of long-lived call objects per call) x mark and copy time per object in NEW area in scavenge GC (6)
Remark stop time t2 = (number of calls per unit time × number of control signals per call × number of short-lived control signal objects per control signal × short-lived control signal object average hold time + scavenge GC cycle × per unit time Number of call occurrences x number of long-lived call objects per call) x remark time per object copied to OLD area in CMS (7)
JP2012198427A 2012-09-10 2012-09-10 Virtual machine tuning value calculation apparatus and virtual machine tuning value calculation method Expired - Fee Related JP5809613B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012198427A JP5809613B2 (en) 2012-09-10 2012-09-10 Virtual machine tuning value calculation apparatus and virtual machine tuning value calculation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012198427A JP5809613B2 (en) 2012-09-10 2012-09-10 Virtual machine tuning value calculation apparatus and virtual machine tuning value calculation method

Publications (2)

Publication Number Publication Date
JP2014052954A JP2014052954A (en) 2014-03-20
JP5809613B2 true JP5809613B2 (en) 2015-11-11

Family

ID=50611355

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012198427A Expired - Fee Related JP5809613B2 (en) 2012-09-10 2012-09-10 Virtual machine tuning value calculation apparatus and virtual machine tuning value calculation method

Country Status (1)

Country Link
JP (1) JP5809613B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SMT202500045T1 (en) 2011-09-09 2025-03-12 Lg Electronics Inc Image decoding method, image encoding method, and computer-readable storage medium encoded image information

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6567905B2 (en) * 2001-01-23 2003-05-20 Gemstone Systems, Inc. Generational garbage collector with persistent object cache
JP2004133752A (en) * 2002-10-11 2004-04-30 Fujitsu Ltd Server system having generation GC
JP4116877B2 (en) * 2002-12-26 2008-07-09 富士通株式会社 Heap size automatic optimization processing method, heap size automatic optimization device and program thereof
JP4996073B2 (en) * 2005-07-13 2012-08-08 富士通株式会社 Generational garbage collection program
US7953773B2 (en) * 2005-07-15 2011-05-31 Oracle International Corporation System and method for deterministic garbage collection in a virtual machine environment

Also Published As

Publication number Publication date
JP2014052954A (en) 2014-03-20

Similar Documents

Publication Publication Date Title
Derin et al. Online task remapping strategies for fault-tolerant network-on-chip multiprocessors
KR101814560B1 (en) Virtual machine migration management method, apparatus, and system
US8819653B2 (en) Automated improvement of executable applications based on evaluating independent execution heuristics
CN106133696A (en) Dynamic marks target capacity during scaling cloud resource
CN104123171B (en) Virtual machine migrating method and system based on NUMA architecture
RU2015114568A (en) AUTOMATED RESOURCE USE PROFILING
WO2018072408A1 (en) Memory analysis method, device, system and computing device
JP6558374B2 (en) Scale number estimation apparatus, scale number management system, scale number estimation method, scale number management method, and computer program
Petrov et al. Adaptive performance model for dynamic scaling Apache Spark Streaming
CN110134490B (en) Virtual machine dynamic migration method, device and storage medium
US9742684B1 (en) Adaptive service scaling
JP5809613B2 (en) Virtual machine tuning value calculation apparatus and virtual machine tuning value calculation method
WO2011027626A1 (en) Memory management method, computer system and computer readable medium
CN107678955B (en) Method, device and equipment for calculating time delay of functional interface and storage medium
JPWO2020200758A5 (en)
CN107769987B (en) Method and device for evaluating message forwarding performance
CN106598699B (en) A kind of management method and device of virtual machine
JP5809612B2 (en) Virtual machine stop time prediction apparatus and program stop time prediction value calculation method
CN107689969B (en) A method and device for determining a cache policy
CN108121507B (en) Data processing method and device and electronic equipment
CN113672489B (en) Resource performance level determination method and equipment for super computer
CN111158901A (en) Optimization method and device of computation graph, computer equipment and storage medium
CN113642638B (en) Capacity adjustment method, model training method, device, equipment and storage medium
CN106874215B (en) Serialized storage optimization method based on Spark operator
CN116932224A (en) Big data function resource consumption evaluation method and device

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20140502

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140528

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141022

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150617

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150817

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150911

R150 Certificate of patent or registration of utility model

Ref document number: 5809613

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees