Portal:Folding@Home/Installation/Linux-SMP-Client
Vorbemerkung
Der SMP-Client für Systeme mit mehreren Prozessorkernen ist in der Beta-Phase und liegt momentan (März 2008) in Version 6.0.2beta1 vor. Typischerweise erscheint alle drei Monate eine neue Beta und die alte lässt sich nicht mehr neustarten.
Trotz des Beta-Status rechnet der Client weitestgehend problemlos, sodass eigentlich nichts gegen eine Nutzung spricht. Allerdings sind die Deadlines der Work-Units sehr kurz bemessen, sodass sie von etwas älteren Systemen, die nicht durchgängig laufen, möglicherweise nicht eingehalten werden können.
Aufgrund des Beta-Status kann es vorkommen, das der Client die Berechnung mit der Meldung "Folding@home Core Shutdown: FINISHED_UNIT" beendet und das Ergebnis nicht an Stanford meldet. Dafür gibt es unter Hilfsprogramme eine Anleitung.
Installation
Verzeichnis erstellen.
mkdir fah_smp
Ins Verzeichnis wechseln
cd fah_smp
Client herunterladen. Den aktuellen Namen und Pfad des Text-Clienten findet man auf der Download-Seite des Projekts.
http://folding.stanford.edu/German/Download
wget http://www.stanford.edu/group/pandegroup/folding/release/FAH6.02beta1-Linux.tgz
Achtung: Der obige Dateiname kann veraltet sein, da er mit jeder neuen Beta geändert wird.
Entpacken des tgz-Archivs
tar xzf FAH6.02beta1-Linux.tgz
Konfigurieren des Clients (mehr Infos siehe unten)
./fah6 -smp -configonly
Wichtig: immer die Option -smp mit angeben, da sonst die aktuelle SMP-WU verworfen wird und der Client in den Uniprozessor-Betrieb schaltet.
Starten des Clients
./fah6 -smp
Oder Starten, sodass der Client im Hintergrund auch ohne Login weiterrechnet
nohup ./fah6 -smp &
Konfiguration des SMP-Clienten
./fah6 -smp -configonly
Folgende Angaben werden abgefragt:
User name [Anonymous]?
Welchem Namen sollen die Punkte der berechneten WUs zugeschrieben werden?
Team Number [0]?
Welchem Team sollen die Punkte der berechneten WUs zugeschrieben werden? Planet 3DNow! hat die Nummer 34361.
Passkey (if you obtained one online)?
Mit den ersten beiden Angaben (Name und Team-Nummer) kann jeder für einen beliebigen Account rechnen, ohne dass der "Inhaber" des Accounts etwas dagegen unternehmen kann. Um mehr Kontrolle über seinen Account zu haben, kann man einen Passkey beantragen und hier eintragen. Möchte man keinen Passkey nutzen, ist diese Option mit Enter zu überspringen.
Ask before fetching/sending work (no/yes) [no]?
Besteht keine dauerhafte Netzwerkverbindung zum Internet, sollte hier yes angegeben werden. Der Client fragt dann nach, wenn er auf das Internet zugreifen will.
Use proxy (yes/no) [no]?
Wird ein Proxy benutzt? Im Normalfall no.
Acceptable size of work assignment and work result packets (bigger units may have large memory demands) -- 'small' is <5MB, 'normal' is <10MB, and 'big' is >10MB (small/normal/big) [normal]?
Wenn das vorhandene Up-/Download-Volumen des Internetzugangs und der Speicherausbau des Rechners kein Problem darstellen, "big" eingeben.
Achtung: Diese Option wirkt sich auch auf den Speicherbedarf von Folding@Home aus. Mit der Option big braucht Folding@Home teilweise reichlich 1 GB Speicher.
Change advanced options (yes/no) [no]?
yes eingeben um die Optionen für Fortgeschrittene zu ändern.
Core Priority (idle/low) [idle]?
Mit welcher Priorität soll Folding@Home laufen? Im Normalfall ist idle die beste Wahl.
Disable highly optimized assembly code (no/yes) [no]?
Damit CPU-Erweiterungen wie SSE genutzt werden, muss hier no eingegeben werden.
Interval, in minutes, between checkpoints (3-30) [15]?
Intervall in Minuten, in dem die Zwischenergebnisse gespeichert werden.
Memory, in MB, to indicate (877 available) [877]?
Für Folding@Home maximal verfügbarer Speicher in MB. Hinweis: Der Client erkennt den Speicherausbau des Rechners mitunter falsch.
Set -advmethods flag always, requesting new advanced scientific cores and/or work units if available (no/yes) [yes]?
Damit auch neuartige WUs geladen werden, die sich noch in der Testphase befinden, muss hier yes eingegeben werden.
Ignore any deadline information (mainly useful if system clock frequently has errors) (no/yes) [no]?
Sollen Deadlines ignoriert werden? Diese Option sollte auf no gesetzt werden, es sei denn die Systemuhr geht permanent und in größerem Maße falsch.
Machine ID (1-16) [1]?
Wenn mehrere Clients auf dem selben PC rechnen sollen, müssen diese unterschiedliche Machine IDs haben.
Anschließend kann der Client gestartet werden.
Liste der Kommandozeilenparameter
Der SMP-Client für Linux beherrscht die folgenden Kommandozeilenparameter:
- -config: Erlaubt dem Anwender die Änderung der Konfiguration.
- -configonly: Wie oben, jedoch wird nach dem Durchlauf der Konfiguration der Client beendet anstatt im Anschluss die Arbeit aufzunehmen.
- -help: Zeigt die möglichen Kommandozeilenparameter an und beendet den Client danach.
- -queueinfo: Zeigt Information über WUs in der Warteschlange. Für jede WU werden Status (READY=Bereit/FINISHED=Beendet/EMPTY=Leer), Ursprungsserver, Datum des Empfangs (GMT-Zeitzone) sowie die Deadline (falls vom Server angegeben) angezeigt.
- -delete x: Entferne WU Nr. x aus der Arbeitswarteschlange. Dieser Parameter sollte nur verwendet werden, wenn ein schwerwiegender Fehler bei der aktuellen WU aufgetreten ist, den der Client nicht automatisch beheben kann (z. B. nach einem Absturz).
- -send x: Sendet Ergebnis Nr. x zurück an den Server. Nach dem Sendeversuch wird der Client beendet, unabhängig davon ob der Sendeversuch erfolgreich gewesen ist oder nicht. Verwende "-send all" um alle noch ausstehenden Ergebnisse zu senden. Falls WU x noch nicht fertiggestellt worden ist, beendet sich der Client ohne weitere Aktionen.
- -verbosity x: Setzt den Detailgrad der Ausgabe. Das Minimum ist 1, das Maximum 9. Der Standardwert ist 3. Dieser Parameter sollte verwendet werden, um mehr Details über die Arbeit des Clients zu erfahren. Dies ist insbesondere nützlich, wenn zur Behebung eines Problems Information an das F@H-Client-Entwicklerteam gesendet wird.
- -pause: Pause nach dem Beenden und Senden der aktuellen WU. Erlaubt es dem Anwender nach dem Beenden einer WU den Client durch Drücken von Strg-C zu beenden, ohne zuvor neue Arbeitsdaten erhalten zu haben. Dieser Vorgang wird empfohlen, wenn der Rechner längere Zeit nicht mehr eingesetzt wird (z. B. während eines Urlaubs) oder Folding@Home nach dem Beenden der aktuellen WU neuinstalliert oder deinstalliert werden soll.
- -oneunit: Anweisung an den Client, sich nach der vollständigen Abarbeitung einer WU zu beenden.
- -forceasm: Anweisung an den Core, SSE/SSE2-Befehle zu verwenden (wenn möglich), selbst wenn zuvor erkannt wurde, dass der Rechner damit evtl. nicht zurecht kommt.
- -advmethods: Schaltet WUs aus neuen Projekten frei, bevor diese allgemein bei Folding@Home zur Verfügung stehen. Als einer der ersten bei der Erprobung neuer, erweiterter Simulationen ist das Posten von Beobachtungen (postive als auch negative), von Fragen oder Problemen im Folding@Home-Benutzerforum erwünscht.
- -gpu x: Nutzt die GPU mit der Gerätenummer x zur Berechnung der WUs. Derzeit ohne Funktion.
- -freeBSD: Ermöglicht die Nutzung des Clients unter FreeBSD.
- -openBSD: Ermöglicht die Nutzung des Clients unter OpenBSD.
- -smp x: Weist den Client an mehrere Prozessorkerne zu nutzen. Dabei gibt x die Zahl der zu startenden Threads an. Das Minimum ist 4, das Maximum ist die Anzahl der Prozessorkerne (bzw. 4 bei Systemen mit 2 Kernen). Lässt man x weg, werden alle verfügbaren Kerne genutzt.