sql >> Databasteknik >  >> RDS >> Sqlserver

Intel Xeon skalbara processorer och SQL Server 2017

Den 11 juli 2017 lanserade Intel officiellt sin nya 14nm Intel Xeon Scalable Processor-familj (Skylake-SP) av serverprocessorer. Denna familj ersätter den tidigare generationen av 14nm Intel Xeon E7 v4 och 14nm Intel Xeon E5 v4 (Broadwell-EX och Broadwell-EP)-processorer.

Varumärke och prissättning

Intel kallar denna övergripande familj en ny "konvergerad plattform" som är uppdelad i fyra distinkta produktlinjer som kallas Intel Xeon Platinum, Intel Xeon Gold, Intel Xeon Silver och Intel Xeon Bronze. För SQL Server-användning är bara Platinum- och Gold-linjerna vettiga om du är orolig för att få bästa prestanda för var och en av dina SQL Server-processorlicenser.

Till skillnad från den tidigare generationens Xeon-processorer, har de nya Xeon Platinum-processorerna upp till 28 fysiska kärnor och kan alla användas i vilken socket count-server som helst, oavsett om det är en maskin med två socklar, fyra socklar eller åtta socklar. Xeon Gold-processorerna har upp till 22 fysiska kärnor och kan användas i maskiner med två eller fyra uttag.

Intel använder en ny produktmärkning och numreringskonvention som beskrivs i figur 1. Till skillnad från de nya AMD EPYC-processorerna, gör Intel mycket marknadsföring och lönsamhetsdriven produktsegmentering i denna serie som gör det svårare att förstå, och gör det är svårare att välja rätt processor för din arbetsbelastning.

Figur 1:Intel Xeon Scalable Processor Product Numbering Convention

Ett utmärkt exempel på denna skadliga produktsegmentering är "M" SKU-processorer (processormodeller med ett M-suffix) som stöder 1,5 TB minne per sockel i motsats till 768 GB minne per sockel för icke-"M" SKU-modeller. Intel tar ut ungefär $3000.00 premium (per processor) för det extra minnesstödet, vilket är en ganska stor ökning, särskilt för processorer med lägre kostnad. Intel Xeon Gold 6134-processorn med åtta kärnor kostar $2 214,00 vardera, medan Intel Xeon Gold 6134M-processorn med åtta kärnor kostar $5 217,00 vardera. Alla andra specifikationer (och prestanda) är identiska för dessa två processorer. För SQL Server-användning kan det vara helt vettigt att betala den premien för att få dubbelt så mycket minneskapacitet per socket (särskilt med tanke på dina SQL Server-licenskostnader och totala minneskostnader), men jag gillar inte det faktum att Intel gör ett visst pris mejsar här.

Arkitekturändringar

Skylake-SP har en annan cache-arkitektur som ändras från en delad distribuerad modell som används i Broadwell-EP/EX till en privat-lokal modell som används i Skylake-SP. Hur denna förändring kommer att påverka SQL Server-arbetsbelastningar återstår att se.

I Broadwell-EP/EX hade varje fysisk kärna en 256KB privat L2-cache, medan alla kärnor delade en större L3-cache som kunde vara så stor som 60MB (vanligtvis 2,5MB/kärna). Alla linjer i L2-cachen för varje kärna fanns också i den inkluderande, delade L3-cachen.

I Skylake-SP har varje fysisk kärna en 1 MB privat L2-cache, medan alla kärnor delar en större L3-cache som kan vara så stor som 38,5 MB (vanligtvis 1,375 MB/kärna). Alla rader i L2-cachen för varje kärna får inte vara närvarande i den icke-inkluderande, delade L3-cachen.

En större L2-cache ökar träffförhållandet från L2-cachen, vilket resulterar i lägre effektiv minneslatens och lägre efterfrågan på L3-cachen och mesh-interconnecten. L2-cache är vanligtvis cirka 4X snabbare än L3-cache i Skylake-SP. Figur 2 beskriver de nya ändringarna av cache-arkitekturen i Skylake-SP.

Figur 2:Jämföra cachearkitekturer

En annan ny arkitektonisk förbättring är Intel Ultra Path Interconnect (UPI), som ersätter den tidigare generationen Intel Quick Path Interconnect (QPI). Intel UPI är en sammanhängande sammankoppling för system som innehåller flera processorer i ett enda delat adressutrymme. Intel Xeon-processorer som stöder Intel UPI, tillhandahåller antingen två eller tre Intel UPI-länkar för anslutning till andra Intel Xeon-processorer med hjälp av en höghastighets- och låg latensväg till de andra CPU-socklarna. Intel UPI har en maximal datahastighet på 10,4 GT/s (giga-överföringar/sekund) jämfört med en maximal datahastighet på 9,6 GT/s för Intel QPI som används i de snabbaste Broadwell-EP/EX-processorerna.

En annan viktig nyhet i Skylake-SP är införandet av AVX-512-stöd, som gör att 512-bitars breda vektorer kan beräknas, vilket avsevärt förbättrar hastigheten jämfört med äldre vektorinstruktionsuppsättningar som AVX2, AVX och SSE. Dessa instruktionsuppsättningar används vanligtvis för saker som komprimering och kryptering.

AVX-512 har också mycket bättre energieffektivitet vad gäller GFLOPS/Watt och GFLOPS/GHz jämfört med de äldre instruktionsuppsättningarna, så att Intel inte behöver minska klockhastigheten för alla kärnor om AVX-kod körs på någon av kärnorna och de kan också få varje kärna att köras med olika hastighet beroende på vilken typ av AVX-kod som körs på den kärnan.

SQL-serverhårdvarustöd

I SQL Server 2016 introducerade Microsoft stöd för SSE- och AVX-instruktioner som stöds av CPU:n för att förbättra prestandan för rad-bucketing i Columnstore-index och bulkinserts. De lade också till hårdvarustöd för AES-NI-kryptering. Jag skrev om hur detta nya mjukvarustöd för specifik hårdvara mappas till olika processorgenerationer här. Förhoppningsvis kommer Microsoft att utöka denna typ av kod till att täcka stöd för AVX-512 i SQL Server 2017.

En annan ny funktion i Skylake-SP är Intel Speed ​​Shift-stöd, vilket gör att processorkärnorna kan ändra sina p-tillstånd och c-tillstånd mycket mer effektivt (vilket låter processorkärnorna "gasa upp" mycket snabbare). Den här funktionen bygger på Hardware Power Management (HWPM) som introducerades i Broadwell med ett nytt läge som låter HWPM och operativsystemet arbeta tillsammans, kallat native mode. Inbyggt läge stöds på Linux-kärnan 4.10 och i Windows Server 2016.

Enligt några av de tidiga riktmärkena jag har sett har dessa Skylake-SP-processorer en IPC-förbättring på cirka 10 % jämfört med Broadwell-EP-kärnor som körs med samma klockhastighet. Programvara som drar fördel av specifika nya funktioner (som AVX-512 och FMA) skulle kunna få mycket högre prestandaökningar.

När det gäller SQL Server 2017 OLTP-arbetsbelastningar, den 27 juni 2017 skickade Lenovo ett TPC-E benchmarkresultat för en Lenovo ThinkSystem SR650 tvåsocket server, med två 28-kärniga Intel Xeon Platinum 8180-processorer. Råpoängen för detta system var 6 598,36. Om vi ​​delar poängen med 56 fysiska kärnor får vi en poäng/kärna på 117,83 (vilket är ett mått på entrådad CPU-prestanda).

För jämförelsens skull lämnade Lenovo ett TPC-E benchmark-resultat för en Lenovo System x3650 M5 tvåsocket server med två 22-kärniga Intel Xeon E5-2699 v4-processorer. Råpoängen för detta system var 4938,14. Om vi ​​delar poängen med 44 fysiska kärnor får vi en poäng/kärna på 112,23. Skylake-SP-systemet är cirka 5 % snabbare för enkeltrådad prestanda här, men tänk på att detta är för en pre-releaseversion av SQL Server 2017.

Om du vill ha en ännu mer detaljerad bild av de specifika förändringarna och förbättringarna i Intel Xeon Scalable Processor-familjen jämfört med den tidigare generationens Xeon-processorer kan du läsa om det här.


  1. Hur man använder ROW_NUMBER i SQLite

  2. Automatisk datainsamling:Databasfiler och logiska enheter i MS SQL Server

  3. Hur får jag en utdataparameter för lagrad procedur som är en array att fungera?

  4. postgresql duplicate key bryter mot unik begränsning