
Benchmarking the Turing Pi Raspberry Pi Cluster - geerlingguy
https://www.jeffgeerling.com/blog/2020/raspberry-pi-cluster-episode-5-benchmarking-turing-pi
======
detaro
at $190 for the motherboard + the cost of the Pis, a performance comparison to
a similarly priced NUC (running a cluster of VMs if you want to preserve the
cluster aspect) would be interesting.

~~~
geerlingguy
That's a good suggestion. I almost bought an NUC last year when I was working
on a NAS solution but instead re-tasked a used Mac mini (since it could pull
double duty for iTunes media sharing for my Apple TV).

But going back to something I looked at a little in I think episode 1, it's a
little of an apples-and-oranges comparison, because the point of the Turing Pi
cluster is less about performance vs. a single other computer, and more about
the fact that you have some level of redundancy and hot-swap capability with
multiple Pis on one board (vs an NUC, which is one machine, even if running
multiple VMs).

In the end (and this will be part of my conclusion/review in the next
episode), I think the Turing Pi with CM3+ is best for two classes of people:
those who want to tinker and learn clustering, and those who need a very
compact but somewhat capable 'edge cluster' board, which can be mounted in a
Mini ITX case and have tons of GPIO options built in for things like remote
location monitoring or small tasks that run and check in with a more powerful
central cluster.

I am _really_ excited for the potential a Turing Pi 2.0 would hold, assuming
there's a Compute Module 4 which has a processor that matches the Pi 4.

But even then, for raw performance (compared to a more capable machine), the
Pi is not a great option. Especially if you want to do ML, crypto, etc. — the
Pi is better for smaller tasks or when you are extremely power constrained
(e.g. remote and solar/battery power).

~~~
detaro
Agreed about access to low-level hardware etc.

For learning clustering, I'm personally unsure: Yes, those setups give you a
cluster of machines, but wouldn't a cluster of VMs on a physical host give you
more flexibility in trying different machine sizes, network performance, ...?
Or is that too complicated and gets in the way? I do not know.

~~~
geerlingguy
It's a tradeoff. Having separate hardware more fully emulates a cluster you'd
see in the real world where you have to deal with cross-machine network
boundaries and potential networking limitations.

Sometimes those can be masked when you run multiple VMs on one host,
especially if you rely on whatever VM management tool's automatic networking
configuration sets up.

The other thing a single machine can't easily emulate is having a multitude of
CPU cores available across different machines, or the ability to have swapping
on one application instance not take down the entire machine (well... that
could be mitigated somewhat but still).

~~~
detaro
Simulating a wide range of network conditions feels easier between VMs (they
go from almost perfect, way better than especially the older Pis can offer, to
as degraded as you want), but contention for other system resources is a good
point.

