Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Threads-Test inkl. Crafty 24.1
- - By Andreas Strangmüller Date 2014-10-14 18:31
In diesem Test sollte die "Urengine" Crafty nicht fehlen, zumal sich der Schöpfer Robert Hyatt sehr intensiv und detailliert mit dem Thema SMP / Parallelisierung beschäftigt hat.
Hier das Ergebnis der aktuellen Version:



Bis 8 Threads eine tolle Performance von Crafty, die zweitbeste hinter Zappa. Bei 16 Threads dann allerdings ein unerklärlich starker Einbruch.
Warum bricht die Leistung bei 16 Threads so ein, wie bisher bei keiner anderen getesteten Engine? Sie fällt sogar hinter der bei 4 Threads zurück!

Ist die Bedenkzeit zu kurz gewählt und kommen dadurch die 16 Kerne nicht "auf Touren"?
Andererseits kommt Komodo mit diesen Bedingungen bestens zurecht.

Bei allen Testläufen, immerhin 12000 Partien pro Engine-Test, gab es keine einzige Zeitüberschreitung.
Somit sollte die Kommunikation zwischen dem Cutechess-Client und den Engines und auch die Konfiguration tadellos sein.

Ein kurzer Test 1 gegen 16 Threads mit knapp 400 Partien bei der doppelten Bedenkzeit 120+0.05 Sek. brachte auch kein anderes Ergebnis.
Aber etwas fragend läßt mich das Ergebnis bei 1 gegen 16 Threads schon zurück.

Parent - - By Thomas Müller Date 2014-10-14 18:49
mal wieder ein dickes danke!!

Einige können mit 16 threads nicht gut umgehen.
Einzig Komodo profitiert davon.
In einem anderen post gab es auch hinweise zu senpai bzw bei TCEC.
Ich hätte bei TCEC 8 vs 8 mit ponder=on gespielt.

gruß
thomas
Parent - - By Michael Scheidl Date 2014-10-14 18:59 Edited 2014-10-14 19:11
Zitat:
Ich hätte bei TCEC 8 vs 8 mit ponder=on gespielt.

Ich auch! Doch ich fürchte, das Problem wären dann irgendwelche Interdependenzen (meine laienhafte Auffassung des Aufgeschnappten) innerhalb ein- und desselben Computersystems... Permanent Brain würde jedenfalls den Kibitzgenuß deutlich vergrößern, und nach den SMP-Tests zu schließen, wäre vielleicht die Schachqualität insgesamt bei 8 versus 8 zumindest nicht schlechter. Ich weiß nicht wie groß diese befürchteten Probleme tatsächlich wären.

Hinsichtlich SMP dreht es sich auch irgendwie um "NUMA", was immer das ist Bei TCEC laufen Intel Xeons.

P.S. Wie ich gerade im Chat lerne, geht es dabei darum ob und wie viele eigene Memory Controller pro CPU-Sockel vorhanden sind. Technisches Zeugs!
Parent - By Thomas Müller Date 2014-10-14 19:23
Ja kann auch sein das mit 2x8 es andere probleme gegeben hätte?!
Evtl. hat das Martin sogar alles getestet. Er ist da schon gut vorbereitet.
Egal.

Aber, dass bei einigen von 8 zu 16 teilweise sogar ein rückschritt ist, hätte ich so nicht erwartet.
Wer hat schon solche HW

gruß
thomas
Parent - By Thomas Plaschke Date 2014-10-14 18:54
Vielen Dank!

Das Ergebnis ist ja erstaunlich. Ich dachte, Prof. Hyatt würde Crafty auch auf einem high-end-Rechner mit mindestens 16 cores testen. Hmm...

Viele Grüße
Th. Plaschke
Parent - By GS Date 2014-10-14 19:04
Erstmal Danke für all die SMP-Tests.

Ich persönlich würde folgendes probieren:
Bedenkzeit etwas erhöhen, z.B. Level 2'+1"
oder besser 3'+1", dafür die Partienanzahl
entsprechend verringern.

Und, für mich persönlich deutlich wichtiger:
ein "Gegnerset", in diesem Falle für Crafty
auswählen, 4-5 unterschiedliche sollten es
schon sein. Diese dürfen alle "1-CPU" sein,
einfach an der CEGT 40/4 Liste orientieren,
damit die Spielstärke einigermassen passt.

Dann die Tests gegen dieses "Gegnerset" mit
Crafty 1-, 4-, 8-, und 16-CPU abarbeiten und
danach vergleichen.

Ich bin mir (fast) sicher, dass wir dann eine
durchgehende Steigerung sehen werden/würden.
Parent - - By Timo Haupt Date 2014-10-14 21:19
Hallo Andreas,

