Saturday, August 21, 2021

22nd of August

Marks Rpi Cluster is still running 24/7. After 2 weeks of doing Einstein work, Rosetta has some work and most of the cluster (the Pi4's) have been running it exclusively. Hopefully things will level-out soon and it will return to the 50/50 split that its meant to be doing.

Debian released bullseye on the 14th of August, so now we're waiting on the Raspberry Pi Foundation to update to it. They already have a 5.10 kernel (which is what bullseye is using).

I haven't managed to do anything about my updated 3D printed cases as we've been in lock-down for 2 months now thanks to the Covid-19 delta strain. The lock-down has been extended for another month so its going to be a while yet.


Saturday, August 7, 2021

Project issues & password-less logon

Marks Rpi Cluster continues to run 24/7. Due to some project issues we ran out of Einstein BRP4 work for a week and now Rosetta is out of work, fortunately Einstein now has work. That means the entire farm is running Einstein.

 

Password-less logon

I have been setting up password-less logon on all the Pi's. This is a bit more secure than using a password and saves me having to remember different passwords (all my support nodes have different passwords). Note that I run my Pi's headless (no screen or keyboard), so if you are using a desktop this won't be for you.

To do this you generate a certificate using Puttygen, which comes with the putty terminal emulator program. You do use putty to login to the Pi don't you? Once you've got that you save it on each Pi and then disable pam.

Login to the Pi. Type the following commands in:

mkdir ~/.ssh
nano ~/.ssh/authorized_keys


paste the key in and save the file.

 

Next we disable password prompting (you’ll still be prompted for a user name). Edit sshd_config:

sudo nano /etc/ssh/sshd_config

Find the line that says "UsePAM yes". To search in nano use Control-W and it will prompt for a string to find, or you can just scroll down the file. Comment it out by placing a # symbol in front and save it. And finally restart the ssh service.

sudo systemctl restart ssh

I saw some guides on the internet that talk about having to modify file permissions but its not needed. Now all I have to do to login to a Pi using putty is to tell it which one I want and when it prompts for a user name give it that and it automatically logs in.

Friday, July 2, 2021

Progress as of end of June

This is where Marks Rpi Cluster is at the beginning of July 2021 for Einstein@home. Total credit is 11,253,073 and recent average is 12,698 credits.

 

The Pi4 compute nodes also do Rosetta@home in a 50/50 resource split. Rosetta don't have the graph like Einstein so I have shown the Certificate of Computation that they have. Total credit is 979,369 and recent average is 3,840 credits.

 

At the beginning of July 2021 the cluster is made up of:

3 x Pi4 (2GB) as support nodes

8 x Pi4 (8GB) as compute nodes

4 x Pi3 as compute nodes

I still want to swap the remaining Pi3's out. This is being held up by 3D printing some more Pi cases.

 

Update 10th of July 2021

The cluster reached 1 million credits for Rosetta last night.


Update 24th of July 2021

Einstein seems to have run out of BRP4 work. That means the Pi3's are currently idle. The Pi4's are running Rosetta only at the moment. I'm not sure how long this will last as there hasn't been any word from the project.

 

Sunday, May 23, 2021

To clone or not to clone

I was asked this week if I clone SD cards or not. The short answer is no. I'll explain what I do.

My usual process is to write an SD card with Raspberry Pi OS (64 bit) from the official image downloaded from the Raspberry Pi foundation website.

Once the Pi has booted up for the 2nd time I run raspi-config, change the password, give it a new host name, set the language, set the location and reduce the GPU memory to the minimum of 16MB and reboot.

Once it comes back and I have logged in again I mount a NFS share. My NFS server is simply a Pi4 2GB with an external hard disk. I have some config files that I copy. The official 64 bit image is a little old so update it:

sudo apt update
sudo apt upgrade -y

At this point it has taken maybe 5 minutes. Next I install BOINC, a firewall and ntp on it. If you copy the account files into the BOINC data directory the next time BOINC starts it will automatically attach to each project. If its a reinstall the project server works out its seen this computer before and will give you the previous host id. 

On the NFS server I have the following BOINC files:

account_boinc.bakerlab.org_rosetta.xml
account_einstein.phys.uwm.edu.xml
cc_config.xml
database_357d5d93529_n_methyl.zip
einstein_64bit_0.13.tar
global_prefs_override.xml
remote_hosts.cfg
rosetta_4.20_aarch64-unknown-linux-gnu

The einstein_64bit_0.13.tar is an archive file containing the optimized Einstein app for ARM64. Einstein don't have an official ARM64 app.

The database_357d5d93529_n_methyl.zip and rosetta_4.20_aarch64-unknown-linux-gnu are the Rosetta@home database and project app. The database is 485MB and the app is 133MB, so this saves having to download them each time I setup or reinstall a Pi4. When the first Rosetta work unit runs it will unpack the database.

In about 7 or 8 minutes I can get a Pi going with fairly minimal effort and more importantly not get the host id's mixed up which can often happen when cloning from another Pi's SD card. I don't even bother backing up the compute nodes because its so easy to re-image an SD card and reinstall. It also allows for some customizing. For example the Pi3's can't run Rosetta (due to the memory required) so I simply don't copy the Rosetta files to them.

I posted about how to setup an NFS server on a Pi back in 2016 here as part of setting up a beowulf cluster. Its probably about time I posted a new one although the instructions haven't changed.