Can My Water Cooled Raspberry Pi Cluster Beat My MacBook?

preview_player
Показать описание
I recently built this water-cooled Raspberry Pi cluster and now it's time to put it to the test. I ran it against a Windows PC, a MacBook Air and a single Raspberry Pi to see how it compares. On each platform, we searched for all of the primes numbers up to a certain limit and compared the times it took to reach the target limit. You'll be surprised by the results!

People have also asked to compare the cluster to one of AMD's Ryzen CPUs, so if any of you have one then please download the script below and try running it on your computer. I'd also be interested in seeing how a Pi 400 compares.

Basic Parts List & Purchase Links
3mm MDF Board Approx. 600 x 600mm

Laser Cutter Used - K40 40W CO2

Note: Some of the above parts are affiliate links. By purchasing products through the above links, you’ll be supporting this channel, with no additional cost to you.
Рекомендации по теме
Комментарии
Автор

This makes use of multiple cores and threads on the CPU it's being run on, so is more representative of the processing power of the whole CPU.

I'll post updates as I run it on each system:

HP Laptop:
10, 000: 0.9 s
100, 000: 18.27 s
200, 000: 66.99 s
500, 000: 374.3 s (6 min 15 s)

MacBook:
10, 000: 1.42 s
100, 000: 35.64 s
200, 000: 142.12 s
500, 000: 827.53 s (13 min 45 s)

Pi 2.0Ghz:
10, 000: 0.9 s
100, 000: 109.02 s
200, 000: 448.02 s

Pi Cluster 2.0Ghz
10, 000: 0.9 s
100, 000: 15.88 s
200, 000: 57.67 s
500, 000: 312.45 s (5 min 10 s)

MichaelKlements
Автор

Tested the script on my Ryzen 7 5800x running linux 5.10 and python 3.9.1 with the schedutil governor:
To 10000: 0.27 seconds
To 21 seconds
To 73 seconds
So faster than the cluster but costs about the same (I think I paid about 520€) just for the CPU. That said, the script only used a single core, if it was multicore it would have been 8-16 times faster.

thevayudev
Автор

It's kind of pointless to compare single core performance of a laptop CPU to performance of 8 Raspberry Pis.

You could get much more meaningful results by loading every core on laptops (with and w/o hyperthreading) while monitoring for thermal throttling, and also loading each core on your Pi cluster, not just one per node.

imax
Автор

I don't even care if it's faster, that cluster looks so awesome!

Henchman
Автор

THIS MAN SETUP A CLUSTER TO RUN SINGLE THREADED CODE WTF AM I WATCHING

es-yycm
Автор

I ran it on my pentium 4.









Stay Tuned.👌

nerdcotics
Автор

I love all the people here just participating and sending their test result. apes together strong

m_fadhln
Автор

WOW, Was not expecting that performance from a PI. Really powerful little machines....😁

NoName-vggz
Автор

Ryzen 5 3600XT results:
single process script:
10k: 0.59 seconds
100k: 28.49 seconds
200k: 104.89 seconds

multi-process script:
10k:0.5 seconds
100k:6.82 seconds
200k:23.62 seconds

As someone pointed out in the comment section, the performance improved greatly only when I changed line 41 in the multi process script to :
parts = chunks (range(2, max_number, 1), mp.cpu_count())

inderpreetsingh
Автор

You only ran the test on a single thread on each laptop, so the test isn't very fair when comparing to multiple pi's. With multithreading the laptops would be about twice as fast if they're dual cores, or more with hyperthreading.

TheAnoniemo
Автор

“Running mathematical computations” 😂 dude be crypto mining.

JonathanLaRiviere
Автор

Tested the script on my Ryzen 7 3800x running Windows 10 and python 3.8.7 (More of a mid range cpu 8 cores 16 threads, max all core was 4.47ghz)
10000: 0.33 s
26.95 s
102.24 s

FallensWorkshop
Автор

To get the Multicore Working you have to change the line 41:
#Orginal:
parts = chunks(range(2, max_number, 1), 1)
#now:
parts = chunks(range(2, max_number, 1), mp.cpu_count())

UseFreeSpeech
Автор

Here are the results on an i9-9900K at stock speeds:

Single Core:
10, 000 - 0.35s
100, 000 - 25.85s
200, 000 - 100.74s

Multi Core:
10, 000 - 0.29s
100, 000 - 3.23s
200, 000 - 10.94s
2, 000, 000 - 2, 220.28s

nikolainyegaard
Автор

I tried it out on my M1 Mac mini, 5 runs of each script and averaged the times:
10000: 0.45 s
39.77 s
155.84 s
and because I had the time...
985.56 s

chrisjniles
Автор

Impresive! I can only imagine what a cluster of 100 Pi can

lacricademarta
Автор

Only testing single core performance seems unreasonable when testing something that is essentially designed for parallel workloads.

a.x.w
Автор

Tested the Multi-process script on my Pi400, 2.2 Ghz (overclock) running Raspbian 10 (buster) and Python 3.7.3:
10.000: 0.99 sec
100.000: 108.01 sec
200.000: 448.25 sec

docdimy
Автор

6:42 You say the cluster needs to manage communication between the nodes. However, the MPI script splits the task in independent, almost identically sized parts which means there is minimal overhead in parallelizing on a cluster. That said, your cluster does look really neat and you clearly put some effort in making this video, nice job!

gillesottervanger
Автор

It makes me anxious how you are manually setting up every pi via ssh instead of using ansible

nafishasnian