[HOW-TO] falten unter Linux

Linux SMP2 v6 Mini Hau ZU:

http://folding.stanford.edu/English/DownloadWinOther

SMP Client für Linux downloaden

Root-Terminal öffnen (wenn nur normales Terminal: chmod a+rx ./FAH6.34-Linux64-SMP.exe)
cd Downloads
./FAH6.34-Linux64-SMP.exe -configonly
./FAH6.34-Linux64-SMP.exe -smp -bigadv -local -verbosity 9

Getestet unter Debian 6 und Ubuntu.

Wichtig: 64bit Linux!
 
(...)
Gleich auch noch ein Danke an fac3l3ss für das Videotutorial das er erstellen wird
Ich danke zurück, aber das könnte wohl noch ein paar Tage dauern weil mein Inet nicht will(es ist sehr stark gedrosselt und bricht gerne mal für ein paar Stunden ab) und somit der Upload nicht klappen wird.
Aber später will ich dann zeigen, wie man einen SSH-Server installiert und mit Putty vom Heimrechner aus dann den F@H-Clienten installiert, startet und dazu erkläre ich die Befehle.
Eigentlich reicht das Tutorial von T0M@0 aus, aber ich könnte mithilfe eines Videos auch Verunsicherten helfen :)


MfG
fac3l3ss
 
SO ich lasse auch mal ein paar links hier:
HFM unter ubuntu: [Ubuntu] Installing HFM.net in Ubuntu 10.10 - Overclock.net - Overclocking.net oder [Ubuntu] Using HFM.NET - Overclock.net - Overclocking.net
GPU-Folding-Nvidia unter Linux(ein bisschen crappy, muss jeder selber testen ob es sich bei seiner config lohnt) : Folding Forum • View topic - NVIDIA GPU3 Linux/Wine Headless Install Guide
Ich habe hierfür CUDA 4.0 genutzt, weil ich das alte nicht mehr gefunden habe, ein tut für die Installation davon findet sich hier : Samiux's Blog: HOWTO : nVidia CUDA Toolkit 4.0 on Ubuntu 11.04 Desktop
Bei der v7 einfach die .deb downloaden, mit dem softwarecenter öffnen und dann installieren. ab hier geht alles wie in Windows. Wichtig: Ddas geht nur bis Ubuntu 10.10, danach läuft die Viewer-GUI nicht mehr.
Fahmon: Compiling (installing) FaHmon on Ubuntu - Ubuntu Forums

So das wärs erstmal, bezieht sich wohlgemerkt alles nur auf ubuntu.
http://extreme.pcgameshardware.de/members/30050-knutowskie.html
 
Wegen meinem Internet werde ich wohl nicht bald zu einem Upload kommen.
Außerdem sehe ich bei den Tutorials hier auch kein Bedürfnis mehr dazu :daumen:


MfG
fac3l3ss
 
F@H Client v7.1.38 download und installieren unter Ubuntu 10.10:
Versionen wurden bewusst so gewählt da sie im Moment eine Gui unterstützen.

01:
Link v7 Client:

https://fah-web.stanford.edu/file-releases/beta/release/fahclient/ubuntu-10.10-64bit/v7.1/

hier benutze ich den V7.1.38 Ubuntu-10.10-64bit-release amd64.deb

02:
Nach Download wechseln,oder dahin wo ihr gespeichert habt.
RMT (Rechte Maus Taste) auf die zu installierende .deb (siehe fah0)
fah 0.PNG
und " open with Ubuntu Software Center " drücken.

03:
Press "Install" (siehe fah1)
fah 1.PNG
Passwort eingeben (siehe fah2)
fah 2.PNG
debconf on Ubuntu für fah Client öffnet sich.(siehe fah3)
fah 3.PNG

Name: Deiner meiner unserer; Team 70335; Passkey : xxxxxxxxxxxxxxxxxxxxx Bitte ausfüllen.

zusätzlich kann eine Auswahl getroffen werden welcher Art von fah Client vorkonfiguriert wird.
Belassen wir es auf all. (siehe fah 4)
fah 4.PNG

