Instances Ampere Altra chez Oracle Cloud : quelles performances ?

Cap sur le bare metal !
Instances Ampere Altra chez Oracle Cloud : quelles performances ?

Ampere Computing semble peu à peu réussir son pari. La jeune société crée par Renée James après son départ d'Intel multiplie les annonces, partenariats et étend son empreinte dans le domaine visé : celui du cloud computing. Mais une fois passé le temps des promesses, vient celui des tests.

Il y a peu, Oracle Cloud lançait de nouvelles instances basées sur les processeurs Altra d'Ampere Computing : A1 Compute. Une petite révolution dans le domaine de l'hébergement cloud puisqu'ils intègrent pas moins de 80 cœurs ARM v8.2+ cadencés à une fréquence fixe (3 GHz ici), avec huit canaux de DDR4 et 128 lignes PCIe 4.0.

De quoi permettre un très bon niveau de densité, avec des performances du même niveau que ses concurrents de chez AMD ou Intel promet la société. Oracle Cloud y a vu une opportunité et mise fort sur une telle solution qui lui permet de se démarquer tout en proposant une alternative aux Graviton d'AWS à un prix raisonnable.

Mais dans la pratique, que peut-on attendre de ces instances ? Nous les avons testées pour le savoir.

Ampere Computing Altra Design

Création du compte Oracle Cloud et gratuité

Avant de gérer des instances au sein d'Oracle Cloud il faut disposer d'un compte. Pour cela, il faut choisir un email et un mot de passe, mais pas seulement. En effet, vos nom, prénom, adresse et numéro de téléphone seront également demandés. Il faudra aussi fournir un moyen de paiement (Amex, Mastercard ou VISA, hors prépayé).

Un prélèvement de 1 euro est effectué pour vérifier son bon fonctionnement, il vous sera ensuite reversé. La procédure est contraignante, mais il y a une raison : la création d'un compte donne droit à différents niveaux de gratuité. Par défaut, il est d'ailleurs en mode « Toujours gratuit » vous assurant de ne jamais être facturé.

Vous avez ainsi accès à de nombreux services, dont la création d'instances, sans limite de durée. Les quotas sont bas sans être trop restrictifs. Vous pouvez par exemple créer une instance A1 avec 4 cœurs et 24 Go de mémoire. Les 30 premiers jours, vous avez également accès à 250 euros de crédits offerts, ce qui vous permet de dépasser les quotas sans risques de facturation. Nous avons ainsi pu créer une A1 à 16 cœurs et 96 Go de mémoire pour nos tests.

  • Oracle Cloud Création de compte
  • Oracle Cloud Création de compte
  • Oracle Cloud Création de compte
  • Oracle Cloud Création de compte
  • Oracle Cloud Création de compte
  • Oracle Cloud Création de compte
  • Oracle Cloud Création de compte

C'est donc pour éviter les abus que des vérifications sont faites. Sortir du niveau gratuit pour lever les restrictions, et par exemple pouvoir utiliser les 80 cœurs d'une instance A1 est un acte volontaire. Si vous le demandez, vous devrez à nouveau indiquer une carte bancaire qui sera cette fois utilisée pour vos futures facturations.

Une FAQ est disponible par ici. Notez que nous avons effectué nos tests depuis la zone d'Amsterdam, où il n'y a pas de problème d'approvisionnement en A1 (du fait de la demande importante). Aucun datacenter n'est présent à Paris.

Création de votre première instance

L'interface est par défaut affichée en anglais, mais elle est disponible en français. Elle donne accès à l'ensemble des services proposés par Oracle Cloud, dont la création d'instances. Vous pouvez leur donner un nom, les regrouper par « compartiment », préciser si vous voulez une instance à la demande, à capacité réservée, préemptive, etc.

Oracle Cloud Ampere A1 InstanceOracle Cloud Ampere A1 Instance

Plusieurs images sont proposées, Oracle Linux étant celle par défaut. Par souci de simplicité et de comparaison, nous avons opté pour Ubuntu 20.04 LTS qui existe dans une version adaptée aux Altra d'Ampere Computing.

Indiquez une clé SSH, d'éventuels paramètres avancés (script cloud-init, chiffrement, tags, etc.) puis lancez la création. Vous obtiendrez alors une adresse IP publique, le compte à utiliser étant « ubuntu » dans le cas de la distribution de canonical. Pour Oracle Linux, c'est « ocp ». Pour rappel, la commande de connexion est la suivante :

ssh -i clé_privée.key ubuntu@adresse_ip

Altra vs Zen 3

Pour le moment, notre compte ne permet pas d'obtenir plus que 16 cœurs et 96 Go de mémoire. Nous avons demandé à avoir accès à la machine entière et ses 160 cœurs, ou au moins à un SoC entier avec 80 cœurs, mais cela prendra sans doute quelques jours avant d'être validé et que nos tests soient bouclés. 

Nous avons donc effectué une première série d'essais nous permettant de positionner ces puces par rapport à l'un des processeurs pour serveur les plus performants du moment : l'EPYC 7313 (Zen 3). Pour cela, nous avons effectué des tests similaires sur notre HPE DL365 sous Ubuntu 20.04 LTS, avec 1 à 16 threads. 

Attention, pour rappel, un processeur EPYC 7313 dispose de 64 cœurs physiques avec multi-threading, ce serveur peut donc gérer jusqu'à 2x 128 threads. 16 threads peuvent correspondre à 16 cœurs physiques ou 8 cœurs physiques et 8 cœurs logiques, ou un mix des deux. Dans tous les cas, nous avons laissé l'application testée et l'OS avec leurs paramètres par défaut et relevé les performances pour voir quels étaient les résultats obtenus. 

