Cluster HPC déployé dans le cloud

Pipelines
Stockage Blob
Batch
Monitor

Idée de solution

Si vous souhaitez nous voir développer cet article avec d’autres informations, telles que des cas d’usage potentiels, d’autres services, des considérations d’implémentation ou un guide des prix, faites-le nous savoir avec les Commentaires de GitHub.

Les applications HPC (calcul haute performance) peuvent être mises à l’échelle pour plusieurs milliers de cœurs de calcul, étendre le Big Compute local ou s’exécuter en tant que solutions natives entièrement dans le cloud. Cette solution HPC repose sur le service géré Azure Batch et est initiée par un travail Azure Pipelines. Ces services fonctionnent dans un environnement à haute disponibilité, avec des correctifs et un support, ce qui vous permet de vous concentrer sur votre solution plutôt que sur l’environnement dans lequel elles opèrent.

Architecture

Diagramme d’architecture Télécharger une SVG de cette architecture.

La solution implique les étapes suivantes :

  1. Azure Pipelines démarre un pipeline qui compile le projet de code de l'équipe et le stocke sous forme de fichier exécutable dans le service Stockage Azure.
  2. Le travail du pipeline se poursuit avec le chargement de certaines données de traitement dans le compte de stockage.
  3. Enfin, Azure Pipelines demande au service Azure Batch de lancer son travail de traitement, ce qui met fin au pipeline.
  4. Le service Azure Batch copie les fichiers exécutables du programme et les données d'entrée à partir du stockage, et les attribue à un pool de nœuds de calcul.
  5. Le service Azure Batch assure la gestion des travaux et des tâches pour le pool, en réessayant ou en réattribuant les tâches lorsque les nœuds terminent leur travail.
  6. Pendant que les nœuds de calcul travaillent, Azure Monitor collecte les données de performances du pool (CPU, mémoire, E/S disque) et les fichiers journaux. L'équipe peut étudier ces données de télémétrie pour améliorer la qualité des futurs travaux créés.
  7. Lorsque les nœuds de calcul terminent leurs tâches, ils renvoient leurs données de programme au service Stockage Azure pour que l'équipe les examine.

Components

  • Azure Pipelines crée et teste les projets de code, et lance les travaux HPC sur le service Azure Batch.
  • Stockage Azure héberge les données HPC et les fichiers exécutables utilisés dans le cadre d'un travail.
  • Azure Batch planifie les travaux et les tâches sur un grand nombre de nœuds, et gère l'ensemble des ressources de calcul.
  • Les Machines virtuelles Azure sont exécutées en tant que Workers pour accomplir les tâches de calcul.
  • Le réseau virtuel fournit une connectivité IP entre les ressources de calcul et les autres services cloud, au-dessus et au-delà de toute communication Infiniband ou RDMA native.
  • Azure Monitor collecte les métriques de performances et les journaux à partir des ressources cloud pour les rapports, les alertes et les réponses automatisées.

Considérations

Les pools de calcul par lots ne doivent pas nécessairement contenir d'ordinateurs matériels. Des machines virtuelles spécialisées dotées de processeurs GPU et de capacités de mise en réseau avancées peuvent être utilisées par Azure Batch. Des machines virtuelles à GPU optimisé dotées d'un GPU NVIDIA Tesla et d'une capacité de mise en réseau Infiniband à haut débit sont disponibles.

Les pools de calcul par lots peuvent fait l'objet d'une mise à l’échelle automatique, ce qui permet d'augmenter ou de réduire le nombre de nœuds du pool en fonction de l'évolution de la charge de travail. Plutôt que de payer des membres inutilisés au sein des pools, la mise à l’échelle automatique permet de limiter les coûts de calcul d'un travail aux seules ressources qui exécutent les tâches.

Tarifs

Pour explorer le coût d’exécution de ce scénario, utilisez la calculatrice de prix Azure, qui préconfigure tous les services Azure.

Azure Batch est un service gratuit. Les clients paient uniquement les frais liés à la machine virtuelle sous-jacente, au stockage et à la mise en réseau. Dans cette solution, des frais supplémentaires s'appliquent aux services Azure Pipelines et Azure Monitor. L'option d'achat de logiciels de rendu graphique (comme Autodesk Maya et Chaos Group V-Ray), basée sur un tarif à la minute, est toutefois spécifique à Azure Batch. Pour plus d'informations, consultez Tarification d'Azure Batch.

Étapes suivantes

  • En savoir plus sur Azure Batch
  • Suivez un tutoriel pour afficher plusieurs images d'une scène de démonstration de Blender à l'aide d'Azure Batch.