04:
Die Installation ist nun abgeschlossen und nichts "tut" sich anscheinend.
jedoch wird der Prozess direkt im Anschluss im Hintergrund gestartet.
zu beobachten am System Monitor.
System -> Administrator -> System Monitor (siehe fah5)
fah 5.PNG

05:
Steuern des Clients:
Applications -> Science -> FAH Control (siehe fah6)
fah 6.PNG
Mit RMT kann das Programm ans Panel geheftet werden! (Add this launcher to panel)
Das Folding Icon sitzt nun in der “Taskbar” (Schnellstart).

und siehe da!!! ein Client. (siehe fah7)
fah 7.PNG
wer damit zufrieden ist kann jetzt alles so belassen und Falten .
Bei mir nur smp da ich die Nvidia Treiber + Cuda nicht installiert habe.

06:
Stelle den Client auf Expert und man bekommt eine größere Auswahl an Config Möglichkeiten.
Somit können z.B. diverse "slot options " eingefügt werden.
Sehr schön bei overclock.net erklärt:
z.B.[Info] v7 List and Uses of Advanced Options von:
[Info] v7 List and Uses of Advanced Options

mfg sc59
und immer dran denken V7 ist noch Beta.
Ich hoffe es hilft dem ein oder anderem Falter.
Ausprobiert und Falten, so wie hier beschrieben läuft bei mir alles in ner VM - ware.
 
Zuletzt bearbeitet:
Besteht Bedarf an Linux-Server-HowTos für TheKraken (Affinity Wraper), Langouste (Local Proxy) oder dem /proc/stat-Hack (Core-Hack)? Wenn ja würde ich dazu mal was schreiben, die bisher vorhandenen sind entweder unnötig kompliziert und/oder erklären garnicht was genau man mit seinem System eigentlich gerade macht.
 
Hui, ist hier wieder viel Linuxwind drin. Sehr schön :ugly:.
Die proc/stat-Geschichte steht hier, so meine ich, schon irgendwo hier?!
An einer deutschen "TheKraken"-Anleitung habe ich Interesse :). Bald kann ich wieder "aufdrehen".
 
Ich war mal eben kurz meinen Geist entfalten :ugly:.
Schade, bin echt gespannt :).
Wahrscheinlich, weil ich in Sachen Intel so gar nicht auf dem neuesten Stand bin xD.
 
Dem Bette erst vor einigen an Stunden :lol:, doch das verschieben wir lieber in die RuKa.
Hat sich denn mit den letzten Kernel-Releases eigentlich ganz grob irgendetwas an den PPD getan?
Und ja, mich interessiert jedes Bisschen, daher verzeiht den pleonastischen Amoklauf.
 
The Kraken - Deutsches HowTo (Linux; V6; V7 (nur Client))

Brauche ich den Kraken?

Der Kraken ist ein speziell auf Mehrsockel-Systeme (mehrere CPUs pro Board; auch 2p oder 4p genannt) zugeschnittenes Tool, welches hilft die vorhandenen Resourcen durch Optimierungen besser zu nutzen.
Bei 2p und 4p Systemen konnten dadurch Leistungssteigerungen von 5% bis 15% beobachtet werden. Systeme mit nur einer CPU profitieren kaum bis garnicht von diesen Optimierungen, von daher richtet sich dieses Tool (und damit dieses Guide) ganz klar an die Besitzer von dedizierten Faltservern.


Was genau macht dieser "Affinity Wraper"? (Für Interessierte)
Um zu verstehen wo die Optimierungen vom Kraken ansetzen muss man verstehen wie ein MultiSockel-System funktioniert. Ein solches besteht in der Regel aus mehreren Prozessoren, die jeweils eigenen L1/2/3-Cache besitzen und ebenfalls jeweils an einen Satz Arbeitsspeicher besonders schnell angebunden sind. Die Kommunikation der einzelnen Prozessoren untereinander und mit den restlichen Systemkomponenten erfolgt über einen Ringbus, der (nicht zuletzt aufgrund der langen physikalischen Wege) langsammer ist als die Kommunikationswege innerhalb einer CPU-RAM-Konfiguration. Ein Aufgabe wird von einem CPU-Gespann also dann besonders schnell erledigt, wenn diese Aufgabe in Häppchen geteilt wird, welche die einzelnen CPU-Kerne berechnen können, ohne dass sie zwischendurch aufeinander angewiesen sind. Je mehr Zeit damit verbracht wird auf andere Komponenten zu warten, desto weniger bleibt natürlich für die eigentliche Arbeit übrig -> Der Kern wartet -> Die Leistung sinkt.
Der SMP-Client von F@H macht sich natürlich die potentiell riesige Leistungsfähigeit von Mehrkern-Prozessoren zu Nutze und verteilt die WorkUnit soweit es geht in Häppchen, gibt diese aus und wartet auf die berechneten Teilergebnisse dieser "Worker" um daraus die nächsten Häppchen zu generieren und zu verteilen. Brauchen dabei aber nun einige Worker länger als andere müssen im schlimmsten Fall alle anderen Worker warten, bis die langsammen Aufgaben abgearbeitet sind -> die PPD sinken.