zunächst einmal auch ein großes Dankeschön und Lob für diesen tollen Test!

Bzgl. Crafty und Zappa habe ich einen Verdacht, warum hier die Leistung bei 16 Threads einbricht: Diese Engines können mit dem Opteron auf Piledriver-Basis nichts anfangen  und / oder haben ein Problem mit NUMA. Wenn du den Test 1 vs 16 Threads durchführst, dann laufen bei dir doch bestimmt zwei Partien gleichzeitig, oder? Die Frage ist, wie der Scheduler von Windows 7 das dann auf die CPUs aufteilt. Da der Opteron keine 16 Vollkerne hat, sondern sich immer 2 Kerne bestimmte Komponenten teilen müssen, könnte sich das negativ auf bestimmte Engines auswirken. Bei Crafty würde ich schätzen, dass die Engine auch auf NUMA Systemen anständig skalieren sollte - Bob Hyatt hat das sicher getestet, aber wahrscheinlich nur mit Xeon CPUs. Zappa hingegen stammt aus einer Zeit, in der NUMA Systeme noch nicht soweit verbreitet waren, deshalb könnte dieser sowohl damit als auch mit den Opterons Schwierigkeiten haben. Dass Zappa oberhalb von 8 Kernen noch skaliert, halte ich für sicher - sonst wäre Anthony damals bei der WM in Turin 2006 nicht auf einem Cluster mit 512 Kernen angetreten.

Interessant wäre noch ein Test mit Houdini Pro. Dieser hat den Parameter "NUMA aware", so dass man in diesem Fall Probleme damit ausschließen kann. Vielleicht hat auch Crafty einen solchen, vielleicht nicht dokumentierten Parameter, den man in der crafty. rc setzen kann?!

Viele Grüße
Timo
Parent - - By Andreas Strangmüller Date 2014-10-15 20:25
Hallo Timo,

danke, Dein Lob freut mich!

Danke auch für Deine interessanten Ausführungen zu diesem Thema.

Ja, bei dem Test 1 vs 16 Threads laufen zwei Partien gleichzeitig, -concurrency 2 lautet der Cutechess-Parameter dazu.
Evtl. liegt es tatsächlich an der Speicher-Architektur für Multiprozessorsysteme (NUMA). Beim Starten von Crafty wird ein NUMA-System mit 4 Nodes erkannt. Pro Node also jeweils 8 Kerne/Threads.

Werde diesen Beitrag auch auf TalkChess veröffentlichen, vielleicht kann jemand was genaueres dazu sagen, evtl. Robert Hyatt selbst.
Denke er hat sicherlich auch auf AMD Systemen getestet. In der Crafty-Doku https://www.cis.uab.edu/hyatt/craftydoc.html habe ich nichts zu NUMA entdecken können.

Infos zum NUMA-Support für Houdini habe ich hier gefunden:
http://www.cruxis.com/chess/manual/numa_support.htm

Werde mich damit mal genauer beschäftigen.

Viele Grüße,
Andreas
Parent - - By Stefan Pohl Date 2014-10-16 05:23
Andreas Strangmüller schrieb:

Hallo Timo,

danke, Dein Lob freut mich!

Danke auch für Deine interessanten Ausführungen zu diesem Thema.

Ja, bei dem Test 1 vs 16 Threads laufen zwei Partien gleichzeitig, -concurrency 2 lautet der Cutechess-Parameter dazu.
Evtl. liegt es tatsächlich an der Speicher-Architektur für Multiprozessorsysteme (NUMA). Beim Starten von Crafty wird ein NUMA-System mit 4 Nodes erkannt. Pro Node also jeweils 8 Kerne/Threads.

Werde diesen Beitrag auch auf TalkChess veröffentlichen, vielleicht kann jemand was genaueres dazu sagen, evtl. Robert Hyatt selbst.
Denke er hat sicherlich auch auf AMD Systemen getestet. In der Crafty-Doku <a class='urs' href='https://www.cis.uab.edu/hyatt/craftydoc.html'>https://www.cis.uab.edu/hyatt/craftydoc.html</a> habe ich nichts zu NUMA entdecken können.

Infos zum NUMA-Support für Houdini habe ich hier gefunden:
<a class='urs' href='http://www.cruxis.com/chess/manual/numa_support.htm'>http://www.cruxis.com/chess/manual/numa_support.htm</a>

Werde mich damit mal genauer beschäftigen.

Viele Grüße,
Andreas


