Am 11. Juli 2017 hat Intel offiziell seine neue 14-nm-Familie der skalierbaren Intel Xeon-Prozessoren (Skylake-SP) von Serverprozessoren vorgestellt. Diese Familie ersetzt die vorherige Generation von 14-nm-Intel-Xeon-E7-v4- und 14-nm-Intel-Xeon-E5-v4-Prozessoren (Broadwell-EX und Broadwell-EP).
Branding und Preise
Intel nennt diese Gesamtfamilie eine neue „konvergierte Plattform“, die in vier verschiedene Produktlinien namens Intel Xeon Platinum, Intel Xeon Gold, Intel Xeon Silver und Intel Xeon Bronze unterteilt ist. Für die Verwendung von SQL Server sind nur die Platin- und Goldlinien sinnvoll, wenn Sie daran interessiert sind, die beste Leistung für jede Ihrer SQL Server-Prozessorkernlizenzen zu erhalten.
Im Gegensatz zu den Xeon-Prozessoren der vorherigen Generation verfügen die neuen Xeon Platinum-Prozessoren über bis zu 28 physische Kerne und können alle in Servern mit beliebiger Sockelanzahl verwendet werden, unabhängig davon, ob es sich um einen Server mit zwei, vier oder acht Sockeln handelt. Die Xeon Gold-Prozessoren haben bis zu 22 physische Kerne und können in Computern mit zwei oder vier Sockeln verwendet werden.
Intel verwendet eine neue Produktmarken- und Nummerierungskonvention, die in Abbildung 1 detailliert dargestellt ist. Im Gegensatz zu den neuen AMD EPYC-Prozessoren betreibt Intel in dieser Produktreihe eine Menge Marketing- und rentabilitätsorientierte Produktsegmentierung, die das Verständnis erschwert und erschwert Es ist schwieriger, den richtigen Prozessor für Ihre Arbeitslast auszuwählen.
Abbildung 1:Produktnummerierungskonvention für skalierbare Intel Xeon-Prozessoren
Ein Paradebeispiel für diese schädliche Produktsegmentierung sind die „M“-SKU-Prozessoren (Prozessormodelle mit einem M-Suffix), die 1,5 TB Speicher pro Sockel unterstützen, im Gegensatz zu 768 GB Speicher pro Sockel bei den Nicht-„M“-SKU-Modellen. Intel berechnet etwa 3000,00 $ Aufpreis (pro Prozessor) für diese zusätzliche Speicherunterstützung, was eine ziemlich große Steigerung darstellt, insbesondere für die preisgünstigeren Prozessoren. Der Intel Xeon Gold 6134-Prozessor mit acht Kernen kostet jeweils 2.214,00 USD, während der Intel Xeon Gold 6134M-Prozessor mit acht Kernen jeweils 5.217,00 USD kostet. Alle anderen Spezifikationen (und Leistungen) sind für diese beiden Prozessoren identisch. Für die Verwendung von SQL Server kann es absolut sinnvoll sein, diese Prämie zu zahlen, um die doppelte Speicherkapazität pro Socket zu erhalten (insbesondere angesichts Ihrer SQL Server-Lizenzkosten und der Gesamtspeicherkosten), aber ich mag die Tatsache nicht, dass Intel einen gewissen Preis macht hier aushöhlen.
Architekturänderungen
Das Skylake-SP hat eine andere Cache-Architektur, die sich von einem gemeinsam genutzten verteilten Modell, das in Broadwell-EP/EX verwendet wird, zu einem privat-lokalen Modell ändert, das in Skylake-SP verwendet wird. Wie sich diese Änderung auf die Workloads von SQL Server auswirkt, bleibt abzuwarten.
In Broadwell-EP/EX verfügte jeder physische Kern über einen privaten L2-Cache von 256 KB, während alle Kerne einen größeren L3-Cache teilten, der bis zu 60 MB groß sein konnte (normalerweise 2,5 MB/Kern). Alle Zeilen im L2-Cache für jeden Kern waren auch im inklusiven, gemeinsam genutzten L3-Cache vorhanden.
In Skylake-SP hat jeder physische Kern einen privaten L2-Cache von 1 MB, während sich alle Kerne einen größeren L3-Cache teilen, der bis zu 38,5 MB groß sein kann (normalerweise 1,375 MB/Kern). Alle Zeilen im L2-Cache für jeden Kern möglicherweise nicht im nicht inklusiven, gemeinsam genutzten L3-Cache vorhanden sein.
Ein größerer L2-Cache erhöht die Trefferquote aus dem L2-Cache, was zu einer geringeren effektiven Speicherlatenz und einer geringeren Anforderung an den L3-Cache und die Mesh-Verbindung führt. Der L2-Cache ist in der Regel etwa 4-mal schneller als der L3-Cache in Skylake-SP. Abbildung 2 zeigt die neuen Änderungen der Cache-Architektur in Skylake-SP.
Abbildung 2:Vergleich von Cache-Architekturen
Eine weitere neue architektonische Verbesserung ist Intel Ultra Path Interconnect (UPI), das die Vorgängergeneration Intel Quick Path Interconnect (QPI) ersetzt. Intel UPI ist eine kohärente Verbindung für Systeme mit mehreren Prozessoren in einem einzigen gemeinsam genutzten Adressraum. Intel Xeon-Prozessoren, die Intel UPI unterstützen, bieten entweder zwei oder drei Intel UPI-Links für die Verbindung mit anderen Intel Xeon-Prozessoren über einen Hochgeschwindigkeitspfad mit niedriger Latenz zu den anderen CPU-Sockeln. Intel UPI hat eine maximale Datenrate von 10,4 GT/s (Giga-Übertragungen/Sekunde) im Vergleich zu einer maximalen Datenrate von 9,6 GT/s für das Intel QPI, das in den schnellsten Broadwell-EP/EX-Prozessoren verwendet wird.
Eine weitere wichtige neue Funktion in Skylake-SP ist die Aufnahme von AVX-512-Unterstützung, die die Berechnung von 512 Bit breiten Vektoren ermöglicht, was die Geschwindigkeit im Vergleich zu älteren Vektorbefehlssätzen wie AVX2, AVX und SSE erheblich verbessert. Diese Befehlssätze werden normalerweise für Dinge wie Komprimierung und Verschlüsselung verwendet.
AVX-512 hat auch eine viel bessere Energieeffizienz in Bezug auf GFLOPS/Watt und GFLOPS/GHz im Vergleich zu den älteren Befehlssätzen, sodass Intel nicht die Taktrate aller Kerne reduzieren muss, wenn AVX-Code auf einem der Kerne läuft die Kerne und sie können auch jeden Kern mit einer anderen Geschwindigkeit laufen lassen, je nachdem, welche Art von AVX-Code auf diesem Kern läuft.
SQL Server-Hardwareunterstützung
In SQL Server 2016 hat Microsoft die Unterstützung für SSE- und AVX-Anweisungen eingeführt, die von der CPU unterstützt werden, um die Leistung für das Zeilen-Bucketing in Columnstore-Indizes und Masseneinfügungen zu verbessern. Sie fügten auch Hardware-Unterstützung für die AES-NI-Verschlüsselung hinzu. Ich habe hier darüber geschrieben, wie diese neue Softwareunterstützung für bestimmte Hardware verschiedenen Prozessorgenerationen zugeordnet wurde. Hoffentlich wird Microsoft diese Art von Code erweitern, um die AVX-512-Unterstützung in SQL Server 2017 abzudecken.
Ein weiteres neues Feature in Skylake-SP ist die Intel Speed Shift-Unterstützung, die es den Prozessorkernen ermöglicht, ihre p-States und c-States viel effektiver zu ändern (was die Prozessorkerne viel schneller „herauffahren“ lässt). Diese Funktion baut auf dem in Broadwell eingeführten Hardware Power Management (HWPM) mit einem neuen Modus auf, der es HWPM und dem Betriebssystem ermöglicht, zusammenzuarbeiten, dem nativen Modus. Der native Modus wird vom Linux-Kernel 4.10 und von Windows Server 2016 unterstützt.
Laut einigen der frühen Benchmarks, die ich gesehen habe, haben diese Skylake-SP-Prozessoren eine IPC-Verbesserung von etwa 10 % gegenüber Broadwell-EP-Kernen, die mit der gleichen Taktrate laufen. Software, die bestimmte neue Funktionen nutzt (z. B. AVX-512 und FMA), könnte eine viel höhere Leistungssteigerung erfahren.
In Bezug auf SQL Server 2017 OLTP-Workloads übermittelte Lenovo am 27. Juni 2017 ein TPC-E-Benchmark-Ergebnis für einen Lenovo ThinkSystem SR650-Server mit zwei Sockeln und zwei Intel Xeon Platinum 8180-Prozessoren mit 28 Kernen. Der Rohwert für dieses System war 6.598,36. Wenn wir diese Punktzahl durch 56 physische Kerne dividieren, erhalten wir eine Punktzahl/Kern von 117,83 (was ein Maß für die Singlethread-CPU-Leistung ist).
Zum Vergleich hat Lenovo ein TPC-E-Benchmark-Ergebnis für einen Lenovo System x3650 M5 Zwei-Sockel-Server mit zwei 22-Core Intel Xeon E5-2699 v4 Prozessoren vorgelegt. Der Rohwert für dieses System war 4938,14. Wenn wir diese Punktzahl durch 44 physische Kerne teilen, erhalten wir eine Punktzahl/Kern von 112,23. Das Skylake-SP-System ist hier etwa 5 % schneller für die Single-Thread-Leistung, aber denken Sie daran, dass dies für eine Vorabversion von SQL Server 2017 gilt.
Wenn Sie einen noch detaillierteren Überblick über die spezifischen Änderungen und Verbesserungen der skalierbaren Intel Xeon-Prozessorfamilie im Vergleich zu den Xeon-Prozessoren der vorherigen Generation wünschen, können Sie hier darüber lesen.