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 PDFInfo
- 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
Links
- 238000004364 calculation method Methods 0.000 title claims description 46
- 230000014509 gene expression Effects 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 13
- 238000000034 method Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 8
- 229960001716 benzalkonium Drugs 0.000 claims 1
- CYDRXTMLKJDRQH-UHFFFAOYSA-N benzododecinium Chemical compound CCCCCCCCCCCC[N+](C)(C)CC1=CC=CC=C1 CYDRXTMLKJDRQH-UHFFFAOYSA-N 0.000 claims 1
- 230000002000 scavenging effect Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000004817 gas chromatography Methods 0.000 description 6
- YDLQKLWVKKFPII-UHFFFAOYSA-N timiperone Chemical compound C1=CC(F)=CC=C1C(=O)CCCN1CCC(N2C(NC3=CC=CC=C32)=S)CC1 YDLQKLWVKKFPII-UHFFFAOYSA-N 0.000 description 4
- 230000004083 survival effect Effects 0.000 description 3
- 229950000809 timiperone Drugs 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
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.
ここで、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.
以下、図面を参照しながら、本発明の仮想マシンチューニング値計算装置を実施するための形態を説明する。まず、図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
<構成>
仮想マシンチューニング値計算装置10は、アプリケーションモデル情報(後記)、トラヒックモデル情報(後記)、GC(ガベージコレクション)動作パラメータ情報(後記)およびこの仮想マシンのGC時におけるプログラム停止時間の目標値(目標停止時間)の入力を受け付けると、これらの情報および目標値に基づき、仮想マシンに設定するNEW領域サイズ(最適NEW領域サイズ)を計算し、出力する。この仮想マシンチューニング値計算装置10の機能は、入力部11、チューニングパラメータ値計算部12および出力部13に分けられる。
<Configuration>
The virtual machine tuning
入力部11および出力部13は、入出力インタフェースから構成される。また、チューニングパラメータ値計算部12は、この仮想マシンチューニング値計算装置10の備えるCPU(Central Processing Unit。図示省略)がメインメモリ(図示省略)にプログラムを展開し、実行することにより実現する。なお、このプログラムは、仮想マシンチューニング値計算装置10の備える補助記憶部(図示省略)の所定領域に格納されるものとする。なお、このチューニングパラメータ値計算部12を、専用回路により実現するようにしてもよい。
The
入力部11は、アプリケーションモデル情報の入力を受け付けるアプリケーションモデル入力部111、トラヒックモデル情報の入力を受け付けるトラヒックモデル入力部112、GC動作パラメータの入力を受け付けるGC動作パラメータ入力部113および目標停止時間の入力を受け付ける目標停止時間入力部114を備える。また、出力部13は、仮想マシンに設定するNEW領域サイズを出力するチューニングパラメータ値出力部131を備える。チューニングパラメータ値計算部12は、チューニングパラメータ値計算アルゴリズムにより、仮想マシンに設定するNEW領域サイズを計算し、計算したNEW領域サイズをチューニングパラメータ値出力部131経由で外部装置等に出力する。
The
ここで、仮想マシンは、例えば、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
<アプリケーションモデル情報>
また、アプリケーションモデル情報は、仮想マシンが用いるアプリケーションに関する、以下の情報を含む(図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
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
前記したとおり、仮想マシンは、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
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
なお、前記した実施の形態において、仮想マシンに設定する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
目標停止時間(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 (
なお、仮想マシン上で動作するアプリケーションの設計においては、各オブジェクトのサイズや数が、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
Claims (5)
前記仮想マシンは、前記メモリ上の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)
前記仮想マシンそれぞれの、前記トラヒックモデル情報、前記アプリケーションモデル情報および前記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領域の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)
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)
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)
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 |
-
2012
- 2012-09-10 JP JP2012198427A patent/JP5809613B2/en not_active Expired - Fee Related
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 |