Thursday, July 31, 2014

Raspberry cluster

Raspberry Pi cluster for IoT experimentation of distributed and fault tolerant systems.

The summer vacation season is over in Finland now. Berries are picked from raspberry bushes and it's the time to get back on duties. Inspired by raspberry bushes, I decided to build a Raspberry cluster.

The new format of Revision B+ RPi makes it more suitable for mechanical assembly. Four mounting holes in square and removal of parts sticking outside of the PCB are welcome improvements, including SD card and composite video output. Replacing linear regulators by switching regulators among other improvements causes 30% reduction in power consumption from B to B+.

Tower of four Raspberry Pi B+
Originally my intention was to use BeagleBone Black, but as they are having troubles with component availability, all the major distributors are having zero units in stock and long lead times. Thus I had to content myself with RPi. Why BBB? Because the AM335x CPU with Cortex-A8 core is more industrial grade and typical example of design choice in my company, among others. Whereas the BCM2835 SoC with ARM11 core was initially dedicated for mobile devices, and long-term availability is not guaranteed.

The cluster is intended for study of distributed databases, inter-system messaging (message queue), fault tolerancy, big data, and other aspects of reliable IoT system. The cluster consists of four RPi model B+, 5-port gigabit Ethernet switch, and a 7-port USB hub for power distribution. The only purpose of the USB hub is to distribute power and no data is delivered. This is due to RPi uses micro-USB connector for power input. The only custom-made part in the whole system is a USB to DC-plug cable in order to provide power from the hub to the switch. This way the setup requires only single 5VDC 20W (4A) power supply.

Total of 16 USB ports available.
The tower is quite compact and has sturdy mechanical structure. Raising crews are bolted straight to the metal chassis of the Ethernet switch, thus no other mounting brackets are needed. I consider this as a canonical form. A small flaw in beauty is cable ties used for mounting of the USB hub. All in all this setup costs 200-300 euros, depending on where the parts are purchased from. Thus it's affordable even with student budget.

In coming posts I will report my adventures in the world of distributed systems.