Raspberry Pi Cluster

Recently, I’ve completed construction of a 40-node computing cluster based on the Raspberry Pi single board computer. Below is a quick overview video, showing the finished product.

And here’s another one showing a few of the basics about how the case works.

In the practical sense, this is a supercomputer which has been scaled down to the point where the entire system is about as fast as a nice desktop system. Most of the resources available to individual nodes have been proportionally scaled. I believe this will make it an ideal testbed for distributed software.

Cluster - Left Side Angled Cluster - Right Side Cluster - Front Side

My goals for this project were as follows:

  • Build a model supercomputer, which structurally mimics a modern supercomputer.
  • All hardware required for the cluster to operate is housed in a case no larger than a full tower.
  • Parts that are likely to fail should be easy to replace.
  • It should be space-efficient, energy-efficient, economically-efficient, and well-constructed.
  • Ideally, it should be visually pleasing.

I feel I have met these goals with my design.

Here are the specifications of the final system:

  • 40 cores Broadcom BCM2835 @700 MHz
  • 20 GB total distributed RAM
  • 5 TB disk storage – upgradeable to 12 TB
  • ~440 GB flash storage
  • Internal 10/100 network connects individual nodes
  • Internal wireless N network can be configured as an access point or bridge.
  • External ports: four 10/100 LAN and one gigabit LAN (internal network), 1 router uplink
  • Case has a mostly toolless design, facilitating easy hot-swapping of parts
  • Outer dimenions: 9.9″ x 15.5″ x 21.8″.
  • Approximate system cost of $3,000. (The first one cost slightly more.)

Why Build It?

I needed a computing cluster that I could use for testing distributed software. Since I don’t have free access to a traditional supercomputer, I decided to build my own. Originally, I planned to create it as part of my MSCE thesis, but ended up with a different project for that. As a consequence, I pursued this as a personal project instead.

Since I was making a significant investment in this, I wanted it to be something I would be proud to show people for the next several years.

Design and Build Process

I made the choice early in the planning process for this project that no more than one expensive piece of specialty equipment should be required for its construction. This maximizes the chance that any given maker will have access to the required equipment. As I’m a member of Dallas Makerspace, I have access to CNC laser cutter through my membership, which I used extensively during the build process. A laser cutter with at least an 18″x24″ bed would be required for recreating this cluster case.

Complete plans for this project can be found through the following links:

  1. What You Need
  2. Circuit Boards
  3. Power Cards
  4. Raspberry Pi Cards
  5. Router Card
  6. Ethernet Switch Cards
  7. Case Central Structure
  8. Case Side Panels
  9. Fan and Filter Harness
  10. Ethernet Jack Mounts
  11. Hard Drive Array
  12. Ethernet Cables
  13. Power Cables
  14. Final Assembly
  15. Moving Forward

Acquired Skills

During this project, I acquired/improved the following skills:

  • Process design: Learned to better organize design tasks for an efficient design process
  • Working with constraints: Learned to better work with strict design constraints
    • Manufacture of product requires access to only one specialty tool – a CNC laser cutter with a 2′x2′ bed
    • End product dimensions were limited to the size of a full tower case
  • Prototyping: Gained additional experience in masking/etching printed circuits
    • Tried 2 new masking techniques
    • Made my own etchant for the first time
  • Equipment: Gained a great deal of skill in the operation of a CNC laser cutter
    • I had no prior experience. Now I’m one of the top resources for laser cutter knowledge at Dallas Makerspace.

What’s Next?

Now that the hardware is finished, I’ll be installing some common software packages for distributed computing, in order to evaluate their potential and train myself on them. This will include as many of the packages that run on top of Apache Mesos as possible (e.g. MPI and Hadoop). In the future, I will be writing my own distributed applications, which may include my own cluster management software and some form of reality simulation engine.

Related Links & Articles

