Can My Water Cooled Raspberry Pi Cluster Beat My MacBook?

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 มิ.ย. 2024
  • 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.
    Download the Python script - www.the-diy-life.com/can-my-w...
    Download the multi-process Python script - www.the-diy-life.com/can-my-w...
    Read the full write-up, including details on the cluster setup - www.the-diy-life.com/can-my-w...
    Basic Parts List & Purchase Links
    Display Used For Testing - amzn.to/2NHJlUn
    8 x Raspberry Pi 4B (2GB Model Used) - amzn.to/3i0eYni
    TP-Link 16 Port Ethernet Switch - amzn.to/2Ldn9km
    Rav Power USB Charging Hub - amzn.to/2MNCSH3
    HD Touchscreen Monitor - amzn.to/38ug1Zq
    Water Cooling Kit - bit.ly/3sfTAiO
    8 x 30mm Cooling Blocks - bit.ly/38vZa8I
    8 x Ethernet Patch Leads - amzn.to/2XPjfAS
    8 x USB C Cables - amzn.to/35rOwOp
    3m RGB LED Strip - amzn.to/3nyaPbt
    M3 Standoff Mount Kit - amzn.to/38u6Qs8
    M3 Red Aluminium Standoffs - www.banggood.com/custlink/KKv...
    M3 Screw Kit - amzn.to/38wl63J
    3mm MDF Board Approx. 600 x 600mm
    Laser Cutter Used - K40 40W CO2
    Option 1 - amzn.to/3sB9xAb
    Option 2 - amzn.to/3nSGrZz
    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.
  • แนวปฏิบัติและการใช้ชีวิต

