Hallo! Was an dem Gerücht dran, dass es bei Intel Hyperthreading-CPUs zu Rucklern in Spielen kommt?
Technisch gesehen nichts. Man kann allerdings bei nebenläufiger Programmierung Fehler machen, die bei manchen CPU-Konfigurationen völlig einbrechen.
cpu schrieb: > Was an dem Gerücht dran, dass es bei Intel Hyperthreading-CPUs zu > Rucklern in Spielen kommt? Das hat nichts mit dem Hyperthreading zu tun, sondern wenn man zwei Grafikkarten (oder zwei Grafikkarten-Chips auf einer Karte) zusammen schaltet, um einen höhere Framerate zu bekommen. Dann können Mikroruckler entstehen. -> http://extreme.pcgameshardware.de/grafikkarten/138660-erklaerung-mikroruckler.html
Erstmal danke für die Antworten. Warum berichten so viele in Foren von Rucklern mit Hyperthreading, die nur eine GPU haben?
Meiner Erfahrung nach kann Hyperthreading in manchen Fällen die Performance durchaus deutlich einbrechen lassen. Es macht nun mal nicht aus einem Kern zwei, sondern tut nur so. Das ist ein Hack, der je nach Situation gut funktionieren kann oder auch nicht.
Rolf M. schrieb: > Meiner Erfahrung nach kann Hyperthreading in manchen Fällen die > Performance durchaus deutlich einbrechen lassen. Wie generell bei nebenläufiger Programmierung. Was auf einer Singlecore CPU ohne SMT wunderbar funktioniert, dass kann bei Multicore CPUs oder SMT ganz bös einbrechen, wenn der Programmierer bestimmte Aspekte davon nicht beachtet. Zugriff auf gemeinsamen Speicher und unpassend programmierte Spinlocks sind solche Kandidaten. Kenne das konkret aus einem kommerziellen Programm, dessen Programmierer dabei ganz bös auf die Nase fiel. Tipp von mir ergab kleine Änderung mit grosser Wirkung.
:
Bearbeitet durch User
cpu schrieb: > Aber du rätst mir nicht davon ab? Was erwartest du jetzt? Wenn du Probleme hast, schalte es ab und schau, ob sie dann weg sind. Wenn ja, lass es aus, wenn nicht, kannst du's ja wieder einschalten.
A. K. schrieb: > Rolf M. schrieb: >> Meiner Erfahrung nach kann Hyperthreading in manchen Fällen die >> Performance durchaus deutlich einbrechen lassen. > > Wie generell bei nebenläufiger Programmierung. Was auf einer Singlecore > CPU ohne SMT wunderbar funktioniert, dass kann bei Multicore CPUs oder > SMT ganz bös einbrechen, wenn der Programmierer bestimmte Aspekte davon > nicht beachtet. Zugriff auf gemeinsamen Speicher und unpassend > programmierte Spinlocks sind solche Kandidaten. Das ist aber was ganz anderes, als das, worüber ich rede. Klar kann man sich durch ungeschickte Programmierung Multiprozessor-Performance kaputt machen. Aber man liest einiges im Internet über teils eklatante Performance-Einbrüche nicht nur bei Spiele, und das nicht durch Multiprocessing generell, sondern ganz speziell durch Hyperthreading. Programme sind teilweise auf vier echten Kernen erheblich schneller als auf 8 virtuellen.
Rolf M. schrieb: > Das ist aber was ganz anderes, als das, worüber ich rede. Nein. Missverständnis. > Klar kann man > sich durch ungeschickte Programmierung Multiprozessor-Performance kaputt > machen. Gibt es auch, hatte ich aber nicht gemeint. Ein Programm mit solcherart falscher Programmierung bricht bei Hyperthreading massiv ein. Genau das was du aufführst. > Multiprocessing generell, sondern ganz speziell durch Hyperthreading. Beispiel: Ein hohl drehendes Spinlock, das ohne Berücksichtigung von Hyperthreading programmiert wurde, behindert aufgrund ungebremster Ressourcenverwendung den anderen Thread des Cores massiv, ohne jene sinnvolle Tätigkeit. Behindert dabei u.U. genau den Thread, der das Spinlock grad blockiert. Ohne Hyperthreading tritt dieser Effekt nicht auf. Eigens dafür hatte Intel zusammen mit Hyperthreading den anderswo als NOP ausgeführten PAUSE Befehl gebracht, der seinen Thread für etliche Takte lahm legt. In dieser Zeit stehen dem anderen Thread des Cores alle Ressourcen zu Verfügung. Pack diesen Befehl in die Schleife vom Spinlock und der Spuk ist weg. https://software.intel.com/sites/default/files/m/d/4/1/d/8/17689_w_spinlock.pdf
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.