Optimierter BOINC-Client: Unterschied zwischen den Versionen

Aus Planet 3DNow! Distributed Computing Wiki
Zur Navigation springen Zur Suche springen
 
(19 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Nachdem immer wieder eine Menge Fragen rund um den optimierten BOINC Client auftauchen wollen wir hier einmal die wichtigsten Daten dazu zusammentragen.
 
 
 
 
 
== Wozu der optimierte Client gut ist ==
 
== Wozu der optimierte Client gut ist ==
  
Projekte, die den BOINC Client nutzen bauen ihr Creditsystem darauf auf, die Rechenleistung der CPU zu ermitteln um die Arbeit die euer System leistenn kann angemessen zu entlohnen. Das ist wie mit einem Restaurant: Je besser der Koch - und damit vevtl. auch das Essen - desto teurer ist es.
+
Projekte, die den BOINC Client nutzen, bauen ihr Creditsystem darauf auf, die Rechenleistung der CPU zu ermitteln, um die Arbeit, die euer System leisten kann, angemessen zu entlohnen. Das ist wie mit einem Restaurant: Je besser der Koch, und damit evtl. auch das Essen, desto teurer ist es.
  
 
Manche Projekte nutzen nun CPU spezifische Erweiterungen wie MMX, SSE, SSE2, SSE3, etc die es ihnen erlaub das Maximum aus eurer CPU herauszuholen. Damit einher geht natürlich, dass eure WUs schneller abgearbeitet werden.
 
Manche Projekte nutzen nun CPU spezifische Erweiterungen wie MMX, SSE, SSE2, SSE3, etc die es ihnen erlaub das Maximum aus eurer CPU herauszuholen. Damit einher geht natürlich, dass eure WUs schneller abgearbeitet werden.
Zeile 20: Zeile 16:
 
Und hier kommt nun der optimierte Client zum Zuge: Dieser passt den Benchmark an, so dass er auch die CPU Erweiterungen berücksichtigt.
 
Und hier kommt nun der optimierte Client zum Zuge: Dieser passt den Benchmark an, so dass er auch die CPU Erweiterungen berücksichtigt.
  
Der optimierte Client, beschleunigt somit nicht die Berechnung, sondern sorgt lediglich für die "korrekte" Entlohnung. (Es sei denn das Projekt unterstützt keine CPU Erweiterungen - weswegen es ja auch ein so großes Hick Hack um BOINC und diesen optimierten Clienten gibt.)
+
Der optimierte Client, beschleunigt somit nicht die Berechnung, sondern sorgt lediglich für die "korrekte" Entlohnung.
 
 
  
 +
Von Indiana_74 http://www.planet3dnow.de/vbulletin/showpost.php?p=3264241 >>>
 +
Diese Versionen wurden vor allem / ausschließlich dazu entwickelt, um die Creditsvergabe bei SETI "gerechter" zu gestalten. Wenn man eine von den selben Programmieren erstellte SETI-Anwendung nutzte welche die WUs erheblich schneller berechnete als die originale Version. Durch die schnellere Berechnung kommt hierbei das Benchmark zu Rechenzeitverhältnis aus dem Gleichgewicht und man bekam für eigentlich mehr geleistete Arbeit weniger Credits.
  
== Welche Version des optimierten Clients brauche ich? ==
+
Nun ist SETI nicht das einzige Projekt welches eine Benchmarkbasierte Creditsvergabe vornimmt wohl aber mit das einzige für welches es auch die optimierten Anwendungen gibt.
 +
<<<
  
 +
Bei Projekten welche keine CPU Erweiterungen unterstützten kommt es zur einer überzogenen Creditanfoderung welches im allgemeinen als Cheaten angesehen wird, da diese dann nicht korrekt ist.
  
Welche Version ihr braucht hängt von den Erweiterungen ab, die eure CPU beherrscht. Dies lässt sich jedoch schnell mit einem Blick bei [http://de.wikipedia.org/wiki/Liste_von_Mikroprozessoren Wikipedia] herausfinden.
+
Da die meisten User den Standard Boinc Client verwenden ergibt sich für die Nutzer des "Optimierten" Clients ein unfaire Vorteil. Die Aussage, es könnte jeder ihn verwenden, ist in sofern nicht akzeptabel, da einige Projekte die Verwendung nicht akzeptieren oder dulden. Aktive Gegenmaßnahmen werden nur selten getroffen wegen Zeitmangel bei den Verantwortlichen.
  
 +
Meistens werden Fixed Credits oder eine Projekt eigene Art der Rechenleistungs ermittlung (z.B. FLOP-Zähler) dann eingeführt oder von Anfang an verwendet.
  
Oder für die ganz Ungeduldigen hier direkt:
 
  
 +
== Noch eine Anmerkung ==
  
CPUs mit MMX:  
+
'''Da es immer mal wieder Diskussionen um die Verwendung des opt. Clients gibt hier nochmal der Hinweis:'''
  
AMD: ab AMD K6
+
Die Verwendung des Clients wird von P3D ''nicht'' empfohlen.
  
Intel: ab Intel Pentium MMX
+
Empfohlen wird ausschließlich der ''offizielle'' Client, den man [http://boinc.berkeley.edu/download.php bei Berkeley] herunterladen kann.
  
 +
== Auswahl der passenden Version des optimierten Clients ==
  
CPUs mit SSE:  
+
Nicht alle [[CPU|CPUs]] unterstützen alle [[SIMD]]-Erweiterungen. Welche CPU welche Erweiterungen unterstützt, ist im Detail bei [http://de.wikipedia.org/wiki/Liste_von_Mikroprozessoren Wikipedia] nachzulesen.
  
AMD: ab Athlon XP bzw. Duron mit Morgan-Kern
+
Die SIMD-Unterstützung der wichtigsten CPUs:
 +
* [[MMX]]
 +
** AMD: ab AMD K6
 +
** Intel: ab Intel Pentium MMX
 +
* [[SSE]]
 +
** AMD:
 +
*** alle Athlon XP
 +
*** Duron: ab Morgan-Kern
 +
** Intel:
 +
*** Pentium III: ab Coppermine-Kern
 +
*** Celeron: ab Coppermine-Kern
 +
* [[SSE2]]
 +
** AMD:
 +
*** alle Athlon 64
 +
*** alle Opteron
 +
*** Sempron: ab Paris-Kern
 +
*** alle Turion 64
 +
** Intel:
 +
*** alle Pentium 4
 +
*** Celeron: ab Willamette-Kern
 +
* [[SSE3]]
 +
** AMD:
 +
*** Athlon 64: ab Venice-Kern Revision E3 bzw. San Diego-Kern Revision E4
 +
*** Opteron: ab Revision E4
 +
*** Sempron: ab Palermo-Kern Revision E3
 +
*** alle Turion 64
 +
** Intel:
 +
*** alle Prozessoren der Core-Architektur
 +
*** Pentium 4: ab Prescott-Kern
 +
*** Celeron: ab Conroe-L-Kern
 +
*** Celeron M: ab Yonah-Kern
 +
*** Xeon: ab Nocona-Kern
  
Intel: ab Pentium III bzw. Celeron mit Coppermine-Kern
+
Programme wie [http://www.cpuid.org/cpuz.php CPU-Z] können ebenfalls ermitteln welche SIMD-Erweiterungen unterstützt werden.
  
 +
Unter Linux reicht ein Blick in die CPU-Info:
  
CPUs mit SSE2:
+
cat /proc/cpuinfo
  
AMD: ab Athlon 64, Opteron bzw. Sempron mit Paris-Kern
+
Interessant sind hierbei die Flags:
 
 
Intel: ab Pentium 4 bzw. Celeron mit Willamette-Kern
 
 
 
 
 
Wer überhaupt keine Ahnung hat, was für ein Herz in seinem PC schlägt, kann dies auch mit Hilfe von [http://www.cpuid.org/cpuz.php CPU-Z] herausfinden.
 
  
 +
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush
 +
'''mmx''' fxsr '''sse sse2''' ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow '''pni'''
 +
cx16 lahf_lm cmp_legacy svm extapic cr8legacy ts fid vid ttp tm stc
  
 +
Wenn das '''pni''' Flag vorhanden ist, unterstützt die CPU SSE3
  
 
== Bezugsquellen für den optimierten Client ==
 
== Bezugsquellen für den optimierten Client ==
  
[http://www.winhilfe.eu/fileManager/fileManager.php?folder=/Programme http://www.winhilfe.eu]
+
* [http://calbe.dw70.de/ calbe.dw70.de] (nur Windows)
 
+
* [http://www.winhilfe.eu/fileManager/fileManager.php?folder=/Programme www.winhilfe.eu] (ältere Versionen, auch für Linux)
[http://calbe.dw70.de/ http://calbe.dw70.de/]
 
 
 
 
 
Oder direkt:
 
 
 
[http://www.winhilfe.eu/fileManager/downloads/Programme/BOINC_5.5.0_MMX.zip MMX]
 
 
 
[http://www.winhilfe.eu/fileManager/downloads/Programme/BOINC_5.5.0_SSE.zip SSE]
 
 
 
[http://www.winhilfe.eu/fileManager/downloads/Programme/BOINC_5.5.0_SSE2.zip SSE2]
 
 
 
 
 
  
 
== Installation des optimierten Clients ==
 
== Installation des optimierten Clients ==
  
 +
# Installiere [[Portal:BOINC/Beschreibung|BOINC]] ([[Portal:BOINC/Installation|Anleitung]])
 +
# Lade den für deine [[CPU]] und die installierte BOINC-Version passenden Client herunter
 +
# Beende BOINC
 +
# Entpacke das Archiv und ersetzte mit den entpackten Dateien die Dateien im BOINC-Programmverzeichnis (unter Windows meist C:\Programme\BOINC\)
 +
# Starte BOINC neu und führe den Benchmark erneut durch (Extras -> Benchmark ausführen)
  
a) Falls du BOINC noch nicht installiert hast, tue dies zuerst
+
== Links ==
 
 
b) Lade den für deine CPU passenden Clienten herunter
 
 
 
c) Beende BOINC falls es gerade läuft
 
 
 
d) Entpacke das Archiv und ersetzte mit den entpackten Dateien die Dateien im BOINC-Programmverzeichnis (unter Windows C:\Programme\BOINC\ )
 
 
 
e) Nun starte BOINC neu und führe den Benchmark erneut durch (Extras->Benchmark ausführen)
 
 
 
 
 
 
 
  
'''Originaltext von niethi'''
+
* [http://www.planet3dnow.de/vbulletin/showthread.php?t=289313 Diskussionsthread im Forum]
  
[http://www.planet3dnow.de/vbulletin/showthread.php?t=289313 Diskussionsthread] im Forum
+
[[Kategorie:BOINC]]

Aktuelle Version vom 9. Juni 2008, 00:37 Uhr

Wozu der optimierte Client gut ist

Projekte, die den BOINC Client nutzen, bauen ihr Creditsystem darauf auf, die Rechenleistung der CPU zu ermitteln, um die Arbeit, die euer System leisten kann, angemessen zu entlohnen. Das ist wie mit einem Restaurant: Je besser der Koch, und damit evtl. auch das Essen, desto teurer ist es.

Manche Projekte nutzen nun CPU spezifische Erweiterungen wie MMX, SSE, SSE2, SSE3, etc die es ihnen erlaub das Maximum aus eurer CPU herauszuholen. Damit einher geht natürlich, dass eure WUs schneller abgearbeitet werden.

Im Gegensatz hierzu nutzt der BOINC Client bei seinem Benchmark keinerlei CPU Erweiterungen. Er ermittelt also nicht die wahre Leistungsfähigkeit eures Systems.

So und jetzt die Auflösung, wie das miteinander zusammenhängt: Für gewöhnlich werden bei BOINC Projekten die claimed Credits - also die Credits, die ihr für eure Arbeit haben wollt - aus der Dauer und der Leistungsfähigkeit eurer CPU berechnet. Also ähnlich der Physik:

geleistete Arbeit = Leistung * Zeit

Wie die Formel für die einzelnen Projekte genau aussieht ist meist unbekannt. Aber allen gemein ist, dass man für weniger CPU-Zeit weniger Credits bekommt. Somit also auch ihr, da ihr ja schneller wart.

Und hier kommt nun der optimierte Client zum Zuge: Dieser passt den Benchmark an, so dass er auch die CPU Erweiterungen berücksichtigt.

Der optimierte Client, beschleunigt somit nicht die Berechnung, sondern sorgt lediglich für die "korrekte" Entlohnung.

Von Indiana_74 http://www.planet3dnow.de/vbulletin/showpost.php?p=3264241 >>> Diese Versionen wurden vor allem / ausschließlich dazu entwickelt, um die Creditsvergabe bei SETI "gerechter" zu gestalten. Wenn man eine von den selben Programmieren erstellte SETI-Anwendung nutzte welche die WUs erheblich schneller berechnete als die originale Version. Durch die schnellere Berechnung kommt hierbei das Benchmark zu Rechenzeitverhältnis aus dem Gleichgewicht und man bekam für eigentlich mehr geleistete Arbeit weniger Credits.

Nun ist SETI nicht das einzige Projekt welches eine Benchmarkbasierte Creditsvergabe vornimmt wohl aber mit das einzige für welches es auch die optimierten Anwendungen gibt. <<<

Bei Projekten welche keine CPU Erweiterungen unterstützten kommt es zur einer überzogenen Creditanfoderung welches im allgemeinen als Cheaten angesehen wird, da diese dann nicht korrekt ist.

Da die meisten User den Standard Boinc Client verwenden ergibt sich für die Nutzer des "Optimierten" Clients ein unfaire Vorteil. Die Aussage, es könnte jeder ihn verwenden, ist in sofern nicht akzeptabel, da einige Projekte die Verwendung nicht akzeptieren oder dulden. Aktive Gegenmaßnahmen werden nur selten getroffen wegen Zeitmangel bei den Verantwortlichen.

Meistens werden Fixed Credits oder eine Projekt eigene Art der Rechenleistungs ermittlung (z.B. FLOP-Zähler) dann eingeführt oder von Anfang an verwendet.


Noch eine Anmerkung

Da es immer mal wieder Diskussionen um die Verwendung des opt. Clients gibt hier nochmal der Hinweis:

Die Verwendung des Clients wird von P3D nicht empfohlen.

Empfohlen wird ausschließlich der offizielle Client, den man bei Berkeley herunterladen kann.

Auswahl der passenden Version des optimierten Clients

Nicht alle CPUs unterstützen alle SIMD-Erweiterungen. Welche CPU welche Erweiterungen unterstützt, ist im Detail bei Wikipedia nachzulesen.

Die SIMD-Unterstützung der wichtigsten CPUs:

  • MMX
    • AMD: ab AMD K6
    • Intel: ab Intel Pentium MMX
  • SSE
    • AMD:
      • alle Athlon XP
      • Duron: ab Morgan-Kern
    • Intel:
      • Pentium III: ab Coppermine-Kern
      • Celeron: ab Coppermine-Kern
  • SSE2
    • AMD:
      • alle Athlon 64
      • alle Opteron
      • Sempron: ab Paris-Kern
      • alle Turion 64
    • Intel:
      • alle Pentium 4
      • Celeron: ab Willamette-Kern
  • SSE3
    • AMD:
      • Athlon 64: ab Venice-Kern Revision E3 bzw. San Diego-Kern Revision E4
      • Opteron: ab Revision E4
      • Sempron: ab Palermo-Kern Revision E3
      • alle Turion 64
    • Intel:
      • alle Prozessoren der Core-Architektur
      • Pentium 4: ab Prescott-Kern
      • Celeron: ab Conroe-L-Kern
      • Celeron M: ab Yonah-Kern
      • Xeon: ab Nocona-Kern

Programme wie CPU-Z können ebenfalls ermitteln welche SIMD-Erweiterungen unterstützt werden.

Unter Linux reicht ein Blick in die CPU-Info:

cat /proc/cpuinfo

Interessant sind hierbei die Flags:

flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush 
mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni
cx16 lahf_lm cmp_legacy svm extapic cr8legacy ts fid vid ttp tm stc

Wenn das pni Flag vorhanden ist, unterstützt die CPU SSE3

Bezugsquellen für den optimierten Client

Installation des optimierten Clients

  1. Installiere BOINC (Anleitung)
  2. Lade den für deine CPU und die installierte BOINC-Version passenden Client herunter
  3. Beende BOINC
  4. Entpacke das Archiv und ersetzte mit den entpackten Dateien die Dateien im BOINC-Programmverzeichnis (unter Windows meist C:\Programme\BOINC\)
  5. Starte BOINC neu und führe den Benchmark erneut durch (Extras -> Benchmark ausführen)

Links