Quantcast
Channel: SCN : All Content - SAP NetWeaver Administrator
Viewing all articles
Browse latest Browse all 5139

Equation of Throughput for GC on a server node - Abstract

$
0
0
DISCLAIMER: Please do not take 'Throughput' as we all know. For me, and here, it's a measure of performance.
All you see below was an idea that I wrote on paper and I thought of sharing it.
I will try to make this idea more viable and realistic.
Readers and Moderators - Forgive me for something that you don't like and this effort.

 

Abstract:

This weekend, I was thinking of some way to calculate the 'Throughput' in terms of Garbage Collection for a Server Node.

So, I started related Java with basic mathematics - and came down to derive an equation for 'Throughput'.

 

Here we have some terms - Two Variables - Non GC Time and GC Time, with the help of which I have written the first equation:


Non GC Time + GC Time = Total Time = Start to current up time

 

or we can say,

Non GC Time = (Total Time - GC Time)


Now, if I want the throughput, I have to do.....

(Non GC Time/Total Time) *100 = Throughput -- this should me maximum


And hence, my motive is to increase the Throughput

((Total Time - GC Time)/Total Time) * 100 = Throughput -- this should me maximum  > much high


To calculate this GC Time, I have included a new function to find it

i.e.  GC TIme = (N * avgGC Time ), where avgGC Time is what  you calculate from few random  GC runs and  N is the number of GC runs , which again you can get from std_server logs 


So, now I have a new modified equation

((Total Time - (N * avgGC Time ))/Total Time) * 100 = Throughput(N)


Now if we include the number of core per CPU

Throughput(N,P) = avg [(Total Time - (N *avgGC Time ))/Total Time) * 100] / P

where P stands for processors number of cores on multiprocessor.


Throughput(N,P) = avg [(Total Time - (N *{Pause Time }))/Total Time) * 100] / P


I then thought of delay, that all I included.

Throughput(N,P) = [(Total Time - (N *{avgGCTime + X(delay)}))/Total Time) * 100] / P

Now, this delay also can be used to include CMS mark times

Also, mark - X is directly proportional to P - one example is delay between polls in a multiprocessing architecture


So, finally I derived an equation to measure GC performance, which I call as Throughput for GC for a server node.


  • Throughput(N,P) = [(Total Time - (N *{avgGCTime + X(delay)}))/Total Time) * 100] / P


Any suggestion for improvement for this novice efforts are always welcome.

I am trying to automate this, and future improved versions, equation on test system, and if it works I will share with you all.


Regards,

Divyanshu


Viewing all articles
Browse latest Browse all 5139

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>