Portal:Folding@Home/Installation/Windows-Textclient

Aus Planet 3DNow! Distributed Computing Wiki

Hinweis

In diesem Artikel geht es ausschließlich um den normalen Folding@Home-Textclient für Windows. Weder der GPU-Client noch der SMP-Client werden hier berücksichtigt.

Installation

Für den Textclient ist keine gesonderte Installation nötig. Es reicht, die heruntergeladene Datei in das Verzeichnis seiner Wahl zu kopieren. Die Einstellungen werden beim ersten Start getätigt.

In dieser Anleitung wird davon ausgegangen, dass die heruntergeladene Datei in fah.exe umbenannt und in das Verzeichnis C:\Programme\Folding@Home kopiert wurde.

Start des Clients

Start per Eingabeaufforderung

Es empfiehlt sich, den Client NICHT per Doppelklick zu starten, sondern über die Microsoft Eingabeaufforderung, da man so dem Programm Parameter übergeben kann und Fehlermeldungen lesen kann auch wenn der Fehler zur Beendigung des Clients geführt hat.

Die Microsoft Eingabeaufforderung ist im Startmenü unter Zubehör zu finden. Man kann sie auch starten, indem man auf der Tastatur die Windows-Taste und R drückt, cmd eingibt und die Eingabetaste drückt.

Die Eingabeaufforderung ist vereinfacht ein Textfeld mit schwarzem Hintergrund und grauer Schrift, in das man Befehle eingeben kann. Die Befehle werden dabei immer in dem Verzeichnis ausgeführt, das vor dem Befehl steht - das sogenannte Arbeitsverzeichnis.

In folgendem Beispiel werden die Befehle im Verzeichnis C:\Dokumente und Einstellungen\Timo ausgeführt. Eingabeaufforderung.png

Um den Folding@Home-Textclient starten zu können, müssen wir zunächst das Arbeitsverzeichnis auf C:\Programme\Folding@Home ändern. Dazu geben wir in der Eingabeaufforderung cd \. ein und drücken die Eingabetaste (wodurch der Befehl ausgeführt wird). Nun lautet das Arbeitsverzeichnis C:\. Durch Eingabe von cd Programme\Folding@Home landen wir schließlich im gewünschten Verzeichnis.

Nun lässt sich der Client durch Eingabe von fah.exe starten. Um den Client anzuweisen, detailierte Fehlerberichte auszugeben, sollte man ihm den Parameter -verbosity 9 übergeben. Dazu startet man ihn mit dem Befehl fah.exe -verbosity 9 statt einfach nur fah.exe.

Start per Verknüpfung

Möchte man den Client mittels Doppelklick starten und ihm dennoch Parameter übergeben, kann man eine Verknüpfung auf die Datei fah.exe anlegen, die Eigenschaften der Verknüpfung öffnen und das Ziel ändern. Verknuepfung mit fah.png

Anschließend kann man den Client per Doppelklick auf die Verknüpfung starten.

Beenden des Clients

WICHTIG: Zum Beenden des Clients sollte immer die Tastenkombination STRG+C genutzt werden. Ein einfaches Schließen der Eingabeaufforderung kann zu Problemen führen, da dabei dem Client keine Zeit gelassen wird, sich ordnungsgemäß zu beenden.

Konfiguration

Beim ersten Start fragt der Client die Einstellungen ab. Möchte man sie später ändern, beendet man den Client einfach und startet ihn mit dem Befehl fah.exe -configonly neu.

Während der Konfiguration werden als erstes der Nutzername für die Statistiken und die Teamnummer abgefragt. Die Teamnummer von Planet 3DNow! ist 34361.

Beantwortet man die Option Launch automatically at startup, installing this as a service mit yes, wird der Textclient als Dienst installiert. Dadurch läuft er im Hintergrund, unabhängig davon welches Windows-Benutzerkonto angemeldet ist. Diese Option impliziert auch, dass der Client komplett ohne grafische Oberfläche läuft. Um dennoch Informationen über den aktuellen Zustand des Clients zu erhalten, empfiehlt sich der Einsatz des Tools FahMon.

Ask before fetching/sending work gibt an, ob der Client vor dem Datenaustausch mit den Projektservern eine Bestätigungsmeldung einblendet. Die Option ist also für Rechner interessant, die nicht permanent online sind.

Use Internet Explorer Settings gibt an, ob die Proxyeinstellungen vom Internet Explorer übernommen werden sollen. Da dies mit dem Internet Explorer 7 nicht fehlerfrei funktioniert, sollte man hier no angeben und stattdessen die Proxyeinstellungen mithilfe der nächsten Fragen direkt im Folding@Home-Client vornehmen.

