Cool project from GCHQ.
First unveiled at the Big Bang Fair 2015, the Raspberry Pi Bramble is another example of GCHQ’s ability to combine innovation with education.
How the Bramble was born
As their winning entry into an internal invention competition intended to stimulate innovation, three GCHQ technologists chose to build a Raspberry Pi cluster computer, known as a ‘Bramble’.
Research indicated that existing similar projects tended to be one-off designs, with no commercial or reproducible hardware components, and generally set up to perform one specific task.
The GCHQ design is for a commodity-based cluster, consisting of one or more ‘blocks’ of Pis that can stand alone or be connected together to form a larger cluster. It is designed to be easy to build and service, with a software stack that allows multiple tasks to be run across the available processors using multiple technologies.
How the Bramble is formed
The basic block is made up of eight networked Raspberry Pis, which GCHQ has termed an ‘OctaPi’. This number was chosen taking into account power and cooling requirements, area, weight, accessibility, simplicity and aesthetics.
The boards are powered using the ‘Power over Ethernet’ (PoE) standard to reduce the number of cables and power supplies needed, with each Pi also driving a large LED display, used to display the status of the system.
The GCHQ Bramble is made up of eight OctaPis, plus two additional head control nodes (which act as middle points betwee
n the cluster and the outside network), making 66 Raspberry Pis altogether.
Each head node consists of:
- 1 Raspberry Pi model B
- 16 Gb SD Card
- USB hub
- Battery ‘UPS’ powered
- Downstream wired Ethernet to control the cluster
- WiFi Client to connect to local network
- WiFi Access Point for local admin devices
- 128Gb SSD for code/data repo
- Real time clock
- Touch screen LCD display
- Camera (1 visible, 1 infra red)
The ‘slave’ Raspberry Pis in the cluster consist of:
- 64 Raspberry Pi model Bs
- 32Gb RAM
- 1Tb Flash memory
- 1153 controllable LEDs
- 8 Gigabit Network PoE switches
Rather than use an existing control system, the developers chose to write one from scratch in order to better understand the dynamics of how the system behaved and to keep the system lightweight and efficient. Over the development period, the system was re-factored three times, demonstrating how a platform like this can be used to rapidly experiment with different operating systems, languages and libraries. The third iteration, based on Node.js, Bootstrap and Angular, provided a suitable interface with all the control needed to manage the cluster.
‘Scale up’ versus ‘scale out’
The initial aim for the cluster was as a teaching tool for GCHQ’s software engineering community.
For a number of years the IT industry has been able to ‘scale up’ its computing capacity. Processor clock speeds have become faster and the number of transistors on the chips used has increased. However, we are now at the current physical limits of this generation of technology. One way to do more is to ‘scale out’, using multiple processors in parallel to work on complex problems.
The move from ‘scale up’ to ‘scale out’ is a paradigm shift that requires a very different approach to software engineering problems. A large cluster of Raspberry Pis provides a great teaching platform in which to explore and experiment with different techniques and approaches. Software has to be lightweight and operate efficiently; the programmers can’t rely on the power of the processor to get them out of trouble if the code they write is not optimal.
Each Friday is PiDay here at Adafruit! Be sure to check out our posts, tutorials and new Raspberry Pi related products. Adafruit has the largest and best selection of Raspberry Pi accessories and all the code & tutorials to get you up and running in no time!