This is the Raspberry Pi cluster
it's a Beowulf cluster built
out of 33 Raspberry Pis
I started working on this couple months ago
in response to a need I had
for my dissertation work
in which I was developing a distributed
simulator
which needed a cluster environment to
actually operate
so this uh... seemed to be
about the cheapest way you could build a
32 node or 33 node
cluster
so, some of the novel things
about this build
uh... are i think the the rack design
and power management system.
So if I take a look at one of these stacks...
you can see
i have used
PCB stand-offs
to build each of these columns and allow each of the Pis to stacked one on top of another
..and that allowed plenty of room
for component clearance and for air to get through
...to keep things cool...
...and then on
the top and bottom...
I have drilled
plexiglas
in that same pattern
to hold the whole structure together.
Now for the power management...
you'll notice...so, normally you would use USB, this little
microUSB connector
on the corner
to power a Raspberry Pi
and you can see, I'm not actually using that
in the system.
Instead, I built a
custom PCB
that distributes 5 volts to each
of these stacks...
as well, as you can see, providing
a tri-color LED
and there are these wire jumpers
that go between each
PCB to
allow power to be moved between
the top and bottom
of the stack.
So i just bring power into
one place on the stack
and the whole thing is powered
and so my regulated 5 volts I'm
actually getting from a PC...
...couple PC power supplies
because they provide up to
30 amps at 5 volts, so you got plenty of
power
that's clean...
plenty clean for running
Raspberry Pis.
So one other thing is... with these...
...the PCB port here is that when ever you
power
through the 5 volt pin
on the GPIO header
you are actually bypassing a fuse that's
normally...
uh... that is present between the USB
connector
and the 5 volt rail
so i went ahead and added that back
in
to this PCB as well so that I  still
maintain
short-circuit protection...
on all the boards.
So, if I pull around
the back here,
I've got some air cooling
which is certainly
overkill for
the amount of heat generated by
the Raspberry Pis,
but I am overclocking all of these to
1 GHz
so they do get a little bit
warmer than they normally would
but even so
uh... they don't ever get to
temperatures really require the
fan cooling...
...but it looks cool...
...and does keep them a lot cooler than
they normally would be as well.
So, on the corner here, this is one of
of them
the PC power supplies and I'm just using the
5 volt rail off of that...
...and another one on the other side.
Then we've got a 48 port switch
that all these Ethernet cables are
running into...
and then just a couple
power cables coming from each of these
PC power supplies to power each stack.
So, the program that I have
running on here is just a parallel
program
using MPI...
and effectively...
...this node on top, the
master node
is directly controlling
the LEDs on all the rest of the
nodes in the cluster.
This was done to showcase
the uh... whole thing
operating as a cluster...
...to show how tight the synchronization is
actually possible with communications
using parallel programming
uh... in any case where you have
a single LED
that's being lit
uh... on a node...
it is just doing
a.regular MPI send/receive
operation
uh... however on
cases where you have multiple LEDs
on
distinct nodes
lighting synchronously...
...those are actually in response to
broadcast messages
so, you see you can get very tight
timing between
the different nodes. The are truely operating
as one...
...as one program... one machine...
So, lets let it sit here and run through some
of the
different patterns.
We have a spiral...
...blink all...
...different colors...
So software I have running on here it is
Arch Linux...
I chose that because it's uh...
far more lightweight than Raspbian...
...a lot smaller
process list
once you have booted the system because you don't
have a graphical environment
installed by default.
Really, aside from that, it's just a
matter of having
and an NFS share
setup so that you have a common
filesystem between all the nodes...
iand some kind of
MPI
package installed
...there's the rainbow look...
..with strobing...
So at this point, I have been able to move
all of my simulation
uh... over to this platform
and it is performing really well.
It has been a really fun project to work on...
It is pretty cool to have a
32 node cluster that
can sit on your desk...just about.
