Les radiateurs Qarnot sont-ils aussi performants que les machines HPC classiques ?

  • Le 29 mars 2018

Article rédigé par Louis Stuber

Qarnot : HPC Everywhere ?

Aujourd’hui, le Cloud Computing change notre manière de réaliser des calculs intensifs. Il peut se révéler être une alternative beaucoup plus économique à l’achat d’un supercalculateur traditionnel, qui en plus d’occasionner des coûts de construction et de maintenance considérables, sera généralement sous-utilisé.

Qarnot propose une solution de Cloud particulièrement innovante : son infrastructure est basée sur des « radiateurs de calcul », placés dans des bureaux, des logements sociaux ou résidences, et chauffés par les calculs des processeurs qui se trouvent à l’intérieur. Grâce à cette approche, les calculs effectués sur Qarnot ont une empreinte carbone réduite de 75%.

Partenaire de Qarnot, ANEO a mené une étude sur les performances de cette solution pour le traitement de workloads typiques du HPC. Dans cet article, nous présentons l’infrastructure et les fonctionnalités de Qarnot puis dans un second temps les résultats de notre étude.

Infrastructure

L’offre principale de Qarnot est le radiateur « Q.rad ». Installé chez des particuliers ou dans des bureaux, un Q.rad comprend 4 processeurs Intel Core i7 (4 cœurs, entre 3.5 et 4 GHz, architecture Ivy Bridge ou Haswell) et 16 Go de RAM. Les Q.rad ne contiennent pas physiquement d’espace de stockage, mais peuvent accéder à des disques situés dans le même immeuble. La plateforme Qarnot compte environ 5000 cœurs au total, chiffre qui passera à 12000 à l’été 2018.

Qarnot est particulièrement adapté aux traitements batch HPC et applications dites « embarrassingly parallel », c’est à dire n’ayant pas ou peu de dépendances/communications entre les tâches. Il s’agit par exemple de traitement d’images ou de calculs financiers.

Qarnot propose également des solutions, actuellement en développement, pour accéder à des nœuds connectés en MPI :

  • Un profil « Q.rad » avec des Q.rads classiques, interconnectés mais sans garantie sur leur localisation géographique. La performance du réseau sur les nœuds est très variable, et elle est généralement assez faible (de l’ordre de 1 ms de latence).
  • Un profil « O.mar », basé sur une infrastructure spécifique, où les nœuds sont proches et ont une meilleure connectivité (Ethernet 1 Gbps, 20 µs de latence). Ces nœuds sont beaucoup plus adaptés à une workload de type HPC. Les O.mar peuvent seulement contenir jusqu’à 64 nœuds (256 cœurs), mais cela devrait prochainement évoluer.

Interface et API

Qarnot met à disposition différents « profils » en fonction du type d’utilisation, allant du SaaS (Software as a Service) au PaaS (Platform as a Service). Un environnement Docker est présent sur les nœuds pour exécuter le calcul de façon conteneurisée. Dans notre cas nous avons utilisé un profil spécifique créé par Qarnot autorisant les nœuds à se connecter en MPI.

Qarnot propose une API REST, et un SDK Python permettant d’allouer les nœuds/disques et de spécifier les paramètres du job (Fichiers d’entrée et de sortie, etc.) :

Une interface Web permet de suivre le déroulement des tâches et la facturation en temps réel :

Benchmarks

La performance du réseau est un critère essentiel du calcul haute performance, ce qui est renforcé par le faible nombre de cœurs présents sur les machines Qarnot (et donc la nécessité d’avoir beaucoup de nœuds). En ce sens, nous avons mesuré les performances d’une application de calcul distribué fortement communicante sur les deux profils proposés par Qarnot : Q.rad et O.mar.

Les mesures sont effectuées d’abord en mono-nœud pour évaluer la performance brute des machines, puis en multi-nœuds (MPI) pour évaluer les capacités du réseau. Tous les tests utilisent un process MPI par nœud et autant de threads qu’il y a de cœurs physiques.

Le code utilisé pour nos benchmarks est SeWaS (Seismic Wave Simulator), application développée par ANEO simulant la propagation d’ondes sismiques et inspiré d’une application utilisée par des ingénieurs du BRGM (Bureau de recherches géologiques et minières). L’une des caractéristiques clés de SeWaS est d’effectuer des communications entre cellules voisines à chaque itération, ce qui en fait une application très sensible à la latence du réseau.

SeWaS est implémenté selon un modèle à base de tâches avec le support exécutif PaRSEC (Parallel Runtime Scheduling and Execution Controller). Ce framework permet d’ordonnancer un graphe de tâches sur des architectures à mémoire distribuée et est capable de recouvrir automatiquement les communications par les calculs.

 

1. Performance mono-nœud

 Nous commençons par comparer un nœud de Qarnot avec un socket HPC classique, sur un cas de test simple (16 millions de mailles, 100 pas de temps).

Les résultats sont présentés en millions de cellules traitées par seconde (Mcellules/sec).

  • À nombre de cœurs égal, les performances des nœuds Qarnot sont comparables à celles d’un nœud HPC de même génération (Haswell). En mono-nœud SeWaS est limité par la bande passante mémoire, il n’est donc pas étonnant d’avoir un facteur 2 malgré la fréquence légèrement supérieure des nœuds Qarnot.
  • Pour une seule tâche, le profil classique Q.rad donne les mêmes performances que le profil O.mar, ce qui est attendu (les spécifications des CPU sont les mêmes).

 

 2. Performance inter-nœuds

 Scalabilité forte

 Les performances suivantes ont été obtenues sur un cas de test moyen dimensionné pour 64 cœurs (92 millions de cellules, 100 pas de temps), faisant intervenir intensivement calcul et communications.

Sur le profil O.mar, les performances passent assez bien à l’échelle. Les performances sur 2 nœuds sont comparables à celles d’un Xeon.

Sur le profil classique, la forte latence réseau se révèle un problème majeur, et le temps est plus long lorsqu’on augmente le nombre de nœuds. Ceci montre l’intérêt d’utiliser le profil O.mar.

 Scalabilité faible

Pour évaluer plus finement les performances du réseau, nous avons mesuré la scalabilité faible de SeWaS, c’est-à-dire en faisant varier la taille du cas de test proportionnellement au nombre de nœuds. La scalabilité faible permet ainsi d’éviter d’être limité par la taille du cas de test.

  

Si la scalabilité était parfaite la courbe devrait être une droite. Dans notre cas l’efficacité est bonne, supérieure à 90% jusqu’à 16 nœuds et 80% jusqu’à 48 nœuds.

Le ratio de performance final par rapport au nœud Xeon est présenté ci-dessous :

Conclusion

L’étude que nous avons effectuée démontre que l’approche de Qarnot est une solution intéressante pour des workloads HPC de taille moyenne. Il est possible d’atteindre une efficacité de 90% même sur des applications effectuant des communications importantes.

Notons cependant que l’accès à des nœuds connectés en MPI est une fonctionnalité non publique pour le moment, que l’entreprise propose au cas par cas en fonction des besoins et des projets clients.

Qarnot annonce en outre l’arrivée prochaine de nouvelles solutions de type « chaudières de calcul », qui devraient amener plus de possibilités en termes de hardware (600 cœurs AMD Ryzen 7) et de configuration réseau (Infiniband).  Qarnot propose déjà ce type de matériel via son partenaire Asperitas et sortira un prototype en Décembre 2018.

Louis STUBER

Les prochaines occasions de se rencontrer

L’expérience de paiement en assurance

Participer