Vimage globals vs structures measurements.

Julian Elischer julian at elischer.org
Mon Feb 2 12:29:49 PST 2009


Julian Elischer wrote:
> Julian Elischer wrote:
>>
>> anyone who has commands and args for their favourite
>> thing the'd like me to test... send it in..
>>
>>
>> so far using ttcp I have seem no measureable difference.
>>
>> but I have more tests to do of course..
>>
>> for example throughput with small packets with ttcp (KB/Sec)....
>>
>>
>> x VIMAGE_GLOBALS
>> + NO_VIMAGE_GLOBALS
>> +-----------------------------------------------------------------+
>> |                                         +   xx                  |
>> |                                         +   xxx           +     |
>> |                                         +   xxx   x      ++++   |
>> |               x        +       x      + +   xxxxxxx      +++++  |
>> |x    +  ++ xx xxx  +  ++++xxx x x x   +++++ ***xxxxx     ++++++++|
>> |                        |_____________A______M______|            |
>> |                           |________________AM________________|  |
>> +-----------------------------------------------------------------+
>>     N           Min       Max      Median         Avg      Stddev
>> x  40      48016.01   57361.32    56268.06   54915.582   2554.0133
>> +  40      48999.66   59646.59    56261.58   56086.798   3119.1782
>> _______________________________________________
>> freebsd-net at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-net
>> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
> 
> as I said before  mst of my tests have shown no real change but this one 
> has the most change I've seen.. it's 160 byte udp packets sent between 
> two identical machines (both using the same kernel each time).
> 
> 
> x VIMAGE_GLOBALS
> + NO_VIMAGE_GLOBALS
> +-----------------------------------------------------------------+
> |                     +   +     ++   xx x x                       |
> |                   + +  ++   +x++x +xx x x                       |
> |                   + + +++ + +*+**x+xxxx x                       |
> |                 + +++ +++x*++*+**x*x*xx x x       x             |
> |                 + +*+++++x**+*+**x*x*x*xx x x     xx            |
> |                ++++*++++****+*+**x*x****x xxxx   xxx            |
> |    + +   xx +  ++++*++*+****+***********x*xxxxx xxxx           x|
> |+   +*+++ xx++*+*+*+****+****************x***x*xxx*xx   x  xx   x|
> |                         |__________A__________|                 |
> |                 |_________A________|                            |
> +-----------------------------------------------------------------+
>     N           Min       Max    Median        Avg        Stddev
> x 150      10175.11  11292.11  10763.80    10760.77    200.92124
> + 150      10075.64  11019.12  10591.68    10580.059   172.29227
> Difference at 95.0% confidence
>         -180.711 +/- 42.3572
>         -1.67935% +/- 0.393626%
>         (Student's t, pooled s = 187.155)
> 
> this one showed a 1.7% slowdown
> where the one above showed a half percent speedup
> (but not considered significant).
> 
> The first one shown above was TCP with 1500 byte packets on bge 1G 
> interfaces..
> 
> more test ideas appreciated...

more tests..
this one with iperf...

x NO_VIMAGE_GLOBALS
+ VIMAGE_GLOBALS
+-----------------------------------------------------------------+
|                      +                      x          x x      |
|                      +        +          x  x          x x      |
|                      +     +  +       +  x  x          x x      |
|                      +     +  +       +  x  x          x x      |
|                      +  +  +  +       +  x  x x        x x      |
|                      +  +  +  +       *  x  x x     x  x x      |
|                      +  +  +  +       *  x  * x     x  x x      |
|                      +  +  +  +    +  *  *  * x     x  x x      |
|                      +  +  +  + +  +  *  *  * x     x  x x      |
|                   +  +  +  +  + +  +  *  *  * x     x  x x      |
|                 + +  +  +  +  + +  *  *  *  * x  x  x  x x      |
|                 + +  +  +  +  + *  *  *  *  * *  x  x  x x      |
|                 + +  +  +  +  + *  *  *  *  * *  x  x  x x      |
|              +  + +  +  +  +  * *  *  *  *  * *  *  x  * x  x   |
|x             +  + +  +  *  *  * *  *  *  *  * *  *  *  * x  x  x|
|                                      |________A_________|       |
|                      |________MA_________|                      |
+-----------------------------------------------------------------+
     N       Min       Max      Median         Avg        Stddev
x 120       418       441        435       435.025     3.4089908
+ 120       423       438        429     429.51667     3.4664862
Difference at 95.0% confidence
         -5.50833 +/- 0.869898
         -1.26621% +/- 0.199965%
         (Student's t, pooled s = 3.43786)
bigger is better...



In this case we see that NO_VIMAGE_GLOBALS is better. Over several
iterations I have come to the conclusion that other factors are 
overwhelming this change and that the effect of clustering all the
'global' variables together into a single global structure is negligible.

If I can get some confirmation of this by  others then
the next step would be to simply remove the VIMAGE_GLOBALS option
and all the global variables it covers.

At least that's what seems next to me..

see:
    http://wiki.freebsd.org/Image/Notes200808DevSummit


> 
> 
> 
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"



More information about the freebsd-virtualization mailing list