Nachschub: Hochoptimierte BOINC- und SETI-Clients

Nero24

Administrator
Teammitglied
Mitglied seit
01.07.2000
Beiträge
24.066
Renomée
10.445
  • BOINC Pentathlon 2019
  • BOINC Pentathlon 2020
  • BOINC Pentathlon 2018
  • BOINC Pentathlon 2021
Bereits am Anfang dieser Woche haben wir über die neuesten Kreationen verschiedener Programmierer auf dem BOINC- und SETI@Home Sektor <a href="http://www.planet3dnow.de/cgi-bin/newspub/viewnews.cgi?category=2&id=1115680951">berichtet</a>. Die Windows- und Linux-Clients der Programmierer <a href="http://www.planet3dnow.de/vbulletin/member.php?u=23830">aki</a> und <a href="http://maverick6664.bravehost.com/" TARGET="b">Tetsuji Maverick Rai</a> verkürzten die Rechenzeit beim <a href="http://www.planet3dnow.de/vbulletin/forumdisplay.php?f=87">Distributed Computing</A> Projekt SETI@Home auf BOINC-Basis enorm. Bei unserer Test-CPU war eine Verkürzung der mittleren Rechenzeit von 2:15 Stunden auf 1:26 Stunden festzustellen.

Zum Zeitpunkt der ersten Meldung war allerdings noch kein Client für den Athlon 64 verfügbar. Diese Lücke hat nun <a href="http://www.planet3dnow.de/vbulletin/member.php?u=8593">JoJo4u</a> geschlossen. Er hat den SETI-Client mit dem Intel-Compiler so gut es ging für den Athlon 64 optimiert, also 686-Architektur plus SSE2 plus diverser Compiler-Switches, damit auch der Athlon 64 damit ungehen kann. Der Aufwand ist mit einer weiteren Verkürzung der Rechenzeit um etwa 9 Minuten bei unserer Test-CPU gegenüber dem 686-SSE Client belohnt worden. Bei 1:17 Stunden liegt nun die mittlerer Rechenzeit. Nicht schlecht verglichen mit den 2:15 Stunden des Originals, zumal es sich nur um reine Compiler-Optimierungen handelt. Keine Zeile Quellcode ist angetastet worden!

Auch am BOINC-Framework selbst hat JoJo4u noch einmal Hand angelegt. Bekanntlich errechnen sich die claimed credits, die man bei SETI@Home für eine berechnete Workunit erhält, aus der Rechenzeit und der Leistung des Computers, auf dem sie berechnet wurde. Die Leistung ermittelt der BOINC-Client anhand eines eingebauten Benchmarks. Das heißt: obwohl man durch die verkürzten Rechenzeiten mehr Arbeit für SETI leistet, bekommt man nach Einspielen der optimierten SETI-Clients fälschlicherweise weniger Credits ("Dank") aus Berkeley, da die Rechenleistung des SETI-Clients nicht mehr zum ermittelten Benchmark-Ergebnis des BOINC-Clients passt. Optimierte BOINC-Clients, die das kompensieren, findet Ihr in <a href="http://www.planet3dnow.de/vbulletin/showthread.php?p=2221931#post2221931">diesem Thread</a>. Anwender der Client-Version BOINC 4.19 können sich das Upgrade jedoch sparen, da 4.19 auch ohne Optimierungen höhere Benchmark-Werte liefert, als die optimierten neueren 4.25 oder 4.27 Clients. Nur wer auf den besseren Komfort der neueren Clients nicht verzichten möchte oder auf Proxy-Support angewiesen ist, kann zu der optimierten Version des BOINC-Clients greifen.

Doch hier das Wichtigste, die Liste die CPU-optimierten SETI-Clients für das BOINC-Framework.

<b>Download:</b><ul><li><a href="http://www.planet3dnow.de/cgi-bin/file/get.pl?20050510005647">BOINC-SETI Client 686+SSE by Tetsuji [Intel Pentium III/ AMD Athlon XP]</a></li><li><a href="http://www.planet3dnow.de/cgi-bin/file/get.pl?20050513162957">BOINC-SETI Client 686+SSE2 by JoJo4u [AMD Athlon 64]</a> <img src="http://www.planet3dnow.de/shop/merch/neu.gif"></li><li><a href="http://www.planet3dnow.de/cgi-bin/file/get.pl?20050510005645">BOINC-SETI Client 786+SSE2 by Tetsuji [Intel Pentium 4 Northwood/Willy]</a></li><li><a href="http://www.planet3dnow.de/cgi-bin/file/get.pl?20050510005644">BOINC-SETI Client 786+SSE3 by Tetsuji [Intel Pentium 4 Prescott und jünger]</a></li><li><a href="http://www.planet3dnow.de/cgi-bin/file/get.pl?20050510005646">BOINC-SETI Client 686+SSE2 by Tetsuii [Intel Pentium-M]</a></li></ul>Eine ausführliche Anleitung, wie die optimierten Clients in das BOINC-Framework eingebunden werden, findet Ihr in der <a href="http://www.planet3dnow.de/cgi-bin/newspub/viewnews.cgi?category=2&id=1115680951">letzten Meldung</a> zu diesem Thema. Viel Vergnügen beim crunchen!

