Aujourd’hui, dans le cadre de HotChips 2020, nous avons vu Marvell révéler enfin quelques détails sur la microarchitecture de leurs nouveaux processeurs de serveur ThunderX3 et microarchitectures de base. La société avait annoncé l’existence du nouveau serveur et du nouveau processeur d’infrastructure en mars, et est désormais en mesure de partager des spécifications plus concrètes sur la façon dont l’équipe de conception de processeurs interne promet de se distinguer de la concurrence en croissance rapide qu’est le marché des serveurs Arm. .

Nous avions examiné le ThunderX2 en 2018 – à l’époque encore un produit Cavium avant que les conceptions et les équipes ne soient acquises par Marvell quelques mois plus tard cette année-là. Depuis lors, l’écosystème de serveurs Arm a été relancé par le cœur du processeur Neoverse N1 d’Arm et les conceptions de partenaires tels que d’Amazon (Graviton2) et Ampère (Altra), un ensemble de circonstances très différentes et parallèlement au retour réussi d’AMD sur le marché, un paysage très différent.

Marvell a commencé la présentation HotChips avec une feuille de route de ses produits, détaillant que la génération ThunderX3 n’est pas simplement une conception unique, mais représente en fait une approche flexible utilisant plusieurs matrices, avec les SKU CN110xx de première génération à 60 cœurs utilisant une seule matrice. en tant que conception monolithique en 2020, et l’année prochaine avec la sortie d’une variante à double matrice à 96 cœurs visant des performances plus élevées.

L’utilisation d’une approche à double puce comme celle-ci est très intéressante car elle représente un point médian entre une conception complètement monolithique et une approche à puce de fournisseurs tels que AMD. Chaque filière est ici identique en ce sens qu’elle peut être utilisée indépendamment en tant que produit autonome.

Du point de vue du SoC, la matrice ThunderX3 peut atteindre 60 cœurs, la variante à 2 matrices allant jusqu’à 96. La première question qui vient à l’esprit en voyant ces chiffres est de savoir pourquoi la variante à 2 matrices ne se développe pas. aux 120 cœurs complets – Marvell n’a pas couvert cela pendant la conférence, mais il y avait quelques indices dans la présentation.

Marvell avait fait la demande d’amélioration des performances de 2 à 3 fois par rapport à un ThunderX2 à des niveaux de puissance égaux. Ce dernier avait un TDP de 180W – si le TX3 maintient cette enveloppe thermique, cela signifierait qu’une conception à double matrice aurait dû augmenter les TDP jusqu’à 360W, ce qui bien au-delà de ce que l’on peut refroidir à l’air dans un facteur de forme de serveur typique. et rack en termes de densité de puissance. En supposant juste une réduction linéaire à 96 cœurs comme annoncé, nous finirions par environ 288 W – ce qui est plus conforme aux déploiements actuels de CPU de serveur haut de gamme sans refroidissement par eau. Bien sûr – tout cela est notre propre analyse et prise de la question.

Une seule puce prend en charge 8 canaux de DDR4-3200 qui est standard pour cette génération d’un produit serveur et essentiellement en ligne avec tout le monde sur le marché. En ce qui concerne les E / S, nous voyons une divulgation de 64 voies de PCIe 4.0 – ce qui est encore une fois en ligne avec les concurrents, mais la moitié de ce que les alternatives haut de gamme d’Ampère ou d’AMD peuvent réaliser.

Une grande inconnue à l’heure actuelle est de savoir comment le produit à double matrice segmentera les contrôleurs d’E / S et de mémoire – si cela va être une répartition 50-50 en termes de ressources entre les deux matrices, ou si nous verrons un déséquilibre setup – ou si la plate-forme peut réellement gérer toutes les ressources de chaque dé et se transformer en une bête à 16 canaux à 128 voies?

