L'équipe d'ingénierie de Rescale se consacre à résoudre les complexités de la gestion calcul haute performance (HPC) en cette ère de informatique hybride et multi-cloud.
La création d’une tâche de calcul pour effectuer une simulation numérique ou un autre type d’analyse est fondamentale pour le HPC en R&D. Ainsi, l’un des principaux domaines d’intérêt de l’équipe d’ingénierie de Rescale consiste à automatiser de nombreuses tâches nécessaires à la mise en place réussie d’un travail de simulation ou d’une autre tâche de calcul importante.
Dans cette série d'articles de blog en deux parties, je couvrirai les aspects clés de la configuration d'un environnement de calcul pour l'exécution de tâches par lots HPC et d'autres considérations de gestion, quels que soient les outils que vous utilisez ou votre infrastructure (sur site ou cloud).
Dans ce premier article, je commencerai par définir ce que sont les tâches par lots HPC, en quoi elles diffèrent des tâches par lots informatiques classiques et les considérations à prendre en compte pour la configuration. infrastructure matérielle et une structure réseau pour exécuter des clusters HPC.
Calcul par lots HPC, définition
Dans le monde HPC, les tâches par lots consistent à configurer le matériel pour exécuter votre application logicielle afin d'effectuer un type spécifique de tâche de calcul (généralement pour les simulations numériques).
Une fois que vous avez configuré votre environnement informatique, vous pouvez appuyer sur « Go » et laisser l'infrastructure et les logiciels effectuer le travail. Une fois le travail HPC terminé, les chercheurs et les ingénieurs peuvent examiner les résultats et commencer leur analyse.
Avec Travaux par lots HPC, il est essentiel de configurer correctement l'environnement de calcul. Les charges de travail HPC peuvent varier considérablement en termes de besoins de calcul. La clé est donc de configurer l'infrastructure pour garantir des performances et une fiabilité critiques. À bien des égards, il est coûteux qu'une simulation échoue ou ne produise pas les résultats escomptés en raison d'erreurs de configuration logicielle ou matérielle.
Ces simulations nécessitent souvent d’utiliser des ressources informatiques importantes sur une longue période. C'est cher. En n'utilisant qu'un seul nœud (un ordinateur dans un cluster de calcul intensif) n'est pas rare, les simulations nécessitent souvent 20 ou 50 nœuds, ce qui peut être de l'ordre de milliers de nœuds. noyaux CPU. Ces simulations peuvent durer d’une demi-heure à une semaine ou plus. Certains de nos clients effectuent de très longues simulations sur plusieurs jours ou semaines, mais la durée d'exécution typique d'un travail par lots HPC pour réaliser une simulation numérique est de quatre à huit heures.
Travaux par lots HPC : ce n'est pas votre travail par lots informatique typique
Il existe de nombreux types de tâches informatiques par lots, mais si vous parlez d'une tâche courante comme la mise à jour d'une base de données, ces tâches par lots visent davantage à garantir que quelque chose s'exécute à un moment donné plutôt qu'à obtenir les meilleures performances de votre matériel.
L'objectif principal d'un travail informatique par lots courant est le suivant : exécutez-le, n'échouez pas et ne gênez personne. Ce serait génial s'il s'exécutait rapidement, mais le but est de trouver une partie du temps du centre de données pendant la nuit lorsque le travail par lots peut prendre son temps de traitement sans interférer avec d'autres tâches. La tâche doit simplement être terminée à un moment donné. La vitesse n’est tout simplement pas un facteur pour les tâches informatiques courantes par lots.
Avec les tâches par lots HPC, tout est question de rapidité et d'efficacité. Compte tenu des coûts liés à l'exploitation de vos propres superordinateurs ou à leur location dans le cloud, vous devez vous assurer que vos ressources informatiques sont optimisées de manière optimale, que ce soit dans le cloud ou dans votre propre centre de données.
Même avec les ressources illimitées du cloud, vous devez encore faire beaucoup plus de travail pour vous assurer que vos tâches par lots HPC s'exécutent correctement par rapport à une tâche informatique par lots d'entreprise typique du jour au lendemain.
Lors de la configuration d'un travail par lots HPC, vous devez d'abord vous assurer que vous utilisez la meilleure architecture de puce et les meilleures extensions disponibles pour ces puces. Différentes générations de puces Intel ou AMD auront des capacités différentes, et le logiciel doit souvent être configuré et compilé pour en tirer parti.
Il existe donc d’importants problèmes de correspondance que vous devez prendre en compte entre le matériel et les logiciels. Et cela devient de plus en plus difficile à mesure que le nombre de puces semi-conductrices spécialisées augmente rapidement. La bonne adéquation entre le matériel et les logiciels peut avoir de profondes implications en termes de coût, de vitesse et de consommation d'énergie.
Considérations clés pour la configuration de tâches par lots
Compte tenu de la nécessité cruciale de garantir que vos tâches par lots HPC s'exécutent correctement et aux niveaux de performances nécessaires, vous souhaiterez disposer du matériel approprié, le mieux adapté au type d'application que vous exécuterez. Différentes applications de simulation ont des exigences très différentes. Certains sont très gourmands en mémoire, d’autres très gourmands en calcul CPU. Certains nécessitent des puces semi-conductrices spéciales comme les GPU.
La première chose à faire est donc de déterminer quel type de matériel vous souhaitez utiliser pour exécuter votre simulation. Si vous optimisez pour le mauvais matériel, le travail par lots pourrait prendre beaucoup plus de temps, même d'un ordre de grandeur. Vous attendez donc simplement plus longtemps et dépensez potentiellement plus d’argent pour ce temps de calcul.
Il existe également un compromis à prendre en compte entre la vitesse de calcul et les coûts logiciels. Les licences varient beaucoup, mais les applications sophistiquées et spécialisées utilisées en R&D sont généralement coûteuses à exploiter et les coûts de licence sont basés sur un modèle de consommation (temps passé à utiliser l'application pour exécuter des simulations ou d'autres analyses).
Compte tenu de cela, il peut être avantageux de dépenser plus d'argent sur des ressources de calcul plus rapides afin de réduire la durée d'un travail par lots HPC et ainsi réduire les coûts logiciels. Souvent, ce que vous souhaitez faire est d'optimiser le fonctionnement dans le moins de temps possible (ou le moins d'heures de cœur de processeur) afin d'optimiser vos coûts de licence, car ceux-ci sont souvent bien supérieurs aux coûts matériels en fonction de l'application et de la situation. .