<b>Links zum Thema:</b>
<li><a href="http://www.planet3dnow.de/cgi-bin/newspub/viewnews.cgi?category=1&id=1089649828">SETI@Home User aufgepasst: Planet 3DNow! goes BOINC</a></li><li><a href="http://www.planet3dnow.de/cgi-bin/newspub/viewnews.cgi?category=1&id=1103742343">SETI@Home Classic - ist das Ende nahe?</a></li><li><a href="http://www.planet3dnow.de/cgi-bin/newspub/viewnews.cgi?category=1&id=1115303017">Stanford veröffentlicht Forschungsergebnisse über Krebs</a></li><li><a href="http://www.planet3dnow.de/vbulletin/forumdisplay.php?f=87">Distributed Computing-Forum bei Planet 3DNow! - Alle Fragen, alle Antworten</a></li>
 
Am (BOINC) code rumoptimieren damit bessere Benchmark Ergebnisse und somit mehr credits zustande kommen... riecht irgendwie fischig, ganz gleich ob es nun mit rechten Dingen zugeht oder nicht.

Wozu gibt es denn die credits? Damit man sich mit anderen vergleichen kann, also Wettbewerb. Jetzt wird der aber verzerrt, da nicht mehr die gleiche Basis gegeben ist. Einige crunchen optimiert, andere nicht.

Kann irgendwie nicht wirklich im Sinn des Erfinders sein.
 
Kann irgendwie nicht wirklich im Sinn des Erfinders sein.

Das kann dem Erfinder wurst sein, ob man normal oder ob man Prozessor-optimiert cruncht, Hauptsache ein brauchbares Ergebniss kommt am Ende raus.

Schon ne Info zum SSE3 Venice *lechz* SETI?
 
Zuletzt bearbeitet:
Fusseltuch schrieb:
Am (BOINC) code rumoptimieren damit bessere Benchmark Ergebnisse und somit mehr credits zustande kommen... riecht irgendwie fischig, ganz gleich ob es nun mit rechten Dingen zugeht oder nicht.

Wozu gibt es denn die credits? Damit man sich mit anderen vergleichen kann, also Wettbewerb. Jetzt wird der aber verzerrt, da nicht mehr die gleiche Basis gegeben ist. Einige crunchen optimiert, andere nicht.

Kann irgendwie nicht wirklich im Sinn des Erfinders sein.
Aus diesem Grund unterscheidet Berkeley ja zwischen claimed credits und granted credits, damit sich daraus niemand einseitig einen Vorteil verschaffen kann. Siehe dazu hier:
http://boinc.de/faqboinc.htm#faqS04

Ferner ist zu bedenken, dass die Benchmark-Ergebnisse der verschiedenen BOINC-Versionen bereits "ab Werk" um etwa den Faktor 2 schwanken :o Wie bereits im Text steht liefert die offizielle 4.19er Version deutlich höhere Benchmark-Werte, als die neueren ebenfalls offiziellen 4.2x Versionen, sogar höhere, als die optimierten 4.2xer Versionen. Insofern kann man sowieso nicht davon sprechen, dass alle User die gleiche Basis haben, weil Berkeley bereits ab Werk nicht dafür gesorgt hat.

UND ES WIRD NICHT GECHEATET! ALLE ABGELIEFERTEN ERGENISSE SIND KORREKT, ALLE ERREICHTEN BENCHMARK-WERTE REELL.

Wer bescheissen will, bräuchte sich nicht die Mühe machen, und optimierte Clients erstellen; er bräuchte nur an den ermittelten Benchmark-Werten Hand anlegen, die im Klartext auf der Platte stehen und diese um den Faktor 10 erhöhen. Das hilft ihm nur nichts, da claimed-credit nicht gleich granted-credit - siehe oben.
 
Ferengie schrieb:
Das kann dem Erfinder wurst sein, ob man normal oder ob man Prozessor-optimiert cruncht, Hauptsache ein brauchbares Ergebniss kommt am Ende raus.

Dann könnte man den ganzen credits Quatsch auch gleich weglassen, bringt dem Projekt ja nichts, ausser ein paar Kids die ihren Namen irgendwo mal ganz oben sehen wollen. Nicht wahr?

