Scénarios pour les technologies HPC et de traitement par lots
Chaque défi de calcul haute performance (HPC) a ses propres exigences et requiert souvent une solution unique.
En tant qu’architecte de solution pour l’organisation d’ingénierie, vous devez utiliser des solutions HPC sur Azure pour résoudre les tâches complexes auxquelles l’organisation est confrontée. Ces tâches incluent le rendu des modèles 3D des installations que la société conçoit et le stockage de grandes quantités de données statistiques. L’essence du calcul haute performance est d’utiliser de nombreux ordinateurs ou des ordinateurs ayant des configurations de processeur, de GPU et de mémoire à même de gérer des tâches complexes et longues.
Ici, vous allez découvrir certains cas d’usage classiques du calcul haute performance. Cette connaissance devrait vous aider à identifier les problèmes futurs pouvant être résolus à l’aide de solutions HPC.
Cas d’usage courants du calcul haute performance
Les organisations utilisent le calcul haute performance pour résoudre des problèmes métier variés. Vos exigences peuvent être uniques, mais souvent, un cas d’usage correspond à un des scénarios courants.
Analyse des éléments finis
L’analyse des éléments finis concerne les problèmes qui impliquent des questions complexes de physique d’ingénierie. Ces problèmes peuvent inclure le transfert de chaleur, l’analyse structurelle, le transport de masse et le potentiel électromagnétique. Pour résoudre ces problèmes, les grands systèmes sont subdivisés en segments plus petits appelés éléments finis et réassemblés en un plus grand système d’équations.
Citons par exemple la simulation d’accident et la prévision météorologique. Vous pouvez mettre en évidence les aspects les plus intéressants du système. Par exemple, la simulation d’accident peut se concentrer sur l’avant du véhicule, tandis que les simulations météorologiques peuvent viser à identifier des événements météorologiques extrêmes. L’utilisation de l’analyse des éléments finis pour modéliser les accidents de voiture nécessite simplement la spécification de la géométrie structurelle du véhicule et de la composition des matériaux. Les variantes mathématiques de ce qui peut se produire en cas d’accident de voiture pendant quelques secondes sont tellement vastes que vous pourriez avoir besoin du calcul haute performance pour les modéliser correctement.
Rendu des modèles 3D
Le rendu 3D est un cas d’usage classique du calcul haute performance dans le cloud. Un seul ordinateur peut mettre plusieurs heures ou plusieurs jours à afficher entièrement un fichier vidéo 3D ou une image à partir de ressources statiques. Vous pouvez acheter un ordinateur onéreux et correctement configuré pour traiter ce problème. Toutefois, étant donné la vitesse avec laquelle les technologies vieillissent, il peut être plus économique et efficace de louer la puissance requise dans le cloud. Utilisez Azure Batch pour louer autant de puissance que nécessaire pour le rendu dans le temps dont vous disposez, puis arrêtez-le une fois le travail terminé. Vous pouvez adopter ce processus quand vous avez des travaux similaires fréquents à effectuer.
L’infrastructure sous-jacente s’améliore au fur et à mesure que les mises à niveau technologiques sont disponibles. Batch vous permet également d’utiliser certains des packages de rendu 3D les plus importants comme Maya, 3D Studio Max et Chaos V-Ray. Vous payez les frais de licence à l’heure. Étant donné que le rendu est particulièrement gourmand en ressources de processeur, le déploiement de machines virtuelles de la série H dans des pools Batch offre une solution efficace.
Le diagramme suivant illustre une architecture Batch standard que vous pouvez utiliser pour prendre en charge le rendu 3D.
Analyse de l’ADN
La génomique, l’étude de l’ensemble complet de l’ADN d’un organisme individuel, est également bien adaptée aux techniques HPC basées sur le cloud. La recherche génomique implique généralement une grande quantité de données. La configuration de l’ADN est suivie sur un nombre suffisant de personnes pour identifier des variations significatives. En moyenne, il y a environ 25 000 gènes dans le corps humain, chacun d’entre eux renfermant des instructions comprenant entre 500 et 2,3 millions de lettres. Le calcul haute performance dans le cloud permet de stocker et d’utiliser efficacement des quantités énormes de données, sans avoir à consacrer de dépenses importantes à une technologie qui devient rapidement obsolète.
Conception assistée par ordinateur
La conception assistée par ordinateur (CAO), qui présente certaines similarités avec l’analyse des éléments finis et le rendu 3D Batch, est un autre cas d’utilisation pertinent du calcul haute performance dans le cloud. La CAO accélère la conception et le test des produits, et permet d’effectuer des visualisations et des simulations complexes sur les artefacts résultants.
Ce diagramme illustre une architecture possible que vous pouvez utiliser pour publier un produit de CAO SaaS (Software-as-a-service) basé sur des machines virtuelles des séries N et H dans Azure.
Mécanique des fluides numérique
La mécanique des fluides numérique utilise les mathématiques pour modéliser les flux de fluides, à la fois en flux libre et en interaction avec des surfaces solides. Ces simulations sont gourmandes du point de vue du calcul. Elles constituent un bon cas d’usage pour certains des aspects plus compliqués des machines virtuelles de la série H que vous avez vus précédemment. Ces aspects incluent les fonctionnalités réseau InfiniBand et la possibilité d’interagir via MPI (interface de passage de messages).
Critères de décision
Quel service candidat utiliser ?
L’opération « lift-and-shift » est une stratégie visant à migrer une charge de travail vers le cloud sans reconcevoir l’application ou modifier le code. Elle est également appelée ré-hébergement. Pour plus d’informations, consultez Centre de migration Azure.
Optimisé pour le cloud est une stratégie visant à migrer vers le cloud par la refactorisation d’une application, pour tirer parti des fonctionnalités cloud natives.
Quel service de stockage HPC Azure utiliser ?
Calcul basé sur un processeur (UC) ou sur un processeur graphique (GPU)
Une UC (la tête) peut effectuer différents calculs, tandis qu’une GPU (les jambes) excelle à concentrer toutes les capacités de calcul sur une tâche spécifique.
Alors que les cœurs d’UC individuels sont plus rapides, mesurés par la vitesse d’horloge du processeur et plus intelligents, comme mesurés par les jeux d’instructions disponibles. Le nombre impressionnant de cœurs d’UC et le parallélisme impressionnant offert font toute la différence par la vitesse d’horloge simple cœur et les jeux d’instructions limités.
UC
- Une UC comprend des cœurs optimisés pour le traitement séquentiel en série. Il est conçu pour optimiser les performances d’une seule tâche d’un travail.
- Étapes pour trouver la machine virtuelle avec processeur appropriée :
- Déterminez si un travail pour l’application HPC s’exécute sur moins d’une machine ou utilise une interface de passage de messages (MPI) sur plusieurs machines.
- Déterminez la RAM du travail par utilisation de cœur (par exemple, 6 Go de RAM par cœur) et testez les instances qui correspondent.
- Si la charge de travail nécessite des cœurs physiques, utilisez les familles de machines virtuelles (en pourpre).
- Vérifiez la disponibilité des machines préférées.
- La technologie Cray s’applique à toutes les charges de travail :
- Où un type de machine virtuelle utilisable n’est pas disponible régionalement
- Qui sont très utilisées, avec des serveurs utilisés à plus de 80 %
- Où nous n’avons aucune configuration de machine virtuelle opérationnelle
GPU
- Un GPU utilise des milliers de cœurs plus petits et plus efficaces pour une architecture massivement parallèle visant à gérer plusieurs fonctions simultanément.
- Les GPU modernes offrent une puissance de traitement, une bande passante mémoire et une efficacité supérieures à celles qu’offrent des UC équivalentes. Ils sont 50 à 100 fois plus rapides dans l’exécution de tâches nécessitant plusieurs traitements parallèles.
Pourquoi une mise en réseau à faible latence est-elle importante pour des travaux étroitement couplés ?
De nombreuses applications HPC sont très parallèles et ont une communication étroitement couplée. Cela signifie que, pendant une exécution de simulation parallèle d’applications, tous les processus parallèles doivent communiquer entre eux fréquemment.
Ces types d’applications fonctionnent généralement de façon optimale quand l’inter-communication entre les processus parallèles est effectuée sur des réseaux à bande passante élevée et à faible latence comme InfiniBand.
La nature étroitement couplée de ces applications signifie que, si une seule machine virtuelle ne fonctionne pas de manière optimale, elle peut entraîner une altération des performances du travail.
Les nœuds ont besoin d’une communication (conversation) conséquente entre eux pour fonctionner correctement.