Dieses Problem des "Load-Balancings" gibt es natürlich auch bei einzelnen Mehrkernprozessoren, es wird aber natürlich umso problematischer, je mehr Kerne zur Verfügung stehen und je länger und langsammer die Kommunikationswege sind.
Für die Software selbst ist es übrigens unerheblich, ob die vorhandenen Kerne von einer CPU oder Mehreren zur Verfügung gestellt werden. Diese Aufteilung findet erst recht tief im Betriebssystem statt. Der Scheduler (deutsch: Der Planer, der Disponent) verteilt die einzelnen Worker-Threads auf die zur Verfügung stehenden Recheneinheiten. Diese Zuteilung kann sich zwischendurch sogar ändern, etwa wenn dadurch ein vorher stark belasteter Kern entastet und gleichzeitig ein wenig belasteter Kern besser ausgelastet wird.
Im Falle von F@H und Mehrsockel-Systemen arbeitet der Linux-Scheduler aber nicht optimal. Startet der FahCore seine Worker sichern sich diese direkt einige Bereiche des der CPU zugehörigen Arbeitsspeichers und arbeitet nunmehr nurnoch mit diesem. Kommt der Scheduler aber nun auf die Idee einen Worker-Thread auf eine andere CPU zu schieben, eben weil dies aus reiner Rechenzeitsicht evtl. gut wäre, so muss der Worker-Thread über den langsammen Ringbus mit "seinem" Arbeitsspeicher kommunizieren. Letztere Kommunikations-Verzögerungen wiegen schwerer als die Rechenzeitvorteile nach dem sich der Scheduler orientiert -> Die Leistung sinkt.

Der Kraken Optimiert nun den Faltprozess auf zwei Weisen:
Zum Einen behebt er das zuletzt geschilderte, suboptimale Scheduler-Vorgehen auf eine recht brachiale Weise, indem er sich sozusagen bei der Installation um (bereits vorhandene!) FahCores "wickelt". Wird ein solcher umwickelter FahCore gestartet (etwa durch den Client), schaltet sich der Kraken dazwischen und übernimmt die Steuerung des FahCores. Bereits in der Startphase des Cores setzt der Kraken die Zugehörigkeit gestarteter Worker-Threads zu einzelnen Kernen fest. Damit wird sichergestellt, dass ein Worker immer eine schnelle Anbindung zu "seinem" Speicher erhält und der Scheduler nicht mehr dazwischenfunken kann.
Zum Anderen bietet der Kraken die Möglichkeit den FahCore automatisch nach dem jeweils ersten erfolgreich durchlaufenen Speicherpunkt einer WU neu zu starten. Was ersteinmal widersinnig klingt hat folgenden Hintergrund: Auch Stanford kennt natürlich das Problem des Load-Balancings und hat seinen FahCores deshalb eine eigene Methode spendiert den Faltprozess zu optimieren, den Dynamic-Load-Balancer (DLB). Dieser springt theoretisch an, wenn die Verzögerung durch Wartezeiten der einzelnen Worker mehr als 5% beträgt, praktisch ist das Aktivieren des DLB aber mehr oder weniger zufällig. Die Erfahrung hat gezeigt, dass der DLB aber fast immer anspringt, wenn man den FahCore von einem Speicherpunkt fortführt, was der Kraken entsprechend zum frühstmöglichen Zeitpunkt eben genau so macht. Diese Optimierungsfunktion des Kraken ist im Übrigen optional.

