Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Processori scalabili Intel Xeon e SQL Server 2017

L'11 luglio 2017, Intel ha lanciato ufficialmente la nuova famiglia di processori per server Intel Xeon Scalable Processor (Skylake-SP) a 14 nm. Questa famiglia sostituisce la generazione precedente di processori Intel Xeon E7 v4 a 14 nm e Intel Xeon E5 v4 (Broadwell-EX e Broadwell-EP) a 14 nm.

Branding e prezzi

Intel definisce questa famiglia nel suo insieme una nuova "piattaforma convergente" segmentata in quattro linee di prodotti distinte denominate Intel Xeon Platinum, Intel Xeon Gold, Intel Xeon Silver e Intel Xeon Bronze. Per l'utilizzo di SQL Server, solo le linee Platinum e Gold hanno senso se sei preoccupato di ottenere le migliori prestazioni per ciascuna delle tue licenze di processore core di SQL Server.

A differenza dei processori Xeon della generazione precedente, i nuovi processori Xeon Platinum hanno fino a 28 core fisici e possono essere tutti utilizzati in qualsiasi server con numero di socket, sia che si tratti di una macchina a due, quattro o otto socket. I processori Xeon Gold hanno fino a 22 core fisici e possono essere utilizzati in macchine a due o quattro socket.

Intel sta utilizzando una nuova convenzione di numerazione e marchio di prodotto illustrata in dettaglio nella Figura 1. A differenza dei nuovi processori AMD EPYC, Intel sta effettuando molta segmentazione del prodotto basata sul marketing e sulla redditività in questa gamma che rende più difficile la comprensione e rende è più difficile scegliere il processore giusto per il tuo carico di lavoro.

Figura 1:Convenzione di numerazione dei prodotti dei processori scalabili Intel Xeon

Un ottimo esempio di questa dannosa segmentazione del prodotto sono i processori SKU "M" (modelli di processore con suffisso M) che supportano 1,5 TB di memoria per socket rispetto a 768 GB di memoria per socket per i modelli SKU non "M". Intel addebita circa $ 3000,00 premium (per processore) per quel supporto di memoria extra, che è un aumento piuttosto grande, specialmente per i processori a basso costo. Il processore Intel Xeon Gold 6134 a otto core costa $ 2.214,00 ciascuno, mentre il processore Intel Xeon Gold 6134M a otto core costa $ 5.217,00 ciascuno. Tutte le altre specifiche (e prestazioni) sono identiche per questi due processori. Per l'utilizzo di SQL Server, potrebbe avere perfettamente senso pagare quel premio per ottenere il doppio della capacità di memoria per socket (soprattutto dati i costi della licenza di SQL Server e i costi complessivi della memoria), ma non mi piace il fatto che Intel stia facendo un certo prezzo scavare qui.

Modifiche all'architettura

Skylake-SP ha un'architettura cache diversa che cambia da un modello distribuito condiviso utilizzato in Broadwell-EP/EX a un modello locale privato utilizzato in Skylake-SP. Resta da vedere come questa modifica influirà sui carichi di lavoro di SQL Server.

In Broadwell-EP/EX, ogni core fisico aveva una cache L2 privata da 256 KB, mentre tutti i core condividevano una cache L3 più grande che poteva arrivare a 60 MB (in genere 2,5 MB/core). Tutte le righe nella cache L2 per ciascun core erano presenti anche nella cache L3 condivisa e inclusiva.

In Skylake-SP, ogni core fisico ha una cache L2 privata da 1 MB, mentre tutti i core condividono una cache L3 più grande che può arrivare a 38,5 MB (in genere 1,375 MB/core). Tutte le righe nella cache L2 per ciascun core potrebbero non essere presente nella cache L3 condivisa non inclusiva.

Una cache L2 più grande aumenta il rapporto di hit dalla cache L2, con conseguente minore latenza di memoria effettiva e minore domanda sulla cache L3 e sull'interconnessione mesh. La cache L2 è in genere circa 4 volte più veloce della cache L3 in Skylake-SP. La figura 2 descrive in dettaglio le nuove modifiche all'architettura della cache in Skylake-SP.

Figura 2:confronto delle architetture della cache