L’importance cruciale d’une structure réseau adaptée
Il existe un autre axe de complexité qui n'est pas typique des tâches informatiques par lots : la structure réseau et la connectivité. Différents clusters de calcul ont différents types de structure réseau qui connectent tous les nœuds entre eux. Ce n’est généralement pas un problème avec les tâches de calcul informatique standard. Ceux-ci ont juste besoin de quelques serveurs.
L'un des grands défis sur lesquels l'équipe d'ingénierie de Rescale se concentre concerne le fonctionnement de la communication entre les nœuds et la manière dont cela affecte les performances d'une application HPC.
En règle générale, bon nombre de ces tâches sont de grandes simulations. Vous devrez les exécuter sur plusieurs nœuds. Et beaucoup de ces applications supposent également un modèle de communication à granularité fine entre les nœuds.
Ainsi, si vous configurez votre cluster ou si vous configurez vos bibliothèques de communication de manière sous-optimale, cela pourrait vraiment prolonger la durée d'exécution de votre simulation, entraînant de nombreuses inefficacités.
Pour de nombreuses applications HPC, vous devez vous assurer que vos nœuds disposent d'une connectivité à très faible latence entre eux, pour vous assurer que toute cette communication multi-nœuds à granularité fine fonctionne bien.
Et il existe de nombreuses façons de construire ce réseau de communication inter-nœuds. Vous pouvez utiliser Ethernet à large bande passante ou opter pour InfiniBand, qui offre une latence plus faible et une bande passante plus élevée que la plupart des options Ethernet. Il existe également plusieurs autres types de structure réseau.
De plus, de nombreuses applications HPC utilisent une couche bibliothèque appelée Propriétés Mitelman (interface de passage de messages). Mais MPI n'est qu'un standard, pas une bibliothèque en soi. Les fournisseurs et les développeurs créent leurs propres bibliothèques basées sur la norme MPI.
Vous devez donc vous assurer que le type de MPI que vous utilisez fonctionne bien avec le type de matériel que vous utilisez. En d’autres termes, vous devez faire correspondre non seulement le matériel avec l’application de simulation, mais aussi le matériel avec la couche middleware (la bibliothèque), puis avec l’application elle-même.
Le MPI doit être configuré pour des types spécifiques de structure réseau. Et les besoins de configuration varient considérablement selon les différentes structures réseau. Ce n'est pas quelque chose que vous pouvez définir une seule fois pour une seule structure réseau et vous attendre à ce qu'il fonctionne raisonnablement bien dans tous les cas. Il y a une grande variation dans les performances si vous ne réglez pas cela.
Et cela dépend de l'application. Mais pour de nombreuses tâches HPC par lots, vous êtes davantage lié au réseau qu'au calcul, car vous devez transmettre toutes ces informations fines entre les différents nœuds pour que la simulation progresse. Ensuite, vous devez également vous assurer que les bibliothèques qui guident les communications entre les nœuds sont correctement configurées.
Pour les tâches HPC par lots, le résultat est toujours le même : si vous ne disposez pas de l'ensemble du matériel et des logiciels optimisés pour votre charge de travail HPC, vous ne bénéficierez pas de tous les avantages de ce matériel et de ces logiciels coûteux.
Ceci conclut la première partie de cette série. Dans la deuxième partie, j'approfondirai les problèmes clés liés à l'exécution de tâches HPC par lots, notamment la planification des tâches, les coûts des tâches HPC défectueuses, la sécurité et la gestion multi-cloud. Restez à l'écoute!
En savoir plus sur le Le lot intelligent de Rescale capacités
Assurez-vous que tous vos travaux de calcul haute performance sont
mettre en place la bonne façon de fonctionner rapidement, efficacement et de manière fiable.
