Design Criteria Maker Faire “Mini Supercomputer”

We decided right from the outset of this project that we wanted to use Raspberry PI systems as a basis for our system. The reasons are many:


Raspberry PI is very popular and widespread.

They are very inexpensive.

They run Linux.

The newer Model 3 has a four core processor, and can actually run in 64 bit mode.

They consume very little power.


A processor with 4 “cores” is really a processor with 4 individual CPU units running on the one chip that comprises the processor. This means 4 separate programs can run at the same time, with each program having the full power of one of the CPUs available. Of course, certain resources are still shared. Memory usage, and access to disk and network are the most obvious.


The current default Raspberry PI software brings up the processor in “32 bit mode”, even though the Model 3 is capable of “64 bit mode”. In 64 bit mode, the 4 cores have more internal registers available, and these registers themselves increase from 32 to 64 bits in size. We have experimented with a version of “SLES11SP2” that SUSE makes available that supports 64 bit mode on the Raspberry PI. We found, in general, that Scientific codes that we benchmarked, ran roughly twice as fast. Overall, though, the 64 bit SUSE system did not support the Raspberry PI nearly as well as the now increasingly mature default 32 bit Raspbian software. Since the memory on the Raspberry PI is limited to 1 Gbyte, there’s currently no pressing need to use the 64 bit mode, with it’s ability to address memory well in excess of 2 Gbytes.


We felt 4 processors was a “sweet spot” for our design, primarily because of the widespread availability of really cheap 5 port Gigabit class Ethernet switches. 4 of the ports can be used to connect to the 4 processor boards, with one port left to serve as connection to the outside world. For security and simplicity, we choose not to work with the wifi wireless network capability of the Raspberry PI.


With 4 Raspberry PI systems, we soon realized that we would run out of “ports” to connect the systems to keyboards and monitors. Each Raspberry PI can use an external connection to an HDMI port for the display, and one USB port for keyboard and mouse. We felt six external ports, using “keystone” technology was our maximum. So, 4 ports for two Raspberry PIs, and then one port for ethernet, and one port for power. We did not want to deal with a 110V power supply in our case. We thus use a single 5 volt external power supply for the whole system. This also dictates that the Ethernet Switch needs to be 5 volts as well. (Easily accomplished.) So, to work with the 2 Raspberry PI systems, we turned to a similar style of system from Parallella. We chose the variant that runs “headless”, with only and ethernet socket and power (5V) as external interfaces. These 5 volt systems consist of a dual core Arm processor paired with a 16 core accelerator chip designed by Adpteva. We have yet to explore the capabilities of the accelerator chip, but have routinely used the dual ARM cores in shared calculations with the Raspberry PIs.


In retrospect, it would be cheaper and more effective to have used 4 Raspberry PI systems, just ignoring the monitor and keyboard connections for two of the systems. However, we look forward to exploring the Adapteva chips.


So, having settled on the overall design of the system, we progress now in dual pathways of software setup and the hardware design to package the system components together.


CLICK HERE FOR HARDWARE


CLICK HERE FOR SOFTWARE