Das alte Problem mit Hyper-Threading in Virtual Server 2005 war, ohne übermäßig technisch zu werden, dass der CPU-Cache vergiftet wurde, dh es wurde fast nichts zwischengespeichert, da die Kontexte der Vorgänge in den einzelnen Threads nicht miteinander in Beziehung standen - was dazu führte, dass sie um das Problem konkurrierten On-Chip-Cache.
Neuere Chips haben größere und intelligentere Caches, sodass dies weniger problematisch ist.
Ist es ideal ein- oder auszuschalten? Das hängt wirklich von der Arbeitsbelastung ab. Wenn auf beiden Threads dieselbe VM und dieselbe Task ausgeführt wird, wäre dies mit ziemlicher Sicherheit ein großer Vorteil. Wenn sie nicht verwandte Dinge mit vielen zufälligen RAM-E / A-Vorgängen ausführen (zum Beispiel mit mehreren verschiedenen VMs), würde dies dazu führen, dass nur die Hälfte des Cache-Speichers für jeden verfügbar ist - was theoretisch langsamer sein könnte -. In der Realität ist dies selten mehr der Fall.
Wenn Sie Chips älterer Generation haben, möchten Sie möglicherweise die Chip-Cache-Größen überprüfen: In der Virtualisierung können Sie den größeren Cache besser nutzen. RAM ist wirklich VIEL langsamer als CPUs - nur nicht so schlecht wie Festplatten.
ANMERKUNG: Was Sie lesen, das besagt, dass "Ausschalten" in Bezug auf die Chips gefunden wurde, die einkernig mit Hyper-Threading waren - Dies war beispielsweise die offizielle Antwort von damals (2005/2006?) - http: //www.VirtualServerFAQ .com / tiki-index.php? page = VirtualServerHostDualCore
Steve Radich
http://www.VirtualServerFAQ.com
Steve Radich-BitShop.com
quelle
Programme, die Hyperthreading kennen, können zwischen einem physischen und einem logischen (virtuellen) Kern unterscheiden und Ressourcen entsprechend zuweisen.
Hyperthreading senkt die Kosten für die Kontextumschaltung, indem es ermöglicht, dass die Zustände von zwei Prozessen zu einem bestimmten Zeitpunkt gespeichert werden, anstatt jeweils nur einen Zustand. Die Kontextumschaltung wird normalerweise als sehr kostspielig angesehen, da Sie den gesamten Status eines Prozesses in die CPU laden müssen. Dies bedeutet, dass bei Ausführung eines CPU-intensiven Prozesses die Hyperthread-CPU häufig zwischen diesem und anderen Prozessen wechseln kann, ohne dass dies zu erheblichen Leistungseinbußen führt.
Der Vorteil des Betriebs virtueller Server besteht darin, dass Sie einen großen Ressourcenpool erstellen können, der bei Bedarf im laufenden Betrieb verschiedenen Servern zugewiesen werden kann. Dies umfasst die Neuzuweisung von CPU-Kernen und die Lastverteilung auf alle verfügbaren Kerne. Wenn der Hypervisor den Unterschied zwischen einem physischen und einem logischen Kern nicht kennt, haben Sie Recht - einige physische Kerne sind möglicherweise im Leerlauf, während andere auf 100% CPU-Auslastung festgelegt sind, während beide logischen Kerne um CPU konkurrieren Zeit. Wenn der Hypervisor jedoch den Unterschied zwischen physischen und logischen Kernen erkennen kann, versucht er, die CPU-Last auf die physischen CPUs zu verteilen, bevor er zwei logischen Kernen, die demselben physischen Kern angehören, mehrere Prozesse zuweist.
quelle
Ich habe das Problem nicht im Detail untersucht, aber Microsoft empfiehlt die Verwendung von Hyperthreading mit Exchange 2010 aufgrund von Problemen mit der Kapazitätsplanung und -überwachung nicht. Möglicherweise möchten Sie Ihre eigenen Workloads testen, bevor Sie die eine oder andere Konfiguration auswählen.
quelle
Hyperthreading: Wow, freie Prozessoren!
Schalte es aus. Während moderne Implementierungen von simultanem Multithreading (SMT), auch als Hyperthreading bezeichnet, den CPU-Durchsatz für die meisten Anwendungen absolut verbessern können, überwiegen die Vorteile von Exchange 2013 die negativen Auswirkungen nicht. Es stellt sich heraus, dass die Speichernutzung auf Exchange-Servern erheblich beeinträchtigt werden kann, wenn das Hyperthreading aktiviert ist, da der Garbage Collector des .NET-Servers Heaps zuweist. Der Server-Garbage-Collector überprüft beim Start einer Anwendung die Gesamtzahl der logischen Prozessoren und weist jedem logischen Prozessor einen Heap zu. Dies bedeutet, dass sich die Speichernutzung beim Start für einen unserer Dienste, der den Server-Garbage-Collector verwendet, nahezu verdoppelt, wenn das Hyperthreading aktiviert ist, im Vergleich zu dem Zeitpunkt, zu dem es deaktiviert ist. Diese signifikante Zunahme des Gedächtnisses, Zusammen mit einer Analyse des tatsächlichen Anstiegs des CPU-Durchsatzes für Exchange 2013-Workloads in internen Labortests haben wir eine Best-Practice-Empfehlung erhalten, wonach das Hyperthreading für alle Exchange 2013-Server deaktiviert werden sollte. Die Vorteile überwiegen nicht die negativen Auswirkungen.
Kopiert von: http://blogs.technet.com/b/exchange/archive/2013/05/06/ask-the-perf-guy-sizing-exchange-2013-deployments.aspx
quelle