Viewing ‘Computational Fluid Dynamics’ Category

MANIAC – Linux cluster for OpenFOAM

maniac-02

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.

More CFD computing power

While it may have taken a few years, I finally have a computer that can work out how water will flow around a boat. Around about 1985 NASA were taking delivery of a nice shiny new Cray 2 super computer which they proudly showing off in this video:

NASA hoped their supercomputer could reduce the cost and time involved in prototyping by calculating the flow of air around in this case the space shuttle. And it was just the space shuttle, not the fuel tank and booster rockets, no computer in existence was capable of handling the complete shuttle geometry. I was in primary school, an inspired by something I saw on towards 2000 decided to see if I could get the families’ Commodore 64 computer to do something similar, needless to say it didn’t work, all I succeeded in doing was filling the 64kb memory with data and making it crash.
In 1994 my university lecturers were taking their students through classical theoretical hydrodynamics. The punchline of the course was that without some massive increase in available computing power, we would be unable to use what we have just learnt and solve the Naiver Stokes equations which, although they have been described in 1822, defied solution for anything other than the most primitive of cases.
At about the same time, our friends at NASA working on what happens in deep space when galaxies collide came up with a new type of computer. Their solution to not having access to the good supercomputer, raiding NASA’s petty cash tin and buying themselves sixteen 486 computers and linking them together with a network . Splitting the job across 16 computers was extremely effective and much modern scientific computing is now done with parallel computers linked together over a network. This architecture, the Beowulf cluster, was named for the hero of the epic Old English poem who had “thirty men’s heft of grasp in the gripe of his hand”

Today, the open source software descended from those original efforts is available as the open source computational fluid dynamics package, OpenFOAM. This powerful program is capable of solving the Naiver Stokes equations and computing the flow around an object like a boat with an invaluable level of detail for the design process. Unfortunately, a practical boat problem can take weeks to solve even on high spec late model computer. Like the deep space researchers, I need a supercomputer. In this case a Beowulf cluster designed for OpenFOAM.