
Serveurs : Oracle lance ses nouvelles baies Exadata X11M
Comme les générations précédentes, l’Exadata X11M est une étagère rack pouvant contenir plus ou moins de serveurs de calcul ou de stockage pour envoyer des dizaines de millions de requêtes SQL par seconde sur des bases de plusieurs Pétaoctets.
Un an et demi après la génération X10M, Oracle vient de dévoiler l’Exadata X11M, sa dernière machine conçue spécifiquement pour exécuter les bases de données SQL dans le datacenter. Et dans le cloud, puisque tous les services Oracle DB d’OCI, Azure, AWS et GCP fonctionnent sur cette baie de calcul très particulière.
Sa particularité principale étant que tous les éléments (nœuds de calcul, nœuds de stockage) sont interconnectés par deux réseaux RoCE de 100 Gbit/s chacun, dont le fonctionnement rappelle celui des supercalculateurs.
Une machine Exadata X11M est une étagère rack entière qui contient dix-neuf serveurs 2U fonctionnels (calcul ou stockage) et deux switch 2U pour les interconnecter. Les dix-neuf nœuds comprennent au moins deux serveurs de calcul et trois serveurs de stockage. L’utilisateur final choisit comment peupler les quatorze autres emplacements, selon qu’il a besoin de puissance ou de capacité.
Deux modèles de nœuds de calcul et trois modèles de nœuds de stockage
Il existe deux modèles de serveurs de calcul. Le plus puissant a deux processeurs AMD Epyc 9J25 de 96 cœurs chacun, cadencés de 2,6 à 4,5 GHz, et jusqu’à 3 To de RAM. Selon Oracle, ses performances sont de 2,8 millions d’IOPS en requêtes SQL de lecture et 2,5 MIOPS en requêtes SQL d’écriture.
Le plus économique, appelé modèle Z, n’a qu’un processeur AMD Epyc 9J15 de 32 cœurs, cadencé de 2,95 à 4,4 GHz, et 1,125 To de RAM. Malgré son nombre de cœurs beaucoup plus réduit, ce modèle Z atteint des performances qui ne sont que deux fois inférieures à son grand frère : 1,4 MIOPS en requêtes SQL de lecture et 1,25 MIOPS en requêtes SQL d’écriture.
Il existe aussi deux modèles de serveurs de stockage.
L’un a deux processeurs AMD Epyc 9J15 (soit 64 cœurs en tout), 1,5 To de RAM, quatre SSD NVMe TLC de 6,8 To chacun pour les données les plus chaudes (soit 27,2 To) et douze disques durs de 22 To chacun pour les données auxquelles on accède moins souvent (soit 264 To). Ce premier modèle peut se décliner en une version 100 % SSD. Dans ce cas, Oracle propose de remplacer les douze disques durs par quatre SSD NVMe QLC de 30,5 To chacun (soit 122 To). Il est probable que cette configuration évolue rapidement vers plus de SSD, plus capacitifs.
L’autre serveur de stockage, également un modèle Z, n’a qu’un seul processeur AMD Epyc 9J15, 768 Go de RAM, deux SSD NVMe TLC de 6,8 To chacun (13,6 To) et six disques durs de 22 To chacun (132 To).
Les processeurs Epyc 9J25 et 9J15, sont des modèles qu’AMD fabrique spécifiquement pour les besoins d’Oracle. S’agissant de la toute dernière génération d’Epyc, ces processeurs intègrent des unités vectorielles. Oracle prétend ainsi que les requêtes sur les bases de données au format vectoriel – utilisables dans le cadre d’une IA – seraient 43 % plus rapides que sur l’ancienne Exadata X10M.
Exécuter le plus rapidement possible de très grandes bases de données
Dans la manière dont la machine est conçue, les bases SQL répartissent dynamiquement leurs données entre la RAM des serveurs de calcul, la RAM des serveurs de stockage, les SSD NVMe et les disques durs. Les MIOPS indiqués plus haut valent pour les accès en RAM des serveurs de calcul. Ils déclinent quand on accède aux médias de stockage. Cela dit, ce déclin est minimisé par la force de prédiction du système d’exploitation qui s’efforce de mettre les données à traiter en RAM.
Dans le détail, une très grande partie de la RAM de chaque serveur est utilisée comme un disque virtuel pour stocker les données. Grâce au réseau RoCE, soit RDMA-over-Converged-Ethernet, les serveurs de calcul peuvent considérer que la RAM des serveurs de stockage est une extension de leurs propres disques virtuels, avec toutefois une latence supplémentaire de 14 microsecondes, selon Oracle.
On peut ainsi se contenter de seulement quatre serveurs de stockage, pour déployer quinze serveurs de calcul, quand on souhaite que les bases Oracle DB soient aussi performantes que des bases in-memory (comme SAP HANA, par exemple). Ou, à l’inverse, maximiser le nombre de serveurs de stockage quand la très grande taille de la base de données prime sur les performances.
Enfin, il est possible de mettre quatorze baies Exadata X11M en réseau pour former un cluster géant qui pourra soit offrir la puissance de 40 320 cœurs x86 et 630 To de RAM, soit proposer 69 Po de capacité de stockage, soit un juste milieu entre les deux.
Selon la grille tarifaire partagée par Oracle, il faut compter près de 3 millions de dollars pour une configuration Exadata X11M comprenant huit serveurs de calcul (1 536 cœurs x86, 24 To de RAM) et sept serveurs de stockage (2,5 Po de capacité).