[distcc] homogeneous environments

Robert W. Anderson anderson110 at poptop.llnl.gov
Fri May 1 01:07:43 GMT 2009


Fergus Henderson wrote:
> The include server could be the bottleneck.  What's the CPU usage for 
> the include server process?
> Or it could be disk I/O.  Try iostat or vmstat to profile that.

After some more experimentation, I think I may have a clue what's going 
on here.  I think I may be getting bound up in context switching costs, 
both in my single node performance and on localhost using distcc.

On a single node:

-j4: 24 million context switches @ 10us = 4m
-j8: 96 million context switches @ 10us = 16m

         Command being timed: "make -j4 debug"
         User time (seconds): 378.81
         System time (seconds): 566.57
         Percent of CPU this job got: 265%
         Elapsed (wall clock) time (h:mm:ss or m:ss): 5:55.91
         Major (requiring I/O) page faults: 472
         Minor (reclaiming a frame) page faults: 26761810
         Voluntary context switches: 24629071
         Involuntary context switches: 269418

         Command being timed: "make -j8 debug"
         User time (seconds): 427.55
         System time (seconds): 2250.72
         Percent of CPU this job got: 429%
         Elapsed (wall clock) time (h:mm:ss or m:ss): 10:23.29
         Major (requiring I/O) page faults: 270
         Minor (reclaiming a frame) page faults: 26760678
         Voluntary context switches: 95391888
         Involuntary context switches: 825155

I don't understand why doubling the job count increases context 
switching by 4x.  Any insights appreciated.

Thanks,
-- 
Robert W. Anderson
Center for Applied Scientific Computing
Email: anderson110 at llnl.gov
Tel: 925-424-2858  Fax: 925-423-8704


More information about the distcc mailing list