i7 920, hyperthreatingfrage

Kannst Dich ja bei Gelegenheit genauer Informieren. Im 3dcenter Forum sind Leute unterwegs, die recht gut in der Materie sind. Schau Dir auch mal die Breite des Backends aktueller CPUs und die praktisch erreichbare IPC rate eines Threads an. Flussdiagramme können helfen um zu erkennen, dass die Auslastung "hinten" nur besser werden kann wenn von vorne mehr kommt ;) Es geht dabei um den Gesamtdurchsatz, nicht um die pro-thread-power.
Du verstehst immer noch nicht, worum es geht. Schlag mal "mutual exclusion" nach. Das Frontend kann noch so breit sein. Das nützt dir alles nichts, wenn Execution Units bereits von einem Thread belegt sind.

Mit Windows 7 habe ich natürlich selbst getestet.
Schön, dass die Prioritäten logischer Prozessoren anderes verwaltet werden, nehme ich an? Das Thema war doch schon lange durch und stand überhaupt nicht mehr zur Debatte. Wie ich bereits sagte, man kann die Probleme von SMT dadurch mindern, aber nicht gänzlich beseitigen.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Das nützt dir alles nichts, wenn Execution Units bereits von einem Thread belegt sind.

Das wäre dann ein theoretischer Fall, wo die Auslastung der Pipeline bereits so gut ist, dass SMT keine weiteren Vorteile bringt - 2 Threads mit 50% Performance liefern nuneinmal nicht mehr, als ein Thread mit 100%. Einen derartigen Beispielfall aus der Praxis kenne ich aber nicht - durchgängige Volllast von ALUs/FPUs wirst du praktisch nicht finden. Direkt gefragt, kennen wir eine Beispielanwendung, wo SMT in einem Programm, dass definitiv über 4 Kerne hinaus skaliert, keinen Vorteil bringt? :confused:
 
Zuletzt bearbeitet:
Mich würde eher umgekehrt interesseiren warum der Fryrenderer (Frybench hat die selbe Basis) so gut mit SMT kann?
 
Der Bench sagt mir leider nix, aber grundsätzlich deuten hohe SMT-Gewinne darauf hin, dass ein einzelner Thread eben nur eine sehr schlechte Auslastung der Ausführungseinheiten erzielt und das Programm zudem 8 Threads gut auslasten kann. Das trifft z.B. auch auf POV-ray zu, hier haben wir beachtliche 30% Performanceplus.
 
Das wäre dann ein theoretischer Fall, wo die Auslastung der Pipeline bereits so gut ist, dass SMT keine weiteren Vorteile bringt - 2 Threads mit 50% Performance liefern nuneinmal nicht mehr, als ein Thread mit 100%. Einen derartigen Beispielfall aus der Praxis kenne ich aber nicht - durchgängige Volllast von ALUs/FPUs wirst du praktisch nicht finden. Direkt gefragt, kennen wir eine Beispielanwendung, wo SMT in einem Programm, dass definitiv über 4 Kerne hinaus skaliert, keinen Vorteil bringt?
Ja, diese gibt es, speziell was HPC Workloads betrifft. Ein Beispiel wäre Linpack.
 
Jeder OCler kennt wohl die Linpack Abwandlung LinX, dass ist dann doch etwas sehr synthetisch. ;)
Nein, ich sprach mehr von praktischen Anwendungen. Was gibts da?
 
Linpack ist äusserst praxisorientiert, da es sich der Lösung von Gleichungen annimmt, was eine der Hauptaufgaben für Supercomputer ist. Du darfst aber gerne weitere Beispiele hinzufügen. Ein Stichwort hast du.
 
Das tut der 3DMark auch, in dem er schöne Bilder rendert - ändert nichts daran, dass beide Benches vollständig synthetisch sind, dazu der Code von Linpack aus den 70ern/80ern stammt. Die Kritik an diesem ist ja mittlerweile beachtlich, obwohl er eigentlich nur im Supercomputerbereich Verwendung findet - kein Betätigungsfeld für den maximal 2-Sockel Gainestown, für Bloomfield gleich gar nicht.
Ob es weitere Beispiele gibt wollte ich ja gerade dich fragen, da mir keine bekannt sind. Also, was haben wir im Bereich Audiobearbeitung, Videobearbeitung, Encoder, Transcoder, Fotorenderer, Videorenderer, Datenbanken, Virtualisierung, Office?
 
