BOINC
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte teste diesen Artikel für eine Ubuntu-Version, welche aktuell unterstützt wird. Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
BOINC 🇬🇧 ist ein Framework der Berkeley Universität für verteiltes Rechnen. Viele Projekte benutzen das BOINC-Netzwerk und erreichen oder übertreffen dadurch die Rechenkraft von Großrechnern - ohne viel Geld für diese auszugeben. Mit dem BOINC-Client kann man sich an diesen Projekten beteiligen, indem man die Leerlaufzeiten des eigenen Rechners dem BOINC-Netzwerk über das Internet zur Verfügung stellt.
Eines der ersten und immer noch bekanntesten Projekte, das BOINC nutzt, ist SETI@home. Hier wird die verteilte Rechenkraft benutzt, um Signale aus dem Weltall auszuwerten und möglicherweise intelligentes Leben zu finden.
Hinweis:
Es ist zu bedenken, dass ein ausgelasteter Prozessor wesentlich mehr Strom verbraucht als wenn er sich im Leerlauf befindet. Betreibt man dauerhaft SETI@home, wird sich dies also auf der Stromrechnung als auch durch höheren Hardware-Verschleiß niederschlagen.
Installation¶
BOINC ist in den offiziellen Paketquellen enthalten. Man installiert folgendes Paket [1]:
boinc (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install boinc
Oder mit apturl installieren, Link: apt://boinc
boinc ist ein Metapaket, das client und manager installiert. Diese können auch einzeln installiert werden:
boinc-client (universe)
boinc-manager (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install boinc-client boinc-manager
Oder mit apturl installieren, Link: apt://boinc-client,boinc-manager
Für die Installation auf einem System ohne grafische Oberfläche ist es ausreichend, nur den Client zu installieren. Über den Manager kann dann die Konfiguration von einem entfernten Rechner erfolgen.
Für SETI@home 🇬🇧 braucht man noch:
boinc-app-seti (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install boinc-app-seti
Oder mit apturl installieren, Link: apt://boinc-app-seti
Der BOINC-Manager erscheint im Menü:
"Anwendungen → Systemwerkzeuge → BOINC-Manager"
Verwendung¶
BOINC-Manager | Ausführliche Ansicht |
BOINC-Manager¶
Über den BOINC-Manager meldet man sich bei bestehenden Projekten an. Zuvor muss man noch im BOINC-Manager unter "Extras → Computer auswählen → Rechnername" das Wort "localhost" eingeben, damit der BOINC-Manager weiß, dass man diesen Computer steuern möchte.
Erweiterte Ansicht¶
Über "Ansicht → Erweiterte Ansicht" erreicht man eine ausführliche Darstellung des Managers mit detaillierten Angaben und weiteren Einstellungsmöglichkeiten.
Einen Boinc-Client fernsteuern¶
Mit dem Boinc Manager ist es möglich, weitere Rechner fernzusteuern. Auf dem fernzusteuernden Rechner (dem Client) müssen dafür nur der boinc-client installiert sein und folgende Schritte ausgeführt werden:
In die leere Datei /etc/boinc-client/gui_rpc_auth.cfg ein beliebiges Passwort eintragen. Dieses wird beim Verbinden abgefragt. Es ist auch möglich (aber nicht empfohlen), nur eine Leerzeile einzufügen. Dies bedeutet dann, dass kein Passwort gesetzt wurde.
In die Datei /etc/boinc-client/remote_hosts.cfg muss die IP des PCs eingetragen werden, auf dem der Boinc-Manager läuft und von dem aus gesteuert werden soll.
Falls eine Firewall wie ufw installiert ist, muss daran gedacht werden, den TCP-Port 31416 für eingehende Verbindungen zu öffnen.
Nun muss der Client neu gestartet werden. Dies erreicht man z.B. so:
sudo /etc/init.d/boinc-client restart
Nun kann man im Boinc-Manager auf dem Haupt-Rechner unter "Extras → Computer auswählen" nach Eingabe von IP und Passwort des fernzusteuernden PCs den Boinc-Client steuern. Möchte man wieder den eigenen Rechner steuern, verbindet man sich mit der IP "localhost".
Probleme und Lösungen¶
Die Einstellungen lassen sich nicht verändern¶
Aktiviert man über den Menüpunkt "Ansicht" das "Accessible View", dann erscheint unter "Extras" die Möglichkeit, erweiterte Einstellungen per "Preferences" vorzunehmen. Irgendwie scheint aber die Debian-Version des Managers die Einstellungsdatei /var/lib/boinc-client/global_prefs_override.xml mangels ausreichenden Rechten nicht ändern zu können. Die Datei ist eine Verknüpfung auf eine Datei, die Root gehört. Mit einem
sudo chown boinc:boinc /var/lib/boinc-client/global_prefs_override.xml
gibt man dem BOINC-Client die nötigen Rechte. Anschließend lassen sich unter "Preferences" sämtliche Einstellungen vornehmen.
Fehlendes CA-Certificate für WorldCommunityGrid¶
Wenn BOINC keine Verbindung zu den WorldCommunityGrid-Servern herstellen kann und folgende Meldung ausgegeben wird:
World Community Grid Scheduler request failed: Peer certificate cannot be authenticated with known CA certificates
muss das entsprechende Zertifikat bereitgestellt werden. Das Zertifikat kann hier 🇬🇧 ⮷ heruntergeladen werden und muss mit Root-Rechten nach /var/lib/boinc-client/ca-bundle.crt gespeichert werden. Der folgende Befehl übernimmt diese beiden Schritte.
sudo wget https://github.com/BOINC/boinc/raw/master/curl/ca-bundle.crt -O /var/lib/boinc-client/ca-bundle.crt
Prozessor wird hochgetaktet und verursacht höheren Stromverbrauch¶
Bei älteren Ubuntu-Versionen hatten Prozesse niedriger Priorität (wie z.B. Boinc) keinen Einfluss auf den Prozessortakt und wurden bei niedrigster Taktrate bearbeitet. Bei den aktuellen Versionen wurde dieses Verhalten geändert. Dieses Verhalten kann aber wiederhergestellt werden.
BOINC Manager verbindet sich nicht¶
Dies kann mehrere Ursachen haben, wie z.B. eine falsch konfigurierte Firewall. Oft ist aber auch einfach nur ein falsches Passwort in gui_rpc_auth.cfg gesetzt. Dazu müssen die Dateien im BOINC-Datenverzeichnis und im eigenen Home-Verzeichnis verglichen werden. Am praktischsten ist dabei das Verlinken.
cd ~ ln -s /opt/Boinc/data/gui_rpc_auth.cfg gui_rpc_auth.cfg sudo chmod 640 gui_rpc_auth.cfg
Team ubuntuusers¶
Seit 20. Oktober 2009 gibt es auch ein Team ubuntuusers, in dem alle herzlich willkommen sind. Das Team ist zurzeit unter folgenden Projekten verfügbar:
Rosetta@home –> Join
Falls für ein Projekt das Team noch nicht verfügbar ist kann es einfach gegründet und hier verlinkt werden.
Links¶
Projektseite 🇬🇧
SETI.Germany 🇩🇪
Interessante Projekte¶
Liste der Projekte: Wikipedia und SETI.Germany 🇩🇪
SETI@home 🇬🇧 - Das erste BOINC-Projekt überhaupt. Sucht nach künstlich erzeugten Signalen im All
Einstein@home 🇬🇧 - Auswertung der Daten des Gravitationswellenobservatoriums LIGO
LHC@home 🇬🇧 - Auswertung der Daten des Teilchenbeschleunigers LHC
Cosmology@Home 🇬🇧 - Vergleich theoretischer Modelle des Universums
MilkyWay@home 🇬🇧 - Erstellung eines dreidimensionalen Modells der Milchstraße
Rosetta@home 🇬🇧 - Berechnung der dreidimensionalen Struktur von Proteinen
WorldCommunityGrid 🇬🇧 🇫🇷 🇪🇸
Vorhersage von Klimaveränderungen - Wikipedia