1

I'm very new to the Pi but I've come across a few stories and tutorials about how to turn many Raspberry Pi's into a supercomputer.

I got to wondering, are there any practical uses a 'normal' person might have for a supercomputer. I'm defining normal as tech savvy hobbyists, gamers, or professionals outside the realm of serious research or data science.

closed as primarily opinion-based by Dmitry Grigoryev, Jacobm001 Apr 10 '17 at 20:09

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    No, not for any normal usage. By definition a cluster of Pi's can't be a supercomputer, it's not powerful enough. – joan Oct 26 '16 at 7:55
1

Why? They use relatively little power, are easy to set up as a cluster since come with ethernet, and are quite cheap. If you use the graphics processor to crunch numbers, the Pi is actually rather powerful. They have minimal components, a powerful and efficient ARM processor, and are well-supported software-wise. They might not be the very most efficient solution in one way or another, but easy and affordable for a tech hobbyist.

Like with any cluster, some possible uses:

  • Machine learning - Eg for crunching genetic algorithms
  • Bitcoin-mining (tho probably too inefficient to make money anymore)
  • 3D processing
  • Compiling large amounts of code, (The developers of Raspbian use Pi's to do exactly this)
  • Cracking encryption (If you are so inclined!)
  • Simulation for verification of circuits or hardware, as done by companies before they produce microprocessors and so on, simulating EM interaction of components on top of traditional circuit analysis
  • Simulation of anything for that matter
  • Large batches of automated tests for software

The advantage of the Pi is once you have two of them working well together, it isn't too hard to get up to about 100 working together - limited only by the communication between them. (ZeroMQ) makes it relatively easy.

1

The term supercomputer is misapplied, the pi is often used for learning about clusters due to it's low cost and open software support. Latency and node size prevent any pi cluster from competing practically with a supercomputer, so pi clusters are strictly educational.

0

Several uses come to mind. None of these are supercomputer uses but rather cluster computing.

Distributed compilation. If you want to build non-trivial software packages (e.g. Firefox), it will take hours, even on a powerful x64 computer. A compiler farm of 4-8 RPi boards running distcc will cost much less than a top computer and consume less electricity, while providing comparable build times.

Media encoding. You may want to keep your media collection in high quality formats (FLAC, Blueray, etc.) which may not be compatible with some of the devices you own. With a media encoding cluster (e.g. x264farm), you could quickly convert selected media files to the format of your choice.

Network load distribution. If you have ever tried to run OwnCloud or similar server software, you probably know the performance on RPi isn't stellar. If you host a website visited by several simultaneous users all the time, you could use nginx or haproxy to distribute load between several RPi boards to increase performance (as a side note, you'd probably be much better off simply paying for hosting).

0

Raspberry Pis as you know aren't very powerful when you consider just one device. So people came up with ideas to combine them to form a cluster and then use it as a distributed system.

Now all supercomputers are a cluster of very very powerful smaller computers. So these Raspberry Pis were called mini-supercomputers. Some of us actually built a cluster with 70 Raspberry Pis. We did face a lot of errors and issues while building the raspberry pi supercomputer, but we managed to solve all of them.

Coming to the question of is it useful in any practical way. Yes, there are uses of this to normal people. But not as a supercomputer, because it is nowhere powerful to the real ones. However, some of the most practical use that I feel would be:

  • Data Mining - Wheather it is scraping and mining amazon reviews or tweets or facebook comments, you don't need much computational power. You can easily use a cluster like this to mine data in parallel
  • NLP Tasks - Some of the NLP tasks like POS tagging or tokenization can be performed in parallel for a bunch of text. So using a raspberry pi cluster, you can easily distribute the tasks to the various nodes to complete them and get back the results to the master node. This way, the time taken to complete the entire thing would be reduced significantly.
  • A media server - This is useful but I must say a difficult task, but many people are using Raspberry Pis to set up their own Media server. With a distributed system in place, you can build a more powerful version so that only you have access to your favourite media anywhere and anytime.

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