BIOS-Optimierungen für Xeon E5-2600 v3 basierte Systeme
Transcription
BIOS-Optimierungen für Xeon E5-2600 v3 basierte Systeme
White Paper BIOS-Optimierungen für Xeon E5-2600 v3 basierte Systeme White Paper FUJITSU Server PRIMERGY BIOS-Optimierungen für Xeon E5-2600 v3 basierte Systeme In diesem Dokument werden BIOS-Einstellungen erläutert, die für die Intel Xeon E5-2600 v3 basierte PRIMERGY Server Generation (PRIMERGY BX2560 M1, BX2580 M1, CX2550 M1, CX2570 M1, RX2510 M1, RX2530 M1, RX2540 M1, RX2560 M1, TX2560 M1) gelten. Es dient dazu, die BIOS-Einstellungen entsprechend den Anforderungen zu optimieren. Dabei werden die Zielsetzungen verfolgt, die PRIMERGY Server für beste Performance und höchste Energieeffizienz zu optimieren. Neben der Optimierung auf höchsten Durchsatz werden ebenfalls Anwendungsszenarien berücksichtigt, bei denen es auf eine möglichst geringe Antwortzeit ankommt. Version 1.2 2015-11-26 http://www.fujitsu.com/de/primergy Seite 1 (20) White Paper BIOS-Optimierungen für Xeon E5-2600 v3 basierte Systeme Version: 1.2 2015-11-26 Inhalt Dokumenthistorie ................................................................................................................................................ 2 Übersicht ............................................................................................................................................................. 3 Anwendungsszenarien ....................................................................................................................................... 4 Performance .................................................................................................................................................... 4 Low-Latency .................................................................................................................................................... 4 Energieeinsparung / Energieeffizienz ............................................................................................................. 5 PRIMERGY BIOS-Optionen ............................................................................................................................... 6 Empfehlungen zur Optimierung ...................................................................................................................... 6 BIOS-Optionen Details .................................................................................................................................... 9 Literatur ............................................................................................................................................................. 19 Kontakt .............................................................................................................................................................. 20 Dokumenthistorie Version 1.0 Erstausgabe Version 1.1 Beschreibung der BIOS-Option „CPU C3/C6 Report“ erweitert Kleinere Korrektur Version 1.2 PRIMERGY RX2510 M1 hinzugefügt Seite 2 (20) http://www.fujitsu.com/de/primergy White Paper BIOS-Optimierungen für Xeon E5-2600 v3 basierte Systeme Version: 1.2 2015-11-26 Übersicht Die Fujitsu PRIMERGY Server sind bereits bei der Auslieferung ab Werk mit BIOS-Standardeinstellungen konfiguriert, die für die gängigsten Anwendungsszenarien ein optimales Verhältnis zwischen Performance und Energieeffizienz bieten. Dennoch gibt es Situationen, in denen es erforderlich sein kann, von den Standardeinstellungen abzuweichen und damit den Server je nach Anforderung für den maximal möglichen Durchsatz (Performance), die minimal mögliche Latenz (Low-Latency), oder für die maximal mögliche Energieeinsparung (Energieeffizienz) zu konfigurieren. Für diese drei Szenarien, die im Folgenden näher erläutert werden, bietet dieses Dokument Best-Practice Empfehlungen für optimale BIOS-Einstellungen. Bei der Optimierung der PRIMERGY Server muss neben den reinen BIOS-Einstellungen auch das Gesamtsystem betrachtet werden. Bei der Planung von Server-Systemen müssen insbesondere folgende Aspekte berücksichtigt werden: Server Hardware Prozessor: Speicher: I/O Karten: Prozessortyp und Frequenz Speichertyp und Speicherbestückung Optimale Verteilung mehrerer Karten über PCIe Slots Betriebssystem und Anwendungssoftware Energiesparplan: Performance oder Energieeffizienz Tuning: Kernel, Registry, Interrupt Bindung, Thread Aufteilung Netzwerk Netzwerk Technologie: Netzwerk Architektur: 1/10/40 Gbit Ethernet, Fibre Channel, Infiniband, RDMA Switche, Multichannel Storage Technologie: Disks: RAID, Fibre Channel, Direct Attached HDD, SSD, SATA, SAS http://www.fujitsu.com/de/primergy Seite 3 (20) White Paper BIOS-Optimierungen für Xeon E5-2600 v3 basierte Systeme Version: 1.2 2015-11-26 Anwendungsszenarien Performance Die heutigen 2-Sockel PRIMERGY Server, basierend auf der Intel Xeon E5-2600 v3 Prozessorgeneration, bringen durch die neuste Multi-Prozessor, Multi-Core und MultiThreading Technologie im Zusammenspiel mit aktuellen Betriebssystemen und Applikationen ein Höchstmaß an Performance, wie es zahlreiche Benchmark-Veröffentlichungen bei der Standard Performance Evaluation Corporation (SPEC), SAP oder bei dem Transaction Processing Performance Council (TPC) beweisen. Spricht man über Performance von Servern, dann ist damit in den meisten Fällen der Durchsatz gemeint. Die Anwender, denen es auf die maximale Performance ankommt, sind daran interessiert so viele Rechenoperationen wie möglich parallel auszuführen und möglichst alle Ressourcen der neuen parallelen Prozessorgeneration auszunutzen. Obwohl die PRIMERGY Server mit den Standardeinstellungen bereits ein optimales Verhältnis zwischen Performance und Energieeffizienz bieten, besteht die Möglichkeit über das BIOS das System noch mehr in Richtung Performance und weniger in Richtung Energieeffizienz zu optimieren. Im Wesentlichen geht es bei der Optimierung darum alle Komponenten im System möglichst mit maximaler Geschwindigkeit zu betreiben und zu verhindern, dass Energiesparoptionen das System verlangsamen. Deshalb ist eine Optimierung in Richtung maximaler Performance in den meisten Fällen auch mit einer erhöhten elektrischen Leistungsaufnahme verbunden. Low-Latency Eine minimal mögliche Latenz ist eine Anforderung, die insbesondere aus dem High Performance Computing (HPC) Bereich und von Anwendungen aus dem Finanzmarkt kommt, bei denen es darum geht, Millionen von Transaktionen pro Sekunde und Daten ohne Verzögerung möglichst in Echtzeit zu verarbeiten. Anwendern aus diesem Segment geht es bei der Optimierung der Systeme nicht vorrangig darum den maximal möglichen Durchsatz zu erzielen, sondern vielmehr darum die Geschwindigkeit jeder einzelnen Transaktion zu erhöhen, sprich die Zeit, die für die Ausführung einer einzelnen Transaktion benötigt wird, zu reduzieren. In solchen Fällen liegt der Fokus auf der Antwortzeit eines Systems, der sogenannten Latenz (typischerweise gemessen in Nanosekunden, Mikrosekunden oder Millisekunden). Um diese zu reduzieren bietet das BIOS unterschiedliche Möglichkeiten. So kann man einerseits, z.B. wenn bekannt ist, dass die entsprechende Anwendung nicht alle in der Hardware verfügbaren Threads effizient ausnutzt, nicht benötigte Threads (Hyper-Threading) oder gar Cores im BIOS abschalten, um so die anderenfalls, speziell bei einigen HPC Anwendungen auftretenden minimalen Performance-Schwankungen bei Rechenoperationen zu reduzieren. Darüber hinaus kann das Abschalten von nicht benötigten Cores die Turbo-Mode-Performance der verbleibenden Cores unter bestimmten Einsatzbedingungen verbessern. Andererseits gibt es Szenarien, die eine möglichst konstante Performance benötigen. In diesem Fall ist es geboten, die Antwortzeit konstant zu halten, indem man Konfigurationen meidet, in denen, wie beim Turbo-Mode, Frequenzwechsel vorkommen können. Obwohl die aktuelle Generation der Intel Prozessoren eine deutlich bessere Turbo-Mode-Performance liefert als die Vorgängergeneration, ist die maximale Turbo-Mode-Frequenz unter bestimmten Einsatzbedingungen nicht garantiert. In solchen Fällen kann das Abschalten des Turbo-Modes helfen Frequenzwechsel zu vermeiden. Ebenfalls negativ auf die Antwortzeit wirken sich Energiesparfunktionen aus, welche das Ziel haben, durch Frequenz-/Spannungsreduzierung und das Deaktivieren bestimmter Funktionsblöcke und Komponenten, Energie einzusparen, wann immer es möglich ist. Dabei gilt: je höher ein solcher Energiesparmodus ist, desto geringer ist die Performance. Des Weiteren benötigt der Prozessor in jedem dieser Stromsparzustände eine gewisse Zeit um von der reduzierten Performance wieder auf die maximale Performance zu wechseln. Diese Zeit verschlechtert die Latenz des Systems, insbesondere dann, wenn nach einer Ruhezeit (Idle-Zustand) ein Burst von Transaktionen ansteht, oder bei unregelmäßiger Auslastung des Systems. Für Anwender aus dem „Low-Latency“ Segment erklärt dieses Dokument, wie die Energiesparmodi zu konfigurieren sind, um die Latenz des Systems so gering wie möglich halten. Die Optimierung der Latenz eines Servers hat speziell im Idle-Zustand immer eine deutlich höhere elektrische Leistungsaufnahme zur Folge. Anmerkung zu „Performance“ und „Low-Latency“: Bei I/O-kritischen Anwendungen kann der maximale Durchsatz oder die minimale Latenz des I/O-Systems von Bedeutung sein. Diese Messgrößen haben im Zusammenhang mit dem I/O-System eine andere Bedeutung als im Zusammenhang mit den Prozessoren. So bedeutet z. B. der I/O-Durchsatz die Menge der pro Zeiteinheit durch das I/O-System übertragenen Daten. Zur Erzielung eines maximalen I/O-Durchsatzes oder einer minimalen I/O-Latenz muss die BIOS-Optimierung der Prozessoren nicht unbedingt auf Seite 4 (20) http://www.fujitsu.com/de/primergy White Paper BIOS-Optimierungen für Xeon E5-2600 v3 basierte Systeme Version: 1.2 2015-11-26 maximalen Durchsatz von Rechenoperationen (hier „Performance“) bzw. „Low-Latency“ eingestellt sein. In den meisten Fällen sind die BIOS-Standardeinstellungen hierfür optimal und liefern in Verbindung mit optimal eingestellten I/O-Komponenten fast immer auch die für diese Komponenten maximal möglichen Werte. Bei sehr hohen I/O-Anforderungen (typischerweise bei SSDs) können in seltenen Fällen diese Zielwerte verfehlt werden. Hier kann es helfen, entweder die BIOS-Option „Uncore Frequency Override“ auf „Enabled“ oder die BIOS-Option „Utilization Profile“ zu setzen (siehe detaillierte Beschreibung im jeweiligen Abschnitt). Energieeinsparung / Energieeffizienz Neben den Szenarien für maximalen Durchsatz und minimale Latenz gibt es auch Umgebungen, in denen nicht die reine Performance die größte Rolle spielt, sondern der Energieverbrauch. Dabei werden zwei unterschiedliche Zielsetzungen verfolgt. Zum einen besteht die Möglichkeit die BIOS-Optionen so zu wählen, dass in jedem Fall die niedrigstmögliche elektrische Leistungsaufnahme erreicht wird. Dies ist beispielsweise eine Option für Rechenzentrumsbetreiber, denen nur ein begrenztes Budget an elektrischer Leistung zur Verfügung steht und das Ziel verfolgt wird, die elektrische Leistungsaufnahme pro Rack bzw. pro Server zu reduzieren, wobei Performance nur eine untergeordnete Rolle spielt. Optimierungen in diese Richtung bestehen hauptsächlich darin, die Geschwindigkeit und damit die Performance des Servers zu reduzieren. Auf der anderen Seite besteht die Möglichkeit, einen Server so zu konfigurieren, dass dieser das bestmögliche Verhältnis zwischen Durchsatz und elektrischer Leistungsaufnahme liefert. Erst hierdurch wird die optimale Energieeffizienz eines Servers erreicht (gemessen in Performance pro Watt). Eine solche Optimierung streben insbesondere Rechenzentrumsbetreiber an, für die die maximale Performance eines Servers nur eine zweitrangige Bedeutung hat und es wichtiger ist die Gesamtbetriebskosten zu optimieren. Zahlreiche Veröffentlichungen bei der Standard Performance Evaluation Corporation (SPEC) mit dem ersten Industrie-Standard-Benchmark zur Messung der Energieeffizienz von Servern, dem SPECpower_ssj2008, sowie SAP Server Power Benchmark und VMmark V2 Performance with Server Power beweisen, dass PRIMERGY Server die beste Wahl für energieeffiziente Server sind. http://www.fujitsu.com/de/primergy Seite 5 (20) White Paper BIOS-Optimierungen für Xeon E5-2600 v3 basierte Systeme Version: 1.2 2015-11-26 PRIMERGY BIOS-Optionen Dieses White Paper beinhaltet Hinweise zu BIOS-Optionen, die für die Intel Xeon E5-2600 v3 basierten PRIMERGY Server gelten. Diese sind: PRIMERGY BX2560 M1 PRIMERGY BX2580 M1 PRIMERGY CX2550 M1 PRIMERGY CX2570 M1 PRIMERGY RX2510 M1 PRIMERGY RX2530 M1 PRIMERGY RX2540 M1 PRIMERGY RX2560 M1 PRIMERGY TX2560 M1 Das BIOS der PRIMERGY Server wird kontinuierlich weiterentwickelt. Deshalb ist es wichtig, die jeweils aktuelle BIOS-Version zu verwenden, um alle hier aufgeführten BIOS-Funktionalitäten verfügbar zu haben. Entsprechende Downloads stehen im Internet unter http://www.fujitsu.com/de/support/ zur Verfügung. Empfehlungen zur Optimierung In den folgenden Tabellen sind Empfehlungen für BIOS-Optionen aufgeführt, welche die PRIMERGY Server entweder für beste Performance, Low-Latency oder für höchste Energieeffizienz optimieren. Um die BIOSOptionen zu ändern, muss zunächst während des Selbsttests des Systems (Power On Self Test = POST) das BIOS-Setup aufgerufen werden. Weitere Informationen dazu sind im Handbuch des Servers zu finden. Viele der hier aufgeführten BIOS-Optionen haben Abhängigkeiten untereinander. Dies kann dazu führen, dass gewisse Änderungen bestimmter Optionen alleine ein unerwünschtes Systemverhalten bewirken bzw. erst dann die gewünschte Wirkung zeigen, wenn gleichzeitig auch weitere Optionen geändert werden. Bevor an den in den folgenden Tabellen enthaltenen BIOS-Optionen Änderungen vorgenommen werden, wird ausdrücklich empfohlen, die Fußnoten und die anschließende Beschreibung der BIOS-Optionen zu beachten. Darüber hinaus sollten jegliche Änderungen zunächst in einer Testumgebung auf die gewünschte Wirkung untersucht werden, bevor diese dann auf die Produktivumgebung übertragen werden. Neben den Empfehlungen für BIOS-Optionen sollte bei der Planung eines Server-Systems auch der Auswahl und dem Tuning des Betriebssystems besondere Beachtung geschenkt werden. Je nach Einsatz können die Auswahl eines bestimmten Betriebssystems und dessen Tuning Einfluss auf Performance, Latenz und Energieeffizienz haben. Zusätzliche Informationen bezüglich des Tunings für einzelne Betriebssysteme sind unter den folgenden Links zu finden. Microsoft Windows: http://msdn.microsoft.com/en-us/library/windows/hardware/dn529134 RedHat Linux: https://access.redhat.com/articles/221153 https://access.redhat.com/documentation/enUS/Red_Hat_Enterprise_Linux/7/html/Performance_Tuning_Guide/ SUSE Linux: https://www.suse.com/documentation/sles11/pdfdoc/book_sle_tuning/ book_sle_tuning.pdf VMware vSphere: http://www.vmware.com/files/pdf/techpaper/VMW-Tuning-Latency-SensitiveWorkloads.pdf Seite 6 (20) http://www.fujitsu.com/de/primergy White Paper BIOS-Optimierungen für Xeon E5-2600 v3 basierte Systeme Version: 1.2 2015-11-26 Tabelle 1: Übersicht BIOS-Optionen BIOS-Setup-Menü BIOS-Option Einstellungen 1) Performance Low-Latency Energieeffizienz Advanced ASPM Support > PCI Subsystem Settings Disabled L1 Only Disabled Disabled L1 Only Advanced DMI Control > PCI Subsystem Settings GEN 1 GEN 2 GEN 2 GEN 2 GEN 1 Advanced > CPU Configuration Hyper-Threading Disabled Enabled Enabled Disabled Advanced > CPU Configuration Active Processor Cores 0 (All) [1 – n] 0 (All) 1–n Advanced > CPU Configuration [Hardware] [Adjacent Cache Line] Enabled [DCU Streamer] Disabled [DCU Ip] Prefetcher Enabled Enabled Disabled Advanced > CPU Configuration Intel Virtualization Technology Disabled Enabled Disabled Disabled Disabled Advanced > CPU Configuration Power Technology Disabled Energy Efficient Custom Custom Custom Custom Advanced > CPU Configuration Enhanced SpeedStep Disabled 7) Enabled Enabled Enabled Enabled Advanced > CPU Configuration Turbo Mode Disabled Enabled Enabled Disabled Advanced > CPU Configuration Override OS Energy 7) Performance Disabled Enabled Enabled Enabled Disabled Performance Balanced Performance Performance Balanced Energy Energy Efficient Performance Energy Efficient Even Unbalanced Even Unbalanced Even Disabled Enabled Enabled Disabled Enabled Disabled Enabled Disabled Disabled Enabled Disabled Enabled Enabled Disabled Enabled Advanced > CPU Configuration 7) Energy Performance 10) Advanced > CPU Configuration Utilization Profile Advanced > CPU Configuration CPU C1E Support Advanced > CPU Configuration CPU C3 Report 7) Advanced > CPU Configuration CPU C6 Report 7) 1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 10) 7) 6) 3) 4) 2) Enabled 0 (All) 8) 5) Disabled 9) Die fett gedruckte Einstellung ist der Standardwert. GEN 1 wird empfohlen bei niedriger Chipsatz I/O Auslastung (USB, onboard SATA und onboard LAN bei Servern der CX-Modellreihe); anderenfalls ist GEN 2 einzustellen. Hyper-Threading verdoppelt die Anzahl logischer Cores, jedoch kann dies auch zu Performance-Schwankungen bei Rechenoperationen führen. Das Abschalten kann die Latenz verbessern. Durch Einschränken der Anzahl aktiver Cores bei Anwendungen, die single-threaded sind, oder Anwendungen, die nicht alle Threads der CPU nutzen, kann die Turbo-Mode-Performance verbessert werden. Das Ausschalten („Disabled“) der Prefetcher steigert nur dann die Energieeffizienz, wenn die Performance gleich bleibt, oder sich verbessert. Dies sollte im Vorhinein überprüft werden. Wenn Virtualisierung nicht verwendet wird, sollte diese Option auf „Disabled“ gesetzt werden. Diese Option ist nur sichtbar, wenn die Einstellung für „Power Technology“ auf „Custom“ geändert wird. Die maximale Turbo-Mode-Performance ist nicht unter allen Betriebsbedingungen garantiert, was zu Schwankungen in der Performance führen kann. Für eine stabile und gleichbleibende Antwortzeit sollte die „Turbo Mode“ Option auf „Disabled“ gesetzt werden. Wenn das eingesetzte Betriebssystem in der Lage ist, die „energy efficient policy“ für die CPUs einzustellen, dann sollten die Einstellungen für die „Energy Performance“-Option über den Energiesparplan des Betriebssystems vorgenommen werden. Ist das Betriebssystem dazu nicht in der Lage, oder möchte man dies nicht diesem überlassen, kann man die Option auf „Enabled“ setzen und die Einstellung über das BIOS vornehmen. Diese Option ist erst dann einstellbar, wenn die Einstellung für „Override OS Energy Performance“ auf „Enabled“ geändert wird. http://www.fujitsu.com/de/primergy Seite 7 (20) White Paper BIOS-Optimierungen für Xeon E5-2600 v3 basierte Systeme BIOS-Setup-Menü BIOS-Option Advanced > CPU Configuration Package C State limit Einstellungen Version: 1.2 2015-11-26 1) Performance Low-Latency Energieeffizienz 7) C0 C2 C6 C6(Retention) C0 C0 C6(Retention) Advanced > CPU Configuration QPI Link Frequency Select 6.4 GT/s 8.0 GT/s 9.6 GT/s Auto Auto Auto 6.4 GT/s Advanced > CPU Configuration Uncore Frequency Override Disabled Enabled Disabled Enabled Disabled Advanced > CPU Configuration COD Enable Disabled Enabled Auto Auto Auto Auto Advanced > CPU Configuration Early Snoop Disabled Enabled Auto Auto Auto Auto Advanced > Memory Configuration DDR Performance Performance optimized Energy optimized Performance optimized Performance optimized Energy optimized Advanced > Memory Configuration Patrol Scrub Disabled Enabled Enabled Disabled Enabled Advanced > USB Configuration Onboard USB Controllers Disabled Enabled Enabled Enabled Disabled 11) 12) 13) 12) 11) 13) Das Einschalten dieser Option kann bei Anwendungen mit hoher I/O Auslastung, aber geringer bis gar keiner Core Auslastung von Vorteil sein. Die PRIMERGY RX2510 M1 unterstützt den Snoop Modus Cluster on Die (COD) nicht. Um Performance-Einbußen zu vermeiden sollte diese Option für die PRIMERGY RX2510 M1 nicht eingeschaltet („Enabled“) werden. Das Ausschalten dieser Option verhindert die Nutzung von internen oder externen USB Geräten. Seite 8 (20) http://www.fujitsu.com/de/primergy White Paper BIOS-Optimierungen für Xeon E5-2600 v3 basierte Systeme Version: 1.2 2015-11-26 BIOS-Optionen Details ASPM Support BIOS-Setup-Menü BIOS-Option Advanced ASPM Support > PCI Subsystem Settings Einstellungen Performance Low-Latency Energieeffizienz Disabled L1 Only Disabled Disabled L1 Only ASPM steht für „Active State Power Management“ und erlaubt es, die PCIe-Links zu den PCIe-Geräten in unterschiedliche Stromsparmodi zu versetzen um dadurch die Leistungsaufnahme zu reduzieren. Mit der Einstellung „L1 Only“ kann das System je nach Aktivität des PCIe-Links diesen in den energieeffizientesten Stromsparmodus versetzen. Das Wechseln der Stromsparmodi bzw. das Verlassen der Stromsparmodi erhöht jedoch die Latenz. Die volle I/O-Performance der PCIe-Geräte wird durch die Einstellung „Disabled“ gewährt. DMI Control BIOS-Setup-Menü BIOS-Option Advanced DMI Control > PCI Subsystem Settings Einstellungen Performance Low-Latency Energieeffizienz GEN 1 GEN 2 GEN 2 GEN 2 GEN 1 DMI steht für „Digital Media Interface“ und stellt die Verbindung zwischen den Intel Prozessoren und dem Chipsatz dar. Dieser Link kann mit unterschiedlichen Geschwindigkeiten betrieben werden. Der Chipsatz stellt unter anderem die Kommunikation zu den onboard LAN-Controllern (nur bei Servern der CXModellreihe), USB-Controllern und onboard SATA-Controllern zur Verfügung. Für Umgebungen, in denen diese vom Chipsatz bereitgestellten Komponenten nur wenig genutzt werden, kann die Geschwindigkeit des DMI-Links von „GEN 2“ auf „GEN 1“ heruntergesetzt werden, um damit die Leistungsaufnahme geringfügig zu reduzieren. Hyper-Threading BIOS-Setup-Menü BIOS-Option Einstellungen Performance Low-Latency Energieeffizienz Advanced > CPU Configuration Hyper-Threading Disabled Enabled Enabled Disabled Enabled Grundsätzlich empfiehlt Fujitsu „Hyper-Threading“ einzuschalten („Enabled“). Dennoch kann es für Anwendungen, die speziell auf möglichst geringe Antwortzeiten Wert legen (z.B. bei Trading-Software aus dem Finanzmarkt oder bei HPC-Anwendungen), sinnvoll sein Hyper-Threading auszuschalten („Disabled“). Anwender aus diesen Bereichen sind meist weniger an dem maximalen Systemdurchsatz interessiert, der durch die zusätzlichen Threads zur Verfügung gestellt wird, als vielmehr an der Performance und Stabilität eines einzelnen Threads. Das Abschalten von Hyper-Threading („Disabled“) kann die damit verbundenen Performance-Schwankungen bei Rechenoperationen verhindern und dadurch die Latenz verbessern. Active Processor Cores BIOS-Setup-Menü BIOS-Option Einstellungen Performance Low-Latency Energieeffizienz Advanced > CPU Configuration Active Processor Cores 0 (All) [1 – n] 0 (All) 1–n 0 (All) Es besteht die Möglichkeit, einzelne Cores eines Prozessors im BIOS abzuschalten (z.B. können 4 Cores auf einem 10-Core Prozessor abgeschaltet werden). Dabei bleibt der L3 Cache in vollem Umfang für die verbleibenden Cores erhalten. Obwohl der maximale Durchsatz nur mit maximaler Anzahl Cores erreicht wird, kann es speziell bei Latenz-sensitiven Anwendungen, die nicht alle Cores ausnutzen, von Vorteil sein, nicht benötigte Cores abzuschalten, um so die maximale Turbo-Mode-Frequenz auf den verbleibenden, aktiven Cores zu ermöglichen. Das funktioniert, weil die abgeschalteten Cores die elektrische Leistungsaufnahme des Prozessors reduzieren und so den verbleibenden Cores höhere Turbo-ModeFrequenzen ermöglichen. Dies muss nicht mit allen Lastprofilen funktionieren, speziell leistungshungrige AVX-Anwendungen können hier eine Ausnahme bilden. Dennoch besteht mit dieser BIOS-Option die http://www.fujitsu.com/de/primergy Seite 9 (20) White Paper BIOS-Optimierungen für Xeon E5-2600 v3 basierte Systeme Version: 1.2 2015-11-26 Möglichkeit, eine Konfiguration mit höchstmöglicher Frequenz und größtmöglicher Cachenutzung zu realisieren. Prefetcher BIOS-Setup-Menü BIOS-Option Einstellungen Performance Low-Latency Energieeffizienz Advanced > CPU Configuration [Hardware] [Adjacent Cache Line] [DCU Streamer] [DCU Ip] Prefetcher Enabled Disabled Enabled Enabled Disabled Das BIOS der PRIMERGY Server enthält mehrere Prefetcher-Optionen. Dazu gehören: Hardware Prefetcher Adjacent Cache Line Prefetch DCU Streamer Prefetcher DCU Ip Prefetcher Die Prefetcher sind Funktionen des Prozessors, die es erlauben, Daten nach bestimmten Mustern vorab aus dem Hauptspeicher in den L1 oder L2-Cache des Prozessors zu laden. Das Einschalten („Enabled”) der Prefetcher sorgt in der Regel für eine höhere Cache-Trefferrate und steigert somit die Gesamtperformance des Systems. Eine Ausnahme bilden Anwendungsszenarien, bei denen der Hauptspeicher voll ausgelastet ist und die Speicheranbindung einen Performanceengpass darstellt. In diesen Fällen kann es von Vorteil sein, die Prefetcher Optionen auf „Disabled“ zu setzen, um so die Bandbreite zusätzlich nutzen zu können, die sonst für das Prefetching aufgebraucht wird. Darüber hinaus kann durch das Ausschalten der Prefetcher auch die Leistungsaufnahme des Servers geringfügig reduziert werden. Bevor die Prefetcher Optionen auf Produktivsystemen geändert werden, sollten in einer Testumgebung zunächst die Wirkung der einzelnen Einstellungen für das jeweilige Anwendungsszenario überprüft werden. Details zu den einzelnen Prefetchern: Hardware Prefetcher Adjacent Cache Line Prefetch DCU Streamer Prefetcher DCU Ip Prefetcher Seite 10 (20) Dieser Prefetcher sucht nach Datenströmen in der Annahme, dass wenn die Daten an Adresse A und A+1 angefordert werden, vermutlich auch die Daten an Adresse A+2 benötigt werden. Diese werden dann vorab in den L2-Cache aus dem Hauptspeicher geladen. Dieser Prefetcher holt immer Cache Line Paare (128 Byte) aus dem Hauptspeicher, vorausgesetzt die Daten befinden sich nicht bereits im Cache. Wenn dieser Prefetcher ausgeschaltet wird, wird immer nur eine einzelne Cache Line (64 Byte) geholt, die die vom Prozessor benötigten Daten beinhaltet. Bei diesem Prefetcher handelt es sich um einen L1-Cache Daten Prefetcher, der erkennt, wenn innerhalb einer bestimmten Zeit mehrfach Daten aus einer Cache Line angefordert werden. In der Annahme, die nächste Cache Line wird ebenfalls benötigt, wird diese dann vorab aus dem L2-Cache oder dem Hauptspeicher in den L1Cache geladen. Dieser L1-Cache Prefetcher sucht nach vorangegangenen sequentiellen Zugriffen und versucht darauf basierend, die als nächstes zu erwartenden Daten zu ermitteln und gegebenenfalls vorab aus dem L2-Cache oder dem Hauptspeicher in den L1-Cache zu laden. http://www.fujitsu.com/de/primergy White Paper BIOS-Optimierungen für Xeon E5-2600 v3 basierte Systeme Version: 1.2 2015-11-26 Intel Virtualization Technology BIOS-Setup-Menü BIOS-Option Einstellungen Performance Low-Latency Energieeffizienz Advanced > CPU Configuration Intel Virtualization Technology Disabled Enabled Disabled Disabled Disabled Diese BIOS-Option schaltet zusätzliche Virtualisierungsfunktionen der CPU ein („Enabled“) oder aus („Disabled“). Wird der Server nicht für Virtualisierung genutzt, sollte diese Option auf „Disabled“ gesetzt werden. Dies kann zu einer Energieeinsparung führen. Power Technology BIOS-Setup-Menü BIOS-Option Einstellungen Advanced > CPU Configuration Disabled Power Technology Energy Efficient Custom Custom Performance Low-Latency Energieeffizienz Custom Custom Die BIOS-Option „Power Technology“ ist eine Obermenge unterschiedlicher BIOS-Optionen, die die Performance und die Power Management Funktionen der Prozessoren steuern. Die Standardeinstellung „Energy Efficient“ stellt bereits eine gute Balance zwischen elektrischer Leistungsaufnahme und Rechenleistung ein. Um die dazugehörigen relevanten Optionen einzublenden und einzeln einzustellen, kann die Einstellung „Custom“ gewählt werden. Die Standardeinstellungen der einzelnen Optionen für die Einstellung „Energy Efficient“ sind in den nachfolgenden Abschnitten jeweils fett gedruckt. Diese BIOSOptionen sind: Enhanced SpeedStep Turbo Mode Override OS Energy Performance Energy Performance Utilization Profile CPU C1E Support CPU C3/C6 Report Package C State limit Die Einstellung „Disabled“ deaktiviert das Power Management der Prozessoren (P-States „Enhanced SpeedStep = Disabled“ und C-States werden deaktiviert) und beschränkt damit gleichzeitig durch das Ausschalten der „Turbo Mode“ Option die maximale Prozessorfrequenz auf die Nominalfrequenz. Enhanced SpeedStep BIOS-Setup-Menü BIOS-Option Einstellungen Performance Low-Latency Energieeffizienz Advanced > CPU Configuration Enhanced SpeedStep Disabled Enabled Enabled Enabled Enabled Enhanced Intel SpeedStep Technology (EIST) ist eine Energiesparfunktion, die es erlaubt einzelnen Cores oder auch dem kompletten Prozessor seine Leistungsfähigkeit bestimmten Lastprofilen anzupassen. Dies wird erreicht, indem Frequenz und Spannung abgesenkt werden, wenn die maximale Rechenleistung nicht benötigt wird, was den Energiebedarf zum Teil erheblich absenkt. Da die Verteilung der Rechenleistung dem Betriebssystem und den dort implementierten Strategien unterliegt (z.B. dem hinterlegten Energiesparplan), empfiehlt Fujitsu die Option „Enhanced SpeedStep“ eingeschaltet („Enabled“) zu lassen. Wird diese Option abgeschaltet („Disabled“) steht auch die Funktion „Turbo Mode“ nicht zur Verfügung, die es erlaubt, kurzfristig mehr Rechenleistung, durch Frequenzerhöhung über die Nominalfrequenz hinaus, zur Verfügung zu stellen. http://www.fujitsu.com/de/primergy Seite 11 (20) White Paper BIOS-Optimierungen für Xeon E5-2600 v3 basierte Systeme Version: 1.2 2015-11-26 Turbo Mode BIOS-Setup-Menü BIOS-Option Einstellungen Performance Low-Latency Energieeffizienz Advanced > CPU Configuration Turbo Mode Disabled Enabled Enabled Disabled Disabled Diese BIOS-Option schaltet die Intel Turbo Boost Technology Funktion des Prozessors ein („Enabled“) bzw. aus („Disabled“). Die Turbo Boost Technology Funktion erlaubt dem Prozessor kurzfristig mehr Rechenleistung durch Frequenzerhöhung über die Nominalfrequenz hinaus zur Verfügung zu stellen. Die maximal erreichbare Frequenz wird dabei von vielen Faktoren beeinflusst - Prozessor-Typ, Anzahl aktiver Prozessor Cores, Stromzufuhr, momentane elektrische Leistungsaufnahme, Temperatur, sowie die auszuführenden Instruktionen (entscheidend dabei ist, ob es sich um AVX oder sogenannte non-AVX Instruktionen handelt). Neben diesen Randbedingungen für die Turbo-Mode-Performance spielt, insbesondere bei HPC-Anwendungen, auch die Güte der Prozessoren eine große Rolle. So führt die Fertigungsvarianz zum Beispiel dazu, dass die einzelnen Prozessoren vom selben Typ bei gleicher Belastung eine unterschiedliche Leistungsaufnahme haben. Grundsätzlich empfiehlt Fujitsu die „Turbo Mode“ Option auf der Standardeinstellung („Enabled“) zu belassen, denn durch die höheren Frequenzen wird die Performance deutlich gesteigert. Da die höheren Frequenzen jedoch abhängig sind von Randbedingungen und nicht immer garantiert sind, kann es für Anwendungsszenarien, in denen eine konstante Performance oder eine niedrigere elektrische Leistungsaufnahme gefordert ist, von Vorteil sein die „Turbo Mode“ Option auszuschalten („Disabled“). Override OS Energy Performance BIOS-Setup-Menü BIOS-Option Einstellungen Advanced > CPU Configuration Override OS Energy Disabled Performance Enabled Performance Low-Latency Energieeffizienz Enabled Enabled Disabled Die neue Generation der Intel Xeon E5-2600 v3 basierten Prozessoren kommt mit einer Vielzahl von Energiesparoptionen. Die sogenannte „Power Control Unit (PCU)“ in den Prozessoren übernimmt dabei die zentrale Rolle der Steuerung all dieser Energiesparoptionen. Die PCU kann parametrisiert werden, um dadurch die Einstellungen mehr in Richtung Energieeffizienz oder in Richtung maximaler Performance zu steuern. Dies kann über zweierlei Wege geschehen. Die Standardeinstellung erlaubt es, die Steuerung der „Energy Performance“-Option durch das Betriebssystem vorzunehmen. Abhängig von dem gewählten Energiesparplan, welcher im Betriebssystem eingestellt wird, wird ein bestimmter Wert in ein CPU-Register geschrieben. Dieses Register wird dann von der PCU ausgewertet und dementsprechend werden die Energiesparfunktionen der CPU gesteuert. Die andere Möglichkeit besteht darin, die „Energy Performance“Option direkt über das BIOS einzustellen und damit die Einstellung des Betriebssystems zu übersteuern. Dies macht insbesondere dann Sinn, wenn z.B. ein älteres Betriebssystem nicht in der Lage ist dieses spezielle CPU Register zu beschreiben, oder aber wenn gewünscht ist, die Energiesparoptionen zentral aus dem BIOS, also betriebssystemunabhängig vorzunehmen. In diesem Fall muss die BIOS-Option „Override OS Energy Performance“ aktiviert („Enabled“) werden. Ist diese Option aktiviert, hat man zusätzlich noch die Möglichkeit Einstellungen für die BIOS-Option „Utilization Profile“ vorzunehmen. Energy Performance BIOS-Setup-Menü Advanced > CPU Configuration BIOS-Option Einstellungen Energy Performance Performance Balanced Performance Performance Balanced Energy Energy Efficient Performance Low-Latency Energieeffizienz Performance Energy Efficient Diese BIOS-Option parametrisiert je nach Einstellung die interne „Power Control Unit (PCU)“ der Intel Prozessoren und optimiert die Power Management Funktionen der Prozessoren zwischen Performance und Energieeffizienz. Mögliche Einstellungen sind „Performance“, „Balanced Performance“, „Balanced Energy“ und „Energy Efficient“. Die Einstellungen sind nur dann aktiv, wenn die BIOS-Option „Override OS Energy Performance“ auf „Enabled“ gesetzt ist. Im anderen Fall übernimmt das Betriebssystem die Aufgabe, die „Energy Performance“-Option über den Energiesparplan einzustellen. Seite 12 (20) http://www.fujitsu.com/de/primergy White Paper BIOS-Optimierungen für Xeon E5-2600 v3 basierte Systeme Version: 1.2 2015-11-26 Utilization Profile BIOS-Setup-Menü BIOS-Option Einstellungen Performance Low-Latency Energieeffizienz Advanced > CPU Configuration Utilization Profile Even Unbalanced Even Unbalanced Even Wenn die BIOS-Option „Override OS Energy Performance“ aktiviert („Enabled“) ist, hat man zusätzlich die Möglichkeit, ein sogenanntes „Utilization Profile“ einzustellen. Über die Option „Utilization Profile“ wird eine Energiesparoption parametrisiert, welche sowohl die QPI als auch die PCIe-Bandbreite überwacht, und anhand der Auslastung versucht, die Prozessor Frequenz anzupassen. Die Standardeinstellung ist „Even“, weil man davon ausgeht, dass die CPU-Last gleichmäßig über alle Prozessoren verteilt ist und so die entsprechende Frequenz anhand der CPU-Auslastung optimal angepasst wird. Dementsprechend sorgt die Einstellung „Even“ für eine weniger aggressive Erhöhung der Prozessor Frequenz. Die Einstellung „Unbalanced“ hingegen zielt auf Anwendungsszenarien mit einer hohen PCIe-Auslastung bei geringer CPUAuslastung ab. Ein typisches Beispiel dafür sind Konfigurationen mit GPGPUs. In solchen Fällen könnte durch die eher niedrigere Auslastung der CPUs das Betriebssystem entsprechend niedrigere Frequenzen anfordern, obwohl eigentlich eine hohe Frequenz benötigt wird um die maximal mögliche PCIe-Bandbreite zu erreichen. Die Einstellung „Unbalanced“ sorgt dafür, dass bei hoher QPI- oder PCIe-Auslastung die Frequenz der Prozessoren aggressiver erhöht wird - auch wenn die CPU-Auslastung gering ist. Generell empfiehlt Fujitsu mit der Standardeinstellung „Even“ zu arbeiten, da diese Einstellung deutlich energieeffizienter ist. Sollte es jedoch zu Performance-Problemen in Anwendungsszenarien kommen, bei denen eine hohe PCIe-Bandbreite erforderlich ist, kann die Einstellung „Unbalanced“ diesen entgegenwirken. CPU C1E Support BIOS-Setup-Menü BIOS-Option Einstellungen Performance Low-Latency Energieeffizienz Advanced > CPU Configuration CPU C1E Support Disabled Enabled Enabled Disabled Enabled Der C1E ist ein CPU C-State, welcher aktiviert wird, sobald das Betriebssystem der CPU mitteilt, dass es idle ist. Die CPU C-States sind Idle-Zustände, in denen der Core eines Prozessors, wenn er keinen Code auszuführen hat, in eine Art Schlafzustand versetzt wird. Dadurch wird der Stromverbrauch im Idle-Zustand deutlich reduziert. Im Aktiv-Zustand sorgen die P-States eines Prozessors für die energieeffiziente Ausführung des Codes, indem nur so viel Leistung zur Verfügung gestellt wird, wie gerade benötigt wird. Processor Performance Power States (P-States) Bekannt als Enhanced Intel SpeedStep® Technology (EIST) oder Demand Based Switching (DBS) Basierend auf der CPU-Auslastung reduzieren die P-States die elektrische Leistungsaufnahme, während der Prozessor Code ausführt P-States sind eine Kombination aus Prozessor-Spannung und ProzessorFrequenz P-States sind vergleichbar mit unterschiedlichen Leistungsstufen http://www.fujitsu.com/de/primergy Processor Idle Power States (C-States) C-States reduzieren die elektrische Leistungsaufnahme, wenn der Prozessor keinen Code ausführt Teilbereiche des Prozessors können abgeschaltet werden C-0 Prozessor aktiv C-6 Prozessor im „deep power down“ Unterschied zwischen C-0 und C-6 State bis zu 70 Watt pro Prozessor (abhängig vom Prozessor-Typ) Leistungsaufnahme des Prozessors im C6 State ca. 10 Watt Seite 13 (20) White Paper BIOS-Optimierungen für Xeon E5-2600 v3 basierte Systeme Version: 1.2 2015-11-26 C1E sorgt dafür, dass im Idle-Zustand die Frequenz immer auf das Minimum von 1.20 GHz herunter getaktet wird. Dies geschieht unabhängig von der Intel SpeedStep Technology. Das heißt, auch wenn über den Energiesparplan des Betriebssystems eingestellt wird, dass der Prozessor mit maximaler Frequenz laufen soll, würde C1E, wenn es aktiv („Enabled“) ist, dafür sorgen, dass der Prozessor im Idle-Zustand auf 1.20 GHz heruntertaktet. Dies kann speziell bei Low-Latency-Anwendungen von Nachteil sein, denn das Herunter- bzw. wieder Hochtakten der Frequenz erhöht die Latenz. In solchen Fällen kann die Einstellung auf „Disabled“ geändert werden. Dabei sollte beachtet werden, dass sich die elektrische Leistungsaufnahme im Idle-Zustand drastisch erhöht. CPU C3/C6 Report BIOS-Setup-Menü BIOS-Option Einstellungen Performance Low-Latency Energieeffizienz Advanced > CPU Configuration CPU C3 Report Disabled Enabled Disabled Disabled Enabled Advanced > CPU Configuration CPU C6 Report Disabled Enabled Enabled Disabled Enabled Mit diesen BIOS-Optionen wird dem Betriebssystem mitgeteilt, ob es die CPU C3 oder C6 States nutzen kann („Enabled“) oder nicht („Disabled“). Da das Aufwachen aus diesen C-States die Latenz erhöht, wird empfohlen, für Anwendungen bei denen es auf maximale Performance bei möglichst geringer Antwortzeit ankommt, die Einstellung für die CPU C-States auf „Disabled“ zu setzen. Dabei gilt, je höher der C-State, desto länger die Aufwachzeit. Dabei sollte beachtet werden, dass, wenn alle CPU C-States ausgeschaltet sind, nicht mehr die höchstmögliche Turbo-Mode-Frequenz erreicht werden kann. In diesem Fall würde unabhängig von der Anzahl aktiver Cores, die höchste Turbo-Mode-Frequenz auf die maximale Frequenz begrenzt werden, die möglich ist, wenn alle Cores aktiv sind. Diese ist je nach Prozessor-Typ in der Regel deutlich niedriger. Für die maximale Turbo-Mode-Frequenz, wenn nicht alle Cores aktiv sind, muss mindestens „CPU C3 Report“ auf „Enabled“ gesetzt werden. Mit der Einstellung „Disabled“ für die BIOS Option „CPU C3/C6 Report“ wird seitens des BIOS nur verhindert, dass der entsprechende CPU C-State per ACPI an das Betriebssystem übergeben wird, welches dann in der Regel nicht mehr in der Lage ist diesen zu nutzen. Unter einigen Betriebssystemen, vor allem bei Linux-Distributionen, die den Treiber "intel_idle" verwenden (ab 2015 alle von Fujitsu unterstützten Enterprise Linux-Distributionen), haben BIOSEinstellungen für C-States keinerlei Effekt. Um eine Berücksichtigung der BIOS-Einstellungen durch das Betriebssystem zu erzwingen, muss dieser Treiber per Linux Kernel-Parameter "intel_idle.max_cstate=0" deaktiviert werden. Der Linux Kernel nutzt dann stattdessen den Idle-Treiber "processor“, der die BIOSEinstellungen berücksichtigt. Package C State limit BIOS-Setup-Menü Advanced > CPU Configuration BIOS-Option Einstellungen Performance Low-Latency Energieeffizienz Package C State limit C0 C2 C6 C6(Retention) C0 C0 C6(Retention) Neben den CPU oder Core C-States gibt es auch sogenannte Package C-States, die es erlauben, nicht nur den einzelnen Core eines Prozessors, sondern den gesamten Prozessor-Chip in eine Art Schlafzustand zu versetzen. Die Leistungsaufnahme wird dadurch nochmals weiter reduziert. Die „Aufwachzeit“, die benötigt wird, um aus den tieferen Package C-States in den aktiven C0 State zu wechseln, ist im Vergleich zu den CPU oder Core C-States noch größer. Wird im BIOS die Einstellung „C0“ eingestellt, dann bleibt der Prozessor-Chip immer aktiv. Ist jedoch abzusehen, dass der Server längere Idle-Perioden über die Betriebszeit hat und die Latenz beim „Aufwachen“ aus den Package C-States keine Rolle spielt, dann sollte die Einstellung auf „C6(Retention)“ belassen werden, denn dies reduziert die Leistungsaufnahme des Servers im Idle-Zustand erheblich. Der Unterschied zwischen „C6“ und „C6(Retention)“ ist die Spannung, mit der der Prozessor in diesem Package C-State betrieben wird. Bei „C6(Retention)“ wird die Spannung und damit auch die Leistungsaufnahme noch weiter reduziert. Seite 14 (20) http://www.fujitsu.com/de/primergy White Paper BIOS-Optimierungen für Xeon E5-2600 v3 basierte Systeme Version: 1.2 2015-11-26 QPI Link Frequency Select BIOS-Setup-Menü BIOS-Option Einstellungen Advanced > CPU Configuration 6.4 GT/s QPI Link Frequency 8.0 GT/s Select 9.6 GT/s Auto Performance Low-Latency Energieeffizienz Auto Auto 6.4 GT/s Mit dieser BIOS-Option ist es möglich, die Geschwindigkeit des QuickPath Interconnects (QPI) zwischen den CPUs in einem System zu reduzieren um damit Strom einzusparen. Dies macht insbesondere dann Sinn, wenn die verfügbare Bandbreite nicht notwendig ist. Ist jedoch maximale Performance und eine geringe Antwortzeit die Vorgabe, belässt man es bei der Einstellung „Auto“, die automatisch die höchste Geschwindigkeit einstellt. Je nachdem welche Bandbreite benötigt wird kann hier zwischen den Geschwindigkeiten „6.4 GT/s“, welche die größte Einsparung bringt, „8.0 GT/s“ und „9.6 GT/s“, welche die maximale Geschwindigkeit ist, ausgewählt werden. Uncore Frequency Override BIOS-Setup-Menü BIOS-Option Einstellungen Performance Low-Latency Energieeffizienz Advanced > CPU Configuration Uncore Frequency Override Disabled Enabled Disabled Enabled Disabled Die neue Generation der Intel Xeon E5-2600 v3 basierten Prozessoren arbeitet mit unabhängigen Frequenzen für die einzelnen Cores und den sogenannten Uncore-Bereich. Die Frequenzen werden dabei für jeden Bereich, abhängig von dessen Auslastung, entsprechend eingestellt. So ist sichergestellt, dass Prozessoren mit hoher Auslastung auch entsprechende Performance durch hohe Frequenzen erreichen. Auf der anderen Seite können die Frequenzen auf ein Minimum reduziert werden, wenn der Prozessor oder entsprechende Bereiche eines Prozessors nicht ausgelastet sind, um dadurch Energie einzusparen. Das Einschalten dieser BIOS-Option sorgt dafür, dass der Uncore-Bereich des Prozessors immer mit seiner maximalen Frequenz arbeitet, auch dann, wenn die Cores nur gering ausgelastet sind oder sich vielleicht sogar im Idle-Zustand befinden. Dementsprechend ist der Stromverbrauch auch höher. Deshalb sollte im Normalfall die Einstellung für diese Option immer „Disabled“ sein. Ausnahmen bilden Anwendungen mit hohen Anforderungen an die I/O-Latenz bzw. generell I/O-intensive Anwendungen, die die Prozessoren gar nicht oder nur sehr gering belasten. In diesem Fall würden die Power Management Mechanismen des Prozessors versuchen die Frequenz auf ein Minimum zu reduzieren (siehe „CPU C1E Support“). Wenn dies geschieht, dann wird auch automatisch die Frequenz des sogenannten Uncore-Bereichs heruntergeregelt. Da die gesamte I/O-Kommunikation (PCIe, Speicher, QPI, etc.) über den Uncore-Bereich erfolgt, hätte dies negative Auswirkungen auf den I/O-Durchsatz. Die Einstellung „Uncore Frequency Override = Enabled“ würde dies verhindern, wobei die dadurch erhöhte elektrische Leistungsaufnahme in Kauf zu nehmen ist. QPI Snoop Modi BIOS-Setup-Menü BIOS-Option Einstellungen Performance Low-Latency Energieeffizienz Advanced > CPU Configuration COD Enable Disabled Enabled Auto Auto Auto Auto Advanced > CPU Configuration Early Snoop Disabled Enabled Auto Auto Auto Auto Die Intel Xeon E5-2600 v3 Prozessorgeneration unterstützt drei unterschiedliche Snoop Modi, die regeln, wie die Cache-Kohärenz über die Intel QPI Links realisiert wird. Das BIOS jeder dieser PRIMERGY Server bietet zwei BIOS-Optionen, mit Hilfe derer die drei unterschiedlichen Snoop Modi eingestellt werden können. Bevor die gewünschten Einstellungen vorgenommen werden muss sichergestellt sein, dass der gewünschte Snoop Modus von der verwendeten Anwendung und dem eingesetzten Betriebssystem unterstütz wird. In diesem White Paper wird bewusst keine konkrete Snoop Modus-Empfehlung für die drei beschriebenen Anwendungsszenarien gegeben, weil die optimale Einstellung immer von der individuellen Anwendung http://www.fujitsu.com/de/primergy Seite 15 (20) White Paper BIOS-Optimierungen für Xeon E5-2600 v3 basierte Systeme Version: 1.2 2015-11-26 abhängt. So kann es beispielsweise zwei unterschiedliche Anwendungen geben, die aus dem gleichen Segment, z.B. „Low-Latency“ stammen, jedoch unterschiedliche Anforderungen an den Snoop Modus haben. Das bedeutet, dass die unterschiedlichen Snoop Modi mit der individuellen Anwendung getestet werden müssen, um zu entscheiden, welche Einstellung aus Performance-Sicht optimal ist. Eine Hilfestellung dazu gibt die Tabelle „Relative Snoop Mode Performance“ weiter unten in diesem Abschnitt. Folgende Tabelle zeigt, wie die beiden verfügbaren BIOS-Optionen „COD Enable“ und „Early Snoop“ konfiguriert werden müssen, um den jeweils gewünschten Snoop Modus einzustellen. BIOS-Option Snoop Modus Early Snoop (ES) Cluster on Die (COD) Home Snoop (HS) COD Enable Early Snoop Disabled Enabled Disabled Enabled Disabled Disabled Die zur Verfügung stehenden Snoop Modi hängen von der eingesetzten CPU und der weiteren HardwareKonfiguration ab. Deshalb ist die Standard-Einstellung für die beiden Optionen im BIOS jeweils „Auto“. Das sorgt dafür, dass abhängig von der verwendeten Hardware-Konfiguration immer ein möglichst optimaler Snoop Modus eingestellt wird. Bei einer 2-Sockel Konfiguration führt die Standardeinstellung „Auto“ für beide BIOS-Optionen zum „Early Snoop“ Modus. Jeder Snoop Modus hat unterschiedliche Eigenschaften und Auswirkungen auf die Speicherbandbreite und Speicherlatenz, abhängig davon, wie der Snoop Traffic erzeugt wird. Details zu den einzelnen QPI Snoop Modi: Cluster on Die (COD) Der „Cluster on Die“ (COD) Modus teilt jeden Prozessor logisch in zwei gleich große Cluster mit jeweils der Hälfte der insgesamt auf dem Prozessor verfügbaren Cores und der Hälfte des verfügbaren L3 Caches auf. Für das Betriebssystem stellt sich somit ein einzelner physikalischer Prozessor im „Cluster on Die“ Modus wie zwei separate NUMA Nodes mit der, je nach Aufteilung, entsprechenden Anzahl Cores und Größe des L3 Caches dar. In diesem Modus wird anhand eines „on-die directory caches“ und anhand von „in-memory directory bits“ abgewogen, ob ein Snoop gesendet werden muss oder nicht. Der „Cluster on Die“ (COD) Modus wird speziell für NUMA optimierte Anwendungen empfohlen, um die niedrigstmögliche lokale Speicherlatenz und höchstmögliche lokale Speicherbandbreite zu erzielen. Unterstützt wird dieser Modus nur mit Intel Xeon E5-2600 v3 Prozessoren mit 10 oder mehr Cores und nur, wenn die BIOS-Option „NUMA = Enabled“ konfiguriert ist (Standardeinstellung). Home Snoop (HS) Im Home Snoop Modus werden immer Snoops gesendet. Der Unterschied zum Early Snoop Modus ist der Ursprung des Snoops. Beim Home Snoop Modus wird der Snoop vom Home Agent gesendet. Dieser Modus wird für NUMA Anwendungen empfohlen, die sensitiv sowohl auf lokale als auch remote Speicherbandbreite reagieren. Early Snoop (ES) Im Early Snoop Modus werden, wie beim Home Snoop Modus, immer Snoops gesendet. Die Snoops werden im Early Snoop Modus vom Caching Agent gesendet. Dieser Modus wird für Anwendungen empfohlen, die eine möglichst geringe Speicherlatenz oder geringe Cache-zu-Cache Transferlatenz des Remote Sockels erfordern. Dadurch, dass die Snoops in diesem Modus früher gesendet werden, verringert sich die Speicherlatenz. Ausnahme PRIMERGY RX2510 M1: Die PRIMERGY RX2510 M1 ist nur mit der Hälfte der möglichen Speicherkanäle bestückt und unterstützt aus diesem Grund den Snoop Modus Cluster on Die (COD) nicht. Das Einschalten („Enabled“) der BIOS Option „COD Enable“ für die PRIMERGY RX2510 M1 führt zu Performance-Einbußen und sollte deshalb vermieden werden. Seite 16 (20) http://www.fujitsu.com/de/primergy White Paper BIOS-Optimierungen für Xeon E5-2600 v3 basierte Systeme Version: 1.2 2015-11-26 Relative Snoop Mode Performance Intel Xeon E5-2600 v3 Prozessoren mit 10 oder mehr Cores; BIOS-Option „NUMA = Enabled“ Performance Metrik* Early Snoop (ES) Cluster on Die (COD) Home Snoop (HS) Geringste L3 Cache Treffer Latenz Gering Gering Gering Lokale Speicherlatenz Mittel Hoch Geringste Remote Speicherlatenz Gering - Hoch Gering Höchste Lokale Speicherbandbreite Hoch Hoch Hoch Remote Speicherbandbreite Mittel Mittel Intel Xeon E5-2600 v3 Prozessoren mit 10 oder mehr Cores; BIOS-Option „NUMA = Disabled“ Speicherlatenz Gering Gering nicht unterstützt Speicherbandbreite Hoch Hoch Intel Xeon E5-2600 v3 Prozessoren mit weniger als 10 Cores; BIOS-Option „NUMA = Enabled“ L3 Cache Treffer Latenz Gering Gering Geringste Lokale Speicherlatenz Gering Geringste Remote Speicherlatenz nicht unterstützt Gering Lokale Speicherbandbreite Hoch Hoch Hoch Remote Speicherbandbreite Gering Intel Xeon E5-2600 v3 Prozessoren mit weniger als 10 Cores; BIOS-Option „NUMA = Disabled“ Geringste Speicherlatenz Gering nicht unterstützt Speicherbandbreite Hoch Hoch *Für Latenz gilt: geringer ist besser. Für Bandbreite gilt: höher ist besser. DDR Performance BIOS-Setup-Menü BIOS-Option Einstellungen Performance Low-Latency Energieeffizienz Advanced > Memory Configuration DDR Performance Performance Performance optimized optimized Energy optimized Performance optimized Energy optimized Diese BIOS-Option steuert die Geschwindigkeit, mit der die Speichermodule betrieben werden. Dabei muss zwischen Performance und Energieverbrauch abgewogen werden. Die Einstellung „Performance optimized“ betreibt die DIMMs mit der maximal möglichen Geschwindigkeit, abhängig vom verwendeten CPU-Typ und der Speicherbestückung (Aufschluss darüber gibt das White Paper Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme), und liefert dadurch die höchstmögliche Speicher-Performance. Die Einstellung „Energy optimized“ begrenzt die Speicherfrequenz immer und unabhängig von Prozessormodell und Speicherbestückung auf den minimalen Wert (1066 MHz) mit der geringsten elektrischen Leistungsaufnahme. Neben den BIOS-Optionen für Speicher-Performance spielen der verwendete SpeicherTyp und die optimale Bestückung der DIMMs eine weitaus größere Rolle. Eine ausführliche Beschreibung dazu sowie zu dem Thema NUMA (Non-Uniform Memory Access) findet man im White Paper SpeicherPerformance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme (siehe Literaturliste am Ende des Dokuments). Patrol Scrub BIOS-Setup-Menü BIOS-Option Einstellungen Performance Low-Latency Energieeffizienz Advanced > Memory Configuration Patrol Scrub Disabled Enabled Enabled Disabled Enabled Diese BIOS-Option schaltet das sogenannte Memory Scrubbing ein („Enabled“) oder aus („Disabled“), welches unabhängig vom Betriebssystem im Hintergrund zyklisch auf den gesamten Hauptspeicher des Systems zugreift, um Speicherfehler präventiv aufzuspüren und zu korrigieren. Der Zeitpunkt dieses Speichertests ist nicht beeinflussbar und kann unter Umständen zu Performance-Einbußen führen. Das Ausschalten („Disabled“) der Patrol Scrub Option erhöht die Wahrscheinlichkeit, bei aktiven Zugriffen durch das Betriebssystem, auf Speicher Fehler zu stoßen. Solange diese Fehler korrigierbar sind, sorgt die ECC Technologie der Speichermodule dafür, dass das System stabil weiterläuft. Zu viele korrigierbare Speicher Fehler erhöhen jedoch das Risiko auf nicht-korrigierbare Fehler zu stoßen, die dann zum Systemstillstand führen. http://www.fujitsu.com/de/primergy Seite 17 (20) White Paper BIOS-Optimierungen für Xeon E5-2600 v3 basierte Systeme Version: 1.2 2015-11-26 Onboard USB Controllers BIOS-Setup-Menü BIOS-Option Einstellungen Performance Low-Latency Energieeffizienz Advanced > USB Configuration Onboard USB Controllers Disabled Enabled Enabled Enabled Disabled Der Chipsatz der PRIMERGY Server beinhaltet mehrere USB-Controller. Wenn auf den Einsatz von USBGeräten komplett (dies beinhaltet auch Maus und Tastatur) verzichtet werden kann, sollte die Einstellung für diese BIOS-Option „Disabled“ sein. Dies spart Strom und erhöht die Sicherheit durch unerlaubten Zugriff Unbefugter. Unabhängig von der Einstellung bleiben die USB-Controller während des Systemstarts aktiv (die Deaktivierung erfolgt erst nach dem POST), so dass man auch bei der Einstellung „Disabled“ noch die Möglichkeit hat per USB Tastatur ins BIOS-Setup zu gelangen um die Einstellung wieder zu ändern. Seite 18 (20) http://www.fujitsu.com/de/primergy White Paper BIOS-Optimierungen für Xeon E5-2600 v3 basierte Systeme Version: 1.2 2015-11-26 Literatur PRIMERGY Server http://primergy.de/ Performance von Server-Komponenten http://www.fujitsu.com/de/products/computing/servers/mission-critical/benchmarks/x86components.html Dieses White Paper: http://docs.ts.fujitsu.com/dl.aspx?id=f154aca6-d799-487c-8411-e5b4e558c88b http://docs.ts.fujitsu.com/dl.aspx?id=b0877217-e9ef-4c7b-943d-299c0a4c4637 http://docs.ts.fujitsu.com/dl.aspx?id=2009eb5b-f273-4f1f-94ef-07f1d0304255 BIOS-Einstellungen für Performance, Low-latency und Energieeffizienz (für Xeon E5-2400/2600/4600 basierte Systeme) http://docs.ts.fujitsu.com/dl.aspx?id=89630e4b-c3f6-414e-a44d-acdcd92e256f BIOS-Optimierungen für Xeon E5-2600 v2 basierte Systeme http://docs.ts.fujitsu.com/dl.aspx?id=0a62a369-241b-4de2-a970-41437aa4901b Speicher-Performance Xeon E5-2600 v3 (Haswell-EP) basierter Systeme http://docs.ts.fujitsu.com/dl.aspx?id=571dd497-136c-4699-90d2-adff5d33a74c PRIMERGY Handbücher http://support.ts.fujitsu.com/Manuals/Index.asp PRIMERGY BIOS Downloads http://support.ts.fujitsu.com/Download/Index.asp SPECpower_ssj2008 http://www.spec.org/power_ssj2008 Benchmark-Überblick SPECpower_ssj2008 http://docs.ts.fujitsu.com/dl.aspx?id=66467935-98dc-4374-80b2-3ddae4c73491 SAP Server Power http://global.sap.com/campaigns/benchmark/appbm_benchmarks.epx VMmark V2 http://www.vmmark.com Benchmark-Überblick VMmark V2 http://docs.ts.fujitsu.com/dl.aspx?id=ea18bef0-c1ff-46ae-81b3-c47811f866de Operating System Performance Tuning Guidelines Microsoft Windows http://msdn.microsoft.com/en-us/library/windows/hardware/dn529134 RedHat Linux https://access.redhat.com/articles/221153 https://access.redhat.com/documentation/enUS/Red_Hat_Enterprise_Linux/7/html/Performance_Tuning_Guide/ SUSE Linux https://www.suse.com/documentation/sles11/pdfdoc/book_sle_tuning/book_sle_tuning.pdf VMware vSphere http://www.vmware.com/files/pdf/techpaper/VMW-Tuning-Latency-Sensitive-Workloads.pdf http://www.fujitsu.com/de/primergy Seite 19 (20) White Paper BIOS-Optimierungen für Xeon E5-2600 v3 basierte Systeme Version: 1.2 2015-11-26 Kontakt FUJITSU Website: http://www.fujitsu.com/de/ PRIMERGY Product Marketing mailto:[email protected] PRIMERGY Performance und Benchmarks mailto:[email protected] © Copyright 2014-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-11-26 WW DE Seite 20 (20) http://www.fujitsu.com/de/primergy