Nous effectuerons des séries de tests complémentaires sur différentes instances et chez différents fournisseurs de services cloud dans le cadre d'un prochain article, une fois que nous pourrons exploiter plus de cœurs sur l'A1 d'Oracle.

Blender et rendu 3D

Commençons par l'un de nos tests habituels, qui s'adapte très bien aux processeurs avec un très grand nombre de cœurs : Blender. Nous utilisons ici la version des dépôts d'Ubuntu avec la scène Classroom. En effet, bmw_27 est trop légère lorsqu'il s'agit d'utiliser de très gros serveurs, montrant rapidement ses limites.

La commande utilisée est la suivante : 

blender -b classroom.blend -E CYCLES -t $(nproc) -f 1

Voici les résultats obtenus :

Performances Ampere Altra Blender

Sur un thread, le résultat est sans appel : l'EPYC 7313 est deux fois plus rapide que l'Altra-80. C'est tout de même un score honorable pour un tel processeur à l'architecture ARM misant principalement sur la densité. D'autant plus, qu'avec la montée en nombre de threads, l'écart s'amenuise. 

Ici, l'Altra profite de sa fréquence fixe. Le temps de rendu avec 16 threads est 15,9x moins élevé que celui sur un thread. De son côté, l'EPYC 7313 voit sa fréquence baisser pour contenir son TDP, ainsi le ratio est de 14,7x.

(Dé)compression via 7-Zip

Passons à 7-Zip. Cette fois nous utilisons le benchmark intégré avec la commande suivante :

7za b 5 -mmt$(nproc)

Voici les résultats obtenus :

Performances Ampere Altra 7-Zip

Cette fois, la tendance s'inverse, l'Ampere Altra semblant intégrer des unités de calcul profitant à plein dans une telle application. Tant en compression qu'en décompression le score est supérieur, et de beaucoup. Attention tout de même, il ne faut pas oublier que dans une telle situation, 16 cœurs physiques de l'EPYC 7313 ne sont pas forcément monopolisés, il sera intéressant de comparer les performances des processeurs utilisés à plein régime.

OpenSSL : une question de (dé)chiffrement

Au tour d'OpenSSL. Nous relevons le nombre de signatures par seconde (RSA 4096 bits) :

openssl speed --multi $(nproc) rsa4096

Voici les résultats obtenus :

Performances Ampere Altra OpenSSL

Cette fois, l'Ampere Altra ne semble pas à l'aise. Cela peut venir d'un déficit d'accélération matérielle ou du fait d'une version compilée et utilisée dans les dépôts d'Ubuntu qui ne profitent pas à plein de son potentiel. Néanmoins, l'écart constaté est relativement important, indiquant qu'un problème est sans doute présent.

x264 : qui est le roi de la compression 4K ?

Finissons par une compression de vidéo via x264, ce qui était l'un des usages mis en avant par Oracle Cloud. Pour cela, nous avons utilisé ffmpeg avec la vidéo de Tears of Steel (4K, 6.9 Go) afin d'obtenir une version 1080p :

time ffmpeg -i tearsofsteel_4k.mov -c:v libx264 -vf scale=1920:1080 -y -stats bench.mkv

Voici les résultats obtenus :

Performances Ampere Altra OpenSSL

Tout d'abord, il faut noter que la compression vidéo est un type de calcul qui ne « scale » pas bien. On ne profite en général pas du plein potentiel des cœurs, certaines étapes n'occupant que peu d'entre eux. C'est un cas d'autant plus intéressant qu'il permet de tester les processeurs dans des conditions intermédiaires. 

On peut aussi regarder quel est le potentiel d'une machine complète, de son CPU à sa mémoire en passant par le stockage, avec la compression de plusieurs flux en simultanées. Par exemple, sur notre machine HPE, on peut en effectuer six en seulement trois minutes, sans presque perdre de temps par rapport à la compression d'un flux unique.

Ici, nous avons au départ un résultat similaire à Blender : l'EPYC 7313 est deux fois plus rapide sur un thread que l'Ampere Altra. Mais au fil du temps, ils se rejoignent peu à peu, et à 16 threads, leurs performances sont presque similaires. Comme précédemment, il faudra tester le CPU complet pour se faire un avis plus précis.

Ampere Altra : déjà un très bon potentiel

Ces quelques tests montrent néanmoins que l'Ampere Altra semble déjà « ready for prime time » pour bien des usages et conviendra sans problème à ceux qui veulent simplement l'utiliser pour de l'hébergement, même si sa gestion d'OpenSSL semble ici à améliorer. Nous ferons des essais complémentaires pour éclaircir ce point. 

Quoi qu'il en soit, les performances de cette puce sont plutôt bonnes, parfois à la hauteur d'un EPYC 7313. Certes, cela se fait avec un nombre de cœurs physiques supérieur, mais sa densité est aussi meilleure : 80 par socket contre 64 pour AMD, avec une fréquence non soumise à une mécanique de boost/turbo. 

Autant dire que nous avons hâte de mettre la main sur un serveur complet avec deux CPU pour aller plus loin.

Vous n'avez pas encore de notification

Page d'accueil
Options d'affichage
Abonné
Actualités
Abonné
Des thèmes sont disponibles :
Thème de baseThème de baseThème sombreThème sombreThème yinyang clairThème yinyang clairThème yinyang sombreThème yinyang sombreThème orange mécanique clairThème orange mécanique clairThème orange mécanique sombreThème orange mécanique sombreThème rose clairThème rose clairThème rose sombreThème rose sombre

Vous n'êtes pas encore INpactien ?

Inscrivez-vous !