I have acquired some extra raspberry pi's and am looking to make use of them all in some way.

As I have been reading around, all of the "turn your Pi into a supercomputer" articles are only referring to using software like MPI to split up tasks and send them to each of the processing nodes.

However, I cant seem to find a lot of information on if it is possible to set up two or more raspberry pi's such that they all contribute their processing power, RAM, Storage .etc to some sort of shared pool that then can be used as if it were a single raspberry pi with better specs.

I seem to remember something similar to this being possible with docker containers (you could run containers in an environment made up from a shared pool of a whole cluster of resources). Is there I could setup on my pi's that would allow me to set them all up in a cluster to create one beefier "virtual pi" that I could use as if it were just a single normal pi?

  • I heard there’s like a ClusterHAT or something that some company made. I just hear about it. – juniorRubyist Jan 14 '19 at 22:43
  • 1
    I'm pretty sure Docker also splits up tasks and sends them to the nodes behind the scenes. – Dmitry Grigoryev Jan 15 '19 at 11:58

Think about this question "Is it possible to connect my laptop to my partner's laptop to double the speed of running that steam game I've just downloaded?".

The answer is the same.

To exploit clustering you need to divide the workload into pieces, schedule each piece to run on a member of the cluster. Then when each is done aggregate the results into a single coherent results set.

That needs specialised programming to exploit your cluster.

| improve this answer | |
  • to use your analogy, What about an eGPU? you can plug an external GPU into most laptops now to increase their performance in games. Would it be possible to have one raspberry pi as the master thats connected to the other nodes such that the other nodes are just resource passthroughs essentially? – DeveloperACE Jan 14 '19 at 23:32
  • i'm trying to essentialy make a server that can run basically everything that a regular linux machine (rpi included) can. the type of cluster you describe seems like its application specific. i want to be able to do anything with this server that i could with a regular pi (discord bots, minecrat server, web hosting, Pihole, PFSense whatever) – DeveloperACE Jan 14 '19 at 23:35
  • You're missing the point. The cluster needs a specialised workload or you gain nothing with a pair of loosely coupled Linux machines that have a 480Mb/s I/O limit. – Dougie Jan 15 '19 at 0:28
  • Yeah, that’s what I was reading in other posts on this site. I was just wondering if it was possible to do this sort of thing with a pi cluster since I have some unused pi’s and I vaguely remember other pieces of software with similar functionality. – DeveloperACE Jan 15 '19 at 3:10
  • The main goals I am trying to achieve are a) to be able to run various workloads like a server (discord bots, web servers whatever) and b) to only have one “interface” to the server (I.e. I do t want to have to change the same thing on every single pi every time. I just want to manage it as if it were one pi but be able to not have the rest of my pi’s just sitting there doing nothing – DeveloperACE Jan 15 '19 at 3:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.