Home > Hardware > CPU, Memory und Bussysteme

CPU, Memory und Bussysteme

Aktuelle Limits bei CPUs, Memoryanbindung, Bussystemen

Vielen Administratoren und DBAs sind die aktuellen Limitationen in der IT nicht bekannt - dadurch ist es aber sehr schwer "einfache" Engpässe zu erkennen und zu beheben.

Dieser Artikel versucht etwas Licht in das Thema "was kann ich von Systemen erwarten" zu bringen. Alle Informationen basieren auf der verfügbaren Technologie Ende März 2014.

Aktuelle Intel XEON CPUs (Xeon-E5 V2 bzw Xeon-E7 V2)

Intel bietet hier einen sehr guten (und auch sehr umfangreichen) Überblick zur aktuellen Xeon E7 v2 Produktfamilie. Zusätzlich bietet die Seite ark.intel.com Datenblätter zu allen aktuellen CPUs, Chipsets,...

Aktuelle Daten von Intel Xeon E7 V2 CPUs

  • Anzahl der unterstützten CPU Sockel in einem Server: 1, 2, 4 oder 8 (es gibt Hersteller mit Spezial Chipsets, die auch mehr CPUs in einem Server zusammenfassen können).
  • Anzahl der Cores / CPU: 6, 8, 10, 12, 15 (ja wirklich 15 und nicht 16)
  • Anzahl der Threads / Core: 2
  • CPU Taktfrequenz bis zu: 3.4 GHz Clock Speed und 3.7 Ghz Turbo (nicht alle Cores werden genutzt)
  • L3 Cache in der CPU: bis zu 37.5 MB
  • Anzahl der QPIs (QuickPath Interconnects = Verbindungen zwischen verschiedenen CPU Sockeln und ChipSet) und deren Geschwindigkeit: bis zu 3 QPIs  mit bis zu 8GT/s = 8 GT/s * 16 Bit/T (Netto) = 128 GBit/sec = 16GByte / sec
  • Unterstützes Memory: DDR3-1066 / DDR3-1333 / DDR3-1600
  • Anzahl der Memory Channels / CPU: 4
  • Maximale Memory Bandbreite / CPU bei DDR3-1600: 85 GByte/sec
  • Maximaler möglicher Hauptspeicher pro CPU: 1536 GByte (1.5 TByte) mit 64GB Memory DIMMs.
  • PCI Express (IO Schnittstelle) Version: 3.0
  • Anzahl der PCI Express Lanes: 32 (Kombinierbar in x4, x8, x16)
  • Durchsatz pro PCI Express Lane: 1GByte / Sec und Richtung (somit bei x16 = 16 Lanes = 16GByte/sec und Richtung)

Bild der Intel Xeon Prozessor E7 V2 Famile

Intel Xeon E7 v2 Architektur
Quelle: Intel

Angekündigt aber noch nicht da:

  • PCI Express Version 4.0 mit 2 GByte/sec pro Lane und Richtung

Und was bedeutet das jetzt?

Mit diesen Informationen muss man sich jetzt einiges selbst überlegen und zusammenstellen - hier einige Fragen und deren Antworten:

Wie schnell kann man Daten von einer Schnittstelle (zb: Netzwerkkarte) in den (lokalen) Hauptspeicher transferieren (kopieren)?