Klingt toll! Was brauche ich noch? (Kurze Liste der empfohlenen Voraussetzungen)
- Ein faltfähiges Mehrsockel-System. Unterstützt werden sowohl Intel- als auch AMD-Systeme.
- Ein aktiviertes NUMA im Bios (Intel). Eventuelle "Node-Interleaving" Funktionen sollten im Bios deaktiviert werden (AMD). ACPI SRAT gehört aktiviert.
- Ein instaliertes und fertig konfiguriertes Linux (64bit). Selbst getestet habe ich es unter Debian 6.0 (Squeeze), Ubuntu 10.10, 11.10 und 12.04. Anderen Erfahrungsberichten zur Folge werden aber alle gängigen Distributionen unterstützt.
- Root-Zugang bzw. das Super-User Passwort.
- Die benötigten Pakete zum Kompilieren von Code. In den meisten Linux-Distributionen gehören diese zum absoluten Standard, lediglich bei Ubuntu sind diese nicht zwangsläufig vorhanden und müssen nachinstalliert werden:
Code:
sudo apt-get install build-essential
- Einen installierten und funktionierenden F@H-SMP-Client. Unterstützt werden sowohl der V6.34 als auch der V7 CLient. Die Verwendung des V7 Control-Centers ist nicht möglich derzeit.
- Den FahCore_a3 und/oder FahCore_a5. Die Cores müssen vor Installation des Kraken vorhanden sein, der Client sollte also bereits soweit konfiguriert und angelaufen sein, dass die Cores geladen wurden (den Client danach wieder stoppen!).​


Quick 'n Dirty - Installation (Für Ungeduldige und Wiederholungstäter)
Auch wenns schnell gehen soll, checkt bitte nochmal obige Voraussetzungen.

1. Client beenden, Terminal öffnen und in euer F@H-Verzeichnis wechseln (in diesem Guide: ~/fah bzw. /home/username/fah)
2. Den Kraken herunterladen und entpacken
Code:
wget http://darkswarm.org/thekraken-0.6.tar.gz
tar -xvf thekraken-0.6.tar.gz
3. In das entpackte Verzeichnis wechseln, Quellcode kompilieren (Admin-Passwort benötigt!), wieder ins F@H-Verzeichnis wechseln
Code:
cd thekraken-0.6
make
sudo make install
cd ..
4. Den Kraken installieren (wenn die Autorestart-Funktion nicht gewünscht wird ohne "-c autorestart=1")
Code:
thekraken -c autorestart=1 -i
5. Ausgabe der Installationsroutine betrachten. Nach der Eingabe des obigen Installations-Befehls sollte folgendes erscheinen (Die Abfrage zwischendurch bejahen mit "Y"):
Code:
thekraken: The Kraken 0.6 (compiled Wed Apr  25 17:21:56 MST 2012 by username@rechnername)
thekraken: Processor affinity wrapper for Folding@Home
thekraken: The Kraken comes with ABSOLUTELY NO WARRANTY; licensed under GPLv2
thekraken: performing installation to .
thekraken: /home/username/fah/FahCore_a3.exe: wrapper succesfully installed
thekraken: /home/username/fah/FahCore_a5.exe: wrapper succesfully installed
thekraken: finished installation, 2 out of 2 files processed
6. Den Client wie gewohnt starten und sich der gesteigerten Leistung erfreuen.​


Ausführliche, bebilderte und kommentierte Installationsanleitung (Nicht nur (aber auch!) für Linux-Neulinge)
Diese Schritt-für-Schritt-Anleitung führt die Installation des Kraken beispielhaft am V6-Client durch. Das "Look and Feel" entspringt einem Ubuntu 11.10 (Unity-Desktop), welches wohl die meisten User hier verwenden.

Schritt 1: Den Client beenden.
Dazu im entsprechenden Terminalfenster mit der Tastenkombination "Strg + C" ein Interupt-Signal abgeben und dem Client beim Beenden zusehen. Ein einfaches Schließen des Terminal-Fensters oder gar das "Abschießen" des Prozesses kann (!) zu Datenverlust führen, welches im schlimmsten Fall die laufende WU unbrauchbar macht.

