Not logged inCSS-Forum
Forum CSS-Online Help Search Login
CSS-Shop Impressum Datenschutz
Up Topic Hauptforen / CSS-Forum / Geschwindigkeitszuwachs bei Hyperthreading
- - By Lothar Jung Date 2020-07-12 08:30
Im Durchschnitt wohl nur 30%, vgl. nachstehende Benchmarks:

https://www.phoronix.com/scan.php?page=article&item=intel-ht-2018&num=4

Lothar
Parent - By Peter Martan Date 2020-07-12 09:04
Bei dieser einen CPU, aber erstens wohl auch Engine- abhängig, zweitens sind 30% ja auch nicht schlecht, drittens ist n/sec absolut nicht alles und bedeutet bei verschiedenen Engines Verschiedenes, und dann wird die Suche durch mehr Threads ja auch verändert, nein?
Parent - - By Clemens Keck Date 2020-07-12 10:29
Moin Moin

Geschwindigkeitszuwachs durch HT Ja
aber ist damit auch wirklich messbar ein Spielstärkezuwachs verbunden?

Ich verspreche mir nichts von HT,  spiele meine Rechner ohne.

C.K.
Parent - - By Lothar Jung Date 2020-07-12 11:00 Edited 2020-07-12 11:37
Hallo Peter,
hallo Clemens,
durch HT erreicht man eine höhere Such-Tiefe.
Aber die ist bei starken CPUs, ab 12/16 Cores, nicht mehr so relevant.
Erst recht die Spielstärkensteigerung.
Bei HT geht bei einer Analyse der Determinismus erst recht verloren.
HT ist bei den einzelnen Prozessoren unterschiedlich umgesetzt.
Bei Ryzenprozessoren wird bei HT-On der Turbotakt reduziert.
Hinzu kommt, die unterschiedlichen Cachegrößen.
Je mehr Cache, desto besser performt HT.
Serverprozessoren dürften da besser sein.

Hier ein detaillierterer Artikel über HT:

https://medium.com/@ITsolutions/will-hyper-threading-improve-processing-performance-15cba11add74

Übriges bei 2-Sockel-Systemen ist der Geschwindigkeitkeitszuwachs nur ø 15 %.
Durch viel I/O-Aktivitäten kann er sich auch reduzieren (z.B. TBs).

Lothar
Parent - - By Reinhold Stibi Date 2020-07-13 14:01 Edited 2020-07-13 14:30
Lothar, dass bei 2-Sockel Systemen der Geschwindigkeitszuwachs nur  15 % sein soll, stimmt nicht.

Meine Workstation mit 2 Prozessoren X5690 bringen einen Geschwindigkeitszuwachs von 30 %.

Das Problem ist nur, dass Bei HT die Prozessoren von der Temperatur und auch das ganze System
zu stark gefordert werden.
Deshalb setze ich bei Engineturniere nur 20 Threads von 24 möglichen ein.

Bei Internetspielen kommt eine zusätzliche Belastung bei meinem System dazu und läuft deshalb
nur mit den echten Kernen (12) stabil.

Der Geschwindigkeitszuwachs von 30 % dürften bei Engine-Turniere mit + 1 Sek. oder mehr pro Zug nicht
viel bringen, wohl aber bei den Blitzturnieren mit 5 Min. und deren oft langen Zugfolgen mit nur  1/10 Sek.
pro Zug.
Je mehr die Prozessoren echte Kerne haben um so weniger braucht man zusätzlich HT.

Wenn man das letzte aus seinem Prozessor herausholen möchte, ohne dass das gesamte System darunter leidet,
dann ist HT sinnvoll.
Parent - - By Frank Quisinsky Date 2020-07-13 15:10 Edited 2020-07-13 15:12
Hallo Reinhold,

genau das ist das Problem!
Hyperthreading ist insofern gut um es nicht zu nutzen!
So bleiben die Temps geringer und noch besser wäre es ein paar Threads gar nicht im Einsatz zu haben.
Der Stromverbraucht geht rasant nach oben.

