Speicher-Performance Xeon E5-2600 v3 (Haswell-EP
Transcription
Speicher-Performance Xeon E5-2600 v3 (Haswell-EP
White Paper Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme White Paper FUJITSU Server PRIMERGY Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme Die Xeon E5-2600 v3 (Haswell-EP) basierten FUJITSU Server PRIMERGY Modelle beziehen ihre eindrucksvolle Leistungssteigerung auch aus einer Stärkung der seit vier Systemgenerationen bewährten QuickPath Interconnect (QPI) Speicherarchitektur. Dieses White Paper erläutert die Verbesserungen, zu denen die Einführung der DDR4 Speichertechnologie gehört, und quantifiziert die Auswirkungen auf die Performance kommerzieller Anwendungen. Version 1.0 2015-01-30 http://www.fujitsu.com/de/primergy Seite 1 (25) White Paper Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme Version: 1.0 2015-01-30 Inhalt Dokumenthistorie ................................................................................................................................................ 2 Einleitung ............................................................................................................................................................ 3 Speicherarchitektur ............................................................................................................................................. 5 DIMM Steckplätze und Speicher-Controller .................................................................................................... 5 DDR4 Thematik und verfügbare DIMM Typen ............................................................................................... 8 Festlegung der Speicherfrequenz ................................................................................................................. 10 BIOS Parameter ............................................................................................................................................ 12 Speicherparameter unter Memory Configuration ...................................................................................... 12 Speicherparameter unter CPU Configuration ........................................................................................... 12 Performante Speicherkonfigurationen .......................................................................................................... 15 Performance Mode Konfigurationen .......................................................................................................... 15 Independent Mode Konfigurationen .......................................................................................................... 16 Symmetrische Speicherbestückungen ...................................................................................................... 17 Quantitative Auswirkungen auf die Speicher-Performance .............................................................................. 18 Die Messtools ................................................................................................................................................ 19 STREAM Benchmark ................................................................................................................................ 19 SPECint_rate_base2006 Benchmark ........................................................................................................ 19 Interleaving über die Speicherkanäle ............................................................................................................ 20 Speicherfrequenz .......................................................................................................................................... 21 Interleaving über die DIMM Ranks ................................................................................................................ 22 Optimierung des Cache-Kohärenzprotokolls ................................................................................................ 23 Zugriff auf fernen Speicher ........................................................................................................................... 23 Speicher-Performance unter Redundanz ..................................................................................................... 24 Literatur ............................................................................................................................................................. 25 Kontakt .............................................................................................................................................................. 25 Dokumenthistorie Version 1.0 (2015-01-30) Urfassung Seite 2 (25) http://www.fujitsu.com/de/primergy White Paper Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme Version: 1.0 2015-01-30 Einleitung Die Intel Xeon E5-2600 v3 (Haswell-EP) Prozessoren der aktuellen Dual Socket PRIMERGY Server behalten die 22 nm Fertigungstechnologie der Vorgängergeneration Ivy Bridge-EP bei. Erneuert werden hingegen die Mikroarchitektur der Prozessoren (beispielsweise mit Befehlssatzerweiterungen wie AVX2) und Plattform bzw. Chipset: Grantley-EP statt Romley-EP. Die neue Generation bringt für die meisten Lastszenarien eine Leistungssteigerung im Vergleich zur Vorgängergeneration der Größenordnung 50%. Der größere Anteil an dieser eindrucksvollen Verbesserung ist durch maximal 18 statt bisher 12 Kerne pro Prozessor bedingt. Aber auch im Speichersystem gibt es Neuerungen, die zur generationsbedingten Leistungssteigerung beitragen. Die augenfälligste diesbezügliche Neuerung ist die Einführung der DDR4 Speichertechnologie. Alle Vorgängersysteme seit Nehalem-EP (2009) waren DDR3 basiert. DDR4 bedeutet ein neues DIMM (Dual Inline Memory Module) Format mit mehr Pins, d.h. Speichermodule aus Vorgängersystemen sind in der aktuellen Generation nicht mehr verwendbar. Hinsichtlich der Speicher-Performance hat der Übergang von DDR3 auf DDR4 jedoch einen eher evolutionären Charakter. Der Hauptvorteil besteht in der Eröffnung eines neuen Bandes von Speicherfrequenzen bis 3200 MHz für künftige Servergenerationen. In den Xeon E5-2600 v3 basierten Systemen erfolgt nun der Einstieg in dieses Band mit Frequenzen bis 2133 MHz, statt maximal 1866 MHz in der Vorgängergeneration. Dies wird begleitet von einer Höhertaktung der QPI (QuickPath Interconnect) Links von bisher maximal 8.0 auf 9.6 GT/s. Der zweite große Vorteil von DDR4 liegt in der Reduzierung des Energieverbrauchs. Die Speichermodule werden mit 1.2 V betrieben, statt mit 1.5 V bzw. 1.35 V (Low-voltage Extension) bei DDR3. Der Wechsel zu 1.2 V führt zu einer Energieeinsparung von etwa 30% bei gleicher Datenübertragungsrate. Eine Low-voltage Extension gibt es bei DDR4 derzeit noch nicht. Dies bedeutet eine Vereinfachung der Konfiguration der Systeme, weil der in früheren Ausgaben dieser Dokumentenreihe zu behandelnde Trade-Off zwischen Performance und Energieverbrauch nun wieder weitgehend entfällt. Eine weitere Neuerung im Speichersystem ist die Wählbarkeit zwischen drei Varianten des CacheKohärenzprotokolls per BIOS-Option. Die mit den Namen Early Snoop, Home Snoop und Cluster-on-die belegten Varianten unterscheiden sich hinsichtlich ihrer Trade-Offs zwischen den Latenzen und Bandbreiten beim lokalen und fernen Speicherzugriff. In den meisten Fällen wird es zwar keinen von der DefaultBelegung abweichenden Handlungsbedarf geben. Bei sensiblen Performance-Erwartungen und diesbezüglichen Untersuchungen kann eine Beschäftigung mit dieser Thematik aber lohnend sein. Ansonsten sind die bewährten Grundzüge der QPI basierten Speicherarchitektur der Vorgängergenerationen beibehalten. Die Prozessoren haben on-chip Speicher-Controller, d.h. jeder Prozessor steuert eine Gruppe ihm zugeordneter Speichermodule. Dieser lokale Speicherzugriff ist sehr performant. Gleichzeitig ist der Prozessor in der Lage, über unidirektionale, serielle QPI Links einem Nachbarprozessor Speicherinhalte zur Verfügung zu stellen und solche selbst anzufordern. Der ferne Zugriff ist etwas weniger performant. Diese Architektur mit ihrer Unterscheidung zwischen lokalem und fernem Speicherzugriff ist vom Typ NUMA (NonUniform Memory Access). Aber auch im Detail sind viele Merkmale des Speichersystems der unmittelbaren Vorgängergeneration Ivy Bridge-EP [L3] beibehalten. Es gibt vier Speicherkanäle pro Prozessor mit jeweils drei DIMM Steckplätzen. Die maximale Anzahl von 12 DIMMs pro Prozessor ist damit unverändert. Neu ist hingegen die schon erwähnte Erhöhung der maximalen Speichertaktung von 1866 auf 2133 MHz. Die elementarste Kennzahl der Speicher-Performance, die Speicherbandbreite, erhöht sich durch diese Maßnahme für den Dual Socket Server von etwa 100 auf knapp 120 GB/s. Das vorliegende Dokument beschäftigt sich einerseits mit den Neuerungen im Speichersystem der aktuellen Servergeneration. Andererseits wird wie in den früheren Ausgaben die Grundkenntnis der QPI basierten Speicherarchitektur vermittelt, die für die Konfiguration möglichst leistungsfähiger Systeme erforderlich ist. Es geht um folgende Punkte: Wegen der NUMA Architektur sollten beide Prozessoren so weit wie möglich gleich mit Speicher bestückt werden. Diese Maßnahme zielt darauf ab, dass jeder Prozessor in der Regel auf seinem lokalen Speicher arbeitet. Zur Parallelisierung und damit Beschleunigung des Speicherzugriffs wird angestrebt, auch eng benachbarte Bereiche des physikalischen Adressraums über mehrere Komponenten des Speichersystems zu verteilen. Der zugehörige Fachbegriff ist Interleaving. Das Interleaving gibt es in zwei Dimensionen. Zunächst in die Breite über die vier Speicherkanäle pro Prozessor. Die Performance Mode Bestückung des PRIMERGY-Konfigurators in Vierergruppen von DIMMs desselben Typs an jedem Prozessor sorgt für das optimale Interleaving in dieser Richtung. Darüber http://www.fujitsu.com/de/primergy Seite 3 (25) White Paper Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme Version: 1.0 2015-01-30 hinaus gibt es ein Interleaving in der Tiefe des einzelnen Speicherkanals. Die entscheidenden Speicherressourcen hierfür sind die sogenannten Ranks. Dies sind Unterstrukturen der DIMMs, in denen Gruppen von DRAM (Dynamic Random Access Memory) Chips zusammengefasst sind. Der einzelne Speicherzugriff bezieht sich stets auf eine solche Gruppe. Die Speichertaktung beeinflusst die Performance. Sie beträgt 2133, 1866, 1600 oder 1333 MHz in Abhängigkeit von Prozessortyp, DIMM Typ und Anzahl, und BIOS Einstellung. Sehr große Speicherkapazitäten begrenzen die Speichertaktung. Aus diesem Grund sind die Aspekte Performance und Kapazität gegeneinander abzuwägen. Einflussfaktoren werden benannt und quantifiziert. Die Quantifizierung erfolgt mit Hilfe der Benchmarks STREAM und SPECint_rate_base2006. STREAM misst die Speicherbandbreite. SPECint_rate_base2006 dient als Modell für die Performance kommerzieller Anwendungen. Es zeigt sich, dass die prozentualen Einflüsse abhängig von der Leistungsstärke der Prozessoren sind. Die in diesem Dokument behandelten Fragen der Speicherkonfiguration sollten umso sorgfältiger bedacht werden, je stärker das konfigurierte Prozessormodell ist. Den Abschluss des Dokuments machen Aussagen zur Speicher-Performance unter Redundanz, d.h. bei aktiviertem Mirroring oder Rank Sparing. Seite 4 (25) http://www.fujitsu.com/de/primergy White Paper Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme Version: 1.0 2015-01-30 Speicherarchitektur Dieses Kapitel gibt in fünf Abschnitten einen Überblick über das Speichersystem. Anhand von Blockdiagrammen wird die Anordnung der verfügbaren DIMM Steckplätze erläutert. Im zweiten Abschnitt werden die verfügbaren DIMM Typen aufgelistet. Es folgt ein Abschnitt über die Einflüsse auf die effektive Speicherfrequenz. Der vierte Abschnitt behandelt die das Speichersystem betreffenden BIOS Parameter. Zum Abschluss werden im letzten Abschnitt DIMM Bestückungsbeispiele aufgelistet, die hinsichtlich der Speicher-Performance ideal sind. DIMM Steckplätze und Speicher-Controller Die folgenden Grafiken zeigen den Aufbau des Speichersystems. Vor der Erläuterung des subtilen Unterschieds zwischen beiden Bildern hier zunächst die wesentlichen Gemeinsamkeiten. Die Xeon E5-2600 v3 basierten PRIMERGY Server haben in der Regel 12 DIMM Steckplätze pro Prozessor. Eine Ausnahme bilden die Modelle PRIMERGY BX2560 M1, CX2550 M1, und CX2570 M1 mit 8 Steckplätzen auf Grund eines Formfaktors hoher Dichte. Die Grafiken enthalten für die Ressourcen Speicherkanal und QPI Link den Zusammenhang zwischen Taktung und Bandbreite, der sich aus den jeweiligen Nettodatenpfadbreiten ergibt. Diese betragen 64 Bit beim DDR4 Speicherkanal und 16 Bit beim QPI Link. Beim bidirektionalen QPI Link gilt die Bandbreite pro Richtung, deshalb die Bezeichnung full-duplex. Bei den Speicherkanälen müssen sich lesende und schreibende Zugriffe die Datenpfade teilen, deshalb hier die Bezeichnung half-duplex. Es gibt stets vier Speicherkanäle pro Prozessor. Die Anzahl der pro Kanal bestückten DIMM Streifen beeinflusst die Speichertaktung und damit die Speicher-Performance. Diese Größe, auf die im Folgenden häufig Bezug genommen wird, wird mit DPC (DIMMs per Channel) bezeichnet. Sind die Kanäle verschieden bestückt, so ist der größte vorkommende DPC Wert für die Auswirkung der Speicherbestückung auf die Taktung ausschlaggebend. Memory Architecture of Xeon E5-2600 v3 based PRIMERGY Servers (High and Medium Core Count CPU Models) DMI2 connectivity to Intel C610 series chipset GT/s = Gigatransfers per second GB/s = Gigabytes per second PCIe GEN3 connectivity up to 40 lanes per CPU allocation depending on server model CPU 1 DDR4 memory channel with up to 3DPC 2133, 1866, 1600 or 1333 MHz 17.0, 14.9, 12.8 or 10.6 GB/s (half duplex) depending on CPU and DIMM type, DPC value and BIOS setting MC1 PCIe GEN3 connectivity up to 40 lanes per CPU allocation depending on server model Two bidirectional QPI 1.1 links, each: 9.6 or 8.0 or 6.4 GT/s 19.2 or 16.0 or 12.8 GB/s (full duplex) depending on CPU model MC2 CPU 2 MC1 MC2 Bank 3 if used, max frequency is 1600 MHz DIMM 3A DIMM 3B DIMM 3C DIMM 3D DIMM 3E DIMM 3F DIMM 3G DIMM 3H Bank 2 DIMM 2A DIMM 2B DIMM 2C DIMM 2D DIMM 2E DIMM 2F DIMM 2G DIMM 2H DIMM 1A DIMM 1B DIMM 1C DIMM 1D DIMM 1E DIMM 1F DIMM 1G DIMM 1H max frequency 2133 MHz Bank 1 max frequency 2133 MHz Channel A Channel B Channel C Channel D Channel E Channel F Channel G Channel H PRIMERGY BX2560 M1, CX2550 M1, CX2570 M1: 8 DIMM slots per CPU (red dashed line) all other Xeon E5-2600 v3 based PRIMERGY models: 12 DIMM slots per CPU http://www.fujitsu.com/de/primergy Seite 5 (25) White Paper Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme Version: 1.0 2015-01-30 Memory Architecture of Xeon E5-2600 v3 based PRIMERGY Servers (Low Core Count CPU Models) DMI2 connectivity to Intel C610 series chipset GT/s = Gigatransfers per second GB/s = Gigabytes per second PCIe GEN3 connectivity up to 40 lanes per CPU allocation depending on server model CPU 1 DDR4 memory channel with up to 3DPC 2133, 1866, 1600 or 1333 MHz 17.0, 14.9, 12.8 or 10.6 GB/s (half duplex) depending on CPU and DIMM type, DPC value and BIOS setting PCIe GEN3 connectivity up to 40 lanes per CPU allocation depending on server model Two bidirectional QPI 1.1 links, each: 9.6 or 8.0 or 6.4 GT/s 19.2 or 16.0 or 12.8 GB/s (full duplex) depending on CPU model Memory Controller CPU 2 Memory Controller Bank 3 if used, max frequency is 1600 MHz DIMM 3A DIMM 3B DIMM 3C DIMM 3D DIMM 3E DIMM 3F DIMM 3G DIMM 3H Bank 2 DIMM 2A DIMM 2B DIMM 2C DIMM 2D DIMM 2E DIMM 2F DIMM 2G DIMM 2H DIMM 1A DIMM 1B DIMM 1C DIMM 1D DIMM 1E DIMM 1F DIMM 1G DIMM 1H max frequency 2133 MHz Bank 1 max frequency 2133 MHz Channel A Channel B Channel C Channel D Channel E Channel F Channel G Channel H PRIMERGY BX2560 M1, CX2550 M1, CX2570 M1: 8 DIMM slots per CPU (red dashed line) all other Xeon E5-2600 v3 based PRIMERGY models: 12 DIMM slots per CPU Ein weiterer im Folgenden verwendeter Begriff ist die Speicherbank. Wie in der Grafik zu sehen ist, bildet eine Gruppe von vier über die Kanäle verteilten DIMM Streifen eine Bank. Die Farbgebung der Grafik (schwarz, blau, grün) entspricht der farblichen Markierung der Bänke auf den System Boards der Server, die Fehler bei der Bestückung verhindern soll. Bei der Verteilung der DIMM Streifen über die pro Prozessor verfügbaren Steckplätze ist es wünschenswert, mit Bank 1 zu beginnen und bankweise vorzugehen, um ein möglichst gutes Interleaving über die Kanäle zu erreichen. Das Interleaving ist ein Haupteinfluss auf die Speicher-Performance. Der zugehörige Prozessor muss vorhanden sein, um DIMM Steckplätze verwenden zu können. Ist keine Maximalkonfiguration gegeben, können die dem leeren CPU Socket zugeordneten Steckplätze nicht benutzt werden. Die Anzahl der Speicherkanäle pro Prozessor (vier) ist bei den Prozessoren der Familie Xeon E5-2600 v3 stets gleich. Einen Unterschied gibt es bei der Anzahl der Speicher-Controller pro Prozessor, weshalb in diesem Abschnitt zwei Grafiken gezeigt werden. Es setzt sich eine evolutionäre Entwicklung bei den Xeon E5 Prozessorfamilien fort. Von Nehalem bis Sandy Bridge hatten die EP Prozessoren für Dual Socket Server nur einen Speicher-Controller. Bei Ivy Bridge hatten die beiden leistungsstärksten Prozessormodelle – eine sehr kleine Gruppe – erstmals zwei Controller. Bei Haswell wird diese Eigenschaft nun auf alle Prozessormodelle mit hoher und mittlerer Anzahl Prozessorkerne – in grober Näherung: 10 Kerne und mehr, das ist etwa die Hälfte der Prozessorfamilie – ausgeweitet. Die exakte Klassifizierung gibt die folgende Tabelle in der Spalte Die Design. Prozessoren der Klassen HCC (High-core-count) und MCC (Medium-core-count) haben zwei Speicher-Controller (erste Grafik). Prozessoren der Klasse LCC (Low-core-count) einen Controller (zweite Grafik). Seite 6 (25) http://www.fujitsu.com/de/primergy White Paper Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme Version: 1.0 2015-01-30 Cores Threads Prozessoren (seit System-Release) Die Design Xeon E5-2623 v3 4 8 LCC 10 8.00 3.00 3.50 1866 105 Xeon E5-2637 v3 4 8 LCC 15 9.60 3.50 3.70 2133 135 Xeon E5-2603 v3 6 6 LCC 15 6.40 1.60 entf. 1600 85 Xeon E5-2609 v3 6 6 MCC 15 6.40 1.90 entf. 1600 85 Xeon E5-2620 v3 6 12 LCC 15 8.00 2.40 3.20 1866 85 Xeon E5-2643 v3 6 12 LCC 20 9.60 3.40 3.70 2133 135 Xeon E5-2630L v3 8 16 LCC 20 8.00 1.80 2.90 1866 55 Xeon E5-2630 v3 8 16 LCC 20 8.00 2.40 3.20 1866 85 Xeon E5-2640 v3 8 16 LCC 20 8.00 2.60 3.40 1866 90 Xeon E5-2667 v3 8 16 LCC 20 9.60 3.20 3.60 2133 135 Xeon E5-2650 v3 10 20 MCC 25 9.60 2.30 3.00 2133 105 Xeon E5-2660 v3 10 20 MCC 25 9.60 2.60 3.3 2133 105 Xeon E5-2650L v3 12 24 MCC 30 9.60 1.80 2.50 2133 65 Xeon E5-2670 v3 12 24 MCC 30 9.60 2.30 3.10 2133 120 Xeon E5-2680 v3 12 24 MCC 30 9.60 2.50 3.30 2133 120 Xeon E5-2690 v3 12 24 MCC 30 9.60 2.60 3.50 2133 135 Xeon E5-2683 v3 14 28 HCC 35 9.60 2.00 3.00 2133 120 Xeon E5-2695 v3 14 28 HCC 35 9.60 2.30 3.30 2133 120 Xeon E5-2697 v3 14 28 HCC 35 9.60 2.60 3.60 2133 145 Xeon E5-2698 v3 16 32 HCC 40 9.60 2.30 3.60 2133 135 Xeon E5-2699 v3 18 36 HCC 45 9.60 2.30 3.60 2133 145 Prozessor Cache QPISpeed Nominalfrequenz DDR4 TDP [Ghz] Max. Turbofrequenz [Ghz] [MB] [GT/s] [MHz] [Watt] Die Feinunterscheidung zwischen HCC und MCC hängt mit den Topologien zusammen, in denen die Prozessorkerne chipintern organisiert sind. Die Kerne und L3 Cache Anteile sind in einer Matrix angeordnet zu denken. HCC Modelle haben vier, MCC drei und LCC zwei Spalten. Bei LCC gibt es einen ringförmigen Interconnect für alle Kerne, an den auch der Speicher-Controller angeschlossen ist. Bei HCC und MCC gibt es zwei Interconnects, mit jeweils einem Controller. Die Die Design Klassifizierung ist letztlich nichts anderes als eine Klassifizierung der Leistungsfähigkeit der Prozessormodelle. Die unten folgenden quantitativen Untersuchungen zur Speicher-Performance wurden getrennt nach Prozessorklassen durchgeführt, wobei je nach Thematik entweder die HCC / MCC / LCC Klassifizierung oder diejenige nach der unterstützten Speicherfrequenz (die vorletzte Spalte der Tabelle) verwendet wurde. http://www.fujitsu.com/de/primergy Seite 7 (25) White Paper Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme Version: 1.0 2015-01-30 DDR4 Thematik und verfügbare DIMM Typen Wie in der Einleitung erwähnt, erfolgt mit den Xeon E5-2600 v3 basierten PRIMERGY Servern der Übergang von DDR3 auf DDR4 SDRAM Speichermodule. Die mit diesen Namen bezeichneten Standards des JEDEC (Joint Electron Device Engineering Council) legen die zwischen Speicher- und Systemherstellern verbindlichen Schnittstellen fest. Die Merkmale der neuen Technologie sind wie folgt: Für DDR4 werden mehr Pins pro DIMM benötigt, weshalb DDR3 und DDR4 DIMM Sockets nicht kompatibel sind. Ältere Bestände an DDR3 Speichermodulen sind in DDR4 basierten Systemen nicht wiederverwendbar. DDR4 unterstützt Speicherfrequenzen bis 3200 MHz. Die Ausschöpfung dieses Frequenzbandes wird über mehrere Servergenerationen in den nächsten Jahren erfolgen. Jetzt beim Einstieg in die Technologie werden Frequenzen bis maximal 2133 MHz unterstützt. Es setzt sich die von den DDR3 basierten Servergenerationen bekannte Anhebung der Speicherfrequenz in Schritten von 266 MHz fort. Der Übergang zu DDR4 hat deshalb evolutionären Charakter. Er ist nicht mit einem einmaligen Performance-Schub verbunden. Ein wesentlicher Vorteil von DDR4 ist das Betreiben der DIMM Streifen mit nur 1.2 V statt 1.5 V bzw. 1.35 V (Low-voltage Extension) bei DDR3. Damit ist eine Energieeinsparung von etwa 30% bei gleicher Datenübertragungsrate verbunden. Wie auch in der ersten Phase der DDR3 Technologie gibt es für DDR4 zunächst keine Low-voltage Extension. Dadurch entfallen derzeit die Konfigurations-Trade-Offs im BIOS zwischen Performance und Energieverbrauch weitgehend. Für die Speicherbestückung der Xeon E5-2600 v3 basierten PRIMERGY Server kommen DIMM Streifen gemäß der folgenden Tabelle in Betracht. Es gibt registered (RDIMM) und load-reduced (LRDIMM) DIMMs. Mischkonfigurationen aus diesen beiden, bereits von DDR3 bekannten DIMM Arten sind nicht möglich. Ansteuerung max Frequenz (MHz) Ranks Kapazität SDDC rel. Preis pro GB Volt registered 2133 1.2 1 8 GB Yes 1.3 registered 2133 1.2 2 8 GB No 1.3 16GB (1x16GB) 2Rx4 DDR4-2133 R ECC registered 2133 1.2 2 16 GB Yes 1.0 32GB (1x32GB) 2Rx4 DDR4-2133 R ECC registered 2133 1.2 2 32 GB Yes 2) 32GB (1x32GB) 4Rx4 DDR4-2133 LR ECC load reduced 2133 1.2 4 32 GB Yes 1.3 64GB (1x64GB) 4Rx4 DDR4-2133 LR ECC load reduced 2133 1.2 4 64 GB Yes 2) DIMM-Typ 8GB (1x8GB) 1Rx4 DDR4-2133 R ECC 8GB (1x8GB) 2Rx8 DDR4-2133 R ECC 1) 1) mit den anderen RDIMM Typen nicht mischbar 2) bei Veröffentlichung des Dokuments noch nicht verfügbar Bei allen DIMM Typen werden Daten in Einheiten von 64 Bit übertragen. Dies ist eine Eigenschaft der DDR-SDRAM Speichertechnologie. Ein Speicherbereich dieser Breite wird auf dem DIMM aus einer Gruppe von DRAM Chips aufgebaut, wobei der einzelne Chip für 4 oder 8 Bit zuständig ist (siehe die Kürzel x4 bzw. x8 in der Typenbezeichnung). Eine solche Chip-Gruppe wird als Rank bezeichnet. Es gibt DIMM Typen mit 1, 2, oder 4 Ranks entsprechend der Tabelle. Die Motivation für DIMMs mit 4 Ranks ist größtmögliche Kapazität, gleichzeitig unterstützt die DDR4 Spezifikation aber nur maximal 8 Ranks pro Speicherkanal. Die Anzahl der pro Speicherkanal vorhandenen Ranks hat einen gewissen Performance-Einfluss, der unten erläutert wird. Seite 8 (25) http://www.fujitsu.com/de/primergy White Paper Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme Version: 1.0 2015-01-30 Mit dieser Vorbemerkung sind die wesentlichen Merkmale der beiden DIMM Arten wie folgt: RDIMM: die Steuerbefehle des Speicher-Controllers werden im namengebenden Register, das sich in einem eigenen Baustein auf dem DIMM befindet, zwischengepuffert. Diese Entlastung des Speicherkanals ermöglicht Konfigurationen mit bis zu 3DPC (DIMMs per Channel). LRDIMM: außer den Steuerbefehlen werden auch die Daten selbst in einem auf dem DIMM befindlichen Baustein zwischengepuffert. Darüber hinaus kann die Rank Multiplication Funktion dieses DIMM Typs mehrere physikalische Ranks auf einen virtuellen abbilden. Der SpeicherController sieht dann nur virtuelle Ranks. Diese Funktion wird aktiviert, wenn die Anzahl der physikalischen Ranks im Speicherkanal größer als 8 ist. Der x4 oder x8 Aufbau der DIMMs beeinflusst die ECC-Erkennbarkeit von Speicherfehlern, die korrigierbar oder nicht korrigierbar sein können. Aus diesem Grund kann der 8GB 2Rx8 DDR4-2133 RDIMM der Tabelle mit den anderen verfügbaren RDIMMs, die alle x4 sind, nicht gemischt werden. SDDC (Single Device Data Correction, siehe die vorletzte Spalte der Tabelle) bezeichnet die auf x4 Module beschränkte erweiterte ECC Funktionalität, die den Ausfall eines ganzen DRAM Chips kompensieren kann. Die Entscheidung für die Typengruppen RDIMM oder LRDIMM wird in der Regel auf Basis der benötigten Speicherkapazität fallen. Die Performance-Einflüsse Taktung und Anzahl der Ranks gibt es bei beiden Typen in gleicher Weise; diese Einflüsse sind typenunabhängig. Typenspezifische Performance-Einflüsse gibt es; sie sind aber so gering, dass sie in den meisten Fällen außer Acht bleiben können. Zwei Beispiele für typenspezifische Einflüsse seien an dieser Stelle genannt. Eine systematische quantitative Untersuchung folgt unten wegen Geringfügigkeit jedoch nicht: Die zunehmende Komplexität der DIMM Arten RDIMM und LRDIMM durch zusätzliche auf dem DIMM befindliche Bauteile ist mit einem leichten Anstieg der Zugriffslatenz in der Größenordnung einiger weniger Nanosekunden verbunden. Die Rank Multiplication bei Bestückungen mit LRDIMMs mit mehr als 8 physikalischen Ranks pro Speicherkanal führt zu einem geringen Abschlag auf die maximale Speicherbandbreite und die Anwendungs-Performance – im Vergleich zu Bestückungen mit RDIMMs – von unter 5%. Die effektive Frequenz einer gegebenen Konfiguration ist von einer Reihe von Einflüssen abhängig. Die in der DIMM Typentabelle angegebene maximale Frequenz ist lediglich als obere Grenze für diese effektive Frequenz zu verstehen. Die Tabelle gibt in der letzten Spalte eine Orientierung zu den relativen Preisunterschieden. Zugrunde gelegt sind die Listenpreise der PRIMERGY RX2540 M1 im Januar 2015. Die Spalte zeigt den relativen Preis pro GB, normiert auf den RDIMM der Größe 16 GB (hervorgehoben als Maßstab 1.0). Ein Vergleich mit früheren Ausgaben dieser Dokumentenreihe zeigt, dass das Bild der relativen Speicherpreise einem steten Wandel unterliegt. In der obigen Tabelle ist bemerkenswert, dass erstmals kein deutlicher Preisaufschlag für LRDIMMs mehr erkennbar ist. Hinsichtlich der Verfügbarkeit einzelner DIMM Typen kann es je nach PRIMERGY Modell Einschränkungen geben. Ausschlaggebend ist stets der aktuelle Konfigurator. Außerdem sind Einschränkungen der Verfügbarkeit je nach Vertriebsregion möglich. http://www.fujitsu.com/de/primergy Seite 9 (25) White Paper Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme Version: 1.0 2015-01-30 Festlegung der Speicherfrequenz Für die Taktung des Speichers gibt es die vier möglichen Werte 2133, 1866, 1600 und 1333 MHz. Die Taktung wird vom BIOS beim Einschalten des Systems festgelegt und gilt pro System, nicht pro Prozessor. Für die Festlegung ist zunächst das konfigurierte Prozessormodell von Bedeutung. Im Rahmen dieses Abschnitts empfiehlt sich die Klassifizierung der Xeon E5-2600 v3 Modelle entsprechend der vorletzten Spalte der folgenden, oben bereits gezeigten Tabelle. Die Spalte zeigt die maximal unterstützte Speicherfrequenz. Im Übrigen deckt sich diese Klassifizierung mit derjenigen nach der QPI Taktung. Cores Threads Prozessoren (seit System-Release) Die Design Xeon E5-2623 v3 4 8 LCC 10 8.00 3.00 3.50 1866 105 Xeon E5-2637 v3 4 8 LCC 15 9.60 3.50 3.70 2133 135 Xeon E5-2603 v3 6 6 LCC 15 6.40 1.60 entf. 1600 85 Xeon E5-2609 v3 6 6 MCC 15 6.40 1.90 entf. 1600 85 Xeon E5-2620 v3 6 12 LCC 15 8.00 2.40 3.20 1866 85 Xeon E5-2643 v3 6 12 LCC 20 9.60 3.40 3.70 2133 135 Xeon E5-2630L v3 8 16 LCC 20 8.00 1.80 2.90 1866 55 Xeon E5-2630 v3 8 16 LCC 20 8.00 2.40 3.20 1866 85 Xeon E5-2640 v3 8 16 LCC 20 8.00 2.60 3.40 1866 90 Xeon E5-2667 v3 8 16 LCC 20 9.60 3.20 3.60 2133 135 Xeon E5-2650 v3 10 20 MCC 25 9.60 2.30 3.00 2133 105 Xeon E5-2660 v3 10 20 MCC 25 9.60 2.60 3.3 2133 105 Xeon E5-2650L v3 12 24 MCC 30 9.60 1.80 2.50 2133 65 Xeon E5-2670 v3 12 24 MCC 30 9.60 2.30 3.10 2133 120 Xeon E5-2680 v3 12 24 MCC 30 9.60 2.50 3.30 2133 120 Xeon E5-2690 v3 12 24 MCC 30 9.60 2.60 3.50 2133 135 Xeon E5-2683 v3 14 28 HCC 35 9.60 2.00 3.00 2133 120 Xeon E5-2695 v3 14 28 HCC 35 9.60 2.30 3.30 2133 120 Xeon E5-2697 v3 14 28 HCC 35 9.60 2.60 3.60 2133 145 Xeon E5-2698 v3 16 32 HCC 40 9.60 2.30 3.60 2133 135 Xeon E5-2699 v3 18 36 HCC 45 9.60 2.30 3.60 2133 145 Prozessor Cache QPISpeed Nominalfrequenz DDR4 TDP [Ghz] Max. Turbofrequenz [Ghz] [MB] [GT/s] [MHz] [Watt] Außerdem begrenzen DIMM Typ und DPC Wert der Speicherkonfiguration die Taktung. Prozessortyp, DIMM Typ und DPC Wert sind harte Einflüsse auf die Speichertaktung, die sich per BIOS nicht übersteuern lassen. Der BIOS-Parameter DDR Performance erlaubt jedoch die Abwägung zwischen Performance und – in einem noch zu erläuternden, eingeschränkten Sinn – Energieverbrauch. Erfolgt die Abwägung zugunsten von Performance, so ergibt sich die effektive Speicherfrequenz entsprechend folgender Tabelle. Dies ist insbesondere auch der BIOS Default. Seite 10 (25) http://www.fujitsu.com/de/primergy White Paper Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme Version: 1.0 2015-01-30 DDR Performance = Performance optimized (Default) CPU Typ RDIMM LRDIMM 1DPC 2DPC 3DPC 1DPC 2DPC 3DPC DDR4-2133 2133 2133 1600 2133 2133 1600 DDR4-1866 1866 1866 1600 1866 1866 1600 DDR4-1600 1600 1600 1600 1600 1600 1600 Es versteht sich, dass die 3DPC Spalten für PRIMERGY BX2560 M1, CX2550 M1 und CX2570 M1, die diese Steckplätze nicht haben, nicht relevant sind. Die Unterstützung von 2133 MHz bei 2DPC bei RDIMMs (rot markiert) ist eine Besonderheit der Xeon E5-2600 v3 basierten PRIMERGY Server. Die Intel Spezifikation sieht an dieser Stelle 1866 MHz vor. Hinsichtlich dieser Unterstützung kann es je nach PRIMERGY Modell zu Verzögerungen kommen. Ausschlaggebend sind aktueller Konfigurator und Datenblatt der BIOS Version. Um auf diese Besonderheit hinzuweisen, wurde die Unterscheidung zwischen RDIMMs und LRDIMMs in der Tabelle beibehalten, obwohl sie sich für die gezeigten Zielfrequenzen eigentlich erübrigt. Bei den Ausführungen zum Thema DDR4 wurde bereits darauf hingewiesen, dass es für DDR4 Speichermodule derzeit keine Low-voltage Varianten gibt. DDR4 Module laufen stets mit der Spannung 1.2 V. Ein Wert, der aber auch die 1.35 V von DDR3 Low-voltage unterbietet! Die aus früheren Ausgaben dieser Dokumentenreihe bekannte Belegung DDR Performance = Low-voltage optimized gibt es bei den Xeon E5-2600 v3 basierten PRIMERGY Servern also nicht. Eine eher geringfügige Energieeinsparung lässt sich jedoch mit einer Absenkung der Speicherfrequenz erreichen. Es sei jedoch darauf hingewiesen, dass sich der Energieverbrauch der Speichermodule in erster Linie nach der Spannung richtet. Da die Absenkung der Speicherfrequenz zudem die System-Performance beeinflusst – in welchem Umfang folgt im zweiten Hauptteil dieses Dokuments –, ist eine gewisse Vorsicht bei der Einstellung gemäß folgender Tabelle zu empfehlen. DDR Performance = Energy optimized CPU Typ RDIMM LRDIMM 1DPC 2DPC 3DPC 1DPC 2DPC 3DPC DDR4-2133 1333 1333 1333 1333 1333 1333 DDR4-1866 1333 1333 1333 1333 1333 1333 DDR4-1600 1333 1333 1333 1333 1333 1333 http://www.fujitsu.com/de/primergy Seite 11 (25) White Paper Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme Version: 1.0 2015-01-30 BIOS Parameter Nachdem im vorigen Abschnitt der BIOS Parameter DDR Performance bereits behandelt wurde, folgen nun die übrigen, das Speichersystem betreffenden BIOS Optionen. Die Parameter befinden sich in den Untermenüs Memory Configuration und CPU Configuration unter dem Hauptpunkt Advanced. Speicherparameter unter Memory Configuration Es gibt folgende vier Parameter. Der Default ist jeweils unterstrichen. Memory Mode: Normal / Mirroring / Sparing NUMA: Disabled / Enabled DDR Performance: Performance optimized / Energy optimized Patrol Scrub: Disabled / Enabled Der erste Parameter Memory Mode betrifft die Redundanzfunktionen. Sie sind Bestandteil der RAS (Reliability, Availability, Serviceability) Funktionalität und erhöhen die Ausfallsicherheit durch Spiegelung des Speichers (Mirroring) oder Aktivierung von Speicherersatz auf der Ebene von DIMM Ranks, falls sich Speicherfehler häufen (Sparing). Werden diese Funktionen bei der Konfiguration in SystemArchitect angefordert, so erfolgt eine entsprechende werksseitige Voreinstellung. Ansonsten steht der Parameter auf Normal (keine Redundanz). Quantitative Aussagen zur Auswirkung der Redundanzfunktionen auf die Systemleistung folgen unten. Der NUMA-Parameter legt fest, ob der physikalische Adressraum aus Segmenten lokalen Speichers aufgebaut und das Betriebssystem über dessen Struktur informiert wird. Die Default-Einstellung ist Enabled und sollte ohne triftigen Grund nicht verändert werden. Auch zu dieser Thematik folgen unten quantitative Aussagen. Der dritte Parameter DDR Performance betrifft die Speicherfrequenz und wurde im letzten Abschnitt ausführlich behandelt. Der Parameter Patrol Scrub ist mit Enabled voreingestellt. In Zyklen von 24 Stunden wird der Hauptspeicher nach korrigierbaren Speicherfehlern durchsucht und die Korrektur gegebenenfalls ausgelöst. Hierdurch wird verhindert, dass sich Speicherfehler – sie werden in entsprechenden Registern gezählt – häufen, was zu nicht mehr automatisch korrigierbaren Zuständen führen kann. Hochsensible Performance-Messungen mögen ein Grund sein, diese Funktionalität zeitweilig abzuschalten. Der Nachweis einer PerformanceAuswirkung dürfte jedoch schwer fallen. Speicherparameter unter CPU Configuration Das Untermenü CPU Configuration ist umfangreich und wird ausführlich im Dokument BIOS Optimierungen für Xeon E5-2600 v3 basierte Systeme [L6] behandelt. Im Zusammenhang mit dem Speichersystem sind die beiden folgenden Parameter von besonderem Interesse. Wiederum ist die Default-Belegung unterstrichen. COD Enable: Disabled / Enabled / Auto Early Snoop: Disabled / Enabled / Auto Über diese Parameter erfolgt die Auswahl unter den drei Varianten Early Snoop, Home Snoop und Clusteron-die des Cache-Kohärenzprotokolls. Über ein solches Protokoll wird sichergestellt, dass sich in Mehrprozessorsystemen mit einheitlichem Adressraum keine Inkonsistenzen durch die Einlagerung derselben Speicheradresse in mehrere Prozessor-Caches ergeben. Die Auto Voreinstellung führt bei den Xeon E5-2600 v3 basierten Systemen zu Early Snoop und sollte ohne triftigen Grund nicht verändert werden. Die Schwierigkeit bei der Optimierung des Protokolls liegt darin, dass sich die Auswirkung auf die Performance einer Anwendung nur durch sorgfältigen Test klären lässt. Ein bloßer qualitativer Abgleich „über den Daumen“ mit der unten folgenden Orientierungshilfe ist nicht ausreichend. Soll für einen solchen Test vom Default abgewichen werden, so ergeben sich die Protokollvarianten durch Belegung der beiden BIOS Parameter nach folgendem Schema: Seite 12 (25) http://www.fujitsu.com/de/primergy White Paper Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme Protokoll Version: 1.0 2015-01-30 COD Enable Early Snoop Early Snoop (ES) Disabled Enabled Home Snoop (HS) Disabled Disabled Cluster-on-die (COD) Enabled Disabled Grob gesagt sind am Cache-Kohärenzprotokoll die im System befindlichen L3 Caches beteiligt, sowie der für die jeweilige Adresse zuständige Speicher-Controller. Genauer handelt es sich um Teilkomponenten namens Caching Agents bzw. Home Agent, die chipintern und über das QPI Netzwerk Nachrichten austauschen. Der Nachrichtentyp, der einen möglicherweise betroffenen Caching Agent einbezieht, wird als Snoop bezeichnet. Mit dieser Vorbemerkung lassen sich die drei Protokolle wie folgt beschreiben: Protokoll Beschreibung Early Snoop (ES) Der auslösende Caching Agent versendet vorsorgliche Snoops zum frühesten möglichen Zeitpunkt. Dies ist das klassische Verhalten für Systeme mit wenigen Prozessoren bzw. Caches und kommt der Implementierung der Cache-Kohärenz in früheren Generationen der Dual Socket PRIMERGY Server am nächsten. Das Verhalten begünstigt die Speicherlatenz wegen der frühen Initiierung. Der Nachteil ist die vergleichsweise hohe Belastung der QPI Links. Home Snoop (HS) Der auslösende Caching Agent wendet sich an den zuständigen Home Agent, der gezielt Snoops versendet. Der Home Agent wird hierbei von im DRAM befindlichen Directory Bits unterstützt, die den Cache Status der betreffenden Adresse anzeigen. Dieser sequentielle Ablauf ist mit erhöhter Latenz verbunden, hat aber den Vorteil einer Entlastung des QPI Netzwerks. Cluster-on-die (COD) Das innovativste der drei Verfahren verbindet das Ausstattungsmerkmal zweier SpeicherController der leistungsstärkeren Xeon E5-2600 v3 Prozessormodelle mit einer Spekulation auf weitestgehend lokale Speicherzugriffe. COD gibt es nur für Prozessormodelle mit zwei Speicher-Controllern und nur bei aktivierter NUMA Funktionalität. Pro Prozessor werden zwei NUMA Knoten gebildet, mit jeweils der Hälfte der Prozessorkerne, halbem L3 Cache und einem Speicher-Controller und den entsprechenden DIMMs. Snoops erfolgen durch den Home Agent, der zusätzlich zu den in-memory Directory Bits über einen on-die Directory Cache verfügt. Sofern kein Snoop eines fernen Caching Agents notwendig ist, bietet dieses Verfahren die niedrigste lokale Speicherlatenz. Das Verfahren kommt hauptsächlich für Lasten mit hervorragenden NUMA Eigenschaften in Frage. Die in der COD Beschreibung genannte Einschränkung auf Prozessormodelle mit zwei Speicher-Controllern greift die oben behandelte HCC / MCC / LCC Klassifizierung nach der Anzahl Prozessorkerne wieder auf. COD gibt es nur für Prozessoren der Klassen HCC und MCC. Auf eine nochmalige Wiederholung der schon mehrfach gezeigten Prozessortabelle sei an dieser Stelle verzichtet. Für die Mehrzahl der für die Haswell-EP basierten PRIMERGY Server durchgeführten Standard-Benchmarks war COD konfiguriert; allerdings kamen sowohl ES als auch HS ebenfalls vor. Von einer ungetesteten Nachahmung der Abweichungen vom BIOS Default ist jedoch abzuraten. Außerdem gibt es hinsichtlich der COD Unterstützung durch Betriebssysteme Einschränkungen (z.B. VMware ESX). Zum Abschluss folgen nun qualitative Aussagen darüber, wie die drei Protokolle auf die Merkmale Latenz und Bandbreite der Speicher-Performance einwirken. Es ist zwischen lokalem und fernem Speicherzugriff zu unterscheiden, ferner hinsichtlich der NUMA Funktionalität (siehe die entsprechende BIOS Option im letzten Abschnitt). Bei den Latenzen sind niedrige Werte besser, bei den Bandbreiten höhere. Sofern die Bedürfnisse einer Anwendung hinsichtlich Speicherlatenzen und –bandbreiten bekannt sind, können die Tabellen hilfreich sein, das optimale Protokoll zu finden. http://www.fujitsu.com/de/primergy Seite 13 (25) White Paper Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme Version: 1.0 2015-01-30 Für Prozessoren der Klassen HCC und MCC gilt folgende Tabelle: Relative Snoop Mode Performance Prozessorklassen HCC und MCC; BIOS-Option „NUMA = Enabled“ Performance Metrik Early Snoop (ES) Cluster on Die (COD) Home Snoop (HS) L3 Cache Treffer Latenz Gering Geringste Gering Lokale Speicherlatenz Mittel Gering Hoch Remote Speicherlatenz Geringste Gering - Hoch Gering Lokale Speicherbandbreite Hoch Höchste Hoch Remote Speicherbandbreite Mittel Mittel Hoch Prozessorklassen HCC und MCC; BIOS-Option „NUMA = Disabled“ Speicherlatenz Gering Speicherbandbreite Hoch Gering nicht unterstützt Hoch Für Prozessoren der Klasse LCC gilt: Relative Snoop Mode Performance Prozessorklasse LCC; BIOS-Option „NUMA = Enabled“ Performance Metrik Early Snoop (ES) Cluster on Die (COD) Home Snoop (HS) L3 Cache Treffer Latenz Gering Gering Lokale Speicherlatenz Geringste Gering Remote Speicherlatenz Geringste Lokale Speicherbandbreite Hoch Hoch Remote Speicherbandbreite Gering Hoch nicht unterstützt Gering Prozessorklasse LCC; BIOS-Option „NUMA = Disabled“ Speicherlatenz Geringste Speicherbandbreite Hoch Seite 14 (25) nicht unterstützt Gering Hoch http://www.fujitsu.com/de/primergy White Paper Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme Version: 1.0 2015-01-30 Performante Speicherkonfigurationen Zusammenfassend lässt sich sagen, dass bisher die Speicherfrequenz als Haupteinfluss auf die SpeicherPerformance herausgestellt wurde. Es wurde eine Reihe von Abhängigkeiten genannt, die auf die Speicherfrequenz einer Konfiguration einwirken. Es dürfte für jeden Anwender empfehlenswert sein, sich über die Speichertaktung seiner Installation im Klaren zu sein. Ferner sind einige Konfigurationsmerkmale angeklungen, die die Speicher-Performance ebenfalls beeinflussen: Besonderheiten einzelner DIMM Typen wie die Anzahl der Ranks; die Aktivierung der Redundanzfunktionen; die Deaktivierbarkeit der NUMA Funktionalität; die Wählbarkeit des CacheKohärenzprotokolls. Obwohl im zweiten Teil des Dokuments auch für diese Themen Messergebnisse mitgeteilt werden, sind sie für die Mehrzahl der Kundeninstallationen vermutlich von geringer Bedeutung und können von vielen Anwendern übergangen werden. Performance Mode Konfigurationen Der zweite Punkt, über den jedoch stets Klarheit herrschen sollte, ist der Einfluss der DIMM Bestückung. Zwischen Minimalbestückung (ein DIMM der Größe 8 GB pro konfiguriertem Prozessor) und Maximalbestückung (Vollbestückung mit DIMMs der Größe 64 GB) gibt es eine Reihe von Speicherausbauten, die hinsichtlich der Speicher-Performance ideal sind. Die folgende Tabelle listet die besonders interessanten Bestückungen dieser Art ohne Anspruch auf Vollständigkeit auf. Diese Konfigurationen zeichnen sich dadurch aus, dass alle vier Speicherkanäle pro Prozessor identisch bestückt sind. Es wird bei der Bestückung bankweise in Gruppen von vier DIMMs gleichen Typs vorgegangen. Der Speicherzugriff verteilt sich dann gleichmäßig über die Ressourcen des Speichersystems. Technisch gesprochen entsteht das optimale 4-way Interleaving über die Speicherkanäle. In der Terminologie des PRIMERGY Konfigurators handelt es sich um die Performance Mode Konfigurationen. Performance Mode Konfigurationen Xeon E5-2600 v3 basierter PRIMERGY Server (Konfigurationen mit belegter 3. Bank sind nur in PRIMERGY Modellen mit 12 DIMMs pro Prozessor möglich) 1 CPU System 2 CPU System 32 GB 64 GB DDR4-2133 R 64 GB 128 GB 96 GB DIMM Größe (GB) Bank 1 DIMM Größe (GB) Bank 2 DIMM Größe (GB) Bank 3 Max MHz Kommentar 8 2133 Hierfür 2Rx8 Variante verfügbar (++) DDR4-2133 R 16 2133 192 GB DDR4-2133 R 16 8 2133 Mischkonfiguration (-) 128 GB 256 GB DDR4-2133 R 16 16 2133 4-way rank interleave (++) DDR4-2133 R 16 16 1600 Reduzierte Frequenz 3DPC (-) 192 GB 384 GB DDR4-2133 R 32 16 2133 Mischkonfiguration (-) DDR4-2133 R 32 32 2133 4-way rank interleave (+) DDR4-2133 LR 32 32 2133 LRDIMM ev. einfacher verfügbar (++) DDR4-2133 R 32 32 16 1600 Mischkonfiguration (-) DDR4-2133 R 32 32 32 1600 Reduzierte Frequenz 3DPC (-) DDR4-2133 LR 32 32 32 1600 LRDIMM ev. einfacher verfügbar 256 GB DIMM Typ 16 512 GB 320 GB 640 GB 384 GB 768 GB 512 GB 1024 GB DDR4-2133 LR 64 64 640 GB 1280 GB DDR4-2133 LR 64 64 32 1600 Mischkonfiguration (-) 768 GB 1536 GB DDR4-2133 LR 64 64 64 1600 Maximalkonfiguration http://www.fujitsu.com/de/primergy 2133 Seite 15 (25) White Paper Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme Version: 1.0 2015-01-30 Die Tabelle ist nach der ganz links genannten Speichergesamtkapazität geordnet. Die Gesamtkapazität wird für die Bestückung mit einem oder zwei Prozessoren genannt. Im Fall von zwei Prozessoren wird angenommen, dass die Speicherbestückung an beiden Prozessoren gleich ist. In den weiteren Spalten folgen dann der jeweils verwendete DIMM Typ, wobei es hierbei zunächst auf die RDIMM oder LRDIMM Technologie ankommt, sowie die DIMM Größe in GB. Da es sich bei den Performance Mode Konfigurationen versteht, dass in Gruppen von vier DIMMs, also bankweise, bestückt wird, genügt eine Spezifikation der DIMM Größe pro Bank. In der kleinsten Konfiguration der Tabelle ergeben sich die 64 GB für zwei Prozessoren also beispielsweise dadurch, dass an jedem Prozessor vier DIMMs der Größe 8 GB, also insgesamt 32 GB zu zählen sind. Die Performance Mode Bestückung verlangt eine identische DIMM Vierergruppe pro Bank, verbietet aber nicht unterschiedliche DIMM Größen in verschiedenen Bänken, sofern die folgenden Einschränkungen beachtet werden: RDIMMs und LRDIMMs dürfen nicht gemischt werden. Der 8 GB 2Rx8 RDIMM darf mit den anderen RDIMMs, die alle x4 sind, nicht gemischt werden. Es wird aufsteigend von Bank 1 bis 3 mit absteigenden DIMM Größen bestückt. Die größeren Module werden zuerst verbaut. Die letzte Spalte enthält Kommentare. Dazu gehört auch der Hinweis, dass gemischte Konfigurationen zwar das entscheidende Performance-Kriterium des 4-way Kanal-Interleave haben können, im Vergleich zu den Bestückungen mit einem einzigen DIMM Typ aber leicht abfallen. Das hat mit der etwas aufwendigeren Adressierung innerhalb des einzelnen Speicherkanals zu tun. Selbstverständlich enthält die Tabelle auch die Speicherkonfigurationen aus den für die Xeon E5-2600 v3 basierten PRIMERGY Server durchgeführten Standard-Benchmarks. Sie sind in der Kommentarspalte mit ++ markiert. Die vorletzte Spalte der Tabelle nennt die mit der jeweiligen Konfiguration maximal erreichbare Speichertaktung. Die Erreichbarkeit des Werts hängt jedoch zusätzlich vom verwendeten Prozessormodell ab. Man sieht dieser Spalte den Trade-Off an, der zwischen Speicherkapazität und Speicher-Performance (hier vertreten durch die Frequenz) besteht. Independent Mode Konfigurationen Hierunter fallen alle Konfigurationen, die weder im Performance Mode noch redundant sind. Außer dem Mischverbot für RDIMMs und LRDIMMs sowie für RDIMMs der Bauweisen x4 und x8 gibt es hier keine Einschränkungen. Ein besonderes Augenmerk gilt Konfigurationen mit weniger als vier DIMMs pro Prozessor, also weniger als der Minimalzahl, die für Performance Mode Konfigurationen benötigt wird. Außer einer geringen benötigten Speicherkapazität können Überlegungen zur Energieeinsparung Grund für solche Konfigurationen sein. Eine Ersparnis ergibt sich ja auch durch eine Minimierung der DIMM Anzahl. Die unten folgende quantitative Bewertung, wie sich eine Bestückung von weniger als vier Speicherkanälen auf die System-Performance auswirkt, legt die folgenden Empfehlungen nahe: Im Fall der Prozessorklasse LCC (Low-core-count) ist vom Betrieb mit nur einem DIMM pro Prozessor (Minimalkonfiguration) abzuraten. Ein Betrieb mit zwei oder drei DIMMs pro Prozessor kann hingegen zu ausgewogenen Resultaten hinsichtlich Performance und Energieverbrauch führen. Im Fall der Prozessorklassen HCC (High-core-count) und MCC (Medium-core-count) ist vom Betrieb mit einem oder drei DIMMs pro Prozessor abzuraten. Ein Betrieb mit zwei DIMMs pro Prozessor kann hingegen zu ausgewogenen Resultaten hinsichtlich Performance und Energieverbrauch führen. Die nicht empfohlenen Konfigurationen bedeuten ein komplettes (ein DIMM pro Prozessor) oder teilweises (drei DIMMs pro Prozessor bei den HCC und MCC Prozessoren) 1-way Interleaving über die Speicherkanäle mit dem unten ausgewiesenen deutlichen Performance-Nachteil von bis zu 30% für die kommerzielle Anwendungs-Performance. Die Besonderheit hinsichtlich drei DIMMs bei den HCC und LCC Prozessoren ergibt sich aus deren Aufbau mit zwei Speicher-Controllern, über die sich drei DIMMs nicht gleichmäßig verteilen lassen. Seite 16 (25) http://www.fujitsu.com/de/primergy White Paper Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme Version: 1.0 2015-01-30 Symmetrische Speicherbestückungen In einem eigenen Abschnitt soll abschließend nochmals herausgestellt werden, alle konfigurierten Prozessoren nach Möglichkeit gleich mit Speicher zu bestücken und die NUMA = enabled Voreinstellung des BIOS ohne triftigen Grund nicht zu verändern. Nur so wird der QPI basierten Architektur der Systeme Rechnung getragen. Selbstverständlich berücksichtigt eine werksseitige Vorinstallation diesen Sachverhält. Die bestellten Speichermodule werden so gleichmäßig wie möglich über die Prozessoren verteilt. Diese Maßnahmen und die damit zusammenhängende Unterstützung durch die Betriebssysteme schaffen die Voraussetzung, Anwendungen so weit wie möglich mit lokalem, performantem Speicher zu bedienen. In der Regel werden die Speicherzugriffe der Prozessorkerne auf DIMM Module erfolgen, die dem jeweiligen Prozessor unmittelbar zugeordnet sind. Zur Abschätzung, welchen Performance-Vorteil dies bedeutet, folgen unten Messergebnisse für den Fall, dass der Speicher eines 2-way Servers zwar symmetrisch bestückt ist, aber die BIOS Option NUMA = disabled gesetzt ist. Statistisch erfolgt dann jeder zweite Speicherzugriff auf fernen Speicher. Der bei asymmetrischer oder einseitiger Speicherbestückung mögliche Fall, dass eine Anwendung zu 100% mit fernem Speicher bedient wird, ist auf den doppelten Performance-Verlust des 50/50% Falls zu taxieren. Formal erfüllen übrigens Konfigurationen mit beispielsweise acht DIMMs am ersten Prozessor und vier am zweiten das Kriterium der Performance Mode Konfiguration, weil die Speicherkanäle pro Prozessor – dies ist die Denkweise der Bestell- und Konfigurationsverfahren – gleich behandelt sind. Im Sinne dieses Abschnitts ist von solchen Bestückungen aber abzuraten. http://www.fujitsu.com/de/primergy Seite 17 (25) White Paper Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme Version: 1.0 2015-01-30 Quantitative Auswirkungen auf die Speicher-Performance Nach der mit qualitativen Hinweisen versehenen funktionalen Beschreibung des Speichersystems folgen nun konkrete Aussagen, mit welchem Performance-Gewinn oder -Verlust Unterschiede in der Speicherkonfiguration verbunden sind. Zur Vorbereitung behandelt der erste Abschnitt die beiden Benchmarks, die für die Charakterisierung der Speicher-Performance herangezogen wurden. Dann folgen in der Reihenfolge ihres Gewichts die bereits genannten Merkmale Interleaving der Speicherkanäle, Speicherfrequenz, Interleaving der Ranks und Cache-Kohärenzprotokoll. Den Abschluss machen Messungen zum Fall NUMA = disabled und zur Speicher-Performance unter Redundanz. Die quantitative Untersuchung erfolgt jeweils getrennt für die Leistungsklassen der Xeon E5-2600 v3 Prozessorfamilie. In der Regel wird die HCC / MCC / LCC Klassifizierung nach der Anzahl Prozessorkerne verwendet; im Fall der Untersuchung zur Speicherfrequenz empfiehlt sich dagegen die DDR4 Frequenzklassifizierung. Die Messungen fanden auf einer PRIMERGY RX2540 M1 mit zwei Prozessoren unter dem Betriebssystem Linux statt. Die folgende Tabelle zeigt die Details des Messaufbaus, insbesondere die für die Prozessorklassen verwendeten Repräsentanten. System Under Test (SUT) Hardware Modell PRIMERGY RX2540 M1 Prozessoren 2 × Xeon E5-2698 v3 (HCC, DDR4-2133) 2 × Xeon E5-2680 v3 (MCC, DDR4-2133) 2 × Xeon E5-2640 v3 (LCC, DDR4-1866) 2 × Xeon E5-2609 v3 (MCC, DDR4-1600) Speichertypen 16GB (1x16GB) 2Rx4 DDR4-2133 R ECC 32GB (1x32GB) 4Rx4 DDR4-2133 LR ECC Disk-Subsystem 1 × HD SATA 6G 1TB 5.4Krpm (via onboard controller for SATA / SAS) Software BIOS 1.0.0 Betriebssystem Red Hat Enterprise Linux Server release 6.4 Die unten folgenden Tabellen nehmen durchweg Bezug auf Messungen mit dem 16 GB RDIMM. Die Messungen mit dem 32 GB LRDIMM dienten der Verifizierung, dass sich die untersuchten PerformanceVerhältnisse nur unwesentlich unterscheiden und auf eine gesonderte Darstellung verzichtet werden kann. Die unten folgenden Tabellen zeigen relative Performance. Die absoluten Messwerte für die Benchmarks STREAM und SPECint_rate_base2006 unter idealen Speicherbedingungen, die in der Regel dem 1.0 Maßstab der Tabellen entsprechen, sind in den Performance Reports der einzelnen Xeon E5-2600 v3 basierten PRIMERGY Server enthalten. Ein wesentliches Ergebnis der Untersuchung soll von Anfang an klar herausgestellt werden. Der Performance-Einfluss ist umso stärker, und Konfigurationsdetails sind umso sorgfältiger abzuwägen, je stärker das verwendete Prozessormodell ist. Überlegungen, die für die leistungsfähigsten und teuersten Prozessoren der Klasse HCC unumgänglich sind, sind für die Klasse LCC häufig vernachlässigbar. Seite 18 (25) http://www.fujitsu.com/de/primergy White Paper Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme Version: 1.0 2015-01-30 Die Messtools Es gab Messungen mit den Benchmarks STREAM und SPECint_rate_base2006. STREAM Benchmark Der STREAM Benchmark von John McCalpin [L4] ist ein Tool zur Messung von Speicherdurchsatz. Der Benchmark führt Kopier- und Rechenoperationen auf großen Arrays vom Datentyp double durch und weist Ergebnisse für vier Zugriffstypen Copy, Scale, Add und Triad aus. Die letzten drei beinhalten Rechenoperationen. Das Ergebnis ist stets ein in GB/s angegebener Speicherdurchsatz. Triad Werte werden am häufigsten zitiert. Alle im Folgenden zur Quantifizierung von Speicher-Performance verwendeten STREAM Messwerte folgen dieser Praxis und sind GB/s für den Zugriffstyp Triad. STREAM ist der Industriestandard für die Messung der Speicherbandbreite von Servern, bekannt für seine Fähigkeit, Speichersysteme mit einfachen Mitteln unter größtmögliche Last zu setzen. Es ist offensichtlich, dass dieser Benchmark besonders geeignet für den hier vorliegenden Zweck ist, Einflüsse auf die SpeicherPerformance in einem komplexen Konfigurationsraum auszuloten. In jedem Fall wird STREAM die maximale Performance-Auswirkung einer den Speicher betreffenden Konfigurationsmaßnahme zeigen, sowohl für Verschlechterungen als auch Verbesserungen. Die im Folgenden genannten prozentualen Verhältnisse beim STREAM Benchmark sind somit als Schranken für Performance-Effekte zu verstehen. Beim Einfluss des Speichers auf die Anwendungs-Performance wird unterschieden zwischen der Latenz des einzelnen Zugriffs und der von der Anwendung benötigten Bandbreite. Die Größen hängen zusammen, weil die reale Latenz mit zunehmender Bandbreite ansteigt. Weiter hängt es von der Anwendung und der Qualität des vom Compiler erzeugten Maschinencodes ab, in welchem Umfang die Latenz durch eine Parallelisierung des Speicherzugriffs „verborgen“ werden kann. Pauschale Prognosen für alle Anwendungsszenarien sind vor diesem Hintergrund sehr schwer. SPECint_rate_base2006 Benchmark Der Benchmark SPECint_rate_base2006 wurde als Modell für kommerzielle Anwendungs-Performance hinzugezogen. Er ist ein Bestandteil von SPECcpu2006 [L5] der Standard Performance Evaluation Corporation (SPEC). SPECcpu2006 ist der Industriestandard für die Vermessung der Systemkomponenten Prozessor, Speicherhierarchie und Compiler. Nach der großen Menge veröffentlichter Ergebnisse und deren intensiver Verwendung in Vertriebsprojekten und technischen Untersuchungen handelt es sich im Bereich der Server um den wichtigsten Benchmark. SPECcpu2006 besteht aus zwei voneinander unabhängigen Suiten von Einzel-Benchmarks, die sich in der überwiegenden Verwendung von integer bzw. floating-point Operationen unterscheiden. Der integer Teil ist repräsentativ für kommerzielle Anwendungen und besteht aus 12 Einzel-Benchmarks. Der floating-point Teil ist repräsentativ für technisch-wissenschaftliche Anwendungen und enthält 17 Einzel-Benchmarks. Das Ergebnis eines Messlaufs ist jeweils das geometrische Mittel der Einzelergebnisse. Innerhalb der Suiten wird ferner unterschieden zwischen dem speed Lauf mit nur einem Prozess und dem rate Lauf mit einer konfigurierbaren Anzahl parallel arbeitender Prozesse. Offenbar ist die zweite Variante für Server mit ihrer Vielzahl an Prozessorkernen und Hardware-Threads interessanter. Schließlich wird hinsichtlich der zulässigen Compiler-Optimierung unterschieden: Beim peak Ergebnis dürfen die Einzel-Benchmarks unabhängig voneinander optimiert werden, beim konservativeren base Ergebnis müssen die Compiler-Flags bei allen Benchmarks gleich sein, und gewisse Optimierungen sind nicht erlaubt. Damit ist erklärt, worum es sich bei SPECint_rate_base2006 handelt. Die integer Suite wurde gewählt, weil kommerzielle Anwendungen beim Einsatz von PRIMERGY Servern überwiegen. Eine regelkonforme Messung erfordert drei Durchläufe, und pro Einzel-Benchmark wird das mittlere Ergebnis gewertet. Bei der hier beschriebenen technischen Untersuchung wurde hierauf verzichtet. Zur Vereinfachung gab es stets nur einen Durchlauf. http://www.fujitsu.com/de/primergy Seite 19 (25) White Paper Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme Version: 1.0 2015-01-30 Interleaving über die Speicherkanäle Interleaving über die Speicherkanäle meint den Aufbau des physikalischen Adressraums durch Alternierung zwischen den vier Kanälen eines Prozessors: der erste Block liegt im ersten Kanal, der zweite im zweiten, usw. Dadurch verteilt sich der nach dem Lokalitätsprinzip stets vorherrschende Zugriff auf aneinander angrenzende Speicherbereiche über alle Kanäle. Es entsteht ein Performance-Gewinn durch Parallelisierung. Die Blockungsgröße des Kanal-Interleaving orientiert sich an der Cache Line Size von 64 Bytes, der Einheit von Speicherzugriffen aus Sicht des Prozessors. Die folgende Tabelle zeigt den Performance-Nachteil für den Fall, dass das ideale 4-way Interleaving, das mit Speicherbestückungen im Performance Mode erreicht wird, nicht gegeben ist. Die Tabelle zeigt die bereits hervorgehobene Tatsache, dass der Performance-Einfluss umso deutlicher ausfällt, je leistungsstärker der Prozessor ist. Benchmark STREAM SPECint_rate_base2006 Prozessortyp 4-way High-core-count 3-way 2-way 1-way 1.00 0.54 0.27 Medium-core-count 1.00 0.52 0.26 Low-core-count 1.00 0.60 0.30 High-core-count 1.00 0.87 0.89 0.68 Medium-core-count 1.00 0.93 0.73 Low-core-count 1.00 0.96 0.82 0.99 Die für diese Untersuchung (und für unten folgende mit derselben Klassifizierung) verwendeten Prozessormodelle waren Xeon E5-2698 v3 für HCC, Xeon E5-2680 v3 für MCC und Xeon E5-2640 v3 für LCC. Der verwendete DIMM Typ war der 16 GB RDIMM in 1DPC Bestückung. Für die kommerzielle Anwendungs-Performance sind die Aussagen zu SPECint_rate_base2006 repräsentativ. Die Verhältnisse bei der durch STREAM ausgedrückten Speicherbandbreite sind als Extremfälle zu verstehen, die in gewissen Anwendungsbereichen, insbesondere im HPC (High-performance Computing) Umfeld, nicht auszuschließen sind. Für die meisten kommerziellen Lasten ist ein solches Verhalten jedoch unwahrscheinlich. Diese Bewertung der Aussagekraft von STREAM und SPECint_rate_base2006 gilt nicht nur für den in diesem Abschnitt behandelten Performance-Aspekt, sondern auch für alle folgenden Abschnitte. Für 2-way und 3-way Interleaving mit moderatem Performance-Verlust kann es gute Gründe geben: eine geringe benötigte Speicherkapazität oder eine Minimierung der DIMM Anzahl zur Energieeinsparung. Vom 1-way Interleaving, das eigentlich kein Interleaving ist und nur der Systematik halber so bezeichnet wird, ist dagegen abzuraten. Die Leistungspotenziale von Prozessoren und Speichersystem stehen in diesem Fall in keinem ausgewogenen Verhältnis. Wegen ihrer Ausstattung mit zwei Speicher-Controllern unterstützen die Prozessoren der Klassen HCC und MCC kein 3-way Interleaving. Damit stellt sich die Frage, was passiert, wenn in Konfigurationen mit diesen Prozessoren drei DIMM Streifen pro Prozessor gesteckt werden. Es handelt sich dann um Beispiele für die Notwendigkeit der Segmentierung des physikalischen Addressraums in Bereiche mit unterschiedlichem Interleaving. Weitere Beispiele für diese Notwendigkeit sind Bestückungen mit unterschiedlichen Teilkapazitäten pro Speicherkanal (GB pro Kanal). Diese können entstehen, wenn mit DIMMs unterschiedlicher Größe bestückt wird, oder bei Bestückungen mit fünf oder mehr DIMMs gleicher Größe. Allen diesen Beispielen ist gemeinsam, dass sich kein einheitliches Adressraumsegment durch Alternieren über die Speicherkanäle aufbauen lässt. Das Alternieren muss immer „aufgehen“. Durch Gruppierung der vorhandenen DIMMs wird in diesen Fällen angestrebt, Segmente mit möglichst hohem Interleaving zu erzeugen. Die folgende Tabelle gibt hierzu zwei Beispiele. Die Notation in der linken Spalte der Tabelle zeigt für jeden der vier Kanäle pro CPU die Anzahl der gesteckten DIMMs. Die Speicher-Performance einer Anwendung kann im Fall der Segmentierung schwanken, je nachdem, aus welchem Segment die Anwendung mit Speicher bedient wird. In sensiblen Anwendungsfällen kann dieses Phänomen ein Grund sein, Konfigurationen mit Segmentierungsbedarf zu vermeiden. Seite 20 (25) http://www.fujitsu.com/de/primergy White Paper Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme DIMM Bestückungsbeispiele (pro CPU) mit Segmentierungsbedarf 1–1–1–0 (HCC und MCC) 2–1–1–1 Version: 1.0 2015-01-30 Addressraum-Segmente Größe / Interleave 1–0–1–0 66% des Adressraums / 2-way 0–1–0–0 33% des Adressraums / 1-way 1–1–1–1 80% des Adressraums / 4-way 1–0–0–0 20% des Adressraums / 1-way Speicherfrequenz Die Einflüsse auf die effektive Speicherfrequenz wurden oben ausführlich behandelt. Große Speicherausbauten (3DPC Konfigurationen) und Energieeinsparung (gesteuert über den BIOS Parameter DDR Performance) können Gründe sein, dass die effektive Taktung geringer ist, als vom Prozessortyp maximal unterstützt. Die folgenden Tabellen dürften hilfreich sein, diese Einflüsse gegeneinander abzuwägen. Die quantitativen Aussagen sind in der ersten Tabelle bezogen auf die allen Messreihen gemeinsame unterste Speichertaktung 1333 MHz. Die zweite Tabelle zeigt dieselbe Information aus anderer Perspektive. Hier sind die Aussagen auf den jeweiligen Idealfall bezogen, die pro Prozessorklasse höchstmögliche Taktung. Benchmark STREAM SPECint_rate_base2006 Benchmark STREAM SPECint_rate_base2006 Prozessortyp 1333 MHz 1600 MHz 1866 MHz 2133 MHz DDR4-2133 1.00 1.18 1.36 1.51 DDR4-1866 1.00 1.15 1.21 DDR4-1600 1.00 1.04 DDR4-2133 1.00 1.03 1.04 DDR4-1866 1.00 1.02 1.02 DDR4-1600 1.00 1.00 Prozessortyp 1333 MHz 1600 MHz 1866 MHz 2133 MHz DDR4-2133 0.66 0.78 0.90 1.00 DDR4-1866 0.83 0.95 1.00 DDR4-1600 0.96 1.00 DDR4-2133 0.96 0.98 0.99 DDR4-1866 0.98 0.99 1.00 DDR4-1600 1.00 1.00 1.05 1.00 Die für diese Untersuchung verwendeten Prozessormodelle waren Xeon E5-2680 v3 für DDR4-2133, Xeon E5-2640 v3 für DDR4-1866 und Xeon E5-2609 v3 für DDR4-1600. Der verwendete DIMM Typ war der 16 GB RDIMM in 1DPC Bestückung. Die BIOS Einstellung DDR Performance = Energy optimized führt grundsätzlich zur Taktung mit 1333 MHz. Das Potenzial für hierdurch erreichbare Energieeinsparungen ist jedoch sehr gering, da sich der Energieverbrauch in erster Linie aus der DIMM Spannung ergibt, weniger aus der Speicherfrequenz. Die Spannung beträgt bei den neuen DDR4 Modulen stets 1.2 V, ein geringerer und damit sparsamerer Wert als die mindestens 1.35 V der DDR3 Generation. Von der Einstellung Energy optimized ist deshalb eher abzuraten. Für den Fall, dass eine abgesenkte Speicherfrequenz in Zusammenhang mit der Speicherkapazität steht, sei ein Sachverhalt der Vollständigkeit halber noch erwähnt. Die Speicherkapazität kann einen impliziten Einfluss auf die Anwendungs-Performance haben, etwa in Form von I/O-Raten. Ein solcher Einfluss ist in der diesem Abschnitt zu Grunde liegenden Untersuchung selbstverständlich nicht berücksichtigt. In den Vergleichen der Tabelle ist die unterschiedliche Speichertaktung der einzige Performance-Einfluss. http://www.fujitsu.com/de/primergy Seite 21 (25) White Paper Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme Version: 1.0 2015-01-30 Interleaving über die DIMM Ranks Die Methode des Alternierens über Speicherressourcen beim Aufbau des physikalischen Adressraums lässt sich vom Interleaving über die Speicherkanäle auf ein Interleaving über die in einem Kanal befindlichen Ranks fortsetzen. Die Steuerung des Rank Interleaving erfolgt unmittelbar über Adressbits. Die beim Kanal Interleaving zur Herstellung des 3-way Falls ausgeführte Bitarithmetik wird nicht gemacht. Aus diesem Grund kommt nur ein Interleaving in Zweierpotenzen in Frage, d.h. es gibt nur ein 2-way, 4-way oder 8-way Rank Interleave. Eine ungerade Anzahl Ranks im Speicherkanal führt stets zum 1-way Interleave, das nur der Systematik halber als Interleave bezeichnet wird: bei 1-way wird ein Rank ausgeschöpft, bevor zum nächsten gewechselt wird. Die Granularität des Rank Interleaving ist größer als beim Interleaving über die Kanäle. Das letztere war an der 64 Bytes Cache Line Size ausgerichtet. Das Rank Interleaving orientiert sich an der 4 KB Seitengröße der Betriebssysteme und steht in Zusammenhang mit der Physik von DRAM Speicher. Speicherzellen sind in grober Beschreibung zweidimensional angeordnet. Es wird eine Zeile (engl. „Page“) eröffnet und anschließend eine Spaltenposition ausgelesen. Solange die Zeile offen ist, können weitere Spaltenwerte mit deutlich geringerer Latenz ausgelesen werden. Das gröbere Rank Interleaving ist auf diese Eigenschaft abgestimmt. An dieser Stelle kann im Übrigen auf eine weitere Verbesserung durch die DDR4 Technologie hingewiesen werden. Bei DDR3 gab es maximal acht offene Zeilen pro DRAM Chip. Bei DDR4 hat sich dieser Wert verdoppelt. Dadurch erhöht sich bei DDR4 die Wahrscheinlichkeit, auf eine bereits offene Zeile zuzugreifen. Die Anzahl der Ranks pro Speicherkanal ergibt sich aus DIMM Typ und DPC Wert der Bestückung. Die Tabelle ist auf ein 4-way Interleaving bezogen. Dieser Fall ist in den meisten Standard-Benchmarks für PRIMERGY Server gegeben. 2DPC Konfigurationen mit größeren RDIMMs liefern in der Regel das beste Verhältnis zwischen Speicherkapazität und Performance. Das 8-way Interleave, das nur mit LRDIMMs entstehen kann, ergibt gegenüber 4-way keine messbare Verbesserung und wurde weggelassen. Benchmark STREAM SPECint_rate_base2006 Prozessortyp 4-way 2-way 1-way High-core-count 1.00 0.99 0.92 Medium-core-count 1.00 0.99 0.92 Low-core-count 1.00 0.99 0.93 High-core-count 1.00 0.99 0.98 Medium-core-count 1.00 0.99 0.98 Low-core-count 1.00 1.00 0.99 Die Basis dieser Messungen waren 2DPC (4-way) und 1DPC (2-way) Bestückungen mit dual-rank 16 GB RDIMMs. Der 1-way Fall wurde mit denselben DIMMs über eine nur für entwicklungsinterne Testzwecke verfügbare BIOS Option simuliert. 2-way und 4-way Rank Interleaving liefern sehr gute Speicher-Performance. Der winzige zusätzliche Vorteil von 4-way spielt nur dann eine Rolle, wenn es um das allerletzte Quäntchen Performance geht. Er ist in aller Regel vernachlässigbar. Bei 1DPC Bestückungen mit single-rank 8 GB RDIMMs tritt jedoch der 1-way Fall ein, ebenso in Mischkonfigurationen mit beispielsweise dual-rank 16 GB RDIMMs in der ersten Bank und single-rank 8 GB RDIMMs in der zweiten. Die Anzahl Ranks im Speicherkanal (drei) in diesem letzten Beispiel ist keine Zweierpotenz. Hier sollte man sich über einen gewissen Performance-Nachteil – siehe die letzte Spalte der Tabelle – im Klaren sein. In sensiblen Anwendungsfällen, insbesondere mit leistungsstarken Prozessormodellen, sollte dieser Fall vermieden werden. Die DDR4 Speicher-Controller der Xeon E5-2600 v3 Prozessoren unterstützen – nicht anders als früher DDR3 – maximal acht Ranks pro Speicherkanal. Bei Konfigurationen mit LRDIMMs mit mehr als acht physikalischen Ranks bildet die Rank Multiplication Funktion dieses DIMM Typs die physikalischen Ranks auf virtuelle ab. Der Reduzierungsfaktor wird auf 2 gesetzt, so dass maximal sechs virtuelle Ranks entstehen. Es sind dann die virtuellen Ranks, die vom Speicher-Controller gesehen werden und dem Rank Interleaving unterliegen. Seite 22 (25) http://www.fujitsu.com/de/primergy White Paper Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme Version: 1.0 2015-01-30 Optimierung des Cache-Kohärenzprotokolls Zu den Neuerungen im BIOS der Xeon E5-2600 v3 basierten PRIMERGY Server gehört die Option, aus drei Varianten des Protokolls für die Cache-Kohärenz auswählen zu können. Die Erläuterungen hierzu finden sich oben im Abschnitt über die das Speichersystem betreffenden BIOS Optionen. Die folgende Tabelle zeigt die Auswirkung auf die beiden in diesem Dokument untersuchten Lasten bzw. Benchmarks. Die Tabelle ist normiert auf die Performance des Protokolls Early Snoop, weil es sich dabei um den BIOS Default handelt. Die Messungen sind in 1DPC Konfigurationen mit 16 GB RDIMMs erfolgt. Der Blick auf die Tabelle zeigt, dass es sich hierbei um Feintuning im Bereich weniger Prozentpunkte handelt. Bei der Bewertung der Tabelle sollte außerdem bedacht werden, dass beide Benchmarks durch explizite Prozessbindung im Rahmen der Ablaufsteuerung außerordentlich NUMA freundlich sind. Der Modellcharakter von SPECint_rate_base2006 für die kommerzielle Anwendungs-Performance gilt an dieser Stelle deshalb nur eingeschränkt. Benchmark STREAM SPECint_rate_base2006 Prozessortyp Early Snoop Home Snoop Cluster-on-die High-core-count 1.00 1.02 1.01 Medium-core-count 1.00 1.01 1.01 Low-core-count 1.00 1.01 High-core-count 1.00 1.01 1.02 Medium-core-count 1.00 0.99 1.01 Low-core-count 1.00 0.99 Zugriff auf fernen Speicher Bei den bisher beschriebenen Untersuchungen mit den Benchmarks STREAM und SPECint_rate_base2006 wurde ausschließlich lokaler Speicher verwendet, d.h. der Prozessor greift auf DIMM Module seiner eigenen Speicherkanäle zu. Es kommt nicht oder kaum zum Zugriff auf Module des Nachbarprozessors über die QPI Links. Diese Situation ist insofern repräsentativ, als sie dank der NUMA Unterstützung in Betriebssystem und systemnaher Software auch für den überwiegenden Anteil an Speicherzugriffen realer Anwendungen gegeben ist. Die folgende Tabelle zeigt die Auswirkung der BIOS Einstellung NUMA = disabled im Fall einer ansonsten idealen Speicherkonfiguration, d.h. einer 4-way Rank-interleaved Performance Mode Konfiguration mit 16 GB RDIMMs unter der pro Prozessortyp höchstmöglichen Speicherfrequenz. Die PerformanceVerschlechterung tritt ein, weil statistisch jeder zweite Speicherzugriff auf einen fernen, d.h. dem Nachbarprozessor zugeordneten DIMM erfolgt, und die Daten den Umweg über die QPI Links nehmen müssen. Benchmark STREAM SPECint_rate_base2006 Prozessortyp NUMA = enabled NUMA = disabled High-core-count 1.00 0.78 Medium-core-count 1.00 0.65 Low-core-count 1.00 0.79 High-core-count 1.00 0.95 Medium-core-count 1.00 0.95 Low-core-count 1.00 0.94 Der physikalische Adressraum wird bei NUMA = disabled durch ein zusätzliches feinmaschiges Alternieren zwischen den Prozessoren aufgebaut. Dieses Alternieren setzt die gleiche Speicherkapazität an beiden Prozessoren voraus. Ist diese Randbedingung nicht gegeben, so erfolgt wiederum eine Zerlegung des Adressraums in einen Hauptteil, der das inter-socket Interleaving zulässt, und einen prozessorlokalen Rest. http://www.fujitsu.com/de/primergy Seite 23 (25) White Paper Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme Version: 1.0 2015-01-30 Das Experiment mit der Einstellung NUMA = disabled wurde weniger wegen der Ausnahmefälle unternommen, in denen diese Einstellung empfohlen wird, weil die NUMA Unterstützung in System- oder systemnaher Software fehlt oder unbefriedigend ist. Das Experiment ist vor allem hilfreich, die Auswirkung eines überwiegenden oder ausschließlichen Zugriffs auf fernen Speicher abzuschätzen. Dieser Fall kann eintreten, wenn sich die pro Prozessor konfigurierten Speicherkapazitäten stark unterscheiden. Der Performance-Verlust gegenüber lokalem Zugriff kann dann bis zum Doppelten des in der Tabelle angegebenen Verlusts betragen. In dieser Tabelle zeigt der prozentuale Verlust nicht ganz dieselbe Regelmäßigkeit wie in den früheren Tabellen. Es gilt nicht notwendigerweise: je stärker der Prozessor, desto größer der Verlust. Dies liegt am Einfluss der für die Prozessortypen unterschiedlichen QPI Taktung zwischen 6.4 und 9.6 GT/s. Die QPI Links sind das Bottleneck der Bandbreitenmessung bei abgeschalteter NUMA Unterstützung. Speicher-Performance unter Redundanz Für die Xeon E5-2600 v3 basierten PRIMERGY Server gibt es zwei Redundanzoptionen. Beim Mirroring sind alle vier Speicherkanäle eines Prozessors identisch bestückt (die Bestückungsvorschrift deckt sich mit der der Performance Mode Konfigurationen), aber zwei Kanäle spiegeln die anderen zwei. Dem Betriebssystem stehen 50% des tatsächlich konfigurierten Speichers zur Verfügung. Beim Sparing oder genauer Rank Sparing ist ein Rank pro Speicherkanal unbenutzter Ersatz für den Fall, dass ein aktiver Rank wegen sich häufender Speicherfehler vorsorglich außer Betrieb genommen wird. Die für das Betriebssystem verfügbare Nettospeicherkapazität hängt in diesem Fall von DIMM Typ und DPC Wert ab. Die genaue Rechnung sowie die Randbedingungen der Sparing Mode DIMM Bestückungen finden sich in den Konfiguratoren der jeweiligen PRIMERGY Modelle. Die Tabelle zeigt die Auswirkung, wenn die Redundanzoptionen im Fall einer ansonsten idealen Speicherkonfiguration aktiviert werden, d.h. einer Performance Mode Konfiguration mit 16 GB RDIMMs unter jeweils höchstmöglicher Speicherfrequenz. Die Spalten der Tabelle entsprechen den Optionen des BIOS Parameters Memory Mode. Die Spalte Sparing ist identisch mit dem oben im Abschnitt Interleaving über die DIMM Ranks gezeigten 1-way Rank Interleaving, weil ein Reserve-Rank in der Regel zu einer ungeraden Anzahl aktiver Ranks führt. Die Spalte Mirroring ist mit dem oben im Abschnitt Interleaving über die Speicherkanäle gezeigten 2-way Interleaving hingegen nicht identisch, weil beide Hälften des Spiegels für den lesenden Zugriff genutzt werden können. Der Verlust ist geringer als beim 2-way Kanal-Interleaving. Benchmark STREAM SPECint_rate_base2006 Seite 24 (25) Prozessortyp Normal Mirroring Sparing High-core-count 1.00 0.72 0.92 Medium-core-count 1.00 0.70 0.92 Low-core-count 1.00 0.82 0.93 High-core-count 1.00 0.97 0.98 Medium-core-count 1.00 0.98 0.98 Low-core-count 1.00 0.99 0.99 http://www.fujitsu.com/de/primergy White Paper Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme Version: 1.0 2015-01-30 Literatur PRIMERGY Server [L1] http://primergy.de/ Speicher-Performance [L2] Dieses White Paper: http://docs.ts.fujitsu.com/dl.aspx?id=74eb62e6-4487-4d93-be34-5c05c3b528a6 http://docs.ts.fujitsu.com/dl.aspx?id=571dd497-136c-4699-90d2-adff5d33a74c http://docs.ts.fujitsu.com/dl.aspx?id=342460c7-d7ec-4a7c-ade8-c33016154215 [L3] Speicher-Performance Xeon E5-2600 v2 (Ivy Bridge-EP) basierter Systeme http://docs.ts.fujitsu.com/dl.aspx?id=9c2f6975-753c-47b8-821a-b54caf030979 Benchmarks [L4] STREAM http://www.cs.virginia.edu/stream/ [L5] SPECcpu2006 http://docs.ts.fujitsu.com/dl.aspx?id=04351fd2-8a69-42a3-ba1c-4342dcc89b89 BIOS Einstellungen [L6] BIOS-Optimierungen für Xeon E5-2600 v3 basierte Systeme http://docs.ts.fujitsu.com/dl.aspx?id=b0877217-e9ef-4c7b-943d-299c0a4c4637 PRIMERGY Performance [L7] http://www.fujitsu.com/de/x86-server-benchmarks Kontakt FUJITSU Website: http://www.fujitsu.com/de/ PRIMERGY Product Marketing mailto:[email protected] PRIMERGY Performance und Benchmarks mailto:[email protected] © Copyright 2015 Fujitsu Technology Solutions. Fujitsu und das Fujitsu Logo sind Handelsnamen und/oder eingetragene Warenzeichen von Fujitsu Ltd. in Japan und anderen Ländern. Andere Firmen-, Produkt- und Servicebezeichnungen können Marken oder eingetragene Marken der jeweiligen Eigentümer sein. Änderung von technischen Daten sowie Lieferbarkeit vorbehalten. Haftung oder Garantie für Vollständigkeit, Aktualität und Richtigkeit der angegebenen Daten und Abbildungen ausgeschlossen. Wiedergegebene Bezeichnungen können Marken und/oder Urheberrechte sein, deren Benutzung durch Dritte für eigene Zwecke die Rechte der Inhaber verletzen kann. Weitere Einzelheiten unter http://www.fujitsu.com/de/resources/navigation/terms-of-use.html 2015-01-30 WW DE http://www.fujitsu.com/de/primergy Seite 25 (25)