Ich denke, Timo spricht einen wichtigen Punkt an. Ich würde unbedingt auch empfehlen, nicht mit parallel laufenden Partien zu arbeiten, wenn du 8- bzw. 16-Threads Tests machst. Da sollte die jeweilig rechnende Engine alleine auf dem PC-System zugange sein.
Auf jeden Fall müßte man das mal ausprobieren, um das als mögliche Problemquelle auszuschließen!

Gruß - Stefan
Parent - - By Andreas Strangmüller Date 2014-10-16 15:47
Hallo Stefan,

mittlerweile bin ich ebenfalls zu der Überzeugung gekommen, dass der Threads Test nur bei einer Partie gleichzeitig aussagekräftige Ergebnisse liefert. Zumindest bei 16 Threads.

Werde die Tests 1 vs. 16 Threads wiederholen, dann wissen wir mehr.

Viele Grüße,
Andreas
Parent - - By Jörg Oster Date 2014-10-16 16:31
Hallo Andreas,

ich wage mal die Vorhersage, dass sich da nicht viel ändern wird.
Lasse mich aber gerne eines Besseren belehren.

Gruß, Jörg.
Parent - By Peter Martan Date 2014-10-16 17:42
Jörg Oster schrieb:

ich wage mal die Vorhersage, dass sich da nicht viel ändern wird.


Frech, wie ich bin, halte ich dagegen.

Und bedanke mich aber auch gleich bei Andreas für die viele interessante Arbeit.
Parent - - By Tom Paul Date 2014-10-15 10:12
Könnte es nicht sein, dass bei Komodo der Absturz erst von 16 auf 32 Kerne kommt und bei Zappa und Crafty haben wir eine deutlich bessere Steigerung von 1-2-4-8 Kernen als bei Komodo. Und deshalb stürzen die zwei Engines von 8-16 Kernen ab.
Somit müsste man Komodo 8 von 1-2-4-8 verbessern, damit die Engine eben schon die volle Leistung bei 8 Kernen erreicht und nicht erst bei 16.
Parent - By Roland Riener Date 2014-10-15 11:29 Upvotes 2
Zitat:
Somit müsste man Komodo 8 von 1-2-4-8 verbessern, damit die Engine eben schon die volle Leistung bei 8 Kernen erreicht und nicht erst bei 16.


Wenn Usain Bolt seine Ausdauer verbessern würde, könnte er auch über 1.500 m gewinnen 
Parent - - By Benno Hartwig Date 2014-10-15 11:44

> Ist die Bedenkzeit zu kurz gewählt und kommen dadurch die 16 Kerne nicht "auf Touren"?


Ich denke, dieser Gedanke verdient, eingehender mit einem Test bedacht zu werden.
Dass 16 Kerne zu Stagnation und sogar zu deutlichen Rückschritten führen können, finde ich erstaunlich.
Und es ist faszinierend, dass Komodo von derartigen verbreiteten Schwierigkeiten so rein gar nichts spürt. 

Man bekommt Lust zu Beobachten, wie es sich wohl bei 32 Kernen dastellen würde.
- Würden Zappa und Crafty noch drastisch stärker zusammenbrechen?
- Würde Komodo abermals deutlich an Stärke gewinnen können? (Wo wären wohl die Komodo-Thread-Limits?)
- Und würde Stockfish doch noch irgendwie profitieren können? Oder stagnieren? Oder etwa auch beginnen einzubrechen??

Benno
Parent - By Benno Hartwig Date 2014-10-15 12:53
PS:
Interessant auch der Gedanke, ob nicht die TCEC-Situation für einige Engines
(vielleicht sogar für manche der großen Engines?)
einen schwächenden Klotz am Bein bedeuten könnte.

Ineffektive Nutzung vieler Kerne, weil ggf. irrsinig viele Knoten letztlich überflüssigerweise berechnet werden, ist eine Sache. Das findet wohl häufig statt.
Dass darüber hinaus die Knoten/Sekunde-Werte aber einbrechen, finde ich so richtig(!) erstaunlich.
Benno
Parent - - By Jörg Oster Date 2014-10-15 13:40
Benno Hartwig schrieb:

Ich denke, dieser Gedanke verdient, eingehender mit einem Test bedacht zu werden.
Dass 16 Kerne zu Stagnation und sogar zu deutlichen Rückschritten führen können, finde ich erstaunlich.
Und es ist faszinierend, dass Komodo von derartigen verbreiteten Schwierigkeiten so rein gar nichts spürt. 

Man bekommt Lust zu Beobachten, wie es sich wohl bei 32 Kernen dastellen würde.
- Würden Zappa und Crafty noch drastisch stärker zusammenbrechen?
- Würde Komodo abermals deutlich an Stärke gewinnen können? (Wo wären wohl die Komodo-Thread-Limits?)
- Und würde Stockfish doch noch irgendwie profitieren können? Oder stagnieren? Oder etwa auch beginnen einzubrechen??

