Résumé de l'analyse comparative du réseau MPI du cloud public

Au fil des années, nous avons publié un certain nombre d'articles de blog dans lesquels nous avons effectué des microbenchmarks MPI par rapport aux offres des principaux fournisseurs de cloud public. Tous ces fournisseurs ont apporté un certain nombre d'améliorations réseau au cours de cette période. Nous avons donc pensé qu'il serait utile de réexécuter ces microbenchmarks sur la dernière génération de machines virtuelles. En particulier, AWS a publié une nouvelle version de « Enhanced Networking » qui prend en charge jusqu'à 20 Gbit/s, et Azure a publié la famille de machines virtuelles de la série H qui offre un FDR InfiniBand virtualisé.
Mon collègue Irwen a récemment effectué les tests de latence point à point (osu_latency) et de bande passante bissection (osu_bibw) de la bibliothèque OSU Microbenchmarks (version 5.3.2) sur un certain nombre de types de VM différents de Google Compute Engine. Par souci de cohérence, nous utiliserons ici la même bibliothèque avec Azure et AWS. Le tableau ci-dessous inclut la machine la plus performante du post d'Irwen : la n1-highmem-32. Le c4.8xlarge représente un type de machine virtuelle AWS de la génération précédente de mise en réseau améliorée et la nouvelle machine virtuelle m4.32xlarge exécute la version la plus récente de la mise en réseau améliorée.
Dans le tableau ci-dessous, nous listons les résultats moyennés sur 3 essais. Une nouvelle paire de VM a été provisionnée à partir de zéro pour chaque essai :
| Latence de 0 octet (nous) | Bande passante de 1 Mo (Mo/s) | |
| GCE (n1-highmem-32) | 41.04 | 1076 |
| AWS (c4.8xlarge) | 37.07 | 1176 |
| AWS (m4.32xlarge) | 32.43 | 1152 |
| Azur (H16r) | 2.63 | 10807 |
Comme on pouvait s'y attendre, les machines virtuelles Azure de la série H dépassent largement la concurrence non équipée d'InfiniBand dans ces tests. L’une des critiques fréquentes adressées à l’utilisation du cloud public pour le HPC est que les performances du réseau ne sont pas à la hauteur de la tâche nécessaire pour exécuter une charge de travail étroitement couplée. Azure de Microsoft a montré qu'il est possible d'exécuter une structure réseau virtualisée hautes performances à hyperscale.
Cela dit, bien que cela soit intéressant du point de vue des performances brutes du réseau, il est important d’éviter d’accorder trop d’importance à des références synthétiques comme celle-ci. Les benchmarks d’applications sont généralement une bien meilleure représentation des performances réelles. Il est certainement possible d'obtenir une forte mise à l'échelle avec certains solveurs CFD dotés de 10GigE virtualisés. AWS a publié STAR-CCM+ des tests de référence montrant une mise à l'échelle proche de la linéaire sur un modèle de cellule de 16 millions d'exécutions jusqu'à 700 processus MPI. Microsoft a également publié certains benchmarks STAR-CCM+ montrent une mise à l'échelle proche de la linéaire sur jusqu'à 1,024 100 processus MPI avec une ancienne génération de machines virtuelles équipées d'InfiniBand (notez qu'il ne s'agit pas d'une comparaison de pommes avec des pommes car Microsoft a utilisé un modèle de cellule plus grand de XNUMX millions dans ses tests). Il est également important de souligner que le tissu réseau spécialisé est généralement proposé à un prix plus élevé. De plus, gardez à l’esprit que la vitesse du réseau n’est qu’une dimension des performances. Les E/S disque, la RAM, le nombre de cœurs de processeur et la génération, ainsi que le type de simulation et la taille du modèle doivent tous être pris en compte lors de la prise de décision concernant les profils matériels à utiliser. L'un des avantages d'utiliser une plateforme multi-cloud comme celle de Rescale Plateforme ScaleX c'est que cela facilite l'exécution de benchmarks et en plus, HPC d'entreprise charges de travail, sur une variété de configurations matérielles en modifiant simplement le type de cœur dans votre demande de soumission de travail.
Enfin, il est impressionnant de constater à quel point les choses se sont éloignées de l'original. Magellan rapport. Une bataille acharnée se déroule actuellement entre les poids lourds du cloud public et nous commençons à voir des cycles de rafraîchissement du matériel incluant non seulement une interconnexion haute performance mais également des générations de CPU modernes (Skylake) ainsi que la disponibilité des GPU et FPGA à grande échelle. Le cloud public « standard » est de plus en plus viable pour un nombre croissant de charges de travail HPC.