Beispiel:
Ich nutze i9-10900K Systeme.

Vorteil zu AMD: Höhere Leistung bei einem Core (nur das interessiert mich, was ist messbar mit einem Core und max. Leistung ... Vergleichbarkeit zwischen Schachprogramme).
Nachteil zu AMD: Höherer Stromverbrauch, höhere Kosten weniger Threads.

Spricht kaum noch etwas für Intel aber das was dafür spricht ist mir wichtig!

Würde ich beim neuen i9-10900 z. B. die 10 Threads und 10x Hyperthreading im Einsatz haben wäre die Temperatur bei 4,9-5.3Ghz (Auto-KI Tuning vom Asus Board) bei 94 Grad anstatt ohne Hyperthreading und 10Cores bei 74 Grad.
Und 74% mit Wasserkühlung ist auch schon heftig (Prozessor ist bis 100 Grad offiziell zugelassen).

Gut, könnte man mit diversen Einstellungen auch 5.4 Ghz einstellen und ohne Hyperthreading wäre die i9-Dinger dann bei 92% Grad.
Da steht der Stromverbrauch in keinem gesunden Verhältnis mehr auch wenn 5.4 Ghz, geht gar 5.5Ghz mit Wasserkühlung möglich wäre.

Würde ich jetzt z. B. von den 10 Cores 2 abziehen wäre das System lautlos trotz der besten BeQuit Kühlsystheme.
So höre ich bei 10 Threads ohne Hyperthreading ganz minimal etwas.
Wobei ich eh nicht mehr so gut hören kann.

Wollte auch erst einen AMD kaufen aber die wirklichen Thread-Monster sind auch nicht ohne vom Preis.
Dann lieber 2x i9-10900K und ich habe für meine Testerei dann 20 Cores (reicht dicke aus).

Auch sehe ich nur 18 Elo Differenz von z. B. 16 auf 32 Cores (habe natürlich mit AMD auch experimentiert).
Durchschnitt von 3 Engines die mir wichtig sind (die 18 Elo).

Sehe daher auch keinen Nutzen mehr als 16 Cores zu nutzen.

Die Leistung von einem AMD mit 16 Cores würde der Intel mit 12,5 Cores erreichen, der hat aber nur 10.

Das ist nur Strom und Ressourcenverschwendung wenn ich berechne wie viel Power bei 32Cores verpufft sind.
Wäre im Grunde wie eine Spende für den Stromanbieter (da keine wirkliche Gegenleistung mehr).

Viele Grüße
Frank
Parent - By Lothar Jung Date 2020-07-13 17:29
Ihr braucht mich nicht vom Nicht-Nutzen von HT zu überzeugen.
Gerade im Testbetrieb macht HT keinen Sinn.
Bei Lc0 spielt nur Ponder On eine spielverstärkende Rolle gegen SF oder online bei Tunieren.
Bei Tunieren geht es nicht um Energieverbrauch, sondern ums gewinnen.
Frage mich, ob das explizite zuweisen eine Threads zu einem definierten Core (z.B. bei Lc0) Vorteile hat.
Übrigens kommt Linux mit Multitasking/-threading besser zurecht und ist schneller.

Lothar
Parent - - By Thomas Plaschke Date 2020-07-13 12:44

>Geschwindigkeitszuwachs durch HT Ja