Comparaison des processeurs des serveurs Major Arm
Marvell
ThunderX3
110xx
Cavium
ThunderX2
9980-2200
Ampère
Altra
Q80-33
Amazone
Graviton2
Technologie des procédés TSMC
7 nm
TSMC
16 nm
TSMC
7 nm
TSMC
7 nm
Type de matrice Monolithique

ou

MCM à double matrice

Monolithique Monolithique Monolithique
Micro-architecture Triton Vulcain Neoverse N1 (Ares)
Noyaux 60 (1 dé)

Bague Swiched 3x

96 (2 dé)

32
Bus circulaire
80
Engrener
64
Engrener
Fils 240 (1 dé)
384 (2 dé)
128 80 64
Max. nombre de prises 2 2 2 1
Fréquence de base ? 2,2 GHz
Fréquence Turbo 3,1 GHz 2,5 GHz 3,3 GHz 2,5 GHz
Cache L3 90 Mo 32 Mo 32 Mo 32 Mo
DRACHME 8 canaux
DDR4-3200
8 canaux
DDR4-2667
8 canaux
DDR4-3200
8 canaux
DDR4-3200
Voies PCIe 4,0 x 64
(1 dé)
3,0 x 56 4,0 x 128 4,0 x 64
TDP ~ 180 W (1 matrice)
(non confirmé)
180 W 250 W ~ 110-130 W
(non confirmé)

Sur le papier du moins, le ThunderX3 semble assez similaire au Graviton2 d’Amazon car ils partagent tous les deux une quantité similaire de cœurs de processeur et des configurations de mémoire et d’E / S similaires. La plus grande différence que l’on peut immédiatement signaler est que le ThunderX3 utilise SMT4 dans ses cœurs de processeur et prend ainsi en charge jusqu’à 240 threads par die. Il y a aussi une différence TDP, mais j’attribue cela au fait que le Graviton2 est conservateur avec ses fréquences d’horloge, tandis que les SKU d’Ampère sont plus conformes au ThunderX3, en particulier le Q64-30 à 64 cœurs 3,0 GHz 180 W étant le plus proche des spécifications.

Une autre chose qui se démarque pour le ThunderX3 est les 90 Mo de cache L3 qui éclipsent les 32 Mo de la génération précédente ainsi que les configurations de 32 Mo d’Ampère et d’Amazon.

Marvell a choisi ici de faire évoluer sa propre microarchitecture d’interconnexion qui a maintenant évolué d’une conception simple en anneau à un anneau commuté avec trois sous-anneaux, ou colonnes. Les arrêts en anneau se composent de tuiles CPU avec 4 cœurs et de deux tranches L3 avec 3 Mo de cache. Cela donne un dé complet avec 15 arrêts de sonnerie (3×5 colonnes) et les 60 cœurs complets 90 Mo de cache L3 total, ce qui est une quantité tout à fait respectable.

Au cours des sessions de questions-réponses, Marvell a révélé que leur justification pour une topologie en anneau commuté par rapport à un anneau unique ou une conception de maillage était qu’un seul anneau n’aurait pas été en mesure d’augmenter les performances et la bande passante à un nombre de cœurs plus élevé. Une conception de maillage aurait été un grand changement, et il aurait fallu une réduction du nombre de cœurs. Un anneau commuté représentait un bon compromis entre les deux architectures. En effet, si c’est ce qui a permis à Marvell d’inclure jusqu’à 3x le cache par rapport à ses concurrents les plus proches, cela semble avoir été un bon choix.

Une chose étrange que j’ai notée est que le système utilise toujours un algorithme de cohérence basé sur le snoop qui contraste avec d’autres systèmes basés sur des répertoires dans l’industrie. Cela pourrait réduire la complexité et la zone de mise en œuvre, mais pourrait être à la traîne en termes d’efficacité énergétique et de cohérence du trafic pour la puce.

Les contrôleurs de mémoire puisent dans les anneaux et l’interface CCPI3 inter-socket / die de Marvell sert ici jusqu’à 84 Go / s de bande passante.