38 thoughts on “Raspberry Pi Cluster

  1. Pingback: Super computing with 40 Raspberry Pi’s | Simon Hall

  2. alejandro

    hello how are you?
    wanted to thank you for this project published!
    also want to do so here please wish me luck.

    follow you well and see you soon. :)

    Reply
    1. David Guill

      You’re welcome.

      If you’re going to attempt building it, keep an eye on my writeup for updates. There will be a few as I discover issues with the design and work out how to solve them.

      Reply
  3. Pingback: 40組Raspberry Pi組成的Cluster電腦 | 一路往前走!2.0

  4. Pingback: Raspberry Pi supercomputer met maar liefst 40 Pi's » Mancave

  5. Pingback: 40-node Raspberry Pi cluster | GeekLány

  6. Pingback: NewsSprocket | 40-node Raspberry Pi cluster hides behind a rainbow of cables

  7. Pingback: 树莓派热点回顾第7期 - 极客范 - GeekFan.net

  8. Pingback: Проект 40-Node Raspi Cluster — кластер из Raspberry Pi | Лучший моддинг сайт

  9. Pingback: 40-Raspi impreuna | arduino.ro

  10. Dejan Lekic

    It is impressive indeed.
    Only I wonder how easier is to connect few Parallella boards (say 10) together, and build a cluster out of them. Also, how more powerul such cluster would be…

    Reply
    1. David Guill

      It’s possible it would be easier if not for the fact that I placed my first Raspberry Pi order in 7/2012. Parallella didn’t begin their Kickstarter campaign until 9/2012. Also, the $35 pricetag of the Pi made it more appealing to build a larger cluster of them; and I wanted more than 14 nodes with the budget I was working with.

      Reply
  11. Pingback: Tutorial para instalar un cluster de 40 nodos con Raspberry pi | Cyberhades

  12. Pingback: » Blog Archive » Cluster de 40 Nodos con Raspberry Pi

  13. Tom Hargrave

    A very good project. You could get even more efficiency by using a 3.3V buck converters instead of a 5V buck converters and feeding the 3.3V in through the GPIO port, bypassing the Pi’s inefficient on-board series regulator.

    Reply
    1. David Guill

      When I designed this system, I wanted to be able to swap out the boards for faster boards later. 5V power connections (usually via USB) have become so ubiquitous that I expect it to be a de facto standard for at least 5 more years. I could be wrong, of course, but I felt it was the best way to go.

      Reply
  14. Pingback: 40-Node Raspi Cluster - | Noticias de seguridad informática, ¿qué es la seguridad informática?

  15. Pingback: 40-Node Raspi Cluster - RaspberryPiBoards

  16. Pingback: rndm(mod) » 40-Node Raspi Cluster

  17. ser

    how are the hdds connected to the cluster?
    do you have one or more dedicated control nodes?

    Reply
  18. Vijayakumar Subburaj

    Experiment and market it as a “High frequency trading” system, if possible.

    Reply
  19. Pingback: Servers! | Harry Jiang

  20. Pingback: Raspberry Pi Cluster | Like Magic Appears! | Do...

  21. Amar

    Because there are benefits to having a physical cluster test bed as opposed to a virtual cluster test bed, this is pretty cool.

    Reply
  22. Paul S

    Hi,

    That’s absolutely brilliant! I’m really impressed in how you made it actually look amazing too.
    I wonder if there would be a market to sell them?

    I’m currently building one, but only with 3 pis, but this is a project I could do in the future.

    Thanks for sharing,
    Paul S

    Reply
    1. David Guill

      Thanks!

      I don’t know how much of a market there would be for selling them – I’d have to charge a lot considering the amount of labor involved. That’s part of the reason I made the plans available, so others could use them.

      Good luck with your 3-Pi cluster. What software are you planning to install on it?

      If you do take on this project in the future, I would love to hear about it.

      Reply
  23. Pingback: Raspberry Pi Cluster | The Elite World of the Raspberry PI

  24. Pingback: Raspberry Pi 40-Node Computing Cluster @Raspberry_Pi #piday #RaspberryPi « adafruit industries blog

  25. jasonrubik

    Awesome job !

    Its way more versatile than a simple 40 core computer. And it might be more expensive based only on FLOPS, but it is way cooler than anything around !

    As for the reality simulation engine, why not try a molecular manufacturing-based nanorobot design environment ?

    Reply
    1. David Guill

      Thanks!

      Thanks for the suggestion; that sounds like a cool idea. I think I’ll probably be starting out closer to the macro level, though.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *