jeudi 9 avril 2015

Examples of Raspberry Pi clusters

This article is dedicated to previous projects of Raspberry Pi clusters over the world. Some of them are used for server, others as supercomputers. But this kinds of supercomputer were only for an educational purpose because the old Raspberries weren't powerful enough.

Here are the examples :


- Raspberry Pi Supercomputer by computational engineers from the University of Southampton


Computational Engineers at the University of Southampton have built a supercomputer from 64 Raspberry Pi computers and Lego. They wanted to build a low-cost, compact demonstration cluster.


Professor Simon Cox, the leader of the team, and his son with the cluster


- Raspberry Pi Cluster


David Guill, the owner of a website where he publishes his engineering projects, challenged himself to build a Raspberry Pi cluster and gives all the details of his project.
Cluster - Left Side Angled Cluster - Right Side Cluster - Front Side
Pictures of the finished cluster in his case


- Raspberry Pi web server


An article describing the steps to make a Raspberry Pi cluster and use it as a web server.
 
Pictures of the finished cluster

Benchmarking of parallel execution tasks

New Raspberry Pi has a multicore architecture processors so it's permits a multitask execution of programs. To testing this feature we execute some instances of benchmarks in parallel and we compare to the same type of tests in a computer used an x86 architecture, in our example we used an Intel Core i7-3930K.
So we tested a different number of program for parallel execution, we began a tests by execution a some instances of Nbench or Dhrystone and we augmented a number of instance to determinate how the performances decrease. For tests we used this number of parallel tasks : 1 - 2 - 4 - 6 - 8 and because our x86 processor has a 6 cores architecture for its test we added 10 - 12 parallel execution tasks.
From this test we obtained this results :
 - For Dhrystone (result of execution of each task) :





- For Integer Part of Nbench (result of last executed task) :




After this results we observe the differences of parallel computing performance between Raspberry Pi 2 and Intel Core i7-3930K. So here we obtain a factors from 13 to 20 in Dhrystone benchmarks and from 4 to 3 for Nbench benchmarks.
These results show that the execution of some tasks in parallel decrease the results of each task in function of number of cores in the system and number of task ran. In the Core i7 we observe the decrements of performance after execution of 6 parallel tasks in the same time but some core continue to obtain a maximal result even after 6 tasks. But in the Raspberry Pi 2 the decrements begin after 2 tasks executed so the multitask realization in ARM architecture is less performance that the same in x86.
For better analyse of multitask execution we have to launch a proper program that could parallel the instructions in the program level and separation by system to obtain the results closer to real performance of parallel architecture for this processors.