BOINC@ARM: Unterschied zwischen den Versionen
Koschi (Diskussion | Beiträge) |
Koschi (Diskussion | Beiträge) |
||
Zeile 49: | Zeile 49: | ||
Für Yoyo sollte auch das Paket 'libsfstdc++6' nachinstalliert werden. | Für Yoyo sollte auch das Paket 'libsfstdc++6' nachinstalliert werden. | ||
− | ===Einstein einrichten bei nicht erkannter NEON UNterstützung=== | + | ===Einstein@home einrichten bei nicht erkannter NEON UNterstützung=== |
Auf Odroid C2, sicher auch anderen Computern kommt es vor das die NEON Erweiterung nicht erkannt wird. | Auf Odroid C2, sicher auch anderen Computern kommt es vor das die NEON Erweiterung nicht erkannt wird. | ||
Dies führt dazu das vom BOINC Server eine unoptimierte Binary ausgeliefert, bei Einstein@home erzeugt diese zudem noch reihenweise Berechnungsfehler. | Dies führt dazu das vom BOINC Server eine unoptimierte Binary ausgeliefert, bei Einstein@home erzeugt diese zudem noch reihenweise Berechnungsfehler. | ||
Zeile 89: | Zeile 89: | ||
BOINC sollte die app_info nun erkennen, dies lässt sich im BOINC Log leicht nachvolllziehen. | BOINC sollte die app_info nun erkennen, dies lässt sich im BOINC Log leicht nachvolllziehen. | ||
− | Bereits für ältere Anwendungsversionen geladene Workunits gehen hierbei verloren, es sind neue anzufordern. | + | Bereits für ältere Anwendungsversionen geladene Workunits gehen hierbei verloren, es sind neue anzufordern. |
− | |||
===Welche Projekte laufen am besten=== | ===Welche Projekte laufen am besten=== |
Version vom 9. Mai 2016, 12:41 Uhr
BOINC auf der ARM Plattform
ARM Prozessoren finden sich heutzutage in immer größerer Zahl in immer mehr Einsatzbereichen wieder. Seien es Smartphones, set-top Boxen, NAS oder Single Board Computer wie der Raspberry Pi, ihre Zahl wächst ständig. Oft verfügen diese Geräte bereits über Multikernprozessoren und laufen dank geringem Energieverbrauch mehr oder weniger 24/7, damit eigentlich ideal für BOINC.
Von Nischenbetriebssystemen abgesehen teilt sich die ARM Welt grob in 2 Teile. Der Großteil der ARM Systeme kommt sicherlich mit Android vorinstalliert, schlanke Linuxbasierte ARM-Systeme sind jedoch ebenfalls breit verfügbar. Letztere lassen sich einfach für eigene (Selbstbau-)Projekte verwenden und sind daher bei Bastlern beliebt.
Obwohl Android im Kern auf Linux basiert, kann es keine Linux@ARM Anwendungen ausführen, das gleiche gilt im Umkehrfall. Im Idealfall bietet ein Projekt also für beide Umgebungen eigene Anwendungen an.
Welche Projekte unterstützen ARM
Erste Anlaufstelle kann die offizielle BOINC Projektübersicht sein. [1] Projekte mit Androidunterstützung sind dort mit dem grünen Androidroboter, Anwendungen für Linux@ARM (Raspberry Pi, Odroid u.a.) mit einer Himbeere gekennzeichnet.
Auch WUProp gibt Aufschluss welche Projekte auf ARM laufen, zudem weist es die Rechenzeiten auf verschiedenen Geräten aus.
[2]
Jenseits der offiziellen seitens des Projektes, gibt es auch im ARM Umfeld die Möglichkeit selbst kompilierte oder gar optimierte Anwendungen per app_info.xml zu verwenden.
So hält (Stand Mai 2016) der Blog Burde View [3] zB. Linux@ARM Anwendungen für die Projekte Subset SUM, theSkyNetPOGS & Milkyway@home bereit.
Tipps und Tricks
zb.:
BOINC auf Android installieren, evtl. Fernzugriff einrichten
32bit Anwendungen auf 64bit Linux OS verwenden
64bit Plattformen wie die Odroid C2 mit 64bit Ubuntu bekommen ohne weiteres von Projekten keine Arbeit zugewiesen.
Im Log findet sich dann folgende Meldung:
Message from server: This project doesn't support computers of type aarch64-unknown-linux-gnu
Hier hilft es dem Server vorzugaukeln, es handele sich um eine herkömmliches ARM System. Dies geschieht über einen Eintrag in der cc_config.xml:
<options> <alt_platform>arm-unknown-linux-gnueabihf</alt_platform> </options>
Anschließend muss der BOINC Client durchgestartet werden.
Unter Umständen wird man nun keine Arbeit für native 64bit Anwendungen bekommen, Stand Mai 2016 gibt es diese aber ohnehin noch nicht.
Für Yoyo sollte auch das Paket 'libsfstdc++6' nachinstalliert werden.
Einstein@home einrichten bei nicht erkannter NEON UNterstützung
Auf Odroid C2, sicher auch anderen Computern kommt es vor das die NEON Erweiterung nicht erkannt wird. Dies führt dazu das vom BOINC Server eine unoptimierte Binary ausgeliefert, bei Einstein@home erzeugt diese zudem noch reihenweise Berechnungsfehler.
Auch hier kann man sich mit dem anonymous plattform Mechanismus behelfen, folgende Zeilen sind als app_info.xml im Verzeichnis /var/lib/boinc-client/projects/einstein.phys.uwm.edu/ abzulegen:
<app_info> <app> <name>einsteinbinary_BRP4</name> </app> <file_info> <name>einsteinbinary_BRP4_1.47_arm-unknown-linux-gnueabihf__NEON_Beta</name> <executable/> </file_info> <app_version> <app_name>einsteinbinary_BRP4</app_name> <version_num>147</version_num> <file_ref> <file_name>einsteinbinary_BRP4_1.47_arm-unknown-linux-gnueabihf__NEON_Beta</file_name> <main_program/> </file_ref> </app_version>
</app_info>
Die Einsteinanwendung ist manuell zu laden, anschließend wird BOINC neu gestartet um die Konfigurationsdatei einzulesen. Die folgenden Kommandos sollten dazu als root ausgeführt werden:
cd /var/lib/boinc-client/projects/einstein.phys.uwm.edu/
wget http://einstein-dl3.phys.uwm.edu/download/einsteinbinary_BRP4_1.47_arm-unknown-linux-gnueabihf__NEON_Beta
chmod 755 einsteinbinary_BRP4_1.47_arm-unknown-linux-gnueabihf__NEON_Beta
chown boinc:boinc einsteinbinary_BRP4_1.47_arm-unknown-linux-gnueabihf__NEON_Beta
service boinc-client restart
BOINC sollte die app_info nun erkennen, dies lässt sich im BOINC Log leicht nachvolllziehen.
Bereits für ältere Anwendungsversionen geladene Workunits gehen hierbei verloren, es sind neue anzufordern.
Welche Projekte laufen am besten
Welche Hardware ist empfehlenswert
Anregungen für Unterartikel
Systemoptimierungen (abschaltbare Services, entfernbare Pakete)
Verwaltung einer ARM Farm
Hardwarethemen zu Kühlung, Stromversorgung, Gehäuse etc...