ความคิดเห็น • 1.2K

  • @MichaelKlements
    @MichaelKlements  3 ปีที่แล้ว +177

    Adi Sieker has put together a multi-process version of the script - www.the-diy-life.com/can-my-water-cooled-raspberry-pi-cluster-beat-my-macbook/#multi_test_script
    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)

    • @acidspark
      @acidspark 3 ปีที่แล้ว +10

      CPU: i7-10750H 6 cores / 12 threads at 2.6GHz
      10K: 0.26 s
      100K: 17.59 s
      200K: 64.13s
      500K: 375.43s

    • @esteban-
      @esteban- 3 ปีที่แล้ว +25

      The code on the blog is also buggy, need to change chunks to 100 instead of 1 in last parameter. Ryzen 5900x does 200k in 4.1 seconds with stock amd cooler.

    • @acidspark
      @acidspark 3 ปีที่แล้ว +8

      @@esteban- just changing chunks to 100 brought the 500K down to 97.94s on mine.

    • @esteban-
      @esteban- 3 ปีที่แล้ว +3

      @@acidspark You can probably halve that by a small fix on the finding primes code too; it's ilogical to divide from 2 to candidate number, if the number is not divisible by 2 then it's not divisible by any number bigger than N/2 so range(2, candidate_number/2) will cut in half the tries. That anyway would be cheating to compare with the video numbers, but using all processes correctly no.

    • @NicoCoetzee
      @NicoCoetzee 3 ปีที่แล้ว +1

      With max_number on 200000, mine run 121 seconds on the single threaded version vs 78 seconds on the multi-thread version.
      Intel i5-8300H (8) @ 4.000GHz 4-core/8-threads

  • @jakestevenson6388
    @jakestevenson6388 3 ปีที่แล้ว +832

    Please tell me you called it Octopi.

  • @thevayudev
    @thevayudev 3 ปีที่แล้ว +478

    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 100000: 21 seconds
    To 200000: 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.

    • @alouisschafer7212
      @alouisschafer7212 3 ปีที่แล้ว +89

      Do basically one Ryzen core can do the work of a pi cluster?

    • @Carterthielftw_
      @Carterthielftw_ 3 ปีที่แล้ว +31

      @@alouisschafer7212 Essentially

    • @DavidTomaschik
      @DavidTomaschik 3 ปีที่แล้ว +30

      88 seconds for 200000 on a Ryzen 7 3700X, for comparison's sake.

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว +126

      That's really impressive for a single core!
      Yeah, if the script were multi-threaded then the Pi's would use their additional 3 cores each as well, so they should also be 3-4 times faster, but still no match for your Ryzen 7 5800x

    • @MegaJefflin
      @MegaJefflin 3 ปีที่แล้ว +28

      @@MichaelKlements it can be easily just import multiprocessing library in python, I tried that can running with full 40 cores in my server.

  • @es-yy2cm
    @es-yy2cm 3 ปีที่แล้ว +252

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

    • @lacricademarta
      @lacricademarta 3 ปีที่แล้ว +16

      I was thinking that

    • @9279chomp
      @9279chomp 3 ปีที่แล้ว +39

      I'm pretty sure mpi just takes the loop and divides it evenly between the nodes.
      Each loop is independent so this works fine but once you get into loops with dependencies (shared info / mutexs) the cluster is going to slow significantly .
      It's a shame this wasn't highlighted in the video.

    • @grabbit9215
      @grabbit9215 3 ปีที่แล้ว +4

      Yeah, the cluster's performance is better when the task can be parallel. But single core still suck.

    • @GSHERPA
      @GSHERPA 3 ปีที่แล้ว +7

      this comment needs to be pinned.

    • @umdasu
      @umdasu 3 ปีที่แล้ว +10

      also why didnt he test the pc on both single core and multi core performance. just to make it complete

  • @imax9000
    @imax9000 3 ปีที่แล้ว +675

    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.

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว +170

      Yes, it would definitely have been a better comparison to utilise all cores on each system. I haven't been able to get a multi-threaded Python script to run stably on multiple platforms yet, but I'll keep working on it.
      This still gives you a pretty good idea of how they would compare if you know the core count of each device being tested.

    • @imax9000
      @imax9000 3 ปีที่แล้ว +47

      @@MichaelKlements Yeah, multithreading in python is virtually non-existent (due to GIL), but it should be not too hard to run one python process per core, the same way you did with MPI.

    • @Jose-Sousa
      @Jose-Sousa 3 ปีที่แล้ว +15

      @@MichaelKlements Using Parallel from joblib is pretty trivial to run in multiple cores: drive.google.com/drive/folders/1_VUNGTMIvpuy_7pAXjTvD0MCGfQaf2NM?usp=sharing
      With Python GIL multi-thread is out of the equation (so on some systems one can gain more performance by leveraging other languages)

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว +23

      Thanks José, I'll look into joblib and try that out on the cluster as well.

    • @skay1209
      @skay1209 3 ปีที่แล้ว +1

      I would have really liked to see this as well. I tested the script on my i9-9900k @ 4.8 ghz and got 0.33, 24, and 84. If the script were multi-threaded then the pi's performance would likely falter to some other laptops/PC's

  • @Henchman1977
    @Henchman1977 3 ปีที่แล้ว +85

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

  • @chelovekcyka4783
    @chelovekcyka4783 3 ปีที่แล้ว +208

    I ran it on my pentium 4.
    Stay Tuned.👌

    • @IwanJames
      @IwanJames 3 ปีที่แล้ว +7

      *5 hours ago*

    • @maciej0o0o
      @maciej0o0o 3 ปีที่แล้ว +7

      10 hours ago xD

    • @wakematta
      @wakematta 3 ปีที่แล้ว +7

      16 hours ago

    • @jessacrow9407
      @jessacrow9407 3 ปีที่แล้ว +7

      1 day ago

    • @lolaa2200
      @lolaa2200 3 ปีที่แล้ว +5

      2 days ago ...

  • @FallensWorkshop
    @FallensWorkshop 3 ปีที่แล้ว +60

    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
    100000: 26.95 s
    200000: 102.24 s

    • @NithinJune
      @NithinJune 3 ปีที่แล้ว +2

      I have a Ryzen 7 2700 I'll check it when I get home

    • @iwontlagback7236
      @iwontlagback7236 3 ปีที่แล้ว

      aw man you got destroyed on the 200k test by a raspberry pi lmao a r7 3800x getting rekt by 8 little tiny computers x(

    • @darkshadowsx5949
      @darkshadowsx5949 3 ปีที่แล้ว +2

      it only runs on one thread so core count is irrelevant. the important thing is clock speed.
      if someone makes an efficient multi thread script then core count would be important along clock speed.
      i dont know python well enough but i can do C++ or C#.

    • @user-lr8hd5qi6n
      @user-lr8hd5qi6n 3 ปีที่แล้ว

      @@darkshadowsx5949 but the RPI 4B also has 4 cores

    • @jessacrow9407
      @jessacrow9407 3 ปีที่แล้ว

      man that's a weak 3800, my 3600 has 78 seconds on 200k. Are your clocks/temps okay?

  • @NoName-vg1gz
    @NoName-vg1gz 3 ปีที่แล้ว +233

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

    • @coderdude9417
      @coderdude9417 3 ปีที่แล้ว +13

      Not very powerful by themselves, but when strung together yes they are very powerful

    • @joejia1410
      @joejia1410 3 ปีที่แล้ว +48

      @@coderdude9417 Apes together strong

    • @Chrisknot94
      @Chrisknot94 3 ปีที่แล้ว +9

      Not 'a' pi
      '8' pi ;)

    • @batmanasdasd
      @batmanasdasd 3 ปีที่แล้ว +1

      @@Chrisknot94 🤣🤣🤣🤣

    • @NonsensicalSpudz
      @NonsensicalSpudz 3 ปีที่แล้ว +3

      @@Chrisknot94 or pi³

  • @inderpreetsingh3021
    @inderpreetsingh3021 3 ปีที่แล้ว +9

    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())

  • @UseFreeSpeech
    @UseFreeSpeech 3 ปีที่แล้ว +11

    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
      @UseFreeSpeech 3 ปีที่แล้ว +2

      with 24 cores:
      10000 = 0.08 seconds
      100000 = 1.67 seconds
      200000 = 6.16 seconds
      500000 = 37.01 seconds

    • @nocare
      @nocare 3 ปีที่แล้ว

      Thanks much better.
      8 cores 16 threads
      10000 = 0.47 seconds
      100000 = 5.16 seconds
      200000 = 21.03 seconds
      500000 = 119.29 seconds

    • @ame7165
      @ame7165 3 ปีที่แล้ว

      stock clock and undervolted 16 core 3950x:
      10k: 0.22 seconds
      100k: 1.5 seconds
      200k: 4.78 seconds
      500k: 26.5 seconds

  • @yusufrajah2709
    @yusufrajah2709 3 ปีที่แล้ว

    Awesome build and great explanations, thank you and well done!

  • @nikolainyegaard
    @nikolainyegaard 3 ปีที่แล้ว +12

    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

  • @chrisjniles
    @chrisjniles 3 ปีที่แล้ว +93

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

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว +15

      Thanks for sharing your results. I've heard good feedback from people using M1 Mac's so far, I'll definitely be looking at getting one when they've expanded the range.

    • @execuuute2409
      @execuuute2409 3 ปีที่แล้ว +3

      Thats weird. I forced my gf to try it and she got 24 seconds on her MacBook Pro on the 100.000 test.

    • @esteban-
      @esteban- 3 ปีที่แล้ว +4

      Try with the MP code fixed (chunks last parameter 100+) to get some real numbers for the test. M1 is probably as fast or faster than the cluster

    • @ashrude1071
      @ashrude1071 3 ปีที่แล้ว

      My iPhone XS got nearly identical results, within the margin of error using a-Shell

    • @leoeduardo3016
      @leoeduardo3016 3 ปีที่แล้ว

      Hi. Do you use python running on rosseta or python native for M1?

  • @m_fadhln
    @m_fadhln 3 ปีที่แล้ว +76

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

    • @mikechu01
      @mikechu01 3 ปีที่แล้ว +1

      We're going to the moon with these results!

  • @harshal840
    @harshal840 ปีที่แล้ว

    Hi @Michael, sorry if you already stated it in the video in which case I might have missed it.
    Were you using the exact same algorithm on either systems ? were they all concurrent computations ?
    also, how have you configured your cluster setup to distribute the jobs ?
    I guess, what I am struggling to understand is, lets say if the scripts were same, how did your cluster setup broke down the job to delegate it to follower nodes?

  • @derrenknight1793
    @derrenknight1793 3 ปีที่แล้ว +2

    awsome video man i put a comment on the cluster asking what the benefits were quiet clear now aha :)) welldone

  • @VileLasagna
    @VileLasagna 3 ปีที่แล้ว +7

    Oh, dang... now I kind of want to put a cluster like that together and finally get around to get an MPI implementation of my raymarched mandelbox thingie. Ihis cluster is excessively cute

  • @docdimy
    @docdimy 3 ปีที่แล้ว +17

    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

  • @deechvogt1589
    @deechvogt1589 3 ปีที่แล้ว

    Very cool experiment and demonstration of cluster computing. Thanks for showing us one of many applications of cluster computing. I will stay tuned for thermals. Great work Maker Michael!

  • @simmonslucas
    @simmonslucas 3 ปีที่แล้ว

    could over clock more with the water cooling? If you rewrote your script to use threading and workers does the PI cluster still hold up?

  • @TheAnoniemo
    @TheAnoniemo 3 ปีที่แล้ว +83

    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.

    • @wreper12
      @wreper12 3 ปีที่แล้ว +7

      For full performance it doesn't show the performance of the laptops but it does represent why a pi cluster is useful over a laptop for this purpose in both price and performance. It also shows that if you are doing the kind of work that would benefit from a cluster even a small performance boost can be worth it while still allowing your main computer to be fine while with a laptop to use multithreading would make the machine slow while the processes are running basically wasting the use of the laptop.

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว +30

      Yes it is only running on a single thread on the laptops, but it's also only running on a single thread on the Pis (they're each running quad core processors). So with a multithreaded script, the laptops would have been around twice as fast, but the Pis would then have been 3-4 times as fast as well.

    • @aerispalm6523
      @aerispalm6523 3 ปีที่แล้ว +5

      @@MichaelKlements still makes for an unrepresentative comparison. especially since you told people to try it themselves, especially with ryzen processors which can have a lot more than just 4 cores not to mention hyper threading.

    • @HmineMaster
      @HmineMaster 3 ปีที่แล้ว +3

      @@MichaelKlements yeah, but with a cluster of 8 or 7 pi it's like running the same script on a 7 thread cpu, you should make it multithreaded for both the pc and the rpi, so it can be comparable, if you run a single threaded app on a ryzen and on an intel the intel will win for higher ghz, and it's the same for the rpi's, if you manage to make it multithreaded on a 8 threads 4ghz cpu it will be much faster than 8 rpi's at 2ghz

    • @2wheelleo
      @2wheelleo 3 ปีที่แล้ว

      @@aerispalm6523 intel has hyperthreading, amd has smt (simultaneous multi threading)

  • @JonathanBydendyk
    @JonathanBydendyk 2 ปีที่แล้ว +3

    Impressive and there are still a bunch of optimizations that can be done with in the cluster

  • @paulhendershott667
    @paulhendershott667 3 ปีที่แล้ว

    What are the practical applications running the Pi's in such a way for someone such as me (not a computer science major or programmer, etc)? Would you be able to run an OS capable of running Windows or Linux and associated apps or will this only run specific programs written for the Pi? Thanks and sorry for my lack of knowledge in this subject!

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว

      Pi's themselves are perfectly capable of running a range of Linux based apps and many people use them as standalone desktop computers, typically the Pi 4Bs. Clustering them is purely to improve processing power, mainly for simulations, rendering or bulk computing tasks.

  • @buzz200066
    @buzz200066 2 ปีที่แล้ว

    Awesome build! Does this cluster have failover redundancy; not stopping processing if one node fails?

  • @a.x.w
    @a.x.w 3 ปีที่แล้ว +12

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

  • @LordOdin
    @LordOdin 3 ปีที่แล้ว +4

    I've been working on a some render farm software. Basically a cluster interface. If you would like to test it out hit me up. Its pretty early stages but it's pretty fun to use. It's originally designed for render farms but has been more generalized over the last few months to run most tasks you can think of.

    • @techbrosita9698
      @techbrosita9698 3 ปีที่แล้ว +1

      Where i can find it?

    • @LordOdin
      @LordOdin 3 ปีที่แล้ว

      @@techbrosita9698 Its in active development but if you want access to some early test builds feel free to join our discord
      discord.gg/V5jXaBgGtp

  • @MrRockeire
    @MrRockeire 3 ปีที่แล้ว

    This is so cool! Would have been very curious to see some analysis of the power consumption of the different computers, and what your cluster could do without the cooling running. Great Video!

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว +1

      Thanks for the suggestions, I'll have a look at that.

  • @davidb.5911
    @davidb.5911 3 ปีที่แล้ว +1

    Very interesting stuff! Thank you!

  • @andymonks7126
    @andymonks7126 3 ปีที่แล้ว +6

    As others have already posted the 5800X, I thought I'd add the 10700K (at stock) running ubuntu 20.10.
    Find all primes up to: 10000
    Time elasped: 0.3 seconds
    Find all primes up to: 100000
    Time elasped: 21.63 seconds
    Find all primes up to: 200000
    Time elasped: 86.98 seconds
    And as others have said, it would be great to have it run multithreaded (and clustered).

    • @Carterthielftw_
      @Carterthielftw_ 3 ปีที่แล้ว

      Shows how much and has improved 😂. Never thought I'd see the day when AMD beats Intel ate single core.

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว +1

      Thanks for this Andy. That's quite impressive for a single core!
      I haven't been able to get a multithreaded Python script to run stably on different platforms, but I'll keep trying.

    • @JamesHryb
      @JamesHryb 3 ปีที่แล้ว

      @Andy Monks,@@MichaelKlements 10700K @5.2 Ghz, 3466 Cl14 32gb ram, Win 10 pro, python-3.9.1
      Find all primes up to: 10000
      : 0.4 seconds
      Find all primes up to: 100000: 14.16 seconds
      Find all primes up to: 200000: 52.64 seconds

  • @lacricademarta
    @lacricademarta 3 ปีที่แล้ว +25

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

    • @morosis82
      @morosis82 3 ปีที่แล้ว

      How about 1 million arm cores:
      en.m.wikipedia.org/wiki/SpiNNaker

    • @lacricademarta
      @lacricademarta 3 ปีที่แล้ว

      The SpiNNaker is not a home DIY project...
      But yeah is impresive

  • @NawtieBoy96
    @NawtieBoy96 3 ปีที่แล้ว

    Does anyone know any detailed video or an article about the proper setting up of a cluster software-wise :) like dividing the tasks between each pi's etc.

  • @SacrificialGoat94
    @SacrificialGoat94 3 ปีที่แล้ว

    did you make use of multithreading on the computers?

  • @D_VAULTZ
    @D_VAULTZ 3 ปีที่แล้ว +15

    U SOUND HAPPY THATS THE MAIN THING

    • @userou-ig1ze
      @userou-ig1ze 3 ปีที่แล้ว +2

      he sounds monotone and emotionless. So yeah, agreed, /s

  • @alphapixel5984
    @alphapixel5984 3 ปีที่แล้ว +10

    5900 X here! Python 3.9.1 Win10, 5 runs each setting
    Normal Run:
    10000 - 0.23 - 0.26 s
    100000 - 18.28 - 20.87 s
    200000 - 69.83 - 77.14 s
    Multi-Threaded:
    10000 - 0.46 - 0.49 s
    100000 - 11.68 - 11.89 s
    200000 - 43.05 - 48.01 s
    Are comments being removed?

    • @MichaelMantion
      @MichaelMantion 3 ปีที่แล้ว

      how did you enable multi threading????

    • @ashutoshmourya4748
      @ashutoshmourya4748 3 ปีที่แล้ว

      @@MichaelMantion there is another script for multithreading

    • @rammagaming
      @rammagaming 3 ปีที่แล้ว

      Have the same CPU, but am on Linux and every time is extremely similar. Some faster, some slower, most within just a second or two.
      What's interesting though is the 10000 multi-thread. Your fastest is 2.3x slower than my slowest, plus your threaded is slower than your unthreaded (which our times are identical for). Not sure what would cause that besides maybe a process already using some of the core it picked. Interesting result.

    • @-Burb
      @-Burb 3 ปีที่แล้ว +1

      Are you sure you ran the multithreaded properly? Your single threaded scores are what I would expect compared to my Ryzen 9 4900HS, but your multithreaded scores are 4-10x slower than mine. My laptops multithreaded scores were
      10,000: 0.05s
      100,000: 2.98s
      200,000: 11.57s
      There’s no way my little laptop is faster in multithreaded than a 5900X.

    • @rammagaming
      @rammagaming 3 ปีที่แล้ว

      @@-Burb I've got the same processor as the person above, turns out the multi-thread script was only using 1 core. With that fixed my times were
      10000 - 00.06
      100000 - 01.20
      200000 - 04.36
      500000 - 25.18

  • @reflectionpoint
    @reflectionpoint 3 ปีที่แล้ว +1

    Would there be a way to treat a PC with multiple cores similarly to the cluster where the task is divvied up to the different cores resulting in potentially faster computation by more fully utilising the power available? It seems great care was taken to fully utilise each Pi, but were the PC or Mac using more than a portion of their power?
    Also the weight of the OS seems like it could be a hindrance. I know that's probably outside of the scope.

    • @reflectionpoint
      @reflectionpoint 3 ปีที่แล้ว

      I see this has already been brought up and well discussed in another thread here. Don't mind me.

  • @markharder3676
    @markharder3676 3 ปีที่แล้ว +1

    In this case, you benchmark using integer arithmetic, not floating point. I saw another video that benchmarked a Turing CM 3 cluster. But there too the applications were running not floating point processes but tasks in Drupal and Wordpress. How do your 3 systems compare performing floating point math benchmarks?

  • @syntrax-og
    @syntrax-og 3 ปีที่แล้ว +6

    RaspberryPie's website is hosted on a cluster of 16 pies.

  • @williamwatkins6669
    @williamwatkins6669 3 ปีที่แล้ว

    How is the cluster able to parallelise the script? I mean it does not look like the script can easily be shared between cores. What am I missing?

  • @timothynolan7250
    @timothynolan7250 3 ปีที่แล้ว +1

    Man, you do good work! Great video!!!

  • @nafishasnian1367
    @nafishasnian1367 3 ปีที่แล้ว +128

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

    • @stalinsampras
      @stalinsampras 3 ปีที่แล้ว +1

      Hey, what other tools are available like ansible for this task?

    • @mastershake156
      @mastershake156 3 ปีที่แล้ว

      Please share more details about doing it this way.

    • @gunstorm05
      @gunstorm05 3 ปีที่แล้ว +1

      @@stalinsampras terraform, chef, and puppet are the main ones i know of

    • @stalinsampras
      @stalinsampras 3 ปีที่แล้ว +1

      @@gunstorm05 Hey, thanks for replying.

    • @gunstorm05
      @gunstorm05 3 ปีที่แล้ว

      @@stalinsampras absolutely

  • @fat_pigeon
    @fat_pigeon 3 ปีที่แล้ว +18

    6:49 Wait a second, you're running a script that contains no logic for splitting up work and makes no MPI calls. What are you actually benchmarking here?

    • @scotthammond3230
      @scotthammond3230 3 ปีที่แล้ว +3

      About to ask.. how is the work load being shared between the nodes?

  • @GLITCH_-.-
    @GLITCH_-.- 3 ปีที่แล้ว

    Are you running them in an SDE? This might have slowed down the script because it could add some debugging code

  • @hwole4956
    @hwole4956 3 ปีที่แล้ว +1

    Cool Video really interesting nur with what Software did you Made the Diagramms ?

  • @101m4n
    @101m4n 3 ปีที่แล้ว +6

    So, I ran this at 200k on a few different pieces of hardware that I have access to:
    Westmere (2.27GHz) - 1 core: 340.88s (python 3.5)
    Westmere (2.27GHz) - 60 cores (10 CPUs): 14.77s (python 3.5)
    Ivy bridge (4.0GHz) - 1 core - python 3.6: 148.49s
    Ivy bridge (3.6GHz) - 16 cores (2 CPUs) - python 3.6: 10.36s
    Zen2 (4.35GHz) - 1 core - python 3.9: 108.53s
    Zen2 (4.25GHz) - 24 cores (1 CPU) - python 3.8: 8.19s
    CPU TDPs for these systems?
    zen2 - 1x280W
    ivy bridge - 2x120W
    westmere cluster - 10x60W + networking
    I imagine your raspberry pi cluster is quite a lot more power efficient than any of my systems!
    P.S. end_number = int(sys.argv[1])?
    You've imported the sys module, might as well use it!

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว

      Thanks for trying this out and sharing your results!
      Yeah this cluster runs at about 80W on full load, so it's quite a bit more power efficient than traditional computers.

  • @Dominik-zu1yn
    @Dominik-zu1yn 3 ปีที่แล้ว +4

    Could you make a video of the OLED display which you then connect to the raspberry Pie 4

    • @Dominik-zu1yn
      @Dominik-zu1yn 3 ปีที่แล้ว +1

      And with instructions

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว +2

      Sure, I'll put together a video for connecting an OLED display to the Pi and running a basic script. The issue is often with the software, it's updated so often that tutorial videos are out of date just a few weeks/months after posting them.

    • @Dominik-zu1yn
      @Dominik-zu1yn 3 ปีที่แล้ว +1

      @@MichaelKlements ok thank you

    • @Dominik-zu1yn
      @Dominik-zu1yn 3 ปีที่แล้ว

      when do you make the video for this OLED display?

  • @esourteric412
    @esourteric412 3 ปีที่แล้ว

    Can they be connected infinity? And can they run games or do you need a gpu also?

  • @nocturn9x
    @nocturn9x 3 ปีที่แล้ว

    I don't know why, but the multiprocessing python script seems to be pinned on a single core. I've been using Python for years and I might check out the code later as to find out what's the problem, but htop shows barely one core at 85/90% on my Ryzen 5 3600X rig

  • @JonathanLaRiviere
    @JonathanLaRiviere 3 ปีที่แล้ว +122

    “Running mathematical computations” 😂 dude be crypto mining.

    • @moa7510
      @moa7510 3 ปีที่แล้ว +6

      Or machine learning.

    • @johnkabiu4418
      @johnkabiu4418 3 ปีที่แล้ว

      I was also thinking can is do mining

    • @alexmcd378
      @alexmcd378 2 ปีที่แล้ว +1

      I've seen mining on a commodore 64.

    • @David-wg5ce
      @David-wg5ce 2 ปีที่แล้ว +1

      This cant mine lol since they dont have any powerful gpu's

    • @Martin-ly7fv
      @Martin-ly7fv 2 ปีที่แล้ว +1

      @@David-wg5ce u can mine with cpu too

  • @j1d22
    @j1d22 3 ปีที่แล้ว +16

    i'd be interested in seeing the power draw of each device as well, or at least the cluster's

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว +14

      I know that the two sharing USB ports started struggling at 2.0Ghz full load, so I didn’t some measurements and add an extra supply to these. They use 1.7A at full CPU load, so the full cluster uses about 70W when running at full load.

    • @j1d22
      @j1d22 3 ปีที่แล้ว +2

      @@MichaelKlements thank you !

  • @HomelessDeamon
    @HomelessDeamon 3 ปีที่แล้ว

    wont recording and testing on same machine at same time affect the results?

  • @willgilliam9053
    @willgilliam9053 3 ปีที่แล้ว

    Ive never owned a cluster of any sort. does ffmpeg have a cluster render option? I know programs like mandelbulber2 have cpu clustering features for fractal rendering... Host needs some RAM. We need a motherboard that will take 8 pi4 compute modules.

  • @klhmia
    @klhmia 3 ปีที่แล้ว +3

    Well, that settles it. I'm building a cluster computer to handle computations. That's freaking sick!
    NVIDIA makes a GPU microprocessor (Jetson Nano) with 120+ cores. I wonder how viable that would be in terms of GPU super cluster, lol.

  • @FlorinArjocu
    @FlorinArjocu 3 ปีที่แล้ว +16

    This was cool. If I understood it right, they communicate via Ethernet? So some better hardware connection should speed up even more.

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว +7

      Yes correct

    • @caffeinatedinsanity2324
      @caffeinatedinsanity2324 3 ปีที่แล้ว +3

      There is an actual picluster board and compute modules that look a bit like PCIe cards.

  • @DiyintheGhetto
    @DiyintheGhetto 3 ปีที่แล้ว

    Awesome hardware build. I’m on the hardware side of things and I think it pretty cool what you have made. I can’t speak for software side but still awesome to see. Thank you for sharing this program with us.

  • @jd_27
    @jd_27 2 ปีที่แล้ว

    I hope by now you have sorted out that power connector on the top left one

  • @Azthenix
    @Azthenix 3 ปีที่แล้ว +7

    This shows how group projects can be done way faster with the whole group working. I'm talking about you Dave, shut up and do your work.

  • @EdsdsyGamer
    @EdsdsyGamer 3 ปีที่แล้ว +7

    Tested on a Xeon e5 2678 v3 @ 3.3 ghz on all cores
    Edit (tested again on singlecore and multicore version):
    Singlecore -> Time elapsed: 0.52s, 41.91s, 157.99s
    Multicore -> Time elapsed: 0.88s, 26.36s, 96.32s

  • @stanst9013
    @stanst9013 3 ปีที่แล้ว

    How mpiexec helps here when there is no parameter to split data processing across all 8 nodes? I would expect different range for each IP

  • @lilgeorge248
    @lilgeorge248 3 ปีที่แล้ว

    So is there a way to use all the pi’s cpus to make a virtual cpu just as a test of concept

  • @jtbebop497
    @jtbebop497 3 ปีที่แล้ว +4

    On my galaxy tablet A, I got 18.3 seconds for 10k. When I tried 100k, the app would just say, "experiencing server issues, try again later" after a couple of minutes 😐

  • @Atrello
    @Atrello 3 ปีที่แล้ว +7

    You should try transcoding videos on that stack.

  • @ethanspitips5903
    @ethanspitips5903 3 ปีที่แล้ว +2

    Awesome video!! Love the production quality and thought that finding primes was a clever way to assess performance

  • @denvera1g1
    @denvera1g1 3 ปีที่แล้ว

    I wondered this about the TuringPi, I also wonder how these would compare in blender, as blender supports clustering

  • @mortenmoulder
    @mortenmoulder 3 ปีที่แล้ว +13

    Cool, so you tested a single core application on multithreaded systems, then made it run parallel on 7 cores (basically). Yeah no, this is flawed.

    • @Lycam
      @Lycam 3 ปีที่แล้ว +4

      First half of the video he did single core for all the systems, nothing flawed. All the results are clearly tagged.
      Them he show it running on multicore for the pi's. Have a blessed day good sir.

  • @doctorgreatengineer6834
    @doctorgreatengineer6834 3 ปีที่แล้ว +3

    The whole world is behind pi pico now. when we are going to have videos on that.

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว +3

      I've got one on order, so hopefully soon!

  • @peter0702
    @peter0702 3 ปีที่แล้ว +1

    I am not sure, but I am not sure the code you are using is multithread, so basically you are comparing single thread v.s. multicore?

  • @jamesac7226
    @jamesac7226 ปีที่แล้ว

    could you build a simple interface for that script to just run tests like this?

  • @DocLois2010
    @DocLois2010 3 ปีที่แล้ว +3

    And so pretty!

  • @troyBORG
    @troyBORG 3 ปีที่แล้ว +3

    When you were testing the Mac I thought it was going to be one of the new arm laptops

  • @jdmaine51084
    @jdmaine51084 3 ปีที่แล้ว +1

    This is pretty remarkable. I don't have any projects at home that would require this much computing power... but my goodness, for the cost, that's ridiculous.

  • @kylehoffman5082
    @kylehoffman5082 3 ปีที่แล้ว

    Awesome video! I would 100% suggest something like ansible to manage your cluster though :D

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว

      Thanks Kyle. Yeah this is one of the most basic packages to get running on a cluster. I'm going to try Ansible and Kubernetes next.

  • @anwarshariq3411
    @anwarshariq3411 3 ปีที่แล้ว +3

    *I ran it on my ryzen 7 (laptop):*
    10000: *0.58s*
    100000: *47.41s*
    200000: *172.33s*

  • @heineolsen7546
    @heineolsen7546 3 ปีที่แล้ว +3

    I have a Ryzen 9 3900XT, 10000: 0,32 sec 100000: 25,57 sec 200000: 98,33 sec

    • @suicidalbunny99
      @suicidalbunny99 3 ปีที่แล้ว

      thanks i was to lazy to test it my self

  • @blade913
    @blade913 3 ปีที่แล้ว

    Excellent experiment, very simple. It really shows just how much of a difference it makes to utilize cluster computing.

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว

      Thanks for the great feedback!

    • @blade913
      @blade913 3 ปีที่แล้ว

      @@MichaelKlements Absolutely! I'm a student learning about databases, cluster computing, and MapReduce right now. So it's very cool to see that just how effective this strategy is, even when equipped with Pi's rather than a full sized PC. I feel like my knowledge is rudimentary at the moment.
      Are you aware there's a cluster hat available for the Pi4 that controls 4 Pi zeros at once? Might be a cool prospect!

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว +1

      That sounds awesome! I’m also still learning a lot about clusters as I go along (as you can probably tell), it’s been really interesting and fun.
      Yes I have seen them. It would be quite interesting to try clustering a cluster of a Pi 4 and zeros, I should have a look at that. Thanks for the tip

  • @RealistikDash
    @RealistikDash 3 ปีที่แล้ว +2

    Ryzen 5 2600 (on a pretty bloated Windows install) using the multi core edit:
    Python 3.7.5:
    10,000: 0.6s
    100,000: 33.62s
    200,000: 120.19s
    Python 3.9:
    10,000: 0.93s
    100,000: 27.87
    200,000: 102.48s
    Pypy (for fun):
    10,000: 4.55s
    100,000: 6.27s
    200,000: 11.34s
    Hope this helps

  • @partyaap
    @partyaap 3 ปีที่แล้ว +3

    ryzen 5 5600x with PBO set to 5ghz, win10 python 3.7.8
    10000 0.28sec
    100000 22.75sec
    200000 87.59sec
    only 1 threat whas in use
    for the second run
    10000 0.28sec
    100000 22.73
    200000 85.21sec

  • @willischneidi6233
    @willischneidi6233 3 ปีที่แล้ว +6

    An IPad Air 2020 does it in:
    To 10000: 0.28 seconds
    To 100000: 22 seconds
    To 200000: 82 seconds
    Quite impressive for an Ipad.

  • @ajg5310
    @ajg5310 3 ปีที่แล้ว

    How did you display each node on one screen?

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว

      It's just 7 different SSH connections in their own terminals

  • @AB-mx9gv
    @AB-mx9gv 3 ปีที่แล้ว +2

    Awsom Video thanks for making this great content. ;-)

  • @InfiniteLemurs
    @InfiniteLemurs 3 ปีที่แล้ว +3

    The frustrating thing here is how inefficient the alg for finding primes is!

  • @JustKatoh
    @JustKatoh 3 ปีที่แล้ว +4

    > Tests perfromances
    > Uses python
    Why not write a C/C++/Rust program?

    • @snowbatsnowbat7197
      @snowbatsnowbat7197 3 ปีที่แล้ว +1

      Here is a version in C:
      pastebin.com/fAjwP61f
      On my box it runs in 1.79 seconds (54.03 seconds for Python3 version).

    • @InfiniteLemurs
      @InfiniteLemurs 3 ปีที่แล้ว

      Or... use an algorithm that doesn't suck. Implementing a sieve of Eratosthenes on my machine for 200k to .03 seconds.

    • @JustKatoh
      @JustKatoh 3 ปีที่แล้ว +2

      @@InfiniteLemurs I'm sorry but it's not the algorithm's fault, for example a for loop in python is going to take you ages compared to one in Any real programming language or even scripting languages like php/js
      Go try it yourself.

    • @InfiniteLemurs
      @InfiniteLemurs 3 ปีที่แล้ว

      @@JustKatoh There is significant overhead in python, (though JS is arguably just as bad) but my argument is that inefficiency of the algorithm matters much more than the inefficiency of the language. A good prime sieve is magnitudes of scale faster than the one shown in this video-- a factor of utmost importance here. Writing bogosort in cpp is still going to be worse than quicksort in python; obviously things would be more performant in cpp/rust, but this isn't even beginning to approach optimization yet. The C code above gets absolutely stomped simply by using a better alg. Python isn't the best choice here, but the algorithm is the truly poor one.

    • @JustKatoh
      @JustKatoh 3 ปีที่แล้ว +1

      ​@@InfiniteLemurs It does play a major role, lookup nodejs performance compared to python, is just as fast as JAVA, a fully fledge programming language. People trying to defend python's performance is just funny, python is literally a prototyping language to write hacky scripts quick and dirty, it's the only thing good for.
      I can't find 1 thing made in python, that works well, performant and is preferred over other language alternatives.
      I think you're misunderstanding what an algorithm is, algorithms usually are written in pseudocode and adapted to languages, be it scripts or programming, Take for example Huffman's compression algorithm, sure there is prewritten assembly and C code but 99% of the time it's going to be presented under a pseudocode format, you can look at it however you want, it's not Huffman's fault python is incapable of it's implementation in a real world scenario when even one of the most inefficient scripting languages ( PHP, nodejs is so much faster ) can still easily run it in a production environment reliably.
      I really don't get what you're trying to bang at with the "algorithm" argument when algorithms are simple stencils to use independent of the language at hand,

  • @meowwwshaanji8938
    @meowwwshaanji8938 3 ปีที่แล้ว +2

    Madlad :) this is great :)

  • @gillesottervanger9106
    @gillesottervanger9106 3 ปีที่แล้ว +1

    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!

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว

      Yeah this script and software setup in general is not a good example of that because the script already splits the tasks up. There are much better software packages for clusters which better manage the split up and delegation of tasks.

  • @TheLukemcdaniel
    @TheLukemcdaniel 3 ปีที่แล้ว +7

    This is a very poor comparison. It would have been great maybe in the 90's, but it's single threaded. Even the PI's have more than one thread each. I actually have the Ryzen 5 2600x, so 11 cores are sitting at absolute idle while one luckless bastard of a core gets pegged while it's working on the larger datasets.

    • @justinchampion5468
      @justinchampion5468 3 ปีที่แล้ว +1

      Double + for the use of 'luckless bastard' - Made my coffee experience much better today.

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว

      It would definitely have been a more thorough comparison to get the script running across all cores of each device, but I haven't been able to get a multithreaded Python script to run stably on multiple platforms. I'll keep working on it.
      The Pi cluster is also sitting with 24 unused cores during this test.

    • @richardmarsey6434
      @richardmarsey6434 3 ปีที่แล้ว +1

      @@MichaelKlements that's a video i would like to see, as i have 3 older server systems needing something to test out. Should you get it working i might even go out and buy more pi4's just to build and play with. thanks michael

  • @vfxperson4073
    @vfxperson4073 3 ปีที่แล้ว +3

    AMD Ryzen 9 5950X - Win10
    RTX 3080
    128GB 3600MHz RAM
    2TB NVMe
    10000 = 0.22
    100000 = 18.03
    200000 = 66.82

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว

      Thanks David, that's really impressive for a single core!

  • @lastfirst5863
    @lastfirst5863 2 ปีที่แล้ว

    Should I splurge for higher ram capacity if I want to do this? I noticed you got 2gb models so I was wondering if there were tangible benefits with more ram.

    • @MichaelKlements
      @MichaelKlements  2 ปีที่แล้ว

      It depends what you're going to be doing with them, more ram for this application doesn't really make much difference as it's mainly processing power that is required for simulations etc.. Ram makes quite a big difference on the Pi when multitasking, particularly with multiple browser tabs open or multiple applications running.

  • @sp0ny573
    @sp0ny573 3 ปีที่แล้ว

    I would like to see the code write the found numbers into a txt file can you modify it for that purpose?

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว

      If you uncomment the last line then it will display all of the numbers in the terminal window afterwards. You could add a couple of extra lines to write this to a text file pretty easily.

  • @gubunki
    @gubunki 3 ปีที่แล้ว +4

    this script runs on single core, so this isnt the way to compare these...

  • @Lp-ze1tg
    @Lp-ze1tg 3 ปีที่แล้ว

    Would you say that it is possible to use multiple raspberry pi clusters to run a mini cloud service for a small to mid-sized company?

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว

      I think it depends on what you're expecting the cloud service to do. If it's just serving documents and files then yes, Raspberry Pi's would be perfectly capable. You would probably have to do quite a bit of your own programming and tweaking of software to get it working though.

  • @cryptolicious3738
    @cryptolicious3738 3 ปีที่แล้ว

    Awesome video!

  • @Calvin420GetRektM8
    @Calvin420GetRektM8 3 ปีที่แล้ว +1

    Well, what will be impressive too is, what will happen, when using 20 PIs and chunking encodes, ffmpeg splice a file in chunks of e.g. 10 seconds.
    After that each node renders x of chunks and compare it energywise with an Ryzen 9 or so...
    So for video encoding (software gets better visual quality than gpu based) this might be an good option too.

  • @pickleeggs3340
    @pickleeggs3340 3 ปีที่แล้ว +1

    cluster setup is awesome

  • @alexander_adnan
    @alexander_adnan 3 ปีที่แล้ว +1

    Awesome Work .. please more ... and thank you

  • @markhaus
    @markhaus 3 ปีที่แล้ว

    I’ve done a lot of benchmarks for distributed computing with the Pi’s and although they’re great little boards, very often a used desktop will perform more for less money. I’ll only add Pi’s to the cluster when replacing them with faster versions. To keep up in cluster workloads pi’s need to get cheaper or faster at the same price.

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว

      Thanks for your thoughts on clustering. I agree, you can definitely get better performance out of some old desktops, but the Pi’s are still quite competitive in terms of power consumption and size.

  • @666DarkOverlord
    @666DarkOverlord 3 ปีที่แล้ว

    I don't really know about clustering but if I'm understanding what's shown in this right, isn't it technically possible to nest clusters? so you'd have 1 main board with 7 slaved to it all running as main boards for their own clusters, essentially making it that each nested tier multiplies the computing of the previous tier by 8? So if there's 4 tiers you'd have 4096 Pi's all set to a single task funneling down from a single master board.

  • @funlakevtube
    @funlakevtube 3 ปีที่แล้ว

    Very interesting, nice job

  • @rungeon83
    @rungeon83 3 ปีที่แล้ว

    THANK YOU! I've been trying to understand what clusters are used for, everyone builds them but no one explains why, I know "because we can and it's cool" but I just wanted to know the usablity is all.
    Liked from me :D

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว

      Thanks Rungeon!

    • @StCreed
      @StCreed 3 ปีที่แล้ว

      Clusters are used to scale out tasks that can be done in parallel, so you won't be limited by the number of cores in a processor.

  • @micha3176
    @micha3176 3 ปีที่แล้ว

    On my win 10 with Xeon E-2276 2.8GHz:
    0,82 for 10k
    31,5 100k
    and 112,74 for 200k
    But even that it's saying it was run on 48 processes in fact is was using only only 5% of CPU power on just single process.
    It's not shown on the video, but can You shate your CPU usage? or am I missing someting?

  • @Whereswally606
    @Whereswally606 3 ปีที่แล้ว

    One thing id like to know is could you put such a cluster to work verifying blockchain or mining other coins which might not have asic miners dedicated. I.e. a cost effective way of running the cluster 24/7 and would it pay for itself and the electricity it uses.

    • @MichaelKlements
      @MichaelKlements  3 ปีที่แล้ว +1

      It all depends on the value of the currency being mined. This is definitely capable or doing blockchain verification and mining, whether it could mine enough value to be profitable depends on the difficulty of the currency being mined and its value.