haVoc_inc
Komplett-PC-Käufer(in)
Herzlichen guten Tag allerseits,
in diesem How-To möchte ich euch vorstellen, wie es mit ein paar kleinen Tricks möglich ist, mit einem handelsüblichen Smartphone oder Raspberry Pi am Folden teilzunehmen. Zunächst die Rahmenbedingungen und welche Geräte in Frage kommen.
Mit der Einführung des neuen Folding@Home Cores 0xa8 ist es ARM64 basierten System ermöglicht worden, aktiv am Geschehen teilzunehmen. Eine Liste der Server mit verfügbaren Work Units findet sich hier. Da sich das Ganze teilweise (imho) noch in der Beta-Phase befindet, sollten die client-types vorerst auf beta gestellt werden, dazu später mehr.
Welche Hardware kommt in Frage?
Welche Software kommt in Frage?
Auf was muss besonders geachtet werden?
Raspberry Pi 3 und 4 - Los gehts!
oder Version 7.6.21:
Ab hier den Installationsanweisungen folgen und Name, Team und Passkey eingeben. Bei der Leistung kann getrost full und der automatische Start von FAH angewählt werden. Bei einem etwaigen Neustart der RPIs fangen diese nach ca. einer Minute mit dem Folden an.
Die Prozesse laufen als Hintergrundprozesse, was den Vorteil bietet, dass nicht das Konsolenfenster zugespammt wird.
Sollte FAH manuell im GUI Modus gestartet werden, kann durch öffnen eines zweiten Konsolenfensters auf den FAHClient zugegriffen werden. Im CLI Modus VOR dem Start von FAHClient ein nohup setzen und das Konsolenfenster wird nicht überflutet.
Folding unter Android
Wie kann der FAHClient bedient werden?
Was ist an PPD zu erwarten?
Die PPD sind je nach WU sehr inkonsistent. Die angezeigten Werte sind nur eine grobe Richtung und können sich hinsichtlich der verwendeten WU oder des Status (normal, advanced, beta) stark ändern.
Ebenso hat die Temperatur des Geräts starken Einfluss auf die PPD, ein throttelndes Smartphone (siehe Bsp. Tabelle oben) kann die PPD von 12k auf 4k fallen lassen.
Hinsichtlich der Energieeffizienz im Vergleich mit Grafikkarten können ARM Kerne relativ brauchbare Ergebnisse abliefern, bezogen auf 1k PPD/Watt.
Im Anhang ein Proof, um zu zeigen, dass das auch wirklich klappt
Nachahmer sind gerne gesehen und ich wünsche viel Spaß beim folden!
Cheers,
haVoc_inc
in diesem How-To möchte ich euch vorstellen, wie es mit ein paar kleinen Tricks möglich ist, mit einem handelsüblichen Smartphone oder Raspberry Pi am Folden teilzunehmen. Zunächst die Rahmenbedingungen und welche Geräte in Frage kommen.
Mit der Einführung des neuen Folding@Home Cores 0xa8 ist es ARM64 basierten System ermöglicht worden, aktiv am Geschehen teilzunehmen. Eine Liste der Server mit verfügbaren Work Units findet sich hier. Da sich das Ganze teilweise (imho) noch in der Beta-Phase befindet, sollten die client-types vorerst auf beta gestellt werden, dazu später mehr.
Welche Hardware kommt in Frage?
Grundsätlich gilt, jeder ARM Prozessor mit 64 bit Instruction Set ist für F@H geeignet. Infos über AARCH64 finden sich hier.
Jedes moderne Smartphone besitzt normalerweise eine Prozessorarchitektur mit ARM Cortex-A53 Kernen, welche für diese Betrachtung als Minimum angesehen werden. Dieser wird z. B. in einem Raspberry Pi 3 verwendet. Die aktuelle Version der Bastelrechner enthält indes ARM Cortex-A72.
Smartphones besitzen auf Grund ihrer Architektur aus Stromspar- sowie Leistungskernen einen Verbund aus verschiedenen Blöcken, z. B. der Snapdragon 845 von Qualcomm. Dieser verbindet modernere Nachfolge-IPs bestehend aus jeweils vier Cortex-A55 sowie Cortex-A75 Kernen.
Jedes moderne Smartphone besitzt normalerweise eine Prozessorarchitektur mit ARM Cortex-A53 Kernen, welche für diese Betrachtung als Minimum angesehen werden. Dieser wird z. B. in einem Raspberry Pi 3 verwendet. Die aktuelle Version der Bastelrechner enthält indes ARM Cortex-A72.
Smartphones besitzen auf Grund ihrer Architektur aus Stromspar- sowie Leistungskernen einen Verbund aus verschiedenen Blöcken, z. B. der Snapdragon 845 von Qualcomm. Dieser verbindet modernere Nachfolge-IPs bestehend aus jeweils vier Cortex-A55 sowie Cortex-A75 Kernen.
Welche Software kommt in Frage?
Neben 64 Bit Hardware muss auch auf 64 Bit Software gesetzt werden.
RPI 3 + 4:
Rasbpian OS in 64 Bit Version
Android:
Es empfiehlt sich mindestens Android 7.0, evtl. funktioniert auch Android 5.0.
Für Android sollte zusätzlich eine Monitoring App wie z. B. CPU-Z installiert sein, um die Harware zu überwachen.
Termux, ein Linux Emulator für Android.
Apple:
Kein Gerät zum Testen verfügbar.
RPI 3 + 4:
Rasbpian OS in 64 Bit Version
Android:
Es empfiehlt sich mindestens Android 7.0, evtl. funktioniert auch Android 5.0.
Für Android sollte zusätzlich eine Monitoring App wie z. B. CPU-Z installiert sein, um die Harware zu überwachen.
Termux, ein Linux Emulator für Android.
Apple:
Kein Gerät zum Testen verfügbar.
Auf was muss besonders geachtet werden?
Da Raspberry Pis oder Handys nicht unbedingt als dauerlaufende Rechenknechte gedacht sind, sollte hier auf eine gute Kühlung geachtet werden. Temperaturen von unter 80 °C sind bei Raspberry Pis relativ unbedenklich, bei Smartphones dürften die Grenzen je nach Gerät variieren aber mehr als 60 °C Kerntemperatur werden die wenigsten mitmachen.
Zudem sorgen hohe Temperaturen für eine unverhältnismäßige Erwärmung des Akkus, was deren Leistungsfähigkeit und Haltbarkeit mindert.
Raspberry Pis kann man getrost mit 4 Threads belasten und laufen lassen, bei Smartphones kann diese Zahl je nach Modell variieren. Das muss ausprobieren, da die Stromsparmechanismen der einzelnen Geräte variieren können. So sind auf dem Papier z. B. 8C/8T vorhanden, in Wahrheit macht das Gerät aber 2x 4C/4T daraus und 8 Threads führen zu einem schlechten Ergebnis.
Zudem sorgen hohe Temperaturen für eine unverhältnismäßige Erwärmung des Akkus, was deren Leistungsfähigkeit und Haltbarkeit mindert.
Raspberry Pis kann man getrost mit 4 Threads belasten und laufen lassen, bei Smartphones kann diese Zahl je nach Modell variieren. Das muss ausprobieren, da die Stromsparmechanismen der einzelnen Geräte variieren können. So sind auf dem Papier z. B. 8C/8T vorhanden, in Wahrheit macht das Gerät aber 2x 4C/4T daraus und 8 Threads führen zu einem schlechten Ergebnis.
Raspberry Pi 3 und 4 - Los gehts!
- Raspberry Pi OS 64 bit installieren und fertig einrichten. Hier reicht eine 8 GB µSD Karte. Falls eine lite-Version inzwischen vorhanden ist, kann diese auch genutzt werden.
- Den Raspberry Pi komplett mit Updates versorgen und evtl. die WLAN Verbindung einrichten. Anschließend neustarten.
- Es ist empfehlenswert, den RPI ohne GUI im Komandozeilenmodus zu starten. Hier wird unnützer Overhead minimiert. Anleitung 1 und Anleitung 2. Zudem sollte SSH aktiviert sein, macht späteren Zugriff einfacher.
- FAH herunterladen und installieren. Hier findet sich die aktuelle Version des FAHClient. Falls der GUI Modus aktiviert ist, ein Konsolenfenster öffnen und nachfolgendes einfügen.
Code:
wget https://download.foldingathome.org/releases/public/release/fahclient/debian-stable-arm64/v7.6/latest.deb
sudo dpkg -i latest.deb
oder Version 7.6.21:
Code:
wget https://download.foldingathome.org/releases/public/release/fahclient/debian-stable-arm64/v7.6/fahclient_7.6.21_arm64.deb
sudo dpkg -i fahclient_7.6.21_arm64.deb
Ab hier den Installationsanweisungen folgen und Name, Team und Passkey eingeben. Bei der Leistung kann getrost full und der automatische Start von FAH angewählt werden. Bei einem etwaigen Neustart der RPIs fangen diese nach ca. einer Minute mit dem Folden an.
Die Prozesse laufen als Hintergrundprozesse, was den Vorteil bietet, dass nicht das Konsolenfenster zugespammt wird.
Sollte FAH manuell im GUI Modus gestartet werden, kann durch öffnen eines zweiten Konsolenfensters auf den FAHClient zugegriffen werden. Im CLI Modus VOR dem Start von FAHClient ein nohup setzen und das Konsolenfenster wird nicht überflutet.
Folding unter Android
Dieser Abschnitt behandelt die Installation und den Betrieb des FAHClient und Android. Es wird dabei auf Termux zurückgegriffen und innerhalb dessen Debian zum laufen gebracht.
Debian herunterladen:
Skript zum Starten von Debian erstellen:
Es erscheint ein leeres Fenster. Hier wird folgendes eingefügt:
Anschließend zum Speichern und Verlassen des Skripts: Strg+o, ENTER/RETURN, Strg+x
Nun Debian starten, welches innerhalb von Termux gestartet wird:
Nun ist Debian gestartet und es kann FAH installiert werden. Dazu wird sich der Installationsroutine für Raspberry Pis bedient und erfolgt nach dem selben Muster.
Somit erneut:
oder Version 7.6.21:
Troubleshooting:
Hinsichtlich der angesprochenen Punkte zur Beachtung oben, sollte vorerst der Wert von 4 CPUs beibehalten werden. Nach den ersten Tests kann dieser verändert werden.
- Termux aus dem App-Store herunterladen und installieren
- Termux öffnen, OpenSSH installieren (pkg install openssh) und das SSH-Passwort setzen: passwd
- SSH mittels sshd öffnen. Ab hier sollte per PC im selben Netzwerk die Verbindung hergestellt werden, da das tippen über den Bildschirm mühselig werden kann. Mittels ifconfig kann in Termux die IP-Adresse ausgelesen werden
- SSH Verbindung von PC herstellen mittels: ssh root@##IP-Adresse-des-Smartphones## -p 8022. Bei Linux ganz normal über die Konsole, bei Windows über ein Powershell Fenster.
- Password, welches zuvor gesetzt wurde, eingeben. Anschließend steht die Verbindung
- Debian installieren und anschließend starten. Quelle
Code:
pkg install debootstrap proot wget
Code:
debootstrap --arch=arm64 stable debian-stable http://ftp.debian.org/debian/
Code:
nano start_debian.sh
Code:
#!/data/data/com.termux/files/usr/bin/sh
proot \
-0 \
--link2symlink \
-r ~/debian-stable \
-w /root \
-b /dev/ \
-b /sys/ \
-b /proc/ \
-b /data/data/com.termux/files/home \
/usr/bin/env -i \
HOME=/root \
TERM="xterm-256color" \
PATH=/bin:/usr/bin:/sbin:/usr/sbin \
/bin/bash --login
Nun Debian starten, welches innerhalb von Termux gestartet wird:
Code:
unset LD_PRELOAD
sh start_debian.sh
Nun ist Debian gestartet und es kann FAH installiert werden. Dazu wird sich der Installationsroutine für Raspberry Pis bedient und erfolgt nach dem selben Muster.
Somit erneut:
Code:
wget https://download.foldingathome.org/releases/public/release/fahclient/debian-stable-arm64/v7.6/latest.deb
dpkg -i latest.deb
oder Version 7.6.21:
Code:
wget https://download.foldingathome.org/releases/public/release/fahclient/debian-stable-arm64/v7.6/fahclient_7.6.21_arm64.deb
sudo dpkg -i fahclient_7.6.21_arm64.deb
Troubleshooting:
- Ab hier erfolgt die selbe Konfiguration wie bei Raspberry Pis. Allerdings funktioniert der Autostart von FAHClient nicht automatisch beim Start des Debian und muss immer erneut eingegeben werden (siehe nächster Abschnitt).
- Es ist empfohlen, die Konfigurationsdatei im Voraus vor dem Start anzulegen:
Code:
sudo nano config.xml
Code:
<config>
<!-- Client Control -->
<fold-anon v='true'/>
<!-- Folding Slot Configuration -->
<gpu v='false'/>
<!-- Slot Control -->
<power v='medium'/>
<!-- User Information -->
<passkey v='################'/>
<team v='70335'/>
<user v='haVoc_inc'/>
<client-type v='beta'/>
<!-- Folding Slots -->
<slot id='0' type='CPU'/>
<cpus v='4'/>
</config>
Hinsichtlich der angesprochenen Punkte zur Beachtung oben, sollte vorerst der Wert von 4 CPUs beibehalten werden. Nach den ersten Tests kann dieser verändert werden.
Wie kann der FAHClient bedient werden?
Läuft der FAHClient im Hintergrund oder ein einem seperaten Fenster können mittels verschiedener Befehle dem Client gesagt werden, was er zu tun oder zu lassen hat.
Was soll getan werden? | Wie ist der Befehl? |
FAH Client starten (nur wenn noch nicht gestartet) | FAHClient; FAHClient start |
FAHClient anhalten | FAHClient stop |
Die aktuelle WU pausieren | FAHClient pause |
Die aktuelle WU fertigstellen | FAHClient finish |
Die PPD auslesen | FAHClient --send-command ppd |
Informationen über die WU und Slot auslesen | FAHClient --send-command queue-info |
Allgemeiner Informationen | FAHClient --send-command options |
Informationen und Hilfe | FAHClient --send-command help |
Was ist an PPD zu erwarten?
Raspberry Pi 3B @ 1,1 GHz (Cortex-A53) | 750-1100 PPD |
Raspberry Pi 3B+ @1,5 GHz (Cortex-A53) | 900-1300 PPD |
Raspberry Pi 4B @1,75 GHz (Cortex-A72) | 2500-4500 PPD |
Sony Xperia XZ2 Compact @4T @2,8 GHz (Cortex-A75) | 4000-12000 PPD |
AWS Graviton2 Instance 2C/2T @2,5 GHz | 9700 PPD |
Die PPD sind je nach WU sehr inkonsistent. Die angezeigten Werte sind nur eine grobe Richtung und können sich hinsichtlich der verwendeten WU oder des Status (normal, advanced, beta) stark ändern.
Ebenso hat die Temperatur des Geräts starken Einfluss auf die PPD, ein throttelndes Smartphone (siehe Bsp. Tabelle oben) kann die PPD von 12k auf 4k fallen lassen.
Hinsichtlich der Energieeffizienz im Vergleich mit Grafikkarten können ARM Kerne relativ brauchbare Ergebnisse abliefern, bezogen auf 1k PPD/Watt.
Im Anhang ein Proof, um zu zeigen, dass das auch wirklich klappt

Nachahmer sind gerne gesehen und ich wünsche viel Spaß beim folden!
Cheers,
haVoc_inc
Anhänge
Zuletzt bearbeitet: