Seit das Distributed-Computing Projekt SETI@Home vor etlichen Jahren ans Netz gegangen ist, lagen die User den Entwicklern in den Ohren, für Windows doch optimierte Clients für die unterschiedlichen Prozessor-Architekturen herauszubringen, um die vorhandene Rechenleistung bei der Abarbeitung der Work-Units noch besser einsetzen zu können. Bis zum Schluß jedoch blieb es bei einem gemeinsamen und relativ unoptimierten i386-Client für alle x86-Prozessoren. "Selbst ist der Mann" fiel ebenfalls weg, da SETI@Home kein OpenSource-Projekt war.
Seit jedoch SETI@Home im vergangenen Jahr unter die Dachorganisation BOINC geschlüpft ist (wir berichteten), liegen für sämtliche Projekte die Quellcodes der Programme vor. Findigen Tüftlern ist es somit möglich, sich ihre eigenen, auf einen bestimmten Prozessortyp hin optimierten Client zu basteln.
Wie üblich hatten die Jungs von der Linux-Front hier die Nase vorne. aki zum Beispiel, Mitglied unseres Forums, betreibt eine eigene Webseite, auf der er diverse optimierte Clients für Linux anbietet. Die Optimierungen finden dabei vorwiegend über Compilerflags statt, kombiniert mit der FFTW C subroutine library. Auch spezielle Linux x86-64 Clients für den AMD Athlon 64 finden sich dort.
So richtig interessant wird die Sache natürlich erst mit optimierten Windows-Versionen, ganz einfach deshalb, weil ein Großteil der BOINC-User dieses Betriebssystem einsetzt und Optimierungen hier aufgrund der Stückzahlen stärker ins Gewicht fallen. Leider ist in der Windows-Welt die Compiler-Situation nicht ganz so einfach, wie bei Linux. Der einzige wirklich hoch optimierende Compiler stammt von Intel und ist logischerweise nicht frei verfügbar. Spezielle AMD-Optimierungen gibt es in Ermangelung eines eigenen Compilers selbstredend noch immer nicht.
Doch das bedeutet nicht, dass nicht auch die AMD-User von den Optimierungen des Intel-Compilers profitieren könnten. Tetsuji Maverick Rai aus dem offiziellen SETI-Forum hat sich die Mühe gemacht und einige Binaries für verschiedene Prozessortypen erstellt. Um seinen privaten Webspace ein wenig zu entlasten haben wir die wichtigsten Clients hier noch einmal neu verpackt und gehostet:
Leider funktioniert die SSE2-optimierte Version des Intel-Compilers nicht auf dem Athlon 64. Trotzdem sind auch mit der 686+SSE optimierten Version auf dem Athlon 64 deutliche Performancesteigungen messbar. Auf unserem Testsystem (Athlon 64 3800+) etwa verkürzte sich die mittlere Rechendauer für eine Workunit von 2:15 Stunden auf 1:26 Stunden, was einer Verbesserung von satten 36 Prozent entspricht. Anwender von Pentium 4 oder Pentium-M Prozessoren dürfen aufgrund der unmittelbaren Optimierung mit noch größeren Sprüngen rechnen.
Wie funktioniert das Ganze nun?
1. BOINC beenden und ein Backup des kompletten BOINC-Ordners erstellen. 2. Das für den eigenen Prozessor korrekte Archiv herunterladen und mit WinRAR entpacken. 3. Die beiden Dateien aus dem Archiv (setiathome_4.11... und app_info.xml) in den Ordner \BOINC\projects\setiathome.berkeley.edu kopieren. 4. BOINC wieder starten
Bereits angefangene WUs werden aufgrund der geänderten Client-Version verworfen, weshalb empfohlen wird, den Clientwechsel unmittelbar nach Fertigstellung und Hochladen einer WU zu vollziehen.
Weitere Informationen zu Distributed-Computing und BOINC findet Ihr bei uns im Forum, eine Anleitung zum Mitmachen gibt's hier.
Diesen Artikel bookmarken oder senden an ...