Zuletzt bearbeitet:
Das tut der 3DMark auch, in dem er schöne Bilder rendert - ändert nichts daran, dass beide Benches vollständig synthetisch sind, dazu der Code von Linpack aus den 70ern/80ern stammt.
Das verwechselst du mit der Linpack Bibliothek. Das hat nichts mehr mit dem hier erwähnten Linpack zu tun. Dieses wird aktuell gehalten mit von Zeit zu Zeit frischen Builds.

Ob es weitere Beispiele gibt wollte ich ja gerade dich fragen, da mir keine bekannt sind.
Aber nur, da du gar keine Anstrengungen unternimmst, danach zu suchen. Es gibt auch noch andere HPC Anwendungen, in denen Nehalem nicht besonders gut ausschaut. Ob das jedes mal auf SMT zurückzuführen ist, kannst du ja selbst recherchieren. Nur keine Scheu vor ein bisschen Eigeninitiative. ;)
 
Wenn ich suche und nichts finde, kann ich ja schlecht etwas präsentieren. Nehalem als maximal 2-Sockel Plattform ist zudem kein Supercomputer, das hatten wir schon, da brauchen wir auch gar nicht erst über Relevanz oder Aktualität von Linpack zu diskutieren. ;)

Nochmal die Frage, kennst du Fälle aus dem obig genannten Spektrum? :confused: Am besten listest du einfach mal alle dir bekannten Links auf, dann kann man da mal durchgehen. :)
 
Zuletzt bearbeitet:
Wie lange hast du gesucht? 10 Sekunden? :rolleyes: Und Nehalem ist nicht nur Gainestown/i7. Angesichts Beckton halte ich deine Aussage, dass Nehalem nichts für HPC sein soll, ziemlich fragwürdig. Intel scheint das jedenfalls anders zu sehen.
Aber das driftet jetzt schon wieder zu sehr Richtung offtopic ab. Also beenden wir die Diskussion an dieser Stelle. AUCH DU. ;)
 
Also keine Links, ich hab es erwartet. Nun gut, worüber dann auch diskutieren. :wink:
 
Linpack, HPC-Anwendungen... Och Jungs, muss das immer so ausufern?

laut gamestarbericht (klick) ist hyperthreating in den meisten spielen eine bremse und lediglich beim multitasking interessant.
Das war die Frage und die wurde von euch in den letzten (wieviele waren das?) Posts nicht beantwortet.
 
SMT is ja bei Games eher hinderlich, deshalb ausschalten wenn man Zocker ist :)
 
Bei Grid schafft Windows 7 wie erwähnt definitiv Abhilfe bei den Einbrüchen. Wäre interessant, ob das in allen Problemfällen der Fall ist.
 
Weiß nich ob die Frage hier reinpasst, aber wieviel Leistung hat so ein virtueller Kern gegen einen echten. Kann man das in Mhz sagen.
 
Stell dir das mit dem SMT mal folgendermaßen vor: Du hast ein Förderband (die Pipeline deiner CPU) und einen Arbeiter, der dieses Förderband beladen soll. Je nach dem, was befördert werden soll, ist das Förderband damit aber nicht optimal gefüllt. SMT ist jetzt ein zweiter Arbeiter, der gleichzeitig andere Waren dazwischen auf das Förderband schichtet, so dass dieses insgesamt mehr Pakete in gleicher Zeit befördert (Hieraus resultiert der Performancegewinn, Zahlen je nach Anwendung findest du z.B: bei CB). Es gibt also nicht unterscheidbare "echte" und "virtuelle" Kerne - die 8 Threads eines Nehalem sind absolut gleichwertig/-schnell - die man klar zuweisen kann, sondern nur die Möglichkeit zu sagen, dass man doppelt so viele virtuelle wie reale Kerne zählen kann.
Das einzige was ein bisschen Logik verhindern muss ist, dass zunächst jeder echte Kern nur einen Thread zugewiesen bekommt, und erst danach die doppelte Belegung erfolgt - sonst würden einzelne Kerne idlen, während auf den anderen die Performance eines Threads fast halbiert wäre.
 
Zuletzt bearbeitet:
Also macht das ganze erst Sinn, wenn eine Anwendung mehr als 4 Kerne ausnutzt? Aber wenn sagen wir mal eine Anwendung einen Kern 70% Auslastet, kann dur SMT nur noch 30% Restkapazität genutzt werden?
 