Benno

Ich denke auch, dass die BZ eine entscheidende Rolle spielen könnte.
Gerade bei Engines mit heftigem Pruning/Reductions wie bei Stockfish, brauchen mehrere Kerne einfach etwas Zeit, um so richtig auf Trab zu kommen.

Das Ergebnis für Crafty finde ich dann allerdings schon sehr erstaunlich! Von 1 bis 8 Threads eine wie erwartete exzellente Performance, und dann der Einbruch bei 16 Kernen ...
Ein solcher Einbruch ist m. M. nach mit der BZ allein nicht zu erklären.

Und Komodo bestätigt mal wieder die Annahme, dass Don da was richtig Gutes gezaubert hat. Vielleicht eine verbesserte Shared-Hash-Tables Implementierung; vielleicht sogar eine Kreuzung von SHT und YBWC. Ich hatte sowas im CCC mal vorgeschlagen. Wer weiß? 

Gruß, Jörg.

P.S. Großer Dank an Andreas für die Test!
Parent - By Benno Hartwig Date 2014-10-15 13:49

> Großer Dank an Andreas für die Test!


+1!
Parent - - By tobias Date 2014-10-16 14:20
Hallo Jörg,

ich bin  über folgenden Branch auf github gestoßen, in dem der Autor der Syzygy-Bases kräftig an der smp-Implementierung "gewerkelt" hat.

https://github.com/syzygy1/Stockfish/tree/ants_smp

Weißt du zufällig, ob diese Version getestet wurde.

Schöne Grüße
Tobias
Parent - - By Jörg Oster Date 2014-10-16 14:54
Hallo tobias,

nicht dass ich wüsste.
Ich habe Ronald de Man aber eine Nachricht hinterlassen und mal nachgefragt. Vielleicht antwortet er ja.

Gruß, Jörg.

P.S. Ich habe mir die Sourcen mal runtergeladen und kompiliert. Läuft zwar schon, aber im Vergleich zum Original noch sehr langsam.
Parent - By tobias Date 2014-10-16 20:55
Vielen Dank fürs nachfragen bei rdm. Vielleicht erhalten wir ja eine Antwort.
Ich habe mir auch mal die aktuelle Version und ants_smp runtergeladen und beide 3 Mal gegeneinander antreten lassen:

Code:
bench 256 3 18 default depth

$engine                  $nodes          $nps $stdev $consistency\r
./stockfish_ants_smp  92331099  6378473  118193  Nodes searched are not consistent!
./stockfish_curr_master  58072173  6235642  197030  Nodes searched are not consistent!
./stockfish_ants_smp  88182575  6344616  101988  Nodes searched are not consistent!
./stockfish_curr_master  71846102  6286410  133727  Nodes searched are not consistent!
./stockfish_ants_smp  80501022  6327308  79672  Nodes searched are not consistent!
./stockfish_curr_master  61879320  6243049  138073  Nodes searched are not consistent!


Auch wenn die Vergleichbarkeit aufgrund der unterschiedlichen Aktualität der Sourcen nicht unbedingt gegeben ist, so fällt doch auf, dass ants_smp bei geringfügig mehr nps, deutlich mehr Knoten absucht.
Parent - By Kurt Utzinger Date 2014-10-15 12:15
Hallo Andreas
Wirklich sehr interessant. Bin gespannt auf Erklärungsversuche
oder noch besser auf weitere Tests mit etwas höheren Bedenkzeiten.
Mfg
Kurt
Parent - By Roland del Rio Date 2014-10-16 11:04
Hallo Andreas.

Kannst du mir mal die Kommandozeile den cutechess-cli deines Tests mit Crafty schicken, dann könnte ich mal schauen, ob das Ergebnis auf anderer Plattform reproduzierbar ist.

Viele Grüße
Roland
Parent - - By Bertil Date 2014-10-16 23:18
Hi!

As you probably know , the result for Zappa 16 cores are probably wrong because it stalls and loose on time evey 4-5 games with more than 8 cores.
Fantastic that my and your result after 3000+ games 8 vs 16 cores was + 45 elo!

x3
Parent - By Andreas Strangmüller Date 2014-10-17 19:47
Hi Bertil,

I checked the pgn file.

On my machine, there were only three "losses of time" within the 3000 games with Zappa Mexico II 1 vs. 16 threads and no "stalls"!
I used cutechess-cli 0.5.1-SF. Perhaps this happens only on Intel?

Andreas
Up Topic Hauptforen / CSS-Forum / Threads-Test inkl. Crafty 24.1

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill