- ARDULEGO KIT: create with Lego and ArduinoPosted 2 weeks ago
- Share & Discover by PCBWayPosted 3 weeks ago
- ENERGY METER IOTPosted 4 weeks ago
- Energy Meter GSM with Arduino (part 2)Posted 1 month ago
- Energy Meter GSM with Arduino (part 1)Posted 2 months ago
- ARDULOCK: a keyboard with RFID modulePosted 2 months ago
- Autofocus Glasses/Phoropter Using Variable Focus Liquid LensPosted 4 months ago
- Home Automation & Lights controlling SystemPosted 4 months ago
- Solar TrackerPosted 4 months ago
- LTspice inverter simulation with thermal effectsPosted 4 months ago
Clusters computing with Raspberry Pi build your mainframe (almost) for free!
An interesting experiment from Fabio Nelli, dedicated to all the software engineers who need to build or study a parallel computing system. The traditional ones are really expensive but, as you can read below, by using MPI library for python and at least a couple of Raspberry pies, you have a full performing system, almost for free!
Are you a developer and have you always wished to be able to implement code in parallel and try it on a cluster of processors? Well, now you can do it, cheaply and easily at your home. Thanks to the low cost of the Raspberry Pi boards, now you can realize a small cluster on which to practice and become familiar with parallel programming.
In this article, you’ll see how easy it is to make a small cluster consisting of two Raspberry Pi boars. As a programming language you will use Python and as for programming in parallel, you will see how easy you can be implemented parallel code thanks to the MPI library. A series of examples will then introduce you to the basic concepts of the parallel programming that will be useful for you to develop any project.
The “Message Passing” model for parallel computing is considered as one of the best performing, and it is based on a specific protocol called MPI (Message Passing Interface). It consists mainly of a portable and standardized system of message-passing, that currently has become the standard de facto for parallel communication within clusters. Since its first release the standard library MPI has become the most widespread.
The mpi4py module provides an object oriented approach to message passing to integrate the Python programming. This interface is designed according to the syntax and semantics of MPI defined by the MPI-2 C ++ bindings. You can go deep into this topic consulting a good documentation in this page, it is written by the author of mpi4py, Lisando Dalcin.
Here is a scheme reporting the performance improvement when using n=2 Raspberry in parallel. On X axis you have the concurrent requests while on Y axis there is the mean response time for each.
Check the full description and installation&configuration guide here: Clusters and parallel programming with MPI and Raspberry Pi | Meccanismo Complesso