Computational Fluid Dynamics

MANIAC – Linux cluster for OpenFOAM


This is my new computer, named after the 50s era Princeton valve computer the mathematical analyser, numerical integrator, and computer, which is how I chose to spend my money on some computer power to solve openFOAM problems. I benchmarked a number of computers with a typical problem and came to the conclusion that my work would be memory bound. In simple terms going up to a quad core chip without also having four memory channels would not produce any increase in performance. At best this would double the performance, but more than double the price. At the other end of the commodity price curve a Pentium Haswell chip still has the same memory bandwidth as its more expensive cousins. The set up benchmarked within a few percent of my i7 desk top computer.

My final node specification used very cheap motherboards with H81 chipsets and built-in gigabit ethernet ports, Pentium CPU, and 2 x 2 GB of RAM. The nodes are set up as diskless booting off a common NFS image, with one node having additional RAM for meshing and decomposition. My head node is an old machine with a core Duo CPU which I upgraded with an SSD hard drive and converted to linux. The interconnect is just gigabit ethernet. The nodes are powered by a single main PSU and Pico PSU boards running off the main PSU 12 V power supply. To finish everything off I built a case.

The final design, has five dual core nodes which, using the same benchmark, has a speed up of 9.1 over the single CPU. One thing I have learnt from this project, apart from the new systems admin skills, is the importance of benchmarking your hardware with your software and problem. It would be possible spend a lot more money and achieve a lot less. In a measure of how far we have come,If NASA were trying to reproduce the power of this computer in 1984, they would have had to spend 8.14 billion dollars in today’s money on Cray 2 supercomputers.

Leave a Reply

Your email address will not be published. Required fields are marked *