Wenn die Schnittstelle mit 16 PCI Express Lanes angebunden ist und ausreichend Daten liefert, ist es möglich 16 GByte/sec und Richtung zu transferieren und mit bis zu 85 GByte/sec im lokalen Memory der CPU anzulegen. Aktuelle Netzwerktechnologien (Infiniband 4x (32 bzw. 39GBit/s), SAN (8 oder 16 GBit/s), Ethernet (1, 10 oder 40GBit/s) nutzen dies bei weitem noch nicht aus. Selbst diverse SSD auf PCIe Karten Hersteller schaffen aktuell meist nur um die 6-8 GByte/sec.

Was bedeutet lokaler bzw. remote Hauptspeicher?

Wie man auf dem folgenden Bild sehr schön sieht, wird ein Teil des Hauptspeichers an eine CPU direkt angeschlossen und ein anderer Teil der Hauptspeichers an eine andere CPU im Server. Befindet sich die benötigte Information im Hauptspeicher auf den die CPU direkt zugreifen kann, kommt die entsprechende Zugriffsgeschwindigkeit von bis zu 85GByte/sec zu tragen. Wenn die benötigte Information jetzt aber im einem Hauptspeicher liegt, den eine andere CPU angebunden hat, muss der Zugriff von einer CPU zur nächsten CPU über die QPI Verbindung zwischen den CPUs erfolgen - da diese aber nur eine Bandbreite von 16GByte/sec aufweist, ist der Zugriff viel, viel langsamer (Faktor 5). Zusätzlich beschäftigt man damit eine zweite CPU - sprich, diese muss einen Teil Ihrer Hauptspeicherzugriffsperformance aber auch etwas Rechenleistung dafür bereit stellen!

Intel Xeon Hauptspeicherzugriff

 

Was versteht man unter Single Thread Performance?

Eine Verarbeitung, die nur einen Prozess (einen Core) nutzen kann, ist somit durch die maximale Performance eines Threads/Cores limitiert. Diese Performance ist direkt proportional zur Taktfrequenz.

Verarbeitungen auf alten Servern oder aktuellen Desktop CPUs sind schneller fertig als auf aktuellen Xeons?

Das ist eine direkte Auswirkung bei Verarbeitungen, die von der Single Thread Performance leben. Wenn man eine aktuelle Intel Xeon E7 v2 CPU mit 15 Cores einsetzt, ist die Taktfrequenz auf 2.8GHz begrenzt. Es gibt aber auch CPUs mit nur 6 Cores aber 3.4GHz. Bei aktuellen Desktop CPUs der Core i7/i5 Serie sind aber Taktfrequenzen bis 4GHz möglich - somit können Single Thread Verarbeitungen auf Desktop PCs wirklich teilweise um bis zu 20% schneller fertig sein als auf den schnellsten Xeon CPUs. Allerdings darf man da eines nicht aus dem Auge verlieren - eine Desktop CPU hat 2 oder 4 Cores und somit in Summe deutlich weniger Rechenleistung als die Xeon CPUs - von der Anbindung an den Hauptspeicher usw. gar nicht zu sprechen. Kurzfassung:

  • Wenige gleichzeitige Verarbeitungen, die aber lange brauchen - hier nimmt man Xeons mit möglicht hoher Taktfrequenz
  • Viele gleichzeitige Verarbeitungen, die alle sehr schnell fertig sind - hier nimmt man Xeons mit möglichst hoher Core-Anzahl
  • Sowohl als auch - der aktuelle Mittelweg heisst 10 Cores bei 3.2 GHz bzw. 12 Cores bei 3.0 GHz.

Wie viel Hauptspeicher passt in einen aktuellen Intel Xeon E7 v2 Server?

Aktuell geben die Hersteller bei 8 CPUs im Server ein Limit von 6TB an. Wenn man aber die maximal möglichen 1.5 TB pro CPU heranzieht ergibt das 12TB - woher kommt diese Differenz? Das liegt daran, dass bis vor kurzem die größten verfügbaren Speicherriegel 32GB gefasst haben. Erst vor kurzem (Ende Jan 2014) hat Samsung die 64GB DDR3 SDRAM Low Voltage vorgestellt. Bis diese wirklich in größeren Stückzahlen verfügbar sind und die Hersteller diese validiert und zertifiziert haben, wird es noch einige Monate dauern - es ist aber davon auszugehen, dass die Hersteller in den nächsten Monaten mit 12TB Hauptspeicher / Server werben.

Aktuelle Memory Technologien

DDR3 SDRAM ... aktuell

Aktuelle Intel Xeon CPUs unterstützen DDR3 SDRAM ( DDR3-1066 / DDR3-1333 / DDR3-1600 ) wobei die hintere Zahl die Maximale Transferrate in MT/s angibt. Diesen Wert muss man mit 8 multiplizieren um die MB/sec zu erhalten. Um auf die von Intel angegebene maximale Hauptspeicherzugriffsrate von 85GByte/sec zu kommen, benötigt man 8 Speicherriegel mit DDR3-1333 Speicher, die auf die 4 Memory Channels gleichmäßig verteilt sein müssen.

Die Ursprünglichen DDR3 wurden mit 1.5 Volt Versorgungsspannung konzipiert, es gibt aber auch Versionen mit Low Voltage (1.35 Volt) und Ultra Low Voltage (1.2 Volt) um die Leistungsaufnahme des Hauptspeichers zu reduzieren.

DDR4 ... noch 2014

DDR4 ist der nachfolger von DDR3 und wird mit höheren Takt- und Transferraten (DDR4-2133 bis DDR4-4266) bei gleichzeitig niedrigerer Versorgungsspannung von nur noch 1.05 bis 1.2 Volt arbeiten. Intel plant mit der nächsten CPU Generation (vermutlich noch 2014) die DDR4 Unterstützung einzubauen.

GDDR5 ... Grafikkartenmemory

Warum ist der Speicher für Grafikkarten relevant? Grafikkarten kommen in Supercomputern für einfache Berechnungen auf größere Datenmengen zum Einsatz. Eine aktuelle Grafikkarte (zB: NVidia GeForce Titan Black) greift über 384 Datenleitungen auf 12 GDDR5 SDRAMS zu und schafft damit eine Übertragungsrate von 336 GByte/sec - das ist immerhin das 5 fache von dem, was eine aktuelle Xeon CPU leisten kann.

Bus-Systeme

Die Bus-Systeme in aktuellen Servern haben wir in diesem Artikel schon kennengelernt - hier nochmals eine Zusammenfassung:

Memory Bus (Memory Channel)

Aktuelle Intel Xeon E7 v2 CPUs verfügen über 4 Memory Channels, die man mit gleichen DDR3 Hauptspeicherriegeln bestücken muss. Der maximale Durchsatz mit 8 Stück DDR3-1333 Speicherriegeln liegt bei 85GByte/sec.

QPI QuickPath Interconnects - Verbindungen zwischen verschiedenen CPU Sockeln und Chipset

Intel unterstützt die Zusammenschaltung von 2, 4 und 8 Intel Xeon CPUs mittels Chipset. Um zwischen den CPUs Daten austauschen zu können, werden die QPI genutzt. Pro QPI kann man 16GByte/sec und Richtung übertragen, wobei eine Verarbeitung (zB: Zugriff auf das Memory einer anderen CPU) nur einen QPI nutzt. Damit ist der Zugriff auf Daten im Hauptspeicher einer anderen CPU nur noch mit maximal 16GByte/sec möglich (statt mit 85GByte/sec bei lokalem Hauptspeicher).

PCI Express

Aktuell ist PCI Express V3 mit 1GByte/sec pro Lane. Damit man für eine Schnittstellenkarte mehr Performance bekommt, werden diese Lanes in Gruppen zu 4, 8 oder 16 Lanes zusammengefasst, wobei 32 Lanes pro Intel Xeon E7 v2 verfügbar sind.

Viele Hersteller nutzen aber noch PCI Express 2.x welches pro Lane nur 0.5 GByte/sec an Performance bietet.