>> BUILDING A RASPBERRY PI 3 CLUSTER (PART 1)
This has always been on my to-do list; I have always wanted to build a cluster
of Raspberry Pi's.
The Raspberry Pi
launched a few years ago as a $25 computer to promote the teaching of
computer science in schools and developing countries. With so much power
packed into the credit card sized computer - a number of people have always
wanted to create a super-computer, or cluster of them. With the introduction
of the
Raspberry Pi 3
it gets more interesting; as the device already has four ARM cores; so
clustering them together makes it even more interesting.
There are a tonne of
YouTube videos online giving you step by
step instructions on doing this dating back to the original Raspberry Pi -
definitely worth watching. I eventually merged bits and pieces from different
existing projects to build my cluster - giving it a little more nerdy overtone.
RASPBERRY PI - BASIC SETUP
In order to start building a cluster of Raspbery Pi's - first you will need to
configure each one with the latest raspbian environment and make sure that it
is updated to the most recent builds. A number guides exist on Raspberry Pi
website for
installing and
updating to the latest version.
This is the most time consuming part; you should prepare as many as your design
permits.
RASPBERRY PI - CLUSTER DESIGN
I wanted to keep my cluster simple; utilizing whatever hardware I had lying
around and minimize what I needed to buy to get the project working. I had
a spare 5-port network switch and tonnes of cables - so, initially all I
needed was some Raspberry Pi and a USB powered hub for power. I also picked
up a 128Gb USB memory stick to use as a shared disk drive across the devices.
The design is quite simple:
The design is to have one of the nodes act as a master; connected to a
public network over the in-built WiFi adapter available on the Raspberry Pi 3.
The remainder of the nodes will act as slaves; on a private network that is
managed by the master node. A 128Gb USB flash drive will also be used as a
shared disk drive using
NFS
(Network File System) on all the nodes.
The end result will be a single unit connected to three other providing a
total of sixteen ARM cores running at 1.2Ghz ready to do some heavy
processing, we are effectively building a mini super computer that can be
used for parallel programming - a very interesting field in
computer science.
In subsequent entries; I will detail how to configure the master
and slave devices - and eventually write a sample parallel application to
demonstrate the cluster working; I promise it will be more than the
"Hello World" examples that everyone else has put together.