Le 11 juillet 2017, Intel a officiellement lancé sa nouvelle famille de processeurs évolutifs Intel Xeon 14 nm (Skylake-SP) de processeurs pour serveurs. Cette famille remplace la génération précédente de processeurs Intel Xeon E7 v4 14 nm et Intel Xeon E5 v4 14 nm (Broadwell-EX et Broadwell-EP).
Marque et tarification
Intel appelle cette famille globale une nouvelle "plate-forme convergée" qui est segmentée en quatre gammes de produits distinctes appelées Intel Xeon Platinum, Intel Xeon Gold, Intel Xeon Silver et Intel Xeon Bronze. Pour l'utilisation de SQL Server, seules les lignes Platinum et Gold ont du sens si vous souhaitez obtenir les meilleures performances pour chacune de vos licences de cœur de processeur SQL Server.
Contrairement aux processeurs Xeon de la génération précédente, les nouveaux processeurs Xeon Platinum ont jusqu'à 28 cœurs physiques et peuvent tous être utilisés dans n'importe quel serveur de nombre de sockets, qu'il s'agisse d'une machine à deux, quatre ou huit sockets. Les processeurs Xeon Gold ont jusqu'à 22 cœurs physiques et peuvent être utilisés dans des machines à deux ou quatre sockets.
Intel utilise une nouvelle convention de marque et de numérotation des produits qui est détaillée dans la figure 1. Contrairement aux nouveaux processeurs AMD EPYC, Intel fait beaucoup de marketing et de segmentation des produits axés sur la rentabilité dans cette gamme, ce qui la rend plus difficile à comprendre et rend il est plus difficile de choisir le bon processeur pour votre charge de travail.
Figure 1 :Convention de numérotation des produits des processeurs évolutifs Intel Xeon
Les processeurs SKU « M » (modèles de processeurs avec un suffixe M) qui prennent en charge 1,5 To de mémoire par socket, contre 768 Go de mémoire par socket pour les modèles SKU non « M ». Intel facture une prime d'environ 3 000,00 $ (par processeur) pour cette prise en charge de mémoire supplémentaire, ce qui représente une augmentation assez importante, en particulier pour les processeurs à moindre coût. Le processeur Intel Xeon Gold 6134 à huit cœurs coûte 2 214,00 $ chacun, tandis que le processeur Intel Xeon Gold 6134M à huit cœurs coûte 5 217,00 $ chacun. Toutes les autres spécifications (et performances) sont identiques pour ces deux processeurs. Pour l'utilisation de SQL Server, il peut être parfaitement logique de payer cette prime pour obtenir le double de la capacité de mémoire par socket (en particulier compte tenu de vos coûts de licence SQL Server et de vos coûts de mémoire globaux), mais je n'aime pas le fait qu'Intel fasse un certain prix creuser ici.
Modifications de l'architecture
Le Skylake-SP a une architecture de cache différente qui passe d'un modèle distribué partagé utilisé dans Broadwell-EP/EX à un modèle privé-local utilisé dans Skylake-SP. Il reste à voir comment ce changement affectera les charges de travail SQL Server.
Dans Broadwell-EP/EX, chaque cœur physique avait un cache L2 privé de 256 Ko, tandis que tous les cœurs partageaient un cache L3 plus grand pouvant atteindre 60 Mo (généralement 2,5 Mo/cœur). Toutes les lignes du cache L2 pour chaque cœur étaient également présentes dans le cache L3 inclus et partagé.
Dans Skylake-SP, chaque cœur physique dispose d'un cache L2 privé de 1 Mo, tandis que tous les cœurs partagent un cache L3 plus grand pouvant atteindre 38,5 Mo (généralement 1,375 Mo/cœur). Toutes les lignes du cache L2 pour chaque cœur ne peuvent pas être présent dans le cache L3 partagé non inclusif.
Un cache L2 plus grand augmente le taux de réussite du cache L2, ce qui réduit la latence effective de la mémoire et réduit la demande sur le cache L3 et l'interconnexion maillée. Le cache L2 est généralement environ 4 fois plus rapide que le cache L3 dans Skylake-SP. La figure 2 détaille les nouvelles modifications de l'architecture de cache dans Skylake-SP.
Figure 2 :Comparaison des architectures de cache
Une autre nouvelle amélioration architecturale est Intel Ultra Path Interconnect (UPI), qui remplace la génération précédente d'Intel Quick Path Interconnect (QPI). Intel UPI est une interconnexion cohérente pour les systèmes contenant plusieurs processeurs dans un seul espace d'adressage partagé. Les processeurs Intel Xeon prenant en charge Intel UPI fournissent deux ou trois liaisons Intel UPI pour la connexion à d'autres processeurs Intel Xeon à l'aide d'un chemin à haut débit et à faible latence vers les autres sockets du processeur. Intel UPI a un débit de données maximal de 10,4 GT/s (giga-transferts/seconde) par rapport à un débit de données maximal de 9,6 GT/s pour le QPI Intel utilisé dans les processeurs Broadwell-EP/EX les plus rapides.
Une autre nouvelle fonctionnalité importante de Skylake-SP est l'inclusion de la prise en charge AVX-512, qui permet de calculer des vecteurs larges de 512 bits, ce qui améliore considérablement la vitesse par rapport aux anciens jeux d'instructions vectorielles comme AVX2, AVX et SSE. Ces jeux d'instructions sont généralement utilisés pour des choses comme la compression et le chiffrement.
AVX-512 a également une bien meilleure efficacité énergétique en termes de GFLOPS/Watt et GFLOPS/GHz par rapport aux anciens jeux d'instructions, de sorte qu'Intel n'a pas à réduire la vitesse d'horloge de tous les cœurs si le code AVX s'exécute sur l'un des les cœurs et ils peuvent également exécuter chaque cœur à une vitesse différente selon le type de code AVX exécuté sur ce cœur.
Prise en charge du matériel SQL Server
Dans SQL Server 2016, Microsoft a introduit la prise en charge des instructions SSE et AVX prises en charge par le processeur afin d'améliorer les performances du regroupement de lignes dans les index Columnstore et les insertions en bloc. Ils ont également ajouté la prise en charge matérielle du cryptage AES-NI. J'ai écrit sur la façon dont ce nouveau support logiciel pour un matériel spécifique est mappé sur différentes générations de processeurs ici. Espérons que Microsoft étendra ce type de code pour couvrir la prise en charge AVX-512 dans SQL Server 2017.
Une autre nouvelle fonctionnalité de Skylake-SP est la prise en charge d'Intel Speed Shift, qui permet aux cœurs de processeur de modifier leurs états p et leurs états c beaucoup plus efficacement (ce qui permet aux cœurs de processeur de « s'accélérer » beaucoup plus rapidement). Cette fonctionnalité s'appuie sur la gestion de l'alimentation matérielle (HWPM) introduite dans Broadwell avec un nouveau mode qui permet à HWPM et au système d'exploitation de fonctionner ensemble, appelé mode natif. Le mode natif est pris en charge sur le noyau Linux 4.10 et dans Windows Server 2016.
Selon certains des premiers benchmarks que j'ai vus, ces processeurs Skylake-SP ont une amélioration d'environ 10% de l'IPC par rapport aux cœurs Broadwell-EP fonctionnant à la même vitesse d'horloge. Les logiciels qui tirent parti de nouvelles fonctionnalités spécifiques (telles que AVX-512 et FMA) pourraient voir des augmentations de performances beaucoup plus élevées.
En ce qui concerne les charges de travail OLTP SQL Server 2017, le 27 juin 2017, Lenovo a soumis un résultat de référence TPC-E pour un serveur à deux sockets Lenovo ThinkSystem SR650, avec deux processeurs Intel Xeon Platinum 8180 à 28 cœurs. Le score brut de ce système était de 6 598,36. En divisant ce score par 56 cœurs physiques, nous obtenons un score/cœur de 117,83 (ce qui est une mesure des performances du processeur à un seul thread).
À titre de comparaison, Lenovo a soumis un résultat de référence TPC-E pour un serveur à deux sockets Lenovo System x3650 M5 avec deux processeurs Intel Xeon E5-2699 v4 à 22 cœurs. Le score brut de ce système était de 4938,14. En divisant ce score par 44 cœurs physiques, nous obtenons un score/cœur de 112,23. Le système Skylake-SP est ici environ 5 % plus rapide pour les performances monothread, mais gardez à l'esprit qu'il s'agit d'une version préliminaire de SQL Server 2017.
Si vous souhaitez une vue encore plus détaillée des changements et améliorations spécifiques de la famille de processeurs évolutifs Intel Xeon par rapport aux processeurs Xeon de la génération précédente, vous pouvez en savoir plus ici.