Since the first Raspberry Pi was released in 2012 there have been a number of changes to their design. Since I plan to include a number of different models in my cluster I will review and test each model to find its weakness and strengths.
This review focuses on the Raspberry Pi B models. This is because they are the fully featured models that I am using for my cluster.
Overview of Raspberry Pi B models
To date there have been 3 major revisions of the Raspberry Pi. In addition there have also been a number of minor revisions in between major revisions.
||1 rev 1.2
||2 rev 1.2
||Broadcom VideoCore IV @ 250 MHz
The two main differences between Raspberry Pi versions is that the CPU and RAM have been upgraded over time. The latest Raspberry Pi has much greater power than older variants, being clocked at 1.2 GHz. In addition to running a faster CPU it is a quad core and has 1GB of RAM.
The Raspberry Pi 1 had three revisions. In revision 1.2 they increased the amount of memory to 512MB and added mounting holes. In the Raspberry Pi B+ the mounting holes were changed to make them more uniform and 2 more USB ports were added.
The Raspberry Pi 2 added a new CPU which was faster and had 3 additional CPU cores. This gave a big improvement in speed for most operations. This was also the first revision to increase the RAM to 1GB providing another boost to the processing power.
The Raspberry Pi 2 revision 1.2 actually has little change. While the CPU has been changed its not clocked at the higher frequency like the Raspberry Pi 3. From the press release regarding this It appears that this was to ease production by using a more widely available SoC. Therefore the difference in these revisions should not be noticeable.
The Raspberry Pi 3 adds WiFi and Bluetooth to the board to allow for more connectivity. In addition to this they have clocked the RAM at double its previous speed. The 1GB of RAM on the Raspberry Pi 2 is clocked at 450MHz wheras the 3 clocks it at 900MHz.
In addition to the speed increase of the RAM, the GPU has been clocked slightly faster than previously in the Raspberry Pi 3, reportedly now running at 400MHz. This should give a small improvement to running graphically intensive programs.
All models of the Raspberry Pi B have an ethernet port connected to the on-board USB hub. This is important to note if you are planning to be using USB and Ethernet a lot as you are possible going to be able to saturate the bandwidth.
What this means to the cluster
If I was going for a pure performance cluster I would fill my cluster with Raspberry Pi 3 machines. However I am going to be buying numerous different variants due to price and making the cluster more intersting. By having machines of different powers in the cluster running problems becomes harder. This is because you have to take into account the machines power when deciding what it should run.