[Insight-developers] Not Really Parallel Build

Gaëtan Lehmann gaetan.lehmann at jouy.inra.fr
Wed Nov 11 15:46:59 EST 2009


Hi Kevin,

> kitty, candy, and bambi are set up to build ITK in parallel using  
> gmake
> -i -j 16 . (There are 8 cores but gcc seems quite happy with two
> processes per core.)
>

I made some experiment on a host with 8 cores and 16 threads, and I  
didn't get any improvement in build time with more that "make -j12".
I don't know if it's also true for you, but -j16 may not be the best  
option...


> I wanted to experiment with using CMake's new parallel build and test
> feature. So I set the build on bubbles to use CTest from CVS with the
> -j8 option (Tests may not be so happy with 2 threads per core.)
>
> I expected the build on bubbles to be half as fast as the builds on
> kitty, candy, and bambi, and the testing on bubbles to be eight  
> times as
> fast as the testing on kitty, candy, and bambi.
>
> What I got was :
> 	build	test
> bubbles	110.5	33.4
> kitty	12.6	7.3
> candy	12.6	7.4
> bambi	12.6	7.4

How did you measure the test execution time?
Dashboard is reporting the sum of the execution time of all the tests,  
which is not what we want IMO. You have to divide it by the number of  
parallel tests.

The time reported by ctest at the end of the execution is OK.


Le 11 nov. 09 à 19:06, Kevin H. Hobbs a écrit :

> On 11/11/2009 12:12 PM, Luis Ibanez wrote:
>>
>> Is this correct ?
>>
>
> Yes, though I'll reshuffle it a bit :
>
> computer gmake-opt ctest-option build-time test-time cmake
> ----------------------------------------------------------
> bubbles none      -j8          110.5      33.4      CVS
> kitty   -j16      none         12.6       7.3       2.4
> candy   -j16      none         12.6       7.4       2.4
> bambi   -j16      none         12.6       7.4       2.4
>
>
>> before we start speculating
>> on the possible explanations  :-)
>>
>
> If it would be useful I could set up :
>
> computer gmake-opt ctest-option build-time test-time cmake
> ----------------------------------------------------------
> bubbles  -j16      none         12         7         2.4
> kitty    -j16      none         12         7         2.4
> candy    -j16      none         12         7         2.4
> bambi    -j16      none         12         7         2.4
> bubbles  none      -j2          ?          ?         CVS
> kitty    none      -j4          ?          ?         CVS
> candy    none      -j8          ?          ?         CVS
> bambi    none      -j16         ?          ?         CVS


it would be interesting to have the execution time of two ctest run  
with a different number of parallel tests on bubble, in the same build  
tree.
For example, the output of "time -p ctest -j4 -Q; time -p ctest -j8 -Q".

On my host, I get:

[glehmann at marvin build]$ time -p ctest -Q
real 312.00
user 299.68
sys 38.42
[glehmann at marvin build]$ time -p ctest -j2 -Q
real 177.50
user 300.77
sys 37.78
[glehmann at marvin build]$ time -p ctest -j4 -Q
real 115.28
user 312.12
sys 39.85
[glehmann at marvin build]$ time -p ctest -j8 -Q
real 81.26
user 335.06
sys 42.23
[glehmann at marvin build]$ time -p ctest -j12 -Q
real 71.51
user 374.41
sys 44.94
[glehmann at marvin build]$ time -p ctest -j16 -Q
real 64.24
user 391.69
sys 46.19

Gaëtan

PS: Dashboard will have some more problems if you use all those hosts  
with parallel builds and tests for the next dashboard fest ;-)

-- 
Gaëtan Lehmann
Biologie du Développement et de la Reproduction
INRA de Jouy-en-Josas (France)
tel: +33 1 34 65 29 66    fax: 01 34 65 29 09
http://voxel.jouy.inra.fr  http://www.itk.org
http://www.mandriva.org  http://www.bepo.fr

-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 203 bytes
Desc: Ceci est une signature ?lectronique PGP
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20091111/2e482599/attachment.pgp>


More information about the Insight-developers mailing list