Aber wenn sagen wir mal eine Anwendung einen Kern 70% Auslastet, kann dur SMT nur noch 30% Restkapazität genutzt werden?
Ja, wobei es da keine Kontrolle gibt. Wenn der eine Thread die SSE Einheit braucht, dann ist die belegt und damit kann es vorkommen, dass Deinem 70% Thread nur noch 50% oder 60% bleiben.
SMT steigert den Durchsatz, nicht aber nicht die Geschwindigkeit. Solange man nicht mehr als 4 Threads nahe 100% auslastet, sollte mans ausschalten.

ciao

Alex
 
Also macht das ganze erst Sinn, wenn eine Anwendung mehr als 4 Kerne ausnutzt? Aber wenn sagen wir mal eine Anwendung einen Kern 70% Auslastet, kann dur SMT nur noch 30% Restkapazität genutzt werden?

Exakt. Allerdings noch zwei Punkte: 70% echte interne Auslastung ist in der Realität schon ein enorm hoher Wert - da darf man sich nicht an den Taskmanager halten, der dir 100% Auslastung anzeigt, sobald auch nur ein einziger Flaschenhals zum tragen kommt. Zum anderen bedeutet dieser 70% Fall jetzt nicht, dass jetzt ganz automatisch die vollen 30% Rest durch SMT genutzt werden, das wäre ein theoretischer Optimalfall. Auch hier liegt die Realität deutlich darunter.
 
Zumal der i7 (beim ATOM weiß ichs jetzt nicht auf die Schnelle) theoretisch 6 µops pro Takt in seinen Recheneinheiten verarbeiten könnte. Davon beispielsweise 3 SSE Operationen mit jeweils 2 Datenwerten und zusätzlich noch je ein Load und Store.

Das ist so viel, dass man es selbst mit 2 Threads nicht voll auslasten könnte, denn der Flaschenhals liegt viel weiter vorne in der Pipeline und ermöglicht in einem Takt maximal 4 µops.

Üblicherweise kommen normale Programme auf 1-2 Operationen pro Sekunde. Hoch optimierter Code vielleicht mal auf 3.

Vereinfacht man das ganze mal, kann man für 99% der End-User-Szenarien sagen:

HT bringt nur dann etwas, wenn mehr Kerne ausgelastet werden können als phyisch vorhanden sind. Ein Single Core mit HT und 100 MHz würde sich bei logischer Vollauslastung in etwa verhalten wie ein DualCore mit 60-65 MHz. Die einzelnen Threads laufen langsamer, in der Summe ist die Aufgabe aber schneller erledigt bzw. es wird ein höherer Durchsatz erreicht.
 
lol leutz, ich wollte eigentlich keine religionsabspaltung hier auslösen... auf diese oder ähnliche weise haben glaubens- und weltkriege ihren ursprung gefunden... :fire:

nein, ich würde nur gerne wissen, wies nun um HT steht...
was ich jetzt so rauslesen konnte, is es eigentlich ziemlich egal, oder (im bios aktivieren/deaktivieren)?
 
Einfache Antwort, HT -> default. Alles andere macht wenig Sinn. Mit den Nachteilen musst du eben leben. Es sei denn, du machst dir die Mühe, jedes mal explizit die optimale Einstellung HT on/off festzulegen. Mit persönlich wäre das allerdings zu stressig. :)
 
Ich würde es ebenfalls anlassen. Letztlich gibt es nur ein einziges Szenario, in welchem dich SMT bremsen kann: Windows Vista + eine Hand voll Spiele.
Nutzt du Windows 7 oder auch viel CPU-lastige Software abseits von Games, hast du von SMT keinen Nachteil.
 
Ich würde es ebenfalls anlassen. Letztlich gibt es nur ein einziges Szenario, in welchem dich SMT bremsen kann: Windows Vista + eine Hand voll Spiele.
Nutzt du Windows 7 oder auch viel CPU-lastige Software abseits von Games, hast du von SMT keinen Nachteil.

Richtig:d
 
HT ist für Win immer noch nicht ausgereift aber für LInux hingegen schon lange, seltsam?

MFG
 
Es gibt die Nachteile von SMT genauso unter Linux, siehe Linpack.
 
HT ist für Win immer noch nicht ausgereift aber für LInux hingegen schon lange, seltsam?

MFG

Eher Win ist noch nicht ausgereift für SMT ;)

Das trifft aber seit Windows 7 auch nicht mehr zu.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh