LWN.net Logo

Building a High-Performance Cluster with Gentoo

Building a High-Performance Cluster with Gentoo

Posted Apr 10, 2007 17:47 UTC (Tue) by stevenj (subscriber, #421)
Parent article: Building a High-Performance Cluster with Gentoo

If you can increase the speed of your code by 5%, you save a day and a half every month. The amount of work you can accomplish with that extra time really adds up when you consider hundreds or thousands of CPUs.

Not if you spend two days every month tweaking compiler flags, recompiling your system, and benchmarking the resulting executables...

I see claims of Gentoo's performance advantages being tossed around a lot; can someone point to benchmarks to back them up?

In my experience, the performance of system binaries is usually almost irrelevant to scientific code. What matters is how you compile your own code and perhaps a few key libraries like the BLAS, but in neither case do you need to recompile your whole OS.

(And in any case, compiler tricks are usually the least significant part of a serious optimization effort, if you know what you are doing.)


(Log in to post comments)

Building a High-Performance Cluster with Gentoo

Posted Apr 10, 2007 19:10 UTC (Tue) by rsidd (subscriber, #2582) [Link]

In my experience, the performance of system binaries is usually almost irrelevant to scientific code. What matters is how you compile your own code and perhaps a few key libraries like the BLAS, but in neither case do you need to recompile your whole OS.

Exactly. It's not "almost" irrelevant, it's entirely irrelevant. (Well, the kernel may cause a tiny difference -- nothing you could measure, I imagine -- but no other system binary should matter at all.) Compile your program, and possibly dependent libraries, with the relevant C flags and you're fine.

And, as you say, tweaking compiler flags is a lazy and unproductive approach. Usually if you profile your program and find the time-consuming bits, you can optimise those and get the sort of speed boost no compiler could ever give you.

Building a High-Performance Cluster with Gentoo

Posted Apr 10, 2007 21:52 UTC (Tue) by dberkholz (subscriber, #23346) [Link]

Yes, both of you have good points. Although there is no need to compile your whole system with the optimal CFLAGS you discovered for the scientific and number-crunching libraries and programs, you might as well do it if you're running Gentoo. A big advantage I mentioned is that you can do this with your scientific libs and apps without leaving Portage behind -- at that point, you might as well compile everything else the same way.

And I assume you've already done all you can by picking appropriate algorithms and doing profiling -- using a good compiler with good flags is just the last step, not the only step.

Building a High-Performance Cluster with Gentoo

Posted Apr 10, 2007 23:14 UTC (Tue) by maks (subscriber, #32426) [Link]

loosing time building boxes is the least thing you want to do while number crunching. that article needs to be shot. pure propaganda bull shit.

on my experience almost any scientific cluster from germany, us or cern runs either fedora or an old red hat.

Building a High-Performance Cluster with Gentoo

Posted Apr 11, 2007 0:29 UTC (Wed) by dberkholz (subscriber, #23346) [Link]

What I love about LWN is that we can have productive dialogs in the comments, but it's tough to do so with that kind of tone. Your suggested criticism was already addressed in the article. Search for the section containing "binary package server".

Building a High-Performance Cluster with Gentoo

Posted Apr 11, 2007 2:54 UTC (Wed) by nix (subscriber, #2304) [Link]

It's not as if what was so disparaged by maks was impossible even in the
*absence* of the binary package server. rsync works anywhere, after all,
and you can rsync your speed-critical stuff around easily (at least you
can if it's an even slightly competently written distributed app).

Building a High-Performance Cluster with Gentoo

Posted Apr 11, 2007 9:31 UTC (Wed) by ewan (subscriber, #5533) [Link]

Pretty much everyone in particle physics (i.e. CERN et al) run Scientific
Linux, or RHEL, in a mixture of versions 3 and 4. Also, the reason people
are wary of upgrades is not that the packaging system isn't up to it (we
wouldn't 'upgrade' cluster machines anyway - it would always be a nuke
and re-kickstart) it's because (some of) the apps that run on top of the
system are insanely fragile.

Building a High-Performance Cluster with Gentoo

Posted Apr 22, 2007 16:53 UTC (Sun) by emj (guest, #14307) [Link]

(some of) the apps that run on top of the system are insanely fragile.

Yes, I know at least one Fortran compiler that uses "get_moon_ray_ratio()" when compiling stuff.

Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds
Powered by Rackspace Managed Hosting.