Intels Hypterthreading bietet nicht in allen Lebenslagen mehr Leistung

Eigentlich sollte Hyperthreading die Leistung von Servern verbessern helfen. Wie jetzt aus verschiedenen Quellen zu hören war, ist das aber nicht immer der Fall.

Eigentlich sollte Hyperthreading die Leistung von Servern verbessern helfen. Wie jetzt aus verschiedenen Quellen zu hören war, ist das aber nicht immer der Fall. Bei Installationen des ‘Microsoft SQL Server’ oder etwa des ‘Citrix Terminal Server’ gingen Server in die Knie, deren Motherboards Hyperthreading Technolgy (HT) aktiviert hatten. Das Problem habe sich aber beheben lassen, indem dieses Feature deaktiviert wurde.

“Unsere Kunden haben sehr interessante Erfahrungen auf High-end Hardware mit aktiviertem HT gemacht”, schreibt Slava Ocks, Entwickler für SQL Server bei Microsoft, in einem Blog. Die Anwender hätten festgestellt, dass teilweise, wenn dem SQL Server hohe Lasten zugewiesen werden, die CPU-Auslastung deutlich zunimmt, die Leistung des SQL Server aber abnimmt. Zudem erscheine eine Fehlermeldung, dass einer der Threads keinen Zugriff auf Spinlock habe. Das ist eine Synchronisation der Datenstruktur. Der Thread wird dann solange in eine Warteschleife gestellt, bis der Dienst wieder verfügbar ist.

Ocks hat nun auch eine Theorie für das Phänomen. “Datenbankserver haben verschiedene Arten von Threads: Arbeits-, Anfragen- und System-Threads, die Aufgaben für das System bearbeiten.” So sei der Lazywriter ein Beispiel für eine System-Task. Die sucht im Cache nach abgearbeiteten Daten und löscht diese aus dem Buffer, so dass Informationen nicht zeitaufwendig von der Festplatte geladen werden müssen. Der logische Prozessor von HT nutze aber die Speicher L1 und L2 gemeinsam. Kommen sich nun der Lazywriter und HT in die Quere, löscht die System-Task permanent die beiden Speicher, die dann nicht mehr zur Verfügung stehen. Ocks stützt seine Theorie mit einem Beispielprogramm.

Er fügt jedoch an, dass nicht automatisch jeder Anwender HT deaktivieren müsse, um mehr Leistung zu bekommen. Das sei sehr stark abhängig von den Anforderungen, der Installation und der eingesetzten Hardware. Er empfiehlt, das System mit großen Datensätzen zu testen. Jedoch könnten auch andere System-Threads, die den Arbeitsspeicher durchsuchen, die Verlangsamung verursachen. In seinem Fall stellte Ocks mit deaktiviertem HT zehn Prozent mehr Leistung fest.

Zu HT teilt Intel mit, dass Anwendungen mit vielen Threads diese parallel in den entsprechenden Prozessoren in einer Server-Plattform ausführen könnten. “Intels Xeon-Familie nutzt HT, um Rechenleistung und Durchsatz für heutige webbasierte und Enterprise-Server-Anwendungen zu steigern”, wie es auf der Webseite von Intel heißt. So verteidigte der Intel-Sprecher Scott McLaughlin vor US-Medien die Technologie, die sich in den meisten Benchmarks bewährt habe. “Intel hat deutlich gemacht, wo HT Vorteile bringt und wo nicht.”