Schritt 2: Vergewissern, dass ein FahCore vorhanden ist.
Benötigt werden der FahCore_a3.exe und/oder der FahCore_a5.exe (ja auch unter Linux haben die Cores eine Windows-Dateiendung im Namen). Prinzipiell ist es natürlich möglich mittels eines grafischen "Explorers" nachzusehen, ob der Core vorhanden ist, da der Rest dieser Anleitung aber in einem Terminal stattfindet überprüfen wir auch das Vorhandensein der/des Cores in einem solchen.
Dazu öffnen wir ein Terminal, navigieren in das Folding-Verzeichnis und lassen den Ordnerinhalt anzeigen:
Code:
cd /home/username/fah
ls
Wird die gesuchte Datei aufgeführt ist alles in Ordnung. Wenn nicht, wurde der Client wohl noch nie ausgeführt. Holt das jetzt nach und macht weiter, wenn der Core vorhanden ist.

Bild1.png

Schritt 3: Den Client herunterladen und entpacken.
Auch dieser Schritt kann natürlich mittels eines Browsers und eines grafischen Entpack-Tools erfolgen. Im Terminal funktioniert das aber wesentlich übersichtlicher und schneller:
Code:
wget http://darkswarm.org/thekraken-0.6.tar.gz
tar -xvf thekraken-0.6.tar.gz
Ersterer Befehl läd die Datei in das aktuelle Verzeichnis heruner und generiert dabei jede Menge nützlicher und nicht so nützlicher Infos (siehe Bild).
Das Entpacken geschieht mit dem Programm "tar", welches mit den gewählten Optionen im derzeit aktuellen Ordner den Unterordner /thekraken-0.6 erstellt und alle Dateien in diesen entpackt.

Bild2.png

Schritt 4: Das Kompilieren vorbereiten.
Da jede Linux-Distribution anders aufgebaut ist benötigt man für jedes Programm das man installieren möchte entweder entsprechend "gebaute" Pakete für jede Distribution, oder aber man kompiliert den Quellcode direkt auf dem jeweiligen System. Letzteres hat den Vorteil, dass man nur eine Datei (mit dem Quellcode) anbieten muss, und nicht zig verschiedene Dateien für alle Distributionen. Der Kraken setzt auf dieses Quellcode-selbstkompilieren-Modell.
Die meisten Distributionen kommen mit allen benötigten Werkzeugen daher um Quellcode zu kompilieren. Lediglich Ubuntu ist hier eine Ausnahme, sodass man (eventuell) die entsprechenden Werkzeuge erst nachinstallieren muss. Glücklicherweise geht das sehr einfach mit nur einem Kommando:
Code:
sudo apt-get install build-essential
Da dieser Befehl mit Admin-Rechten ausgeführt wird (sudo - SuperUserDo) werdet ihr noch um das Admin-(root-)Passwort gebeten. Letzteres ist bei Ubuntu identisch mit dem Passwort des ersten (und evtl. einzigen) User-Kontos.
Die Installation müsst ihr noch mit einem "J" bejahen. Nach einigen Augenblicken sind alle benötigten Pakete installiert.

Bild3.png

Schritt 5: Den Kraken kompilieren.
Nachdem das System nur vorbereitet ist jeglichen Quellcode zu kompilieren muss eben genau das mit dem Kraken-Sourcecode gemacht werden.
Dazu wechseln wir in das erstellte Unterverzeichnis mit allen Source-Dateien des Kraken und kompilieren diesen:
Code:
cd thekraken-0.6
make
sudo make install
cd ..
Der erste make-Befehl verwaltet aus den Informationen des Sourcecodes alle benötigten Abhängigkeiten und kompiliert schließlich das Programm. Der zweite Aufruf von make, diesmal mit Adminrechten, verschiebt das kompilierte Programm und alle benötigten Konfigurationsdateien in die entsprechenden dafür vorgesehenen Verzeichnisse (das ausführbare Programm z.B. nach /usr/bin).
Zuletzt wechseln wir wieder in das Verzeichnis, welches die FahCores enthällt.

Bild4.png

