BOINC

Aus wiki.archlinux.de
Wechseln zu: Navigation, Suche

Die Berkeley Open Infrastructure for Network Computing (kurz BOINC) ist eine Software-Plattform für verteiltes Rechnen.

Die BOINC-Plattform wird an der Universität Berkeley entwickelt und ermöglicht es, die ungenutzte Rechenleistung von vielen tausend Computern über das Internet oder Intranet verfügbar zu machen. Dies geschieht in Form von Projekten, die meist gemeinnützig arbeiten und von Universitäten oder anderen Institutionen betreut werden. Die derzeit rechenintensivsten Projekte umfassen unter anderem Berechnungen zur Erstellung eines genauen 3D-Modells der Milchstraße, die Suche nach Außerirdischen, Berechnung von Gravitationswellen, Vorhersagen zur Klimaentwicklung, sowie die Simulation von Proteinfaltungen für die Erforschung von neuen Medikamenten.

GUI

Installation

BOINC lässt sich einfach mittels pacman installieren. Es steht sowohl eine Variante mit GUI, als auch eine Variante ohne grafische Oberfläche zur Verfügung. Im folgenden wird lediglich die Variante mit GUI erklärt.

Installation von BOINC (mit GUI) mittels pacman aus dem Repository community:

pacman -S boinc

Mit dem Paket boinc-nox existiert eine Variante, die nur den Daemon enthält, jedoch nicht das grafische Tool.

Der BOINC Daemon läuft aus Sicherheitsgründen unter dem neu angelegten Benutzer boinc. Der Benutzer der die GUI starten soll muss der Gruppe boinc hinzugefügt werden und in seinem /home Verzeichnis ein Symlink auf die Passwortdatei von BOINC angelegt werden.

  • Benutzer der Grupppe boinc hinzufügen
# gpasswd -a USERNAME boinc
  • Symlink erstellen
$ cd
$ ln -s /var/lib/boinc/gui_rpc_auth.cfg gui_rpc_auth.cfg
# chmod 640 gui_rpc_auth.cfg

Alternativ, kann man auch den Inhalt von /var/lib//var/lib/boinc/gui_rpc_auth.cfg löschen, also kein Passwort verwenden. In dem Fall braucht man den Benutzer nicht der Gruppe hinzufügen und keinen Symlink erstellen.

Hinweis: Die Datei /var/lib/boinc/gui_rpc_auth.cfg wird beim ersten Start des Daemons angelegt, sollte sie nicht existieren muss der Boinc Daemon einmal gestartet werden.

Verwendung

Das installierte Paket boinc stellt die Befehle boinc, boinc_client, boinccmd und boincmgr zur Verfügung. Für die graphische Oberfläche interessieren uns lediglich boinc und boincmgr.

BOINC Daemon starten

# /etc/rc.d/boinc start 

Soll der Daemon automatisch beim Systemstart gestartet werden muss er in der rc.conf eingetragen werden.

BOINC konfigurieren

Danach steht BOINC zur Verfügung, allerdings muss man es noch konfigurieren. Dies geschieht mittels boincmgr welches die graphische Oberfläche für BOINC startet.

Hinweis: boincmgr ist erst konfigurierbar / benutzbar, wenn unten rechts ein „verbunden mit localhost“ steht. Hierfür muss boinc in irgendeiner Weise gestartet sein.

Hier kann man nun Einstellungen über die Ressourcen, die BOINC verbrauchen darf, bearbeiten, wobei sich hierfür besonders die Feineinstellungen unter „Advanced View“ eignen.

Sich einem Projekt anschließen

Wenn nun alles soweit fertig ist, muss man sich nun lediglich entscheiden wie der Welt nun am ehesten geholfen ist bzw. für welches der vielen Projekte man sich anmelden möchte.

Einen kleinen Überblick gibt es im Programm selbst unter „Add Project“, hier sind einige Projekte aufgelistet denen man sich anschließen kann. Dazu muss man beim jeweiligen Projekt einfach einen Nutzernamen und eine E-Mail-Adresse eingeben und schon ist man dort Registriert. Wer einer solchen Anmeldung kritisch gegenüber steht und sich erst näher über das Projekt erkundigen möchte, der kann sich die dazugehörigen Homepages ansehen (sind stets angegeben).

BOINC benutzen

Nachdem BOINC nun konfiguriert ist und man sich bei mindestens einem Projekt angemeldet hat oder seinen bestehenden Nutzerdaten angegeben hat, werden automatisch Aufgaben vom jeweiligen Projekt an den eigenen Rechner gesendet, die dann berechnet werden. Dies dauert meist mehrere Stunden.

Hinweis: Sollte man sich dafür entscheiden gerade nicht mehr weiterrechnen zu wollen, reicht es NICHT lediglich boincmgr zu schließen (dieser ist nur für die graphische Oberfläche zuständig), sondern der Prozess boinc muss gestoppt werden. Natürlich kann man auch einfach in der GUI stoppen.

BOINC ohne GUI (Server)

Installation

Um BOINC auf einem Server ohne Grafische Oberfläche zu benutzen, installiere das Paket boinc-nox aus der Repositorie community

pacman -S boinc-nox

Konfiguration

Um Boinc zu verwalten muss man mithilfe des BOINC-Managers (wird im selben Paket installiert wie boinc aus der Repositorie community )

Beim ersten Start legt BOINC die Datei gui_rpc_auth.cfg an, sie wird zur authentifizierung des BOINC Managers (=der Grafischen Oberfläche) genutzt. Sie befindet sich im Data Verzeichniss von BOINC (meist /var/lib/boinc) in ihr befindet sich lediglich das zufällig generierte Passwort. Es kann beliebig geändert werden (oder gar komplett entfernt werden.) Empfehlenswert ist natürlich ein sicheres Passwort, da man mit dem BOINC Manager alle Einstellungen von BOINC ändern kann.

Den Zugang erlauben

In der Grundkonfiguration erlaubt BOINC nur die Verbindung eines Lokalen Managers auf dem selben Host. Da der Sinn des boinc-nox allerdings im Server Bereich ohne Grafische Oberfläche liegt müssen wir das Anpassen.

Es gibt zwei Möglichkeiten BOINC mitzuteilen das Verbindungen "von außen" erwünscht sind:

Temporär: Zuerst BOINC mittels

 # rc.d stop boinc

beenden und mit

 # boinc --allow_remote_gui_rpc --dir /var/lib/boinc

wieder starten. Hierbei stellt sich die Problematik das BOINC das aktuelle Verzeichnis des Nutzers als Arbeitsverzeichnis nutzt. Dadurch wird allerdings auch das Passwort der gui_rpc_auth.cfg ignoriert und im aktuellen Verzeichnis eine neue erstellt. Um dies zu unterbinden weisen wir mittels --dir /var/lib/boinc das normale Arbeitsverzeichnis zu.


Permanent: Diese Methode ist bevorzugt, da wir BOINC ebenfalls als daemon starten möchten und nicht jedes mal die beiden Startparameter angeben wollen oder können, müssen wir im Arbeitsverzeichnis die Datei remote_hosts.cfg anlegen. In ihr wird pro Zeile eine IP-Adresse oder ein Host-Name angegeben, welche sich mit BOINC verbinden dürfen.

BOINC kann anschließend per daemon in /etc/rc.conf hinzugefügt werden:

daemons=(...boinc...)