Octopus - an ARM based minicluster
Modern HPC-Systems consume several hundreds to throusand kilowatt per hour. On the other hand, Mobile-Processors consume far less power than conventional ones.
After the Raspberry Pi being released and its success, there were a lot of interesting developments in the fields of mobile processors. The most well spreaded mobile architecture is the ARM microarchitecture. The octopus prototype should serve primarily to evaluate usability of mobile processors as a platform for future HPC-systems. Additionaly Octopus will support teaching.
Octopus is a parallel computer, consisting of nine ARM based nodes. Each of these nodes has one processor with 4 cores and a clock rate of 1GHz, a potent graphicsprocessor and a network card. We use a hard disk drive (HDD) for mass storage. Users can start programs using SLURM to schedule and distribute. Communication is done via the Message Passing Interface. Therefore Octopus is build up like a huge HPC-system and can also perform the same task on a small scale.
We use ARM based development boards (Wandboard Quad) as compute nodes. Wandboards have various connections on board. The operating system is loaded from a microSD card. Each board has a sata connection. Communication between the boards is handled through a gigabit ethernet. Via serial port you can watch the boot process and also directly access the nodes in case of an emergency. GPIO (General Purpose Input Output) can be used to control.
Furthermore, the wandboard includes a powerfull graphicsprocessor (GPU) which can be programmed in OpenCL. Such heterogeneous systems (CPU + GPU) are more energy efficient compared to homogeneous sysem (CPU only). For the interprocesscommunication, like in a common HPC-system, MPI is used.
We use Ubuntu 11.04 as the operating system for the Octopus minicluster. The used Kernel version is 3.10.17. Our mass storage consists of a 1.5TB HDD to offer enough space for user data. A direct access onto the nodes is not possible. We use SLURM (Simple Linux Utility for Ressource Managment) to fairly schedule the available computing time fairly and to run programs distributed.
Octopus is supplied by a 100W LED power supply. Each node needs approximately 8W of power. Since the nodes are stacked one above the other we use three fans to avoid heat nests and to dissipate the resulting heat.