ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

BOINC

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

./BoincNewLogo.gif 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

Für MilkyWay@home 🇬🇧 , nicht in 16.04 enthalten,braucht man zusätzlich:

  • boinc-app-milkyway (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install boinc-app-milkyway 

Oder mit apturl installieren, Link: apt://boinc-app-milkyway

Der BOINC-Manager erscheint im Menü:

  • "Anwendungen → Systemwerkzeuge → BOINC-Manager"

Für die aktuellste Version ist unter Umständen eine manuelle Installation notwendig.

Manuell

Wer sich nicht mit der Version aus den offiziellen Paketquellen begnügen möchte, kann die aktuelle BOINC-Software von der BOINC-Homepage 🇬🇧 herunterladen und manuell installieren.

Hinweis!

Fremdsoftware kann das System gefährden.

Man kann diese Version neben den bereits installiertem BOINC aus den Paketquellen verwenden und so das schon vorhandene Startskript /etc/init.d/boinc-client ohne Änderung weiterverwenden. Der Speicherort des BOINC-Clienten ist in der Konfigurationsdatei /etc/default/boinc-client definiert, welche vom init.d-Skript verwendet wird.

Da in dieser Konfigurationsdatei auch die Lage der Daten definiert ist, kann man problemlos sämtliche WUs weiterverwenden. Somit wäre es auch denkbar, beliebig viele BOINC-Versionen in verschiedenen Verzeichnissen zu installieren.

Vorbereitung

Zunächst muss BOINC aus den offiziellen Paketquellen (s.o.) installiert werden, da das Startskript benötigt wird.

Nun wird der BOINC-Client gestoppt:

sudo /etc/init.d/boinc-client stop 

Die neueste Version

Dann lädt man sich die aktuelle BOINC-Version von der BOINC-Homepage 🇬🇧 herunter. Im Folgenden wird angenommen, dass die Datei in ~/Downloads gespeichert wird. Mit dem Befehl (x.y.z in boinc_x.y.z_i686-pc-linux-gnu.sh durch die aktuelle Version ersetzen):

cd ~/Downloads
sh ./boinc_x.y.z_i686-pc-linux-gnu.sh 

wird das Unterverzeichnis BOINC in ~/Downloads erstellt und darin durch das Shellskript Dateien und ein Verzeichnis erstellt.

Eine neue Heimat für BOINC

BOINC soll natürlich beim Systemstart gestartet werden, so wie der BOINC-Client aus den Quellen. Es ist sicherheitstechnisch ungünstig, dafür ein Unterverzeichnis im Homeverzeichnis zu verwenden, da man Schreibrechte darauf hat. Darum wird der BOINC-Client aus den Ubuntu-Quellen als Benutzer "boinc" ausgeführt und als normaler Benutzer hat man nur lesend darauf Zugriff. Alle Einstellungen für den BOINC-Manager werden im Homeverzeichnis in der Datei .BOINC Manager gesichert. Auf alle anderen Daten kann nur der BOINC-Client schreibend zugreifen.

Zunächst erstellt [3] man die neue Heimat des BOINC-Clients (auch auf einer anderen Partition möglich):

sudo mkdir /opt/Boinc 

Die in ~/Downloads/BOINC liegenden Dateien müssen nun nach /opt/Boinc kopiert werden:

sudo cp -r ~/Downloads/BOINC/* /opt/Boinc 

Im nächsten Schritt müssen noch alle Dateien und Verzeichnisse zur Gruppe und zum Benutzer "boinc" hinzugefügt werden:

sudo chown -hR boinc:boinc /opt/Boinc 

Datenverzeichnis verschieben

Möchte man auch gleich noch das Datenverzeichnis (welches standardmäßig in /var/lib/boinc-client liegt) verschieben, muss man das entsprechende Verzeichnis (bzw. Mountpunkt) erstellen, z.B.:

sudo mkdir /opt/Boinc/data 

Die automatisch erstellten Daten von /var/lib/boinc-client kopieren:

sudo cp -r /var/lib/boinc-client/* /opt/Boinc/data 

Das Datenverzeichnis "boinc" zuteilen:

sudo chown -hR boinc:boinc /opt/Boinc/data 

Abschluss

Jetzt ist man fast fertig. Allerdings muss das Startskript noch wissen, wo sich der neue BOINC-Client auf der Festplatte befindet, um ihn als Dienst starten zu können. Dazu editiert man /etc/default/boinc-client mit einem Editor [4] mit Root-Rechten [5].

Der Verweis auf den BOINC-Client aus den Quellen wird mit # auskommentiert (#BOINC_CLIENT="/usr/bin/boinc") und ein Verweis auf den neuen BOINC-Client eingefügt (BOINC_CLIENT="/opt/Boinc/boinc").

Genauso verfährt man mit dem verschobenen Datenverzeichnis und der Zeile BOINC_DIR="/var/lib/boinc-client".

Es sollte dann so aussehen:

# This file is /etc/default/boinc-client, it is a configuration file for the
# /etc/init.d/boinc-client init script.
# Set this to 1 to enable and to 0 to disable the init script.
ENABLED="1"
# The BOINC core client will be started with the permissions of this user.
BOINC_USER="boinc"
# This is the data directory of the BOINC core client.
#BOINC_DIR="/var/lib/boinc-client"
BOINC_DIR="/opt/Boinc/data"
# This is the location of the BOINC core client, that the init script uses.
# If you do not want to use the client program provided by the boinc-client
# package, you can specify here an alternative client program.
#BOINC_CLIENT="/usr/local/bin/boinc"
#BOINC_CLIENT="/usr/bin/boinc"
BOINC_CLIENT="/opt/Boinc/boinc"
# Here you can specify additional options to pass to the BOINC core client.
# Type 'boinc --help' or 'man boinc' for a full summary of allowed options.
#BOINC_OPTS="--return_results_immediately --allow_remote_gui_rpc"
BOINC_OPTS=""
  • Als letzter Schritt wird nun der Dienst gestartet:

sudo /etc/init.d/boinc-client start 

Damit läuft Boinc in der aktuellen Version. Falls schon WUs und Projekte vorhanden waren, werden diese weiterverwendet.

Anpassen des Starticons des Boinc-Managers (GNOME)

Um den neuen Boinc-Manager nutzen zu können, muss der Eintrag "Boinc-Manager" im Menü "Anwendungen → Systemwerkzeuge" angepasst werden. Dazu erfolgt ein rechte Maustaste-Klick auf das Menü "Anwendungen → Menüs bearbeiten". Im sich öffnenden Fenster links auf den Eintrag "Systemwerkzeuge" klicken, rechts daneben erscheinen die Untermenüpunkte und darunter auch der "Boinc Manager". Diesen mit rechte Maustaste auswählen und auf "Eigenschaften" klicken. Es erscheint ein neues Fenster "Starter-Eigenschaften". Im Feld "Befehl" muss der Eintrag folgendermaßen geändert werden:

/opt/Boinc/boincmgr

Um das Symbol hinzuzufügen, klickt man im Fenster "Starter-Eigenschaften" auf das Symbol links oben und wählt als Verzeichnis /opt/Boinc, wo sich die aktuellen Symbole befinden.

BOINC-Version aktualisieren

Sollte eine neue BOINC-Version erscheinen, braucht man im Prinzip nur die manuelle Installation zu wiederholen. Die Datei /etc/init.d/boinc-client braucht dabei nicht noch einmal angepasst zu werden (getestet mit dem Update von v5.10.45 nach v6.2.15).

Verwendung

Ü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.

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.

BOINC rechnet nicht, obwohl eingestellt ist, dass es nach einer bestimmten Zeit Inaktivität automatisch beginnen sollte.

Es handelt sich um einen Fehler der BOINC-Software. Durch Aktualisieren der BOINC-Software auf 7.0.29 (oder besser die aktuellste Version) dürfte der Fehler behoben sein.

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 

Grafikkarten werden vom Boinc-Client nicht erkannt

Ubuntu 12.04

Um Grafikkarten unter Boinc für GPU-Berechnungen nutzen zu können müssen zusätzlich zu den proprietären Treibern manuell SDK´s von AMD oder Nvidia installiert werden.

Für AMD Grafikkarten das Archiv hier herunterlanden http://developer.amd.com/tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/downloads/ Das Archive entpacken und die Datei default-install_lnx_64.pl als ausfürbar markieren. Mit

sudo default-install_lnx_64.pl 

die Software installieren.

Für Nvidia Grafikkarten das Archiv hier herunterlanden https://developer.nvidia.com/cuda-downloads Die Datei zum ausführen markieren und mit

sudo cuda_5.0.35*.run 

die Software installieren.

Nach einem Neustart des Boinc-Clienten wird die Grafikkarte dann in den Meldungen angezeigt.

 | CAL: ATI GPU 0: AMD Radeon HD 7700 series (Cape Verde) (CAL version 1.4.1741, 1024MB, 864MB available, 3520 GFLOPS peak)
 | OpenCL: AMD/ATI GPU 0: AMD Radeon HD 7700 series (Cape Verde) (driver version 1124.2 (VM), device version OpenCL 1.2 AMD-APP (1124.2), 1024MB, 864MB available, 3520 GFLOPS peak)

Und kann dann von einem entsprechendem Projekt genutzt werden.

Ubuntu 14.04 - nVidia Grafikkarte wird in Boinc nicht erkannt

(Dieser Eintrag muss noch getestet werden - bei mir hat es funktioniert, bitte ggf. korrigieren)

Um die Grafikkartentreiber korrekt zu installieren sind neben dem nvidia-3xx Paket auch noch folgende zusätzliche Pakete erforderlich: nvidia-3xx-uvm, nvdia-opencl-icd-3xx, nvidia-modprobe

Nach der Installation dieser Pakete ist noch die Ausführung von nvidia-modprobe mit sudo nötig:

sudo nvidia-modprobe 

Nach einem Neustarten des Boinc-Daemons sollte die GPU erkannt werden:

sudo service boinc-client restart 

Hinweis!

Fremdsoftware kann das System gefährden.

Als Beispiel der Treiber nvidia-352 aus dem ppa:xorg-edgers/ppa:

So 30 Aug 2015 13:04:06 CEST |  | CUDA: NVIDIA GPU 0: GeForce GTX 750 Ti (driver version unknown, CUDA version 7.5, compute capability 5.0, 2047MB, 1809MB available, 2183 GFLOPS peak)

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 folgenen Projekten verfügbar:

Falls für ein Projekt das Team noch nicht verfügbar ist kann es einfach gegründet und hier verlinkt werden.

Interessante Projekte

Diese Revision wurde am 4. Mai 2017 18:16 von frustschieber erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Netzwerk, Internet