0

I've recently seen that some companies use raspberry pi clusters as supercomputers. For example, Los Alamos National Laboratory has a supercomputer with 750 Raspberry Pi 3. And I was thinking if you can increase the number of cores so easily with a raspberry pi cluster why don't more people use them? The problem is that I don't know what applications allow multithreading. My browser for example does, so I could get a better browsing experience by using a couple raspberry pis. But what other common tasks could be performed faster on a raspberry cluster?

1
  • Multithreading is not the same as clustering. This is just a list question, a type not well suited to SE.
    – Chenmunka
    Jul 21, 2021 at 7:54

2 Answers 2

3

"what applications allow multithreading. My browser for example does, so I could get a better browsing experience by using a couple raspberry pis"*

No. A cluster is not equivalent to one big computer for any purpose. For starters, they can only share information over a network connection, which is orders of magnitude slower than the CPU communicates with RAM. So, a cluster of pis would be faster than a single Pi for performing some analysis of a large number of web pages at once, because each pi could analyze a page at a time and pool the results. But it would almost certainly cause your web browsing experience to become unbearable (unresponse, stuttering, etc)., not better, which is why no one in their right mind would try to implement that.

The relationship between "multi-threading" and "clustering" is not a simple one. Generally, interactive graphical applications use multi-threading so that the interface remains response while another thread is (eg.) loading stuff from the network. It can be used to improve performance speed wise, but there are limitations WRT when this is true and when it isn't.

If your question is, what would a cluster of pis be faster for than a single pi, there will be lots of answers like that, but the answer is not anything and everything.

"why don't more people use them?"

They are mostly (perhaps only) used for educational purposes. It is a cheap way for people to learn about clustering hands on. But this is because they are cheap, period, for a single system that can run a normal OS with standard network and peripheral interfaces. It is not because they are economical pound for pound, by which I mean $1000 worth of Pis clustered will not be better than a $1000 x86-64 system -- it is very much the other way around, which is why no one sells pi clusters for cutting edge gaming, etc. There may be some tasks for which this is not true but they would be very unusual especially in the context of conventional end user purposes.

4
  • 1
    Couldn't the network speed limitation be fixed by using some other board to connect the Raspberry Pis? For example, does the Turing Pi board use bus or network for communicating the pis?
    – ajr-dev
    Jul 11, 2021 at 22:23
  • Generally the connections between computers is slower than the connections between parts of a single computer (like the RAM to CPU bus). This applies for Pis as well as supercomputers running the latest CPU/GPU tech. Now even if you magically fix the network bottleneck, I don't think Raspberry Pis can match ordinary CPU/GPUs on performance per dollar. So you're always going to be better off networking ordinary computers into a cluster.
    – csiz
    Jul 12, 2021 at 2:04
  • 1
    @ajr-dev There's nothing with comparable speed exposed on the board -- without digging, I'd guess there's nothing comparable exposed on the SoC itself, so you could not even build a special board using a that SoC for that purpose. Something has to have the fastest transfer rate, and it makes no sense for it to be something other than the CPU <-> RAM bus (hopefully the logic there is obvious). With regard to systems involving multiple processors (as opposed to just processors with multiple cores), these are on the same board or a boards meant to interface them but that is not a cluster.
    – goldilocks
    Jul 12, 2021 at 13:49
  • That said, (to contradict myself a little) there may be DMA interfaces on the SoC that could be fitted to the purpose of a faster than 1 Gbit rate -- but I suspect incredible speed is actually not a major goal with those. There's the 4K HDMI but I don't think that could be used because it is seriously asymmetrical -- the pi could only send from there. The best possibility might be combining the CSI and DSI connectors for a unified I/O stream.
    – goldilocks
    Jul 12, 2021 at 13:54
2

The pi has a slower cpu, slower network, slower memory, and slower disk devices than a conventional computer. The network device on the pi3 can't even keep up with a regular desktop's network, and is slower than 1G. It is designed to be cheap and robust, not fast. There is nothing a pi cluster can do faster. In some circles, a pi cluster is considered a joke -- although a pretty cool one. Several pi clusters have been built for demonstration purposes.

The pi has more readily available I/O pins than a regular computer, so at a stretch, a pi cluster could do a lot more gpio. This might actually be useful of the pi's were distributed over a wide area; they could act like cheap (and slow) distributed I/O extenders, but this is not a conventional cluster. by any stretch of the imagination.

Los Alamos National Laboratory's Pi cluster's purpose is not to be fast. It is to test cluster algorithms. Sometimes you want a slower computer when testing code, because if it is too fast, things happen too quickly to debug. But also, 750 pi's is a lot smaller and cheaper and uses a lot less power than 750 conventional servers. Speed isn't everything.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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