Crunching on a Pi, why?

For all your Raspberry Pi's, BeagleBoard's, Parallella's, ORDROID'S, TV boxes et al.
User avatar
Dirk Broer
Corsair
Corsair
Posts: 1964
Joined: Thu Feb 20, 2014 11:24 pm
Location: Leiden, South Holland, Netherlands
Contact:

#1 Crunching on a Pi, why?

Post by Dirk Broer »

Crunching on a Raspberry Pi began more than 10 years ago when a -then- young Australian, Daniel Carrion, decided that it would be fun to be able to crunch by means of a Raspberry Pi
This project aims to have the Raspberry Pi running a BOINC project. Raspberry Pi runs an ARMv6 processor, which makes it difficult to cleanly run BOINC as there is little support for the platform.
Originally you even had to compile the BOINC client yourself:
We’re going to grab BOINC from the SVN repo. We’ll be using version 6.12.34 as there is some heartbeat/timer problems with 7.X version and SETI@home that I still haven’t worked out how to fix. Let’s prepare BOINC:

Code: Select all

# mkdir /usr/local/src
# cd /usr/local/src
# svn co http://boinc.berkeley.edu/svn/tags/boinc_core_release_6_12_34 boinc
# cd boinc
# ./_autosetup
# ./configure --disable-server
# make
# make install
# mkdir /var/lib/boinc
# /usr/local/bin/boinc --daemon --redirectio --dir /var/lib/boinc
You should now have a functioning BOINC client you can control with boinccmd. I will post back here with an init script you can use. I assume you know how to create a separate boinc user account for running it as a non-root user.
And then you had to compile the app(s) you wanted to run, e.g. the sadly-missed Seti@Home
We’ll need to compile a version of SETI that will work with our ARM platform. I’ll be using the original source for 6.12 from the Ubuntu launchpad site. Feel free to get it from SETIs SVN repo site (rev 316 I think). I just used this particular version as there seems to be some success with it on UNIX platforms. Let’s prepare SETI:

Code: Select all

           
# cd /usr/local/src
# wget https://launchpad.net/ubuntu/+archive/primary/+files/boinc-app-seti_6.12~svn1305.orig.tar.gz
# tar xf boinc-app-seti_6.12~svn1305.orig.tar.gz
# mv boinc-app-seti-SNAPSHOT seti_boinc
# cd seti_boinc
# ./_autosetup
# ./configure –disable-server
# make
Perhaps the biggest jump in Raspberry Pi performance came when the original 2012 ARMv6 single-core ARM11 CPU equipped Raspberry Pi was followed up by the ARMv7 quad-core Cortex-A7 Raspberry Pi 2 Model B v1.1 (-mind you: there is a later v1.2 with better specs). The optimist will declare that performance was enhanced tenfold, the pessimist will say "ten times shit is still shit". Still almost nobody in BOINC userland took Raspberry crunchers seriously, mainly because
  • There were much more powerful ARM boards around,
  • You couldn't expand the meagre amount of 1GB (DDR2!) RAM,
  • SD cards crapped out quite often,
  • The Pi's GPU was useless in BOINC.
The next two models, the ARMv8 quad-core Cortex-A53 Raspberry Pi 3 Model B and the improved Cortex-A53 Raspberry Pi 3+ Model B, suffered initially from having to have to do with a 32-bit OS while their CPU was 64-bit. And although they were better than the Raspberry Pi 2, you hardly noticed, BOINC credit-wise.
This all changed with the introduction of the Raspberry Pi 4. It did not jump yet another instruction set generation (no ARMv9), but it a much better CPU (a Cortex-A72), AND it was soon supported with a 64-bit OS. Besides that, there were versions with enough DDR4(!) RAM, up to 8GB. Suddenly you could actually work with a Raspberry Pi, and people were quick to discover that. Pretty soon everybody wanted one, two or more. And that 64-bit OS also worked on the Pi 3's (and even on the Pi 2 Model B v1.2, because of the Cortex-A53 used in that version). People went nuts using Pi's.
And then came COVID-19, and the IC supply came into stand-still, SBC prices soared up till the sky. Supply only recently seems like to have been restored a little bit, though SBC prices continue to be higher than before COVID. So now we know you can actually crunch using ARM the question becomes what ARM device is best suited for our needs. The Pi was never designed to be a big number cruncher in the first place.
Image
User avatar
scole of TSBT
Boinc Major General
Boinc Major General
Posts: 5983
Joined: Mon Feb 03, 2014 2:38 pm
Location: Goldsboro, (Eastern) North Carolina, USA

