Recently, I’ve completed the development of a 40-node computing cluster primarily based on the Raspberry Pi single-board pc. Below is a quick overview video, displaying the finished product.
And here’s one other one showing a couple of the fundamentals about how the case works.
In the practical sense, this is a supercomputer that has been scaled down to the purpose of the place all the system is about as quick as a pleasant desktop system. A lot of the assets obtainable to particular person nodes have been proportionally scaled. I feel it will make it an excellent testbed for distributed software program.
My objectives for this mission had been as follows:
- Construct a mannequin supercomputer, which structurally mimics a contemporary supercomputer.
- All required for the cluster to function is housed in a case no bigger than a full tower.
- Components that are likely to fail must be straightforward to exchange.
- It must be space-efficient, energy-efficient, economically-efficient, and well-constructed.
- Ideally, it should be visually pleasing.
I feel I’ve met these objectives with my design.
Listed here are the specifications of the final system:
- 40 cores Broadcom BCM2835 @700 MHz
- 20 GB complete distributed RAM
- 5 TB disk storage – upgradeable to 12 TB
- ~440 GB flash storage
- Inside 10/100 community connects particular person nodes
- Inside wi-fi N community may be configured as an entry-level or bridge.
- Exterior ports: 4 10/100 LAN and one gigabit LAN (inner community), 1 router uplink
- The case has a largely tool-less design, facilitating straightforward hot-swapping of elements
- Outer dimensions: 9.9″ x 15.5″ x 21.8″.
- Approximate system cost of $3,000. (The primary one cost slightly more.)
Why Construct It?
I needed a computing cluster that I may use for the testing distributed software program. Since I don’t have free entry to a standard supercomputer, I made a decision to construct my very own. Initially, I deliberate to create it as a part of my MSCE thesis, however ended up with a distinct mission for that. As a consequence, I pursued this as a private mission as an alternative.
Since I was making big funding on this, I needed it to be one thing I might be proud to point out individuals for the subsequent a number of years.
Design and Build Process
I made the selection early within the planning course of for this mission that no a couple of costly piece of specialty gear must be required for its development. This maximizes the prospect that any given maker may have entry to the required gear. As I’m a member of Dallas Makerspace, I’ve entry to CNC laser cutter via my membership, which I used extensively throughout the construct course of. A laser cutter with not less than an 18″x24″ mattress can be required for recreating this cluster case.
Full plans for this mission may be found via the next hyperlinks:
- What You Want
- Circuit Boards
- Energy Playing cards
- Raspberry Pi Playing cards
- Router Card
- Ethernet Change Playing cards
- Case Central Construction
- Case Facet Panels
- Fan and Filter Harness
- Ethernet Jack Mounts
- Exhausting Drive Array
- Ethernet Cables
- Energy Cables
- Last Meeting
- Transferring Ahead
Throughout this mission, I acquired/improved the next abilities:
- Course of design: Realized to higher set up design duties for an environment friendly design course of
- Working with constraints: Realized to higher work with strict design constraints
- Manufacture of product requires entry to just one specialty instrument – a CNC laser cutter with a 2’x2′ mattress
- Finish product dimensions had been restricted to the scale of a full tower case
- Prototyping: Gained further expertise in masking/etching printed circuits
- Tried 2 new masking strategies
- Made my very own etchant for the primary time
- Tools: Gained an excessive amount of ability within the operation of a CNC laser cutter
- I had no prior expertise. Now I’m one of many high assets for laser cutter data at Dallas Makerspace.
Now that the is completed, I’ll be putting in some widespread software program packages for distributed computing, with a purpose to consider their potential and prepare myself on them. This can embrace as lots of the packages that run on high of Apache Mesos as doable (e.g. MPI and Hadoop). Sooner or later, I will likely be writing my very own distributed functions, which can embrace my very own cluster administration software program and a few type of actuality simulation engine.