Partager via


Style d’architecture big compute

Le terme big compute décrit les charges de travail à grande échelle qui peuvent nécessiter des centaines ou des milliers de cœurs. Les cas d’usage nécessitant un grand calcul incluent le rendu d’images, la dynamique fluide, la modélisation des risques financiers, l’exploration pétrolière, la conception de médicaments et l’analyse du stress d’ingénierie.

Diagramme illustrant un style d’architecture de calcul volumineux.

Les caractéristiques suivantes sont courantes dans les applications de calcul volumineuses :

  • Le travail peut être divisé en tâches discrètes qui peuvent s’exécuter simultanément sur de nombreux cœurs.

  • Chaque tâche est finie. Elle prend l’entrée, traite cette entrée et produit une sortie. L’application entière peut s’exécuter pendant quelques minutes à plusieurs jours, mais elle s’exécute pendant une durée limitée. Un modèle courant consiste à provisionner un grand nombre de cœurs en rafale, puis à réduire le nombre de cœurs à zéro lorsque l’application se termine.

  • L’application n’a pas besoin de s’exécuter en continu. Toutefois, le système doit gérer les défaillances de nœud ou les incidents d’application.

  • Pour certaines applications, les tâches sont indépendantes et peuvent s’exécuter en parallèle. Dans d’autres cas, les tâches sont étroitement couplées, ce qui signifie qu’elles doivent interagir ou échanger des résultats intermédiaires. Dans ce cas, envisagez d’utiliser des technologies de mise en réseau haute vitesse telles que InfiniBand et l’accès à la mémoire directe à distance (RDMA).

  • En fonction de votre charge de travail, vous pouvez utiliser des tailles de machine virtuelle nécessitant beaucoup de ressources de calcul telles que H16r, H16mr et A9.

Quand utiliser cette architecture

  • Opérations gourmandes en calcul, telles que les simulations et la réduction des nombres

  • Simulations qui sont gourmandes en calcul et doivent être fractionnées entre processeurs dans des centaines ou des milliers d’ordinateurs

  • Simulations nécessitant trop de mémoire pour un ordinateur et qui doivent être fractionnées sur plusieurs ordinateurs

  • Calculs longs qui prennent trop de temps pour se terminer sur un seul ordinateur

  • Calculs plus petits qui doivent exécuter des centaines ou des milliers de fois, tels que des simulations Monte Carlo

Avantages

  • Hautes performances avec traitement embarrassant parallèle

  • La possibilité d’utiliser des centaines ou des milliers de cœurs d’ordinateur pour résoudre de grands problèmes plus rapidement

  • Accès à un matériel hautes performances spécialisé qui utilise des réseaux InfiniBand à haute vitesse dédiés

  • Possibilité de provisionner et de supprimer des machines virtuelles selon les besoins

Défis

  • Gestion de l’infrastructure de machine virtuelle

  • Gestion du volume de la réduction des nombres

  • Approvisionnement de milliers de cœurs en temps opportun

  • Pour les tâches étroitement couplées, l’ajout d’autres cœurs peut avoir une diminution des retours. Vous devrez peut-être expérimenter pour trouver le nombre optimal de cœurs.

Calcul volumineux à l’aide d’Azure Batch

Azure Batch est un service managé pour l’exécution d’applications HPC (High-Performance Computing) à grande échelle.

Utilisez Batch pour configurer un pool de machines virtuelles et charger les applications et les fichiers de données. Le service Batch provisionne les machines virtuelles, affecte des tâches aux machines virtuelles, exécute les tâches et surveille la progression. Batch peut effectuer automatiquement un scale-out des machines virtuelles en réponse à la charge de travail. Batch fournit également la planification des travaux.

Diagramme d’une architecture de calcul volumineuse qui utilise Batch.

Calcul volumineux qui s’exécute sur des machines virtuelles

Vous pouvez utiliser Microsoft HPC Pack pour administrer un cluster de machines virtuelles et planifier et surveiller les travaux HPC. Si vous utilisez cette approche, vous devez provisionner et gérer les machines virtuelles et l’infrastructure réseau. Envisagez cette approche si vous avez des charges de travail HPC existantes et que vous souhaitez déplacer une partie ou l’ensemble d’entre elles vers Azure. Vous pouvez déplacer l’ensemble du cluster HPC vers Azure, ou conserver votre cluster HPC local et utiliser Azure pour la capacité de rafale. Pour plus d’informations, consultez HPC sur Azure.

HPC Pack déployé sur Azure

Dans ce scénario, le cluster HPC est entièrement créé dans Azure.

Diagramme montrant HPC Pack déployé sur Azure.

Le nœud principal fournit des services de gestion et de planification des travaux au cluster. Pour les tâches étroitement couplées, utilisez un réseau RDMA qui fournit une communication à bande passante élevée et à faible latence entre les machines virtuelles. Pour plus d’informations, consultez Vue d’ensemble de Microsoft HPC Pack 2019.

Rafale d’un cluster HPC vers Azure

Dans ce scénario, vous exécutez HPC Pack localement et utilisez des machines virtuelles Azure pour la capacité de rafale. Le nœud principal du cluster est local. Azure ExpressRoute ou la passerelle VPN Azure connecte le réseau local au réseau virtuel Azure.

Diagramme montrant un cluster de calcul volumineux hybride.