PiRacks Review (Raspberry Pi 3B+)
Another summer, and I’m exploring building yet another cluster. Back in 2014 when I started designing my cluster materials, there weren’t a lot of great options for cases for SBC-based microclusters. So I (and Frank Blackmon, our department tech) designed some for the parallella and the raspberry pi. They were pretty great, and I’ve used them extensively for many clusters that I’ve built in the last four years. I’ve presented some of the cluster designs at SIGCSE back in 2015 and 2016.
However, one of the key limitations of our design is that it requires a 3D printer. While schools are increasingly getting 3D printers for classroom use, I realize not everyone has the means to buy a 3D printer or the time/patience to contract with a 3D printing service. Fortunately, a lot of people have been getting on the SBC cluster bandwagon in recent years, especially in the commercial sector. One of my colleagues recently told me about PiRacks 4-Stacker Rack Enclosure which is retailing on Amazon for $32.95. Intrigued, I thought I’d buy one and mess around with it. This also gave me an excuse to buy the new Raspberry Pi 3B+s. What follows is my honest review of the PiRacks. I am not getting any compensation for this review (nor do I want any).
First impressions
The picture below shows all the components that came in the PiRacks box. There were two acrylic base boards, two middle boards, and a cute little tool kit filled with parts for the assembly. While there was a space in the case for “extras”, there really wasn’t much. The majority of the screws are plastic, while the standoffs and baseboard screws are metal. There was also a pair of plastic black tweezers that I didn’t end up using.
Assembly
The case came with some basic instructions for assembly, which I found fairly straightforward to follow. The assembly design is pretty clever. To attach a Pi to a single baseboard, requires three sets of parts: 4 washers, 4 screws, and 4 interesting-looking female screws that hold the board up a few milimeters from the actual acrylic board. This makes it fairly straightforward to insert and remove the microSD card. You can use the same set of instructions to connect the Pis to the other middle boards. The metal standoffs can be used to easily connect the baseboards together into a cluster.
Overall, I had a lot of fun putting together this cluster, and I imagine students will as well. I only needed a screw driver to tighten one set of screws, but I was able to do the rest by hand. The one complaint I have is that the parts are SMALL. This is okay for a person like me with smaller hands, but for individuals with larger hands and fingers they may have a difficult time. I tried using the tweezers, but they were awkward to use for tightening.
The other issue is that the kit really doesn’t have any extra screws, which is a big problem. The tinyness of the screws makes them easy to drop and hard to find once they hit the ground. I actually lost one of the tiny washers, so my assembled cluster is missing one. Thankfully, the connection structure of the Pi to the baseboards is so well designed that I don’t get the sense that the missing washer hurts the integrity or structural soundness of the cluster. The other complaint I have is that some of the baseboards still came with the paper backing on the acrylic. This was not easy to remove, but I was able to do it with some concerted effort and a chipped fingernail. The final assembled cluster is shown below:
Final Assembly and Booting up the cluster
Of course, the PiRacks do not come with most essential items. In addition to the Raspberry Pis and power supplies, you will need some sort of switch/router, I/O devices (monitor, keyboard, mouse), and a Raspberry Pi image with MPI on it. To make this all work, I needed to create an image for the Raspberry Pi 3B+, which is now conveniently on my website. Like the older images, this one comes with MPI installed, and tested to work over all the nodes. Here is a picture of the cluster booted up, with all the components connected:
So how much does this cluster cost?
Name | Price |
---|---|
PiRacks Cluster Set | 32.95 |
Raspberry Pi (x4) | 140.00 |
8GB MicroSD card w/adapter (x4) | 23.92 |
CanaKit Power supply (x4) | 39.96 |
Ethernet Cables (x4) | 8.00 |
4-port Router | 20.00 |
Total | 264.83 |
Note that I am not including the cost of I/O devices (keyboard, mouse and monitor) in this estimate.
Of course, some money could be saved by buying some of these quantities in bulk, or by buying custom power supplies (though I’m not sure how good the latter would be for clasroom use). You could also cut $60-$120 off the cost by reducing the number of Raspberry Pis down to 3 or 2. I’d argue that 3 nodes is perhaps the minimum you’d want for a reasonable parallel example. Doing so will reduce the price point to around $200 or less, which is similar to the cost of a college textbook.
Final Thoughts
Overall, I was pleased with PiRacks. Since the Raspberry Pi B+ was released back in 2014, the form factor of the Pi has barely changed. Assuming the Raspberry Pi Foundation continues to keep the form factor constant, I anticipate that PiRacks will be re-usable with future boards.
Compared to the 3D printed case that I co-designed, I think the PiRacks is perhaps slightly more expensive in terms of raw materials (we estimated that it costs about $5 per node for our case, so $20 total), if you don’t have a 3D printer, the PiRacks is a great solution. Furthermore, I have gotten complaints that on certain 3D printers, the connectors do not fit tightly enough with the baseboards, which means they fall apart easier. This is not an issue you will have with the PiRacks. Be careful about the tiny parts though! I certainly kept on dropping them during assembly.
Regardless of what option you choose, both PiRacks and the 3D printed case are simply case designs. To create a cluster, you will need to buy Pis, power supplies, a switch/router, etc. A complete cluster solution they are not. However, I find the PiRacks a good alternative to the 3D printed solution for classroom use.