Schritt 6: Den Kraken installieren.
Im vorherigen Schritt wurde der Kraken kompiliert und für das System verfügbar gemacht. Jetzt geht es darum den Kraken um die FahCores zu wickeln, also die Installation im eigentlichen Sinne:
Code:
thekraken -c autorestart=1 -i
oder ohne die Autorestart-Funktion:
Code:
thekraken -i
Die Ausgabe der Installationsroutine sollte nun eine Zeile mit "sucessfully installed" pro umwickelten Core enthalten.

Bild5.png

Schritt 7: Den Client starten und Installationserfolg betrachten.
Der Client kann jetzt wie gewohnt gestartet werden, also z.B. mit:
Code:
./fah6 -smp -advmethods
Der Client nimmt die Arbeit wie gewohnt wieder auf. Während der Initialisierung des Cores erzeugt der Kraken einige Zeilen Ausgabe (siehe Bild), welche als Indikator für eine erfolgreiche Installation ausreichend sind.

Bild6.png


Häufig gestellte Fragen (die sicher trotzdem nochmal gestellt werden)

Wie sehe ich, ob die Installation erfolgreich war und der Kraken funktioniert?
Eine simple Methode ist die Überprüfung mittels des Prozess-Explorers. Diese gibt es in grafischer Version (z.B. Systemüberwachung), aber auch sehr simpel und schnell im Terminal:
Code:
top
Ist statt eines FahCore_ax.exe Prozesses nun ein TheKraken-FahCore_ax-Prozess vorhanden (siehe Bild) arbeitet der Kraken.

Bild7.png

Was ist mit dem V7-Client?
Die Installation des Kraken erfolgt analog zu der beim V6, allerdings mit der Einschränkung, dass das Control-Center derzeit nicht unterstützt wird. Der V7-Client als solches legt aber ebenfalls eine Ordnerstruktur innerhalb des Ordners an, in dem sich die ausführbare Client-Datei befindet. In einem dieser Unterordner sollten auch die entsprechenden a3 und a5 Cores liegen, welche wie beschrieben umwickelt werden können.

Muss ich den Kraken nach jedem Neustart wieder anschalten?
Einmal erfolgreich installiert ist der Kraken unabhängig von Reboots.

Muss ich den Kraken nach einer Client-Neuinstallation wieder installieren?
Ja! Allerdings kann direkt bei Schritt 4 (Q 'n D) bzw. Schritt 6 (ausführliche Anleitung) begonnen werden.

Wie Deinstalliere ich den Kraken wieder?
Im Ordner mit den Umwickelten FahCores einfach mit:
Code:
thekraken -u
Kann ich mir mein System damit kaputt machen?
Das wäre schon sehr verwunderlich :) Sollte es aber wieder erwarten trotzdem Probleme mit dem Kraken beim Falten geben hilft (wie so oft) ein radikales Löschen und Neuinstallieren des Clients.

Mein Client startet sich ohne mein Zutun ab und zu neu!
Wurde der Kraken mit dem Autorestart-Feature installiert ist das normal und gewollt. Näheres dazu steht weiter oben im Text.​
 
Zuletzt bearbeitet:
Wie verhält sich ein System mit Kracken anderen Anwendungen gegenüber?
Ganz normal oder gibt es gewiße Einschrenkungen?

Wäre echt ne Überlegung wert, bei der aktuellen P8101 fehlen ~6% damit es Bonuspunkte gibt.
 
Das beste Ergebnis gibt es natürlich, wenn der Rechner außer falten kaum/nichts sonst macht. Nur so kann man natürlich garantieren, dass auch das Optimum aus der Faltkiste herauskommt.
Einschränkungen sind ansonsten keine zu erwarten, ich konnte auch keine feststellen bei meinen Tests.
 
Das der Server beim Solo-Falten die beste Leistung bringt ist klar, aber ich nutze den Server auch als DLNA/UPNP-Server da er ja eh 24/7 läuft.
Beim Streamen bricht die Faltleistung um knappe 10%, aber das fällt über die gesamte WU kaum ins Gewicht > bis jetzt hat er die P8101 ungestört gefaltet, aber es reicht leider immernoch nicht für Bonuspunkte. :-(
 
Zurück