Stimmt. Aber was kommt hnten raus? Über Nacht getestet mit 200 Partien (60s+0.6s, 256 MB Hash, die ersten 100 HERT250 Eröffnungen mit Seitenwechsel. Auf einer Skylake-CPU spielten 16 cores (1 Thread pro core) gegen 32 Threads (auf 16 Kernen).
Ergebnis:

32 Threads gewinnen mit 17:12 bei 171 Remis.

   # PLAYER                         :  RATING  ERROR  POINTS  PLAYED   (%)  CFS(%)
   1 Stockfish 11 (Threads 0-31)    :  2304.4    9.3   102.5     200    51      82
   2 Stockfish 11 (16c no HT)       :  2295.6    9.3    97.5     200    49     ---

White advantage = 26.35 +/- 9.33
Draw rate (equal opponents) = 87.50 % +/- 2.55
Nach 160 Partien war der Stand noch  12:11.

>Ich verspreche mir nichts von HT,  spiele meine Rechner ohne.


Das ist auch mein Resümee. HT lohnt den höheren Stromverbrauch nicht. Aber manchem ist die höhere nps-Zahl ja bereits das maßgebliche Qualitätsmerkmal.

Für weitere (ernüchternde) Ergebnisse seien Interessierte auf die Suchfunktion dieses Forums hingewiesen. Außerdem würde ich mich wundern, hätte Andreas Strangmüller nicht auch allerlei dazu getestet.

Viele Grüße
Th. Plaschke
Parent - - By Andreas Strangmüller Date 2020-07-14 00:22 Edited 2020-07-14 00:49 Upvotes 2
AMD Ryzen Threadripper 3990X, 64 cores, 128 threads
Komodo 14 POPCNT vs Komodo 14 POPCNT, default, C0, 128 MB Hash, TC = 10 + 0.1 sec, 3000 games
Stockfish 11 POPCNT vs Stockfish 11 POPCNT, default, C0, 128 MB Hash, TC = 10 + 0.1 sec, 3000 games

Bis 64 vs 32 physische Kerne und der letzte Test 128 Hyperthreading Threads vs 64 physische Kerne.

Komodo 14

Threads    2 vs 1          4 vs 2          8 vs 4          16 vs 8        32 vs 16        64 vs 32       128 vs 64
Elo          88              68              61               43             29              28              -1
Draw %      66.2            71.4            74.3             77.7           81.7            84.1            85.3
W-D-L   879-1986-135    718-2142-140    645-2229-126    520-2331-149    401-2451-148    360-2522-118    216-2559-225




Stockfish 11

Threads    2 vs 1          4 vs 2         8 vs 4           16 vs 8         32 vs 16       64 vs 32       128 vs 64
Elo          63              61             44                38              24             26               5
Draw %      70.8            72.7           77.5              80.1            84.6           86.1            88.2
W-D-L   709-2124-167    669-2180-151    525-2326-149    464-2403-133    336-2537-127    321-2582-97     199-2646-155




tpm = time per move, d = depth, nps = nodes per second

Komodo 14 T1      (tpm=218.0 d=19.07 nps=  2.184.031)
Komodo 14 T2      (tpm=214.8 d=20.52 nps=  4.356.131) - (tpm=219.6 d=20.38 nps=  4.371.401)
Komodo 14 T4      (tpm=217.7 d=21.72 nps=  8.598.857) - (tpm=221.8 d=21.58 nps=  8.427.235)
Komodo 14 T8      (tpm=222.9 d=23.01 nps= 17.083.765) - (tpm=220.0 d=22.89 nps= 16.319.575)
Komodo 14 T16     (tpm=224.5 d=24.06 nps= 30.843.341) - (tpm=225.8 d=24.44 nps= 33.266.657)
Komodo 14 T32     (tpm=224.1 d=24.77 nps= 57.449.961) - (tpm=222.8 d=25.60 nps= 73.557.642)
Komodo 14 T64     (tpm=214.5 d=26.26 nps=145.082.937) - (tpm=216.2 d=26.17 nps=145.036.085)
Komodo 14 T128    (tpm=200.2 d=25.29 nps=215.777.613)


Stockfish 11 T1   (tpm=215.7 d=22.64 nps=  1.965.980)
Stockfish 11 T2   (tpm=212.1 d=25.49 nps=  3.851.322) - (tpm=211.4 d=24.46 nps=  4.008.706)
Stockfish 11 T4   (tpm=208.1 d=26.95 nps=  7.746.021) - (tpm=210.0 d=26.11 nps=  8.278.643)
Stockfish 11 T8   (tpm=207.2 d=28.15 nps= 15.410.676) - (tpm=207.4 d=27.96 nps= 18.544.535)
Stockfish 11 T16  (tpm=206.4 d=29.14 nps= 35.251.188) - (tpm=205.3 d=29.64 nps= 32.642.384)
Stockfish 11 T32  (tpm=205.1 d=30.18 nps= 59.852.477) - (tpm=203.6 d=30.64 nps= 77.849.924)
Stockfish 11 T64  (tpm=202.0 d=32.04 nps=147.277.339) - (tpm=202.3 d=31.59 nps=142.762.608)
Stockfish 11 T128 (tpm=201.9 d=31.20 nps=213.444.223)


Selbst bei der sehr niedrigen Bedenkzeit von 10 Sekunden + 0.1 Sekunden pro Partie bringt HT spielstärkemäßig nichts mehr.
Parent - - By Thomas Plaschke Date 2020-07-14 02:10
Interessant ist das Verharren der Elo-Differenz von 64 vs 32 auf der Schwelle von 32 vs 16 und danach das Abfallen von 128 vs 64. Sicher ist letzteres die Konsequenz daraus, dass für 128 Threads nicht mehr ein Thread pro core genutzt werden kann.
Für K14 empfehlen Larry Kaufman und Mark Lefler ohnehin auf HT zu verzichten oder zumindest nur zurückhaltend zu verwenden (wenn man MCTS nutzt).
Schönen Dank für die prompte Lieferung!

Viele  Grüße
Th. Plaschke
Parent - - By Andreas Strangmüller Date 2020-07-14 13:06
Ja, nur der letzte Test dieser Reihe 128 vs 64 Threads ist der eigentliche Hyperthreading Test. Die Tests davor sind reale Kerne.
Bei Stockfish 11 bringt HT bei dieser kurzen Bedenkzeit noch 5 Elo. Wird die Bedenkzeit verlängert wird dies immer mehr gegen 0 Elo tendieren.
Bei Komodo 14 sind es gleich 0 Elo.

Fazit:
Obwohl der Geschwindigkeitszuwachs bei Hyperthreading bei dieser CPU fast 50% beträgt, ist der Nutzen=Spielstärke gleich null.

Komodo 14  - 64 Kerne    (nps=145.082.937)
Komodo 14 - 128 Threads  (nps=215.777.613)
Parent - By Thomas Plaschke Date 2020-07-14 19:14
Also ist für K14 und SF11 schon bei 64c/128th der Punkt erreicht, wo sich der Nutzen von HT aufhebt.

Dagegen würde das Verhältnis der reinen nps-Leistung schon für einen spürbaren Spielstärkeunterschied sorgen, wenn die Programme nur auf cores (ohne HT) laufen würden. Was ja die anderen Ergebnisse des Tests nahelegen.

Also bringt HT nur etwas bei fester Rechentiefe. - Weniger, dass die vorgegebene Suchtiefe schneller erreicht wird, sondern tatsächlich von der Spielstärke her (bspw. 2 cores ohne HT gegen 2 cores mit HT (=4 Threads)). Liegt anscheinend am nichtdeterministischen Verhalten des Multithreadings.

Viele Grüße
Th. Plaschke
Parent - - By Lothar Jung Date 2020-07-15 12:27
Dein sehr guter Test zeigt m.E. auch, wo die Skalierung von SF in Relation zu den Kernen sich in Bezug auf Spielstärkesteigerung nicht mehr lohnt: Bei 32 Kernen ist der Zugewinn noch „relevant, darüberhinaus  Geldverschwendung.

Lothar
Parent - By Reinhold Stibi Date 2020-07-15 13:12
Es geht aber nicht nur um Spielstärkesteigerung. Analyseergebnisse dürften mit 64 Kernen schneller sein als mit 32.
Zeit ist Geld. Gutsituierte Berufsschachspieler dürften da noch profitieren.
Up Topic Hauptforen / CSS-Forum / Geschwindigkeitszuwachs bei Hyperthreading

Powered by mwForum 2.29.3 © 1999-2014 Markus Wichitill