Deshalb habe ich die Rechencode Optimierungen, die ja im Endeffekt schnellere Durchlaufzeiten und somit mehr Resultate produzieren, ausgeklammert. Das beeinflusst ja aber nicht wirklich die credit Vergabe, so ich vernommen habe.
 
Fusseltuch schrieb:
Deshalb habe ich die Rechencode Optimierungen, die ja im Endeffekt schnellere Durchlaufzeiten und somit mehr Resultate produzieren, ausgeklammert. Das beeinflusst ja aber nicht wirklich die credit Vergabe, so ich vernommen habe.
Doch, denn durch die Verkürzung der Rechenzeit bekommst Du weniger claimed credits je WU. Sprich: obwohl Du mehr Arbeit für Berkeley leistest, bekommst Du weniger "Dank" dafür. Daher muss die Optimierung des BOINC-Clients auch zur Optimierung des SETI-Clients passen, damit die Relationen wieder stimmen. Aus diesem Grund die optimierten BOINC-Clients.

Aber nochmal: die claimed credits sind sowieso nicht die credits, die Du nach Auswertung der Ergebnisse erhältst (siehe Link oben).
 
Wie siehts mit einer optimierten F@H Version aus?
 
Ich bin nicht in der Distributed Computing Community tätig, also habt jetzt Verständnis für eine möglicherweise blöde Frage.

Warum vergeben die die Punkte nach einem derart beschi**enen Punktesystem? Das ist für mich nicht verständlich. Warum wird nicht einfach nur die Rechenzeit der WU herangezogen? Wenn das Resultat richtig ist, sollte einzig und allein die Rechenzeit entscheiden, denn das ist doch die eigentliche Leistung, die man erbracht hat. Bitte um Aufklärung.
 
Starcraftfreak schrieb:
Ich bin nicht in der Distributed Computing Community tätig, also habt jetzt Verständnis für eine möglicherweise blöde Frage.

Warum vergeben die die Punkte nach einem derart beschi**enen Punktesystem? Das ist für mich nicht verständlich. Warum wird nicht einfach nur die Rechenzeit der WU herangezogen? Wenn das Resultat richtig ist, sollte einzig und allein die Rechenzeit entscheiden, denn das ist doch die eigentliche Leistung, die man erbracht hat. Bitte um Aufklärung.

wenn das Result richtig ist, richtig, daher müssen mehrere leute das Result berechnen, und damit validieren, und dann bekommen alle die mittlere Zeit als Credit, ich finde die Idee gar nicht so schlecht.

das ganze ist natürlich etwas komplex, so muss in der Datenbank jede einzelnes Result und die dazugehörigen Computer abgespeichert werde, ein Riesen aufwand.

mfg
Sir Ulli
 
Sir Ulli schrieb:
wenn das Result richtig ist, richtig, daher müssen mehrere leute das Result berechnen, und damit validieren, und dann bekommen alle die mittlere Zeit als Credit, ich finde die Idee gar nicht so schlecht.

das ganze ist natürlich etwas komplex, so muss in der Datenbank jede einzelnes Result und die dazugehörigen Computer abgespeichert werde, ein Riesen aufwand.

mfg
Sir Ulli
Dem kann ich nicht ganz folgen.

Beispiel:
Jemand mit A64 3800+ rechnet die WU in 1:20. Dann rechnet ein anderer mit einem AthlonXP und braucht dafür 3h um die WU zu validieren. Daraus wird dann der Durchschnitt berechnet und jeder bekommt die gleichen Credits? Wäre meiner Meinung auch nicht gerade fair. Oder hab ich deinen Vorschlag falsch interpretiert?

Das mit der Datenbank ist natürlich ein wenig aufwendig. Man könnte aber die Daten bei den Usern lokal speichern und wenn einer ne WU fertig hat, dann eine Message an alle Clients schicken, damit sich der mit der gleichen WU meldet. Würde zwar den Traffic erhöhen (vermutlich sogar erheblich), man könnte so die Datenbank einsparen.

Wie werden die WUs eigentlich jetzt validiert? Die Validierung ist vermutlich notwendig, um sicherzustellen, dass niemand mit einem modifizierten Programm falsche Daten liefert.
 
Wie werden die WUs eigentlich jetzt validiert? Die Validierung ist vermutlich notwendig, um sicherzustellen, dass niemand mit einem modifizierten Programm falsche Daten liefert.
Exakt! Erstens wird damit cheaten unmöglich und zweitens können so auch die unbrauchbaren Ergebnisse der zu weit übertakteten Systeme aussortiert werden :P


Starcraftfreak schrieb:
Dem kann ich nicht ganz folgen.
Jemand mit A64 3800+ rechnet die WU in 1:20. Dann rechnet ein anderer mit einem AthlonXP und braucht dafür 3h um die WU zu validieren. Daraus wird dann der Durchschnitt berechnet und jeder bekommt die gleichen Credits? Wäre meiner Meinung auch nicht gerade fair. Oder hab ich deinen Vorschlag falsch interpretiert?
Aus diesem Grund wird ja auch der Benchmark des BOINC-Clients mit heran gezogen (claimed-credit = rechenzeit x benchmark). Im Idealfall erreichen beide Systeme die gleichen Credits. Der A64, weil er zwar höhere Benchmark-Werte hat, dafür aber kürzere Rechenzeiten, der AXP "dank" der längeren Rechenzeiten, aber niedrigeren Benchmarkwerte. Der einzige Vorteil des A64: er liefert in der selben Zeit mehr WUs mit diesen credits ab.

Wie die granted-credits letztendlich vergeben werden, bleibt dem jeweiligen Projekt überlassen. Bei SETI rechnen drei Clients die selbe WU wegen der Validierungsgeschichte. Der niedrigste und der höchste claimed-credit fliegt AFAIK raus und alle drei kriegen dann den credit des mittleren, sofern die Ergebnisse identisch waren . Daher ist es auch sinnlos bei SETI zu cheaten.
Das mit der Datenbank ist natürlich ein wenig aufwendig. Man könnte aber die Daten bei den Usern lokal speichern und wenn einer ne WU fertig hat, dann eine Message an alle Clients schicken, damit sich der mit der gleichen WU meldet. Würde zwar den Traffic erhöhen (vermutlich sogar erheblich), man könnte so die Datenbank einsparen.
Das geht nicht, denn dann müsste ständig alle User online sein und das sind sie nicht. Glaub mir, Berkeley denkt sich schon was dabei, dass sie es so machen, wie sie es machen. Die haben "ein paar Jahre" Distributed Computing Erfahrung ;D
 
Verstehe ich nicht?

In dem Rar archiv ist ein anderer seti@home client der 4.11?

Aber mein Boinc 4.25 nimmt natürlich weiter seinen 4.09?

*noahnung*
 
mjam mjam, dass ist alles toll. Hier mal die Änderungen:

AMD Athlon XP 2800+ (2083MHz @ 2312,5MHz)
alt: 2:12 - 2:30
neu: 1:42 - 2:07

AMD Sempron 2500+
alt: 3:40 - 4:00
neu: max 3:00

ich sag nur: LECKA SCHLECKA
 
Predator_one schrieb:
keine grafik mehr oder was ?!

nein der Client hat keine Grafikausgabe mehr, der Client ist nur auf Speed optimiert.

mfg
Sir Ulli
 
Um mal etwas Klarheit in die Sache zu bringen ob man mehr Credits mit den optimierten Klienten bekommt oder nicht:
Ich habe einen Athlon 64 3500+ und die claimed Credits liegen bei rund 30. Würdet ihr jetzt sagen, dass das übertrieben hoch ist und ich einen Vorteil habe? Ich denke nicht.
Für einen AMD sind das ganz normale Werte, Intel liegen meist darunter weil der Benchmark durch die Anzahl der CPUs, also bei HT 2, geteilt wird.

Unübertaktet braucht der 3500+ im Schnitt ca. 1:25 pro Unit. Mit dem originalen BOINC Klienten für Linux, der sehr (sehr ;)) schlechte Benchmarkergebnisse bringt (ca. die Hälfte der Windows-Werte) hätte ich dann wohl um die 10 claimed Credits. Das wäre ja wohl um einiges unfairer gegenüber den Linux Users, oder findet ihr nicht? ;)
Diese Klienten waren nur dazu gedacht, das Verhältnis wieder gerade zu rücken, weil die Linux User doch sehr stark benachteiligt waren durch schlechte Benchmarks und langsamen Berechnungszeiten des originalen Seti Klienten. Darüber habt ihr euch natürlich nicht beschwert :]

Da es jetzt auch verbesserte Windows Klienten gibt dürfte wohl jeder zufrieden sein. Wer sie nicht benutzen möchte weil er meint das wäre Betrug, der kann gerne verzichten. Dann aber nicht beschweren ;)
 
is schon traurig genug, das hier wegen ein paar punkten rumgeflennt wird...
man könnte fast sagen, das is nur ein spiel, bei dem man nix gewinnt, außer man weiß, man hat den längeren, weil ich bin auf platz 12536 und nicht 12537...mei mei


mfg
 
So, ja wo soll ich denn jetzt den optimierten hin kopieren?

In das "projects" oder in das "slots" Verzeichniss?

Da liegen überall die alten bzw. normalen Versionen rum.
 
Zurück
Oben Unten