It's quite easy these days to build a many-core compute cluster that is low-powered, running Linux, and performant-friendly. Here's a small cluster build that's begun at Phoronix and has twelve 1.2GHz cores while the total system power consumption under load is just about 30 Watts.
More details will be shared in the next week or two, but I'm in the process of assembling a small ARM cluster running Ubuntu Linux. This cluster will be used for delivering some interesting ARM Linux benchmarks, of course! It's also being used for Phoronix Test Suite
purposes for creating more MPI/cluster benchmarks for some of the commercial/enterprise clients, coming up with more ARM Linux benchmarks in general, and this hardware is also going to be part of a much larger (~96+ ARM core cluster - details to be shared at a later time) cluster.
With low-powered ARM hardware and the onslaught of affordable development boards, it's rather easy to build a modestly powerful cluster. At the heart of this current cluster build is the PandaBoard ES
. I'm quite a fan of the PandaBoard ES development board and have been benchmarking it since last year. The PandaBoard ES has the OMAP4460 SoC from Texas Instruments with a dual-core Cortex-A9 1.2GHz processor and PowerVR graphics (fortunately that's irrelevant for cluster purposes). There's 1GB of RAM on the PandaBoard ES, two USB 2.0 ports, HDMI output, 10/100 Ethernet, and there's an SDHC slot for storage. More information on the PandaBoard ES, which is an upgraded version of the original PandaBoard (TI OMAP4430 vs. OMAP4460) is available at PandaBoard.org
. What also makes the PandaBoards wonderful is that Ubuntu makes official releases and daily images of Ubuntu ARM for the OMAP4, which tend to "just work" on these TI ARM development boards.
Being used for this build are six PandaBoard ES units. Having twelve 1.2GHz Cortex-A9 cores should be rather interesting to benchmark and be sufficient for the aforementioned purposes, but of course I'm quite excited to see the huge Calxeda ARM servers
that are forthcoming and hopefully one at least will end up at Phoronix. The much larger PandaBoard cluster to be talked about later should also be quite interesting to see and quite powerful with a low power budget.
The PandaBoard ES is currently retailing for $182 USD, so six of them will set you back around $1,000 plus the cost of SDHC cards and power supplies. Still, this is rather affordable for a 12-core ARM cluster. For this build, special thanks go out to Texas Instruments
for providing a discount to make this Phoronix ARM cluster build slightly more affordable.
Under load, a single PandaBoard ES draws just about five Watts, or just shy of six Watts in some really demanding workloads. This cluster therefore should be running at just around ~30 Watts when being compute-happy. There are some power consumption results and other OMAP4460 PandaBoard ES benchmarks in Ubuntu 12.10 Sets To Make ARM Even Stronger
, Ubuntu 12.04 LTS ARMv7 Linux Performance Gains
, Ubuntu 12.04 ARM Performance Becomes Very Compelling
, and Ubuntu 12.04 Is ARM-ing Up For Better Performance
. This six-board cluster will be running an Ubuntu 12.10 ARM OMAP4 snapshot for the noticeable performance improvements it offers via the Linux 3.4 kernel and GCC 4.7.
One of the unusual things I'm trying for this build is to assemble it all within a wooden dish drying rack. This isn't the first time that ARM development boards have been used in a cluster, with Ubuntu/Linaro and others using PandaBoard clusters for their build farm, etc. The other approaches to efficiently managing all of the boards with minimal space has been stacking them with spacers between the PCBs, etc. Here
is the Fedora ARM build farm example. The issues I see with that though is it makes the boards not swappable at all without dismantling the entire stack, time consuming to setup, and requires special parts.
A few days ago I came up with the idea of using a wooden dish drying rack. These racks can be found for a few dollars on the Internet, can be used almost "out of the box", would allow for multiple different development boards / PCB sizes / mounting hole differences, very easy to swap out boards, could be fabricated from scratch quite easily, and allow for fairly high density clusters in compact space. The shape should also allow for managing cables and placing of AC power supplies (underneath) fairly easy. The size of this dish drying rack though for a current six-board cluster is a bit large, but this concept may end up working quite well for others.
I'm still in the process of assembling this PandaBoard ES configuration -- both for the hardware and software -- but will have more updates on the progress in the next week or two. It should be quite interesting (plus the continued ARM and cluster improvements coming to the open-source Phoronix Test Suite
benchmarking software for Linux), especially when looking at the performance-per-Watt against various multi-core x86 systems!
Any questions or feedback about this build is welcome in the forums via the discussion link below. Thanks again to Texas Instruments
for their support in this project.