Raspberry Pi and parallel computing
Having reviewed some of the key terms of High Performance
Computing, it is now time to turn our attention to the Raspberry Pi and how and
why we intend to implement many of the ideas explained so far.
This article assumes that you are familiar with the basics of
the Raspberry Pi and how it works, and have a basic understanding of
programming. Throughout this article when using the term Raspberry Pi, it will
be in reference to the Model B version.
Other topics covered in this article, such as Apache Hadoop,
will also be accompanied with links to information that provides a more
in-depth guide to the topic at hand. Due to the Raspberry Pi's small
size and low cost, it makes a good alternative to building a cluster in the
cloud on Amazon, or similar providers which can be expensive or using desktop
PC's.
The Raspberry Pi comes with a built-in Ethernet port, which
allows you to connect it to a switch, router, or similar device. Multiple
Raspberry Pi devices connected to a switch can then be formed into a cluster;
this model will form the basis of our hardware configuration in the article.
Unlike your laptop or PC, which may contain more than one CPU, the Raspberry Pi
contains just a single ARM processor; however, multiple Raspberry Pi's combined
give us more CPU's to work with.
One benefit of the Raspberry Pi is that it also uses SD cards as
secondary storage, which can easily be copied, allowing you to create an
image of the Raspberry Pi's operating system and then clone it for re-use on
multiple machines. When starting out with the Raspberry Pi this is a useful
feature.
The Model B contains two USB ports allowing us to expand the
device's storage capacity (and the speed of accessing the data) by using a USB
hard drive instead of the SD card.
From the perspective of writing software, the Raspberry Pi can
run various versions of the Linux operating system as well as other operating
systems, such as FreeBSD and the software and tools associated with development
on it. This allows us to implement the types of technology found in Beowulf
clusters and other parallel systems.
No comments:
Post a Comment