#2 Re: Crunching on a Pi, why?

Post by scole of TSBT »

I wish they would support SATA or NVMe M2 right on the boards without piggy backing on USB3 or compute/turing pi.
Image
User avatar
Dirk Broer
Corsair
Corsair
Posts: 1964
Joined: Thu Feb 20, 2014 11:24 pm
Location: Leiden, South Holland, Netherlands
Contact:

#3 Re: Crunching on a Pi, why?

Post by Dirk Broer »

SATA right away on the board presently offers hardly an advantage as opposed to piggy-back via USB 3.0, while NVMe speed on the CM4 is restricted to PCIe 2.0 x1 speed. Jeff Geerling reports that the CM4 maxes out at 420 MB/sec, while Christopher Barnatt's piggy-back experiments with the Pi 4 mostly max out at some 300-330 MB/sec.

The marketing department of Hardkernel claims PCIe 3.0 x2 for their Odroid-M1, and promises up to 1,600 MB/s speed. Christopher Barnatt clocked it at 1,238 MB/s
The marketing department of Radxa claims PCIe 3.0 x4 for their Rock 5B -while at the same time quoting only a 2,000 MB/s speed. Christopher Barnatt clocked it at 1,688 MB/s -using the exact same M.2 NVMe SSD.

The new Orange Pi 5 plus should be in the same speed range as the Radxa Rock 5B (as it uses the same SOC), while the original Orange Pi 5 -with the RK3588S SOC, like the Radxa Rock 5A- is roughly as fast as the CM4 due the the PCIe 2.0 it uses as opposed to the PCIe 3.0 of the Orange Pi 5 plus and Radxa Rock 5B.

So we have to wait for a new Raspberry Pi 5 to bring it up to speeds with the competition, ....if that is the goal of Raspberry.org at all.
They might also switch to RISC-V for their next board(s) and declare the Raspberry Pi 4/400/CM4 the final version of their ARM efforts and only bring out a Raspberry Pi 4 Model A and a Raspberry Pi Zero 4 in the future.

BTW: The new Nvidia Jetson Orin Nano models (the 4GB and the much better 8GB) have PCIe 3.0 x4 (Like the Rock 5B and the Orange Pi 5 plus), but the two Jetson Orin NX models (8GB and the even more expensive 16GB) even have PCIe 4.0 x4....
Image
User avatar
scole of TSBT
Boinc Major General
Boinc Major General
Posts: 5983
Joined: Mon Feb 03, 2014 2:38 pm
Location: Goldsboro, (Eastern) North Carolina, USA

#4 Re: Crunching on a Pi, why?

Post by scole of TSBT »

Yeah, PCIe 2.0 is no faster than USB3 but I'd expect at least PCIe 3.0, which is double PCIe 2.0/USB 3 or *gasp* PCIe 4.0. I know a new,faster bus would need to be implemented but isn't it time to bump up the performance a little? Or is power consumption the main goal the systems? Faster IO would cause higher power draw.
Image
User avatar
Dirk Broer
Corsair
Corsair
Posts: 1964
Joined: Thu Feb 20, 2014 11:24 pm
Location: Leiden, South Holland, Netherlands
Contact:

#5 Re: Crunching on a Pi, why?

Post by Dirk Broer »

The new Jetson AGX Orin variants have all you want and perhaps even more (275(!) TOPS AI performance), but indeed operate in a 15-60 Watt power range -and are as expensive as a good x86-64 box: 2,000 (32GB) or 2,600 (64GB) Euro's over here.
The Orin NX variants may be more interesting, also having PCIe 4.0 and needing 10-25 Watt to run -but still with prices ranging from 966 (8GB) to 1,200 (16GB) Euro's.
Even the 8GB Orin Nano Dev kit with its PCIe 3.0 and only needing 7-15 Watt still costs 664 Euro's at the moment -for that amount of money I might be able to buy three 16GB Orange Pi 5 Plus boards, also having PCIe 3.0....
Image
Post Reply Previous topicNext topic

Return to “Single-board Computers”