Dual-core & Parallel Compile Issues 2005-12-07 - By Arjan van de Ven
Back On Tue, 2005-12-06 at 20:21 -0500, Brian Long wrote: > Hello folks, > > I'm grasping at straws here hoping someone else has run into issues > running dual-core Opterons (Sun V40z specifically). When we run a large > parallel compile with various j values (i.e. -j8, -j16, -j24, -j32, > -j40), we are able to compile the end product in much less time on a > quad single-core V40z (quad Opteron 852 / 2.6GHz) than on a quad > dual-core V40z (quad Opteron 875 / 2.2GHz). For example, with -j20, 7.4 > mins vs. 9.6 mins without ClearCase and 13.7 mins. vs. 18.6 mins with > ClearCase). We have tried on the U5 and U6 kernel with zero improvement > seen between the two. > > When compiling with large -j values on the dual-core system, the CPUs > stay 80% idle the majority of the time (as measured by sar on 10-sec > interval).
you schedule to death if you do far too large -j values. Add more (logical) cpus and it gets just more so the case. To some degree it's "don't do that then".
> I would appreciate any pointers on how we might further investigate what > is causing the bottleneck. Are there known issues with the RHEL 3 > kernel scheduler or anything else I should be aware of? Thanks.
with large -j you also tend to destroy cache content (eg each time gcc runs so many others have run before that the cache is cold), which causes maximum memory bandwidth use, which is the worst case for dual core.
having said that, the rhel3 scheduler is not dual-core aware and in no way tuned for it (unlike for HT, some AMD bioses enable you to fake dual core as HT and then it ought to work better) and will cause suboptimal scheduling.
-- Taroon-list mailing list Taroon-list@(protected) https://www.redhat.com/mailman/listinfo/taroon-list
|
|