Einige Work-Units (WUs) verursachen relativ viel, d. h. über 5 MB Netzwerktraffic und benötigen relativ viel Arbeitsspeicher (werden aber auch mit mehr Punkten belohnt). Mit der Option Allow receipt of work assignments and return of work results greater than 5MB in size kann man solche WUs ablehnen, indem man die Frage mit no beantwortet.

Optionen für Fortgeschrittene

Das Ändern der Fortgeschrittenen-Optionen (Change advanced options) ist in der Regel nicht nötig. Man kann mit ihnen einstellen wie stark Folding@Home den Rechner maximal auslasten darf (Core priority bzw. CPU usage requested) und wieviel Arbeitsspeicher der Client an die Projektserver melden soll (Memory, in MB, to indicate) wo die Angabe genutzt wird um dem Client eine angemessene Aufgabe zuzuteilen.

Ebenso kann man hier das Verwenden von MMX, 3DNow!, SSE und SSE2 deaktivieren (Disable highly optimized assembly code) und das Zeitintervall einstellen, in dem die Ergebnisse zwischengespeichert werden (Interval, in minutes, between checkpoints).

Für Laptops ist die Option Pause if battery power is being used hilfreich. Sie weist den Client an, sich zu beenden solange der Laptop nicht an das Stromnetz angeschlossen ist.

Die Option Request work units without deadlines sollte mit no beantwortet werden. Sie ist ein Relikt aus Zeiten, in denen es für sehr langsame Rechner spezielle WUs gab, die keine Deadline, also keinen Fertigstellungstermin hatten.

Möchte man sich als Betatester für neue WUs zur Verfügung stellen, sollte man die Option Set -advmethods flag always aktivieren. Betatests bringen Bonuspunkte, jedoch steigt auch die Gefahr fehlerhafte WUs zu erhalten, die zu Abbrüchen führen. Abbrüche bringen keine oder nur wenige Punkte.

Ignore any deadline information ist für Systeme nützlich, deren Systemuhr unzuverlässig arbeitet. Die Option bewirkt, dass der Client WUs, deren Deadline überschritten wurde, dennoch zu Ende rechnet statt sie abzubrechen. WUs deren Deadline nicht eingehalten wird, bringen keine Punkte.

Die letzte Option Machine ID ist nur dann von Bedeutung, wenn auf einem System mehrere Instanzen des Clients laufen sollen, bspw. um mehrere Prozessorkerne auszulasten ohne den SMP-Client zu nutzen. Anleitung: Betrieb mehrerer Instanzen.

Liste der Kommandozeilenparameter

Der Textclient für Windows beherrscht die folgenden Kommandozeilenparameter:[1]

  • -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.
  • -service: Starte im Dienst-Modus (für Programme à la firedaemon). Dies verhindert, dass sich der Client beendet, wenn die Abmeldung des Benutzers festgestellt wird. Wenn dieser Parameter verwendet wird, wenn der Client nicht allgemein als Dienst konfiguriert ist, läuft er normal, wird aber nicht beendet, wenn sich der Benutzer abmeldet. Dann wird ein Hinweis bzgl. des Wartens auf den Client angezeigt.
  • -local: Benutzt die Konfigurationsdatei aus dem lokalen Verzeichnis. Dieser Parameter hat unter Linux keine Funktion, ist jedoch von entscheidener Bedeutung unter Windows und MacOS, wenn mehrere Clients auf einem Rechner ausgeführt werden. Er weist den Client an, die Konfigurationsinformation aus der Datei client.cfg im aktuellen Verzeichnis zu beziehen statt, in Windows, aus dem in der Registry angegebenen Installationsverzeichnis oder unter MacOS aus dem Verzeichnis Library/Folding@Home. Information wie z.B. der Benutzername, der Teamname, Proxy-Einstellungen, die Machine-ID werden in der Datei client.cfg verwaltet. Der Parameter stellt sicher, dass es nicht zu Verwicklungen bei der Arbeit der verschiedenen Clients kommt. Der Parameter "-local" sollte nur genutzt werden, um mehr als eine Instanz von Folding@Home auf dem selben Rechner zu verwenden. (Anleitung)
  • -svcstart: Dieser Parameter wird verwendet, wenn der Konsolen-Client als Dienst konfiguriert ist. Er wird automatisch der Windows-Dienststeuerung übergeben. Ein Anwender sollte diesen Parameter nicht verwenden, er ist hier nur zu Informationszwecken aufgeführt.

Quellen