The Microwulf has been causing quite a buzz lately, so we decided to take a closer look at what makes an affordable supercomputer tick. With RAM prices at rock bottom and processor prices falling through the floor, such a system can be put together by anyone with a modest budget, enough time and the inclination. The Microwulf uses 4 x AMD dual core CPUs, 8GB of RAM and 4 x Gigabit LAN cards to produce a highly respectable 26GFlops of raw processing power, 32GFlops is its theoretical peak. While it originally cost under $2470, it can presently be constructed for about $1256, give or take depending on what you pay for components where you live.
The trick to creating the Microwulf is to keep everything balanced. If you have a 1.0GHz processor, it should have 1.0 GB of RAM and a Gigabit Ethernet connection. The Microwulf makes use of four AMD Athlon 64 X2 3800+ AM2 CPUs, at 2.0GHz per core, the ideal amount of RAM would have been 2GB per core, in order to keep costs down to the sub $2500 budget, 1GB per core was used. Four Intel NICs and the onboard LAN of each motherboard serve as an inexpensive way for each cluster to communicate with itself. There is no plexiglass “packaging,” Threaded rods are used to space the four motherboards which are mounted on polycarbonate sheets. The result is a supercomputer for the masses with almost three times the processing power of a 3.0 GHz AMD dual-core CPU. In case you are wondering, it runs on Ubuntu Linux.
Read on for a brief interview with Professor Joel Adams and a few final thoughts on the system. CSM: What are some uses that it has been put towards?
JA: This summer, a student was using Microwulf to build a computational model of how various things (food, water, viruses, …) get transported across cell membranes.
This fall, we are replacing our “old” cluster (built in 2001) with a new one. I teach a High Performance Computing course, and we will use Microwulf as an intermediary system for a few weeks, while the old cluster is no longer operational and the new one is not yet built. So my students will be using it to run their (MPI-based) parallel programming projects for the course.
We also plan to take it on the road to Math and Physics classes in local high schools. We have some visual examples (e.g., drawing the Mandelbrot set, simulating the collision of two galaxies, etc.) that we can run on 1 core, to let the students see how fast it would go on their PCs, and then rerun again using 8 cores, to let the students see the speedup that occurs. We can then use that as a springboard to multicore CPUs, the problem of writing software to take advantage of them, the need to think in parallel these days, and the need for smart people in computer science. So the goal of this is to get these young people to consider CS as a career.
CSM: How does Microwulf stack up next to a typical high-end desktop in terms of performance?
JA: Let’s see. Microwulf’s theoretical peak performance is 32 Gflops. A desktop with one 3.0 GHz AMD dual-core CPU would have a theoretical peak of 12 Gflops. If its CPU were running at 3.5 GHz, its theoretical peak would be 14 Gflops.
Generally speaking, you’re doing well if your computational efficiency (measured performance / peak performance) reaches 60%. With a measured performance of 26.25 Gflops, Microwulf’s is 82%, which is one of the reasons it has attracted attention.
CSM: Do you have any plans to build anything like this in the future?
JA: We may well build another one in a few years. The number of cores on a CPU keeps increasing; if that follows Moore’s Law, it could double every 18 months: 2, 4, 8, 16, … Tilera already has a 64-core chip available; Intel is hoping to have their 8-core Tflops chip available in 2011. Building a Microwulf-style cluster with those kinds of chips would be interesting, provided there is a way to get sufficient memory and network bandwidth to them.
CSM: Who can benefit from owning a Microwulf style computer?
JA: Anyone who wants to learn about, develop, and/or run parallel applications. If an engineer or researcher has a program that they are currently running on a cluster, but they have to wait around while others use the cluster, Microwulf provides a low-cost alternative.
That said, I see Microwulf being especially useful as a development machine. A person can write a parallel program and test its speedup and scalability on this kind of machine, and then once it’s ready, move it to a “big” cluster to actually run. That seems to me like a lot more convenient way to develop high performance applications.
I’ve had e-mail from a couple of people interested in building a Microwulf for rendering animations. It’s a lot cheaper than a render-farm, and might be sufficient for small animated projects.
Someone else suggested building 3-4 of these, connecting them via a network, and then using the bunch of them to write grid applications. That would be a pretty inexpensive way to build a test-platform for grids.
I’m guessing that with all the creativity out there, people will start putting these to “outside the box” issues that I cannot even imagine.
CSM: The last question is a bit of an ongoing joke, but I have to ask… Has it played Doom, if not can it?
JA: Microwulf has not been used to play Doom, but I suppose it could play the Linux version of Doom.
But as far as I know, Doom wouldn’t run any faster or better on Microwulf than it would on any other 2GHz dual-core computer. You’ve probably read about the challenge multicore CPUs are presenting to software companies. Most software just isn’t written to take advantage of the parallel capabilities such systems provide. And most programmers aren’t trained to think about parallelism when they design software. (Games included.) That’s the challenge facing the software industry.
There you have it, definitely one of the coolest homebrew PC projects I have ever seen. Microwulf is a convenient platform for parallel application development, suitable for small animated projects. More importantly, it is a great way for developers to set themselves up with an exceptionally powerful system on a shoestring budget. Most games are not programmed to take advantage of multi-core systems, yet. Systems like the Microwulf give developers a test bed for developing programs designed to work on the next generation of multi-core processors. Microwulf is a relatively inexpensive way to experience eight core processing. The Microwulf page contains all of the information that you need to set up your own system, including configuration information for Linux.
Price: $1256, without a case (if you want a case, it would not cost too much more to build one).