how to accurately and easily show kernel scheduler scalability?

Mulyadi Santosa <[email protected]> Tue, 10 May 2005 12:19:28 +0700
Newsgroups gmane.linux.linux.scalability
Message-ID <[email protected]>
Hello everyone

I am a newcomer on "scalability world", so I encourage myself to start 
learning about it. I am in the middle of writing an article talking 
about comparisons of several Linux scheduler (2.6.x), primarily between 
O(1) scheduler and Staircase scheduler.

I am now facing huge problem, that is how to measure scalability of a 
scheduler? Lets assume I got this result

Thread                    :      2       4          8           16
Runtime (second) :    0.1     0.3    0.7         1.1

How to express "scalability" in this case? From what I learn so far, I 
can use two approach:
1. Pick data from two points, e.g 2 threads and 16 threads. We know that 
the ratio is 1:8.  Looking at related runtime, the ratio is 1:11. So we 
can calculate that the scale is 11/8 = 137.5%

2. Use exponential equation ( y = b * m ^ x). I got this idea by looking 
at the available array functions on Open Office calc and from there I 
found LOGEST() which takes our data series as X and Y values (Y values 
are results of func(X)) and calculate the regression coeffecient. They 
are scale factor (m) and b (the point where x=0 ). From here, I pick 
the scale factor and use it scalability indicator

any feedback or suggestions are welcome

regards

Mulyadi