Un altro nuovo miglioramento dell'architettura è Intel Ultra Path Interconnect (UPI), che sostituisce la generazione precedente Intel Quick Path Interconnect (QPI). Intel UPI è un'interconnessione coerente per sistemi contenenti più processori in un unico spazio di indirizzi condiviso. I processori Intel Xeon che supportano Intel UPI forniscono due o tre collegamenti Intel UPI per la connessione ad altri processori Intel Xeon utilizzando un percorso ad alta velocità e bassa latenza agli altri socket della CPU. Intel UPI ha una velocità dati massima di 10,4 GT/s (giga-transfer/secondo) rispetto a una velocità dati massima di 9,6 GT/s per il QPI Intel utilizzato nei processori Broadwell-EP/EX più veloci.

Un'altra importante novità in Skylake-SP è l'inclusione del supporto AVX-512, che consente di calcolare vettori a 512 bit di larghezza, il che migliora notevolmente la velocità rispetto ai vecchi set di istruzioni vettoriali come AVX2, AVX e SSE. Questi set di istruzioni vengono in genere utilizzati per cose come la compressione e la crittografia.

AVX-512 ha anche un'efficienza energetica molto migliore in termini di GFLOPS/Watt e GFLOPS/GHz rispetto ai vecchi set di istruzioni, in modo che Intel non debba ridurre la velocità di clock di tutti i core se il codice AVX è in esecuzione su uno qualsiasi dei i core e possono anche far funzionare ogni core a una velocità diversa a seconda del tipo di codice AVX in esecuzione su quel core.

Supporto hardware per SQL Server

In SQL Server 2016, Microsoft ha introdotto il supporto per le istruzioni SSE e AVX supportate dalla CPU per migliorare le prestazioni per il bucket delle righe negli indici Columnstore e negli inserimenti in blocco. Hanno anche aggiunto il supporto hardware per la crittografia AES-NI. Ho scritto di come questo nuovo supporto software per hardware specifico è stato mappato su diverse generazioni di processori qui. Si spera che Microsoft estenda questo tipo di codice per coprire il supporto di AVX-512 in SQL Server 2017.

Un'altra nuova funzionalità di Skylake-SP è il supporto Intel Speed ​​Shift, che consente ai core del processore di cambiare i loro stati p e c in modo molto più efficace (che consente ai core del processore di "accelerare" molto più rapidamente). Questa funzionalità si basa sull'Hardware Power Management (HWPM) introdotto in Broadwell con una nuova modalità che consente a HWPM e al sistema operativo di lavorare insieme, denominata modalità nativa. La modalità nativa è supportata nel kernel Linux 4.10 e in Windows Server 2016.

Secondo alcuni dei primi benchmark che ho visto, questi processori Skylake-SP hanno un miglioramento dell'IPC di circa il 10% rispetto ai core Broadwell-EP che funzionano alla stessa velocità di clock. I software che sfruttano nuove funzionalità specifiche (come AVX-512 e FMA) potrebbero registrare un aumento delle prestazioni molto più elevato.

Per quanto riguarda i carichi di lavoro OLTP di SQL Server 2017, il 27 giugno 2017 Lenovo ha presentato un risultato del benchmark TPC-E per un server Lenovo ThinkSystem SR650 a due socket, con due processori Intel Xeon Platinum 8180 a 28 core. Il punteggio grezzo per questo sistema era 6.598,36. Dividendo quel punteggio per 56 core fisici, otteniamo un punteggio/core di 117,83 (che è una misura delle prestazioni della CPU a thread singolo).

A scopo di confronto, Lenovo ha presentato un risultato del benchmark TPC-E per un server Lenovo System x3650 M5 a due socket con due processori Intel Xeon E5-2699 v4 a 22 core. Il punteggio grezzo per questo sistema era 4938,14. Dividendo quel punteggio per 44 core fisici, otteniamo un punteggio/core di 112,23. Il sistema Skylake-SP è circa il 5% più veloce per le prestazioni a thread singolo qui, ma tieni presente che si tratta di una versione non definitiva di SQL Server 2017.

Se desideri una visione ancora più dettagliata delle modifiche e dei miglioramenti specifici della famiglia di processori scalabili Intel Xeon rispetto ai processori Xeon della generazione precedente, puoi leggerli qui.