10 Kerne, 20 Threads, 30 MByte Cache und Turbo

Intel Xeon E7-4870 im Test - Neue Generation mit Leistungssprung

Windows: Achtung bei 80 Threads

Bei 4-Sockel-Systemen mit x86-Prozessoren wie dem Opteron 6100 (12 Kerne) oder Xeon 7500 (8 Kerne + HT = 16) sind maximal 48 beziehungsweise 64 logische Prozessoren vom Betriebssystem zu verwalten. Mit vier Xeon E7-4870 (10 Kerne + HT = 20) stehen dem Betriebssystem jetzt aber 80 "CPUs" zur Verfügung. Als eine logische CPU wird vom Betriebssystem sowohl ein physischer als auch ein virtueller Kern, wie durch Hyper-Threading generiert, gesehen.

Unter Linux lassen sich alle 80 logischen Prozessoren von einer Anwendung nutzen. Anders stellt sich die Sachlage unter Windows Server 2008 R2 dar. Zwar unterstützt das Betriebssystem - wie auch Windows 7 - mehr als 64 logische CPUs, durch die Gruppenrichtlinien gibt es jedoch Einschränkungen bei der Thread-Zuweisung. Windows nutzt sogenannte Prozessorgruppen. In einer Gruppe lassen sich maximal 64 logische Prozessoren zusammenfassen.

CPU-Reigen: Die vier Xeon E7-4870 mit 10-Core-Technologie besitzen insgesamt 40 Kerne. Durch das zusätzliche Hyper-Threading zeigt Windows Server 2008 R2 SP1 im Taskmanager 80 CPUs an.
CPU-Reigen: Die vier Xeon E7-4870 mit 10-Core-Technologie besitzen insgesamt 40 Kerne. Durch das zusätzliche Hyper-Threading zeigt Windows Server 2008 R2 SP1 im Taskmanager 80 CPUs an.

Beim 4-Sockel-System mit vier Xeon E7-4870 mit 80 logischen CPUs richtet Windows automatisch zwei Gruppen ein. Es gibt eine Gruppe 0 mit 20 und eine Gruppe 1 mit 60 Prozessoren. Dass Windows keine Gruppen mit 64 (Maximum) und 16 logischen Prozessoren einrichtet, liegt an der zusätzlichen Node-Spezifizierung. So wird vom Betriebssystem ein CPU-Sockel als Node erfasst. Beim 4-Sockel-System richtet Windows Node 0, Node 1, Node 2 und Node 3 ein. Jedem Node ist in unserem Fall ein Xeon E-4870 mit 20 logischen Prozessoren zugeordnet. Durch die Gruppenrichtlinien von Windows werden immer komplette Nodes einer Prozessorgruppe zugewiesen.

Ab in die Gruppe: Windows Server 2008 R2 SP1 unterstützt zwar mehr als 64 logische CPUs, durch die Gruppenrichtlinien gibt es jedoch Einschränkungen in der Thread-Zuweisung. Windows nutzt sogenannte Prozessorgruppen. In einer Gruppe lassen sich maximal 64 logische Prozessoren zusammenfassen.
Ab in die Gruppe: Windows Server 2008 R2 SP1 unterstützt zwar mehr als 64 logische CPUs, durch die Gruppenrichtlinien gibt es jedoch Einschränkungen in der Thread-Zuweisung. Windows nutzt sogenannte Prozessorgruppen. In einer Gruppe lassen sich maximal 64 logische Prozessoren zusammenfassen.

Unter Windows Server 2008 R2 kann ein Prozess, wie beispielsweise java.exe, nur maximal 60 logische Prozessoren, sprich eine Gruppe, nutzen. Einem Thread lassen sich nicht beide Prozessorgruppen zuordnen. Viele Windows-Programme sind durch diese Gruppenrichtlinie auf die Nutzung von maximal 64 logischen Prozessoren ausgelegt.

Damit eine Anwendung unter Windows mehr als 64 logische CPUs nutzen kann, müssen parallel agierende Threads zusammenarbeiten. Generiert dabei ein Thread in Gruppe 0 einen neuen Thread, so wird dieser automatisch aber der Gruppe des ursprünglichen Threads zugewiesen. Hier lässt sich über eine konfigurierbare Prozessoraffinität aber regulierend eingreifen, dass die Folge-Threads die anderen Gruppen nutzen.

Laut TecChannel vorliegenden, aber von Microsoft unbestätigten Informationen, werden die Nachfolger von Windows 7 und Windows Server 2008 R2 die Beschränkung auf 64 CPUs pro Gruppe nicht mehr besitzen.