sql >> Database >  >> RDS >> Sqlserver

Intel Xeon schaalbare processors en SQL Server 2017

Op 11 juli 2017 lanceerde Intel officieel hun nieuwe 14nm Intel Xeon Scalable Processor-familie (Skylake-SP) van serverprocessors. Deze familie vervangt de vorige generatie 14nm Intel Xeon E7 v4 en 14nm Intel Xeon E5 v4 (Broadwell-EX en Broadwell-EP) processors.

Branding en prijzen

Intel noemt deze algemene familie een nieuw "geconvergeerd platform" dat is gesegmenteerd in vier verschillende productlijnen genaamd Intel Xeon Platinum, Intel Xeon Gold, Intel Xeon Silver en Intel Xeon Bronze. Voor SQL Server-gebruik zijn alleen de Platinum- en Gold-lijnen zinvol als u zich zorgen maakt over de beste prestaties voor elk van uw SQL Server-processorkernlicenties.

In tegenstelling tot de vorige generatie Xeon-processors, hebben de nieuwe Xeon Platinum-processors tot 28 fysieke cores en kunnen ze allemaal worden gebruikt in elke server met een aantal sockets, of het nu een machine met twee sockets, vier sockets of acht sockets is. De Xeon Gold-processors hebben tot 22 fysieke cores en kunnen worden gebruikt in machines met twee of vier sockets.

Intel gebruikt een nieuwe conventie voor productbranding en nummering die in figuur 1 wordt beschreven. het is moeilijker om de juiste processor te kiezen voor uw werklast.

Figuur 1:Conventie voor Intel Xeon Scalable Processor Productnummering

Een goed voorbeeld van deze schadelijke productsegmentatie zijn de "M" SKU-processors (processormodellen met een M-achtervoegsel) die 1,5 TB geheugen per socket ondersteunen, in tegenstelling tot 768 GB geheugen per socket voor de niet-"M" SKU-modellen. Intel rekent ongeveer $ 3000,00 premie (per processor) voor die extra geheugenondersteuning, wat een behoorlijk grote stijging is, vooral voor de goedkopere processors. De acht-core Intel Xeon Gold 6134-processor kost $ 2.214,00 per stuk, terwijl de acht-core Intel Xeon Gold 6134M-processor $ 5.217,00 per stuk kost. Alle andere specificaties (en prestaties) zijn identiek voor die twee processors. Voor SQL Server-gebruik kan het volkomen logisch zijn om die premie te betalen om twee keer de geheugencapaciteit per socket te krijgen (vooral gezien uw SQL Server-licentiekosten en algemene geheugenkosten), maar ik vind het niet leuk dat Intel een prijs doet hier gutsen.

Architectuurwijzigingen

De Skylake-SP heeft een andere cache-architectuur die verandert van een gedeeld-gedistribueerd model dat wordt gebruikt in Broadwell-EP/EX naar een privé-lokaal model dat wordt gebruikt in Skylake-SP. Hoe deze wijziging de werkbelasting van SQL Server zal beïnvloeden, valt nog te bezien.

In Broadwell-EP/EX had elke fysieke kern een privé L2-cache van 256 KB, terwijl alle kernen een grotere L3-cache deelden die zo groot kon zijn als 60 MB (meestal 2,5 MB/core). Alle regels in de L2-cache voor elke kern waren ook aanwezig in de inclusieve, gedeelde L3-cache.

In Skylake-SP heeft elke fysieke kern een privé L2-cache van 1 MB, terwijl alle kernen een grotere L3-cache delen die wel 38,5 MB (meestal 1,375 MB/core) kan zijn. Alle regels in de L2-cache voor elke kern misschien niet aanwezig zijn in de niet-inclusieve, gedeelde L3-cache.

Een grotere L2-cache verhoogt de hitratio van de L2-cache, wat resulteert in een lagere effectieve geheugenlatentie en een lagere vraag naar de L3-cache en de mesh-interconnect. L2-cache is doorgaans ongeveer 4x sneller dan L3-cache in Skylake-SP. Figuur 2 geeft details over de nieuwe cache-architectuurwijzigingen in Skylake-SP.

Figuur 2:Cache-architecturen vergelijken

Een andere nieuwe architecturale verbetering is Intel Ultra Path Interconnect (UPI), die de vorige generatie Intel Quick Path Interconnect (QPI) vervangt. Intel UPI is een coherente interconnect voor systemen met meerdere processors in een enkele gedeelde adresruimte. Intel Xeon-processors die Intel UPI ondersteunen, bieden twee of drie Intel UPI-koppelingen om verbinding te maken met andere Intel Xeon-processors via een snel pad met lage latentie naar de andere CPU-sockets. Intel UPI heeft een maximale gegevenssnelheid van 10,4 GT/s (giga-overdrachten/seconde) vergeleken met een maximale gegevenssnelheid van 9,6 GT/s voor de Intel QPI die wordt gebruikt in de snelste Broadwell-EP/EX-processors.

Een andere belangrijke nieuwe functie in Skylake-SP is de opname van AVX-512-ondersteuning, waarmee 512-bit brede vectoren kunnen worden berekend, wat de snelheid aanzienlijk verbetert in vergelijking met oudere vectorinstructiesets zoals AVX2, AVX en SSE. Deze instructiesets worden meestal gebruikt voor zaken als compressie en encryptie.

AVX-512 heeft ook een veel betere energie-efficiëntie in termen van GFLOPS/Watt en GFLOPS/GHz vergeleken met de oudere instructiesets, zodat Intel de kloksnelheid van alle cores niet hoeft te verlagen als AVX-code op een van de de kernen en ze kunnen ook elke kern op een andere snelheid laten draaien, afhankelijk van het type AVX-code dat op die kern draait.

SQL Server-hardwareondersteuning

In SQL Server 2016 heeft Microsoft ondersteuning geïntroduceerd voor SSE- en AVX-instructies die worden ondersteund door de CPU om de prestaties voor rijbuckets in Columnstore-indexen en bulkinvoegingen te verbeteren. Ze voegden ook hardwareondersteuning toe voor AES-NI-codering. Ik schreef over hoe deze nieuwe software-ondersteuning voor specifieke hardware hier is toegewezen aan verschillende processorgeneraties. Hopelijk breidt Microsoft dit type code uit om AVX-512-ondersteuning in SQL Server 2017 te dekken.

Een andere nieuwe functie in Skylake-SP is Intel Speed ​​Shift-ondersteuning, waarmee de processorkernen hun p-statussen en c-statussen veel effectiever kunnen wijzigen (waardoor de processorkernen veel sneller "opgeslokt" kunnen worden). Deze functie bouwt voort op het Hardware Power Management (HWPM) dat in Broadwell is geïntroduceerd met een nieuwe modus waarmee HWPM en het besturingssysteem kunnen samenwerken, de zogenaamde native modus. Native-modus wordt ondersteund op Linux-kernel 4.10 en in Windows Server 2016.

Volgens enkele van de vroege benchmarks die ik heb gezien, hebben deze Skylake-SP-processors een IPC-verbetering van ongeveer 10% ten opzichte van Broadwell-EP-kernen die op dezelfde kloksnelheid draaien. Software die gebruikmaakt van specifieke nieuwe functies (zoals AVX-512 en FMA) kan een veel hogere prestatieverbetering zien.

Met betrekking tot SQL Server 2017 OLTP-workloads heeft Lenovo op 27 juni 2017 een TPC-E-benchmarkresultaat ingediend voor een Lenovo ThinkSystem SR650-server met twee sockets, met twee 28-core Intel Xeon Platinum 8180-processors. De ruwe score voor dit systeem was 6.598,36. Als we die score delen door 56 fysieke cores, krijgen we een score/core van 117,83 (wat een maat is voor single-threaded CPU-prestaties).

Ter vergelijking heeft Lenovo een TPC-E-benchmarkresultaat ingediend voor een Lenovo System x3650 M5 two-socket-server met twee 22-core Intel Xeon E5-2699 v4-processors. De ruwe score voor dit systeem was 4938,14. Als we die score delen door 44 fysieke cores, krijgen we een score/core van 112,23. Het Skylake-SP-systeem is hier ongeveer 5% sneller voor single-threaded prestaties, maar houd er rekening mee dat dit een pre-releaseversie van SQL Server 2017 is.

Als je een nog gedetailleerder beeld wilt van de specifieke veranderingen en verbeteringen in de Intel Xeon Scalable Processor-familie in vergelijking met de vorige generatie Xeon-processors, dan kun je dat hier lezen.


  1. Hoe kan ik een lijst met parameters ophalen uit een opgeslagen procedure in SQL Server?

  2. Kunnen we meerdere WITH AS hebben in één sql - Oracle SQL?

  3. Lob-segmenten (SYS_LOB) in orakel begrijpen?

  4. Hoe u de huidige tijd kunt krijgen (zonder tijdzone) in PostgreSQL