Frage

Ich baue einen PC mit dem neuen Intel I7 Quad-Core-Prozessor. Mit Hyper-Threading auf es eingeschaltet 8 Cores im Task-Manager berichten.

Einige meiner Kollegen sagen, dass Hyperthreading wird das System unzuverlässig machen und vorschlagen, ihn auszuschalten.

Kann jemand von euch gute Leute mich aufklären und den Rest der stockoverflow Benutzer.

  

Folgen Sie auf: Ich habe ständig Hyperthreading benutzen, und seine Stelle auf gewesen. Keine Instabilität auch immer. Ich verwende:

  • Microsoft Server 2008 64-Bit
  • Microsoft SQL Server 2008 64-Bit
  • Microsoft Visual Studio 2008
  • Diskeeper Server
  • Viele Kontrollen (Telerik, Dundas, Rebex, ReSharper)
War es hilfreich?

Lösung

Die Stabilität ist wahrscheinlich nicht betroffen sein, da die Abstraktion sehr niedriges Niveau und das Betriebssystem sieht es nur als ein andere CPU Arbeit zur Verfügung zu stellen. Allerdings ist die Leistung ist eine andere Sache.

In aller Ehrlichkeit kann ich nicht sagen, ob dies noch der Fall ist, aber zumindest, wenn der HT-fähiger CPUs zuerst herauskommt, gab es Probleme bekannt mit zumindest einigen Anwendungen. Zum Beispiel, MySQL und Multi-Threaded-Anwendungen wie die Java-Anwendung, die ich für meinen Job unterstützen bekannt waren, haben die Leistung verringert, wenn HT aktiviert war. Es wird empfohlen, es immer entfernt werden, zumindest für unsere speziellen Anwendungsfall von einer serverseitigen Unternehmensanwendung.

Es ist möglich, dass dies nicht mehr ein Problem ist, und in einer Desktop-Umgebung ist dies weniger wahrscheinlich, dass ein Problem für die meisten Anwendungsfälle sein. Die Fähigkeit, Split-Arbeit an der CPU würde im Allgemeinen stärker auf Anwendungen führen, wenn die CPU stark genutzt wird. Allerdings könnte der Kontextwechsel und über Kopf ein detrement sein, wenn die App bereits stark eingefädelt und CPU-intensive wie im Fall eines Datenbankservers.

Andere Tipps

Aus der Spitze von meinem Kopf ich von ein paar Gründe denken können Ihre Kollegen könnte dies sagen.

  • Mehrere Artikel über SQL-Performance leidet unter Hyper-Threading. Ich glaube, es windet sich zu viel nach oben tun Kontext Umschaltungen oder Cache-Dreschen. kann nicht genau erinnern.

  • Schon früh aus einem proc gehen zu Multi-proc oder eher für die meisten Menschen mit Hyper-Threading-Procs, viele Threadingprobleme ins Freie gebracht. Race Conditions, Deadlocks, etc, dass sie noch nie zuvor gesehen hat. Auch wenn es ein Code Problem einige Leute die Procs verantwortlich gemacht.

Sind sie die gleichen Behauptungen über Multi-Core / Multi-proc zu machen oder einfach nur über Hyper-Threading?

Was mich betrifft, ich habe jetzt seit 4 Jahren auf einem Hyper-Threading-Box entwickelt, das einzige Problem ein UI Deadlock Problem habe ich selbst gemacht hat.

Hyperthreading wird hauptsächlich einen Unterschied im Scheduler Verhalten / Leistung, wenn Threads auf die gleiche CPU im Gegensatz zu anderen CPU Dispatching ...

Es wird in einer schlecht codierten Anwendung zeigen, die nicht Rennbedingungen zwischen Threads umgehen kann ...

So ist es in der Regel schlechtes Design / Code ist .... dass suddendly einen Fehlermodus Zustand finden

Unzuverlässige? Ich bezweifle, so. Der einzige Nachteil von Hyperthreading, die ich denken kann, ist die Tatsache, dass , wenn das Betriebssystem nicht bekannt, es ist , könnte es zwei Threads auf einem physischen Prozessor planen, wenn andere physikalische Prozessoren im Leerlauf die Leistung verschlechtert.

Es gab ein Problem mit SQL Server und Hyper-Threading für einige Abfragen, da SQL Server seinen eigenen Scheduler hat, MAXDOP 1 lösen würde, dass

Um was Grad Windows ist instabil, es höchst unwahrscheinlich ist, dass Hyper-Threading trägt wesentlich (oder es wäre jetzt große Neuigkeit gemacht hat.)

Ich habe jetzt einen Hyperthreading PC für ein paar Jahre. Nicht, dass viele Kerne, aber es funktionierte gut für mich.

Wish I Testdaten hatten Ihre Kollegen falsch zu beweisen, aber es klingt wie es ist nur meine Meinung im Vergleich zu ihnen an dieser Stelle. ;)

Die Fäden in einer Hyper-Threading-CPU der gleiche Cache, und als solche leiden nicht unter den Cache-Konsistenzproblemen, die eine mehr CPU-Architektur kann. Obwohl, wenn der Entwickler einer Software ist mit mehreren CPUs im Auge Programmierung, werden sie (oder sollte) mit Lese Semantik Schreiben werden (IIRC, ist, dass der Begriff). das heißt alle Schreibvorgänge aus dem Cache gelöscht werden sofort.

Soweit ich weiß, aus der Sicht des OS, ist es nicht Hyperthreading wie jede nicht aus, wenn tatsächlich mehrere Kerne sehen. Vom Standpunkt des OS aus betrachtet, gibt es keinen Unterschied - es ist isoliert

.

Also, abgesehen von der Tatsache, dass Hyper-Threading der „zusätzliche Kerne“ sind nicht „real“ (im streng technischen Sinne) und haben nicht die volle Leistung von „echtem“ CPU-Kern, kann ich nicht sehen, dass es ‚d nicht weniger zuverlässig sein. Langsamer, vielleicht in einigen seltenen Fällen, aber nicht weniger zuverlässig.

Natürlich hängt es davon ab, was Sie laufen - ich nehme an einigen Anwendungen könnten „down & dirty“ erhalten mit der CPU und Hyperthreading könnte sich verwirren, aber das ist wahrscheinlich ziemlich selten.

Ich selbst habe bereits jetzt einen PC mit Hyperthreading für mehrere Jahre laufen, und ich habe keine Stabilitätsprobleme gesehen.

Leider habe ich nicht konkretere Daten haben!

Ich besitze ein i7-System, und ich habe keine Probleme hatte.

Wenn es w / mehrere Kerne funktioniert, funktioniert es mit Hyperthreading.

Die kurze Antwort: Ja.

Die lange Antwort, wie bei fast jeder Frage, ist „es kommt“. Abhängig von dem Betriebssystem, die Software, die CPU Revision usw. Ich habe persönlich Hyperthreading bei zwei Gelegenheiten zu deaktivieren hatte Software, um einwandfrei funktioniert (ein, mit der Synergy-Anwendung, und zwei, mit den Windows NT 4.0-Installer), aber IhrDeterm Ergebnisse können variieren.

Solange Sie Fenster erhalten installierten mehr HT-Cores von Anfang Erfassen (es lädt einige relevanten Treiber und so weiter), können Sie immer deaktivieren (und wieder aktivieren) HT „nach der Tat“. Wenn Sie bizarre Stabilitätsprobleme mit spezieller Software, die Sie nicht lösen können, es ist nicht schwer HT zu deaktivieren, um zu sehen, ob es einen Einfluss hat.

Ich würde es nicht deaktivieren, mit zu beginnen, weil, ehrlich gesagt, wird es wahrscheinlich in 99,99% des täglichen Gebrauchs gut funktionieren. Aber beachten Sie, dass ja, es gelegentlich bizarres Verhalten verursachen kann, so kann es nicht ausschließen, wenn Sie geschehen, etwas sehr seltsam auf dem Weg zu der Fehlersuche.

Persönlich habe ich festgestellt, dass Hyper-Threading, während keine Probleme verursacht, nicht wirklich alles, was viel weiterhelfen. Es mag wie sein eine zusätzliche 0,1 eines Prozessors mit. Auf meiner HT Maschine bei der Arbeit, ich nur sehr selten meine CPU über 50% gehen sehen. Ich weiß nicht, ob HT besser mit neueren Prozessoren wie der i7 bekommen hat, aber ich bin nicht sehr optimistisch.

Anders als einige Berichte über SQL Server zu hören, alles, was ich berichten kann, ist positiv. Ich bekomme etwa 25% bessere Leistung bei schweren Multi-Threaded-Anwendungen mit HT auf. Ich habe noch nie mit ihm in ein Problem laufen, und ich bin mit einem ersten Generation HT Prozessor ...

spät zur Party, aber für zukünftige referrence;

Ich habe zur Zeit ein Problem mit diesem mit SQLServer. Im Grunde genommen mein Verständnis ist, Hyperthreading auf dem gleichen Prozessor teilt die gleiche L1 & L2-Cache, die Probleme zwischen den beiden führen kann. Citrix scheint auch aus, dieses Problem zu haben, was ich zu lesen.

Slava Ok schrieb einen guten Blog-Post auf sie.

Ich bin hier sehr spät, aber fand diese Seite über Google. Ich habe vielleicht ein sehr subtiles Problem entdeckt. Ich habe einen i7 950 laufen 2003 Server und es ist toll. Zunächst ich im BIOS Hyperthreading auf der linken Seite, aber während einiger Tests und Dinge hart drängen, lief ich ein Programm namens „crashme“ von Carrette. Dieses Programm versucht, ein Betriebssystem zum Absturz durch einen Prozess Laichen und es Müll, um zu versuchen, und führen Sie füttern. Mein Dual Opteron Setup lief es für immer, ohne ein Problem, aber die 950 innerhalb einer Stunde abgestürzt. Es dauerte nicht für irgendetwas anderes abstürzen, es sei denn ich habe etwas Dummes, so war es sehr überraschend. Aus einer Laune heraus drehte ich mich wieder HT und lief das Programm ab. Es läuft die ganze Nacht, sogar mehrere Instanzen davon. Eine Anekdote, bedeutet nicht viel, aber versuchen Sie es und sehen, was passiert. Auch scheint es, dass der Prozessor zu einer bestimmten Last etwas kühler ist, wenn HT ausgeschaltet ist. YMMV.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top