Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans sa forme la plus élémentaire, un système de calcul haute performance (HPC) est un pool de ressources de calcul soutenu par des systèmes de fichiers performants et interconnectés par des réseaux à faible latence. Les schedulers HPC, des applications logicielles qui planifient des travaux, gèrent généralement ces ressources de calcul.
La création de systèmes HPC individuels sur Azure à partir d’unités d’infrastructure de base telles que des machines virtuelles, des disques et des interfaces réseau peut s’avérer fastidieuse, surtout si ces ressources sont éphémères et n’existent que le temps nécessaire à la résolution de la tâche HPC. En outre, vous voudrez peut-être créer plusieurs environnements HPC distincts adaptés à différentes divisions, équipes de recherche ou individus. La gestion de ces multiples systèmes HPC peut s’avérer complexe sur le plan opérationnel.
Qu’est-ce que CycleCloud ?
Azure CycleCloud est un outil qui permet de construire des systèmes HPC sur Azure. Il orchestre ces systèmes de sorte qu’ils se dimensionnent de manière élastique en fonction des tâches HPC, sans avoir à gérer les blocs élémentaires Azure de base. Une équipe de professionnels HPC expérimentés a conçu CycleCloud pour les administrateurs et les utilisateurs HPC, en particulier les utilisateurs qui souhaitent créer des systèmes HPC dans Azure semblables à leur infrastructure HPC interne.
D’un point de vue opérationnel, CycleCloud est un serveur d’applications qui s'installe dans une machine virtuelle Linux sur Azure ou sur un serveur local ayant accès aux API et aux ressources Azure. CycleCloud acquiert et provisionne des machines virtuelles Azure pour construire des clusters CycleCloud qui peuvent intégrer des schedulers et des applications utilisateur. CycleCloud fournit également des intégrations de mise à l’échelle automatique pour un certain nombre de schedulers HPC et un agent CycleCloud qui s’exécute sur des machines virtuelles Azure.
Serveur d’applications
Ce serveur d’applications propose :
- Un API REST pour la création et la gestion de systèmes HPC sur Azure.
- Une interface graphique utilisateur pour la gestion et la surveillance des systèmes HPC.
- Une CLI qui facilite l’intégration de CycleCloud dans les flux de travail existants.
- Un magasin de données NoSQL interne qui met en cache les états de cluster et de nœud.
- Un système d’allocation et d’orchestration qui acquiert et gère les machines virtuelles Azure.
- Un système de surveillance de nœuds pour les machines virtuelles existantes qui alerte des changements d’état.
Intégrations
CycleCloud propose également des intégrations dans les schedulers courants et les machines virtuelles Azure. Ces intégrations offrent les avantages suivants :
- Un système de préparation et de configuration de nœuds pour la conversion d’une machine virtuelle provisionnée en nœud HPC.
- Une mise à l’échelle automatique pour les schedulers HPC qui convertissent les exigences des tâches du scheduler HPC en ressources Azure.
Ce que CycleCloud propose
CycleCloud est destiné aux opérateurs HPC (administrateurs et utilisateurs) qui déploient des systèmes HPC sur Azure. Ils souhaitent répliquer l’infrastructure qu’ils exécutent en interne, du scheduler HPC aux points de montage du système de fichiers pour l’installation d’applications et l’accès aux données. Ces utilisateurs recherchent particulièrement une prise en charge des applications, des moteurs de flux de travail et des pipelines de calcul sans avoir à réorganiser leurs processus internes.
CycleCloud propose une syntaxe de création de modèles riche et déclarative qui vous permet de décrire votre système HPC. Vous pouvez définir la topologie de cluster, qui comprend le nombre et les types de nœuds de cluster, de points de montage et d’applications que vous déployez sur chaque nœud. CycleCloud est conçu pour fonctionner avec des schedulers HPC tels que PBSPro, Slurm, IBM LSF, Grid Engine et HT Condor. Vous pouvez créer différentes files d’attente dans chaque scheduler et les mapper à des nœuds de calcul de différentes tailles de machine virtuelle sur Azure. De plus, les plug-ins de mise à l’échelle automatique sont intégrés aux nœuds principaux du scheduler. Ils écoutent les files d’attente de travaux dans chaque système et dimensionnent le cluster de calcul en interagissant avec l’API REST de mise à l’échelle automatique exécutée sur le serveur d’applications.
Outre le provisionnement et la création de nœuds HPC, CycleCloud propose également un cadre pour la préparation et la configuration d’une machine virtuelle. Il offre un système permettant de convertir une machine virtuelle nue en un composant fonctionnel d’un système HPC. Grâce à ce cadre, vous pouvez effectuer une configuration du dernier kilomètre sur une machine virtuelle.
De plus, CycleCloud propose les fonctionnalités suivantes :
Accès utilisateur
CycleCloud prend en charge la création de comptes d’utilisateurs locaux sur chaque nœud d’un système HPC. Ce système vous permet de contrôler l’accès des utilisateurs via un plan de gestion unique sans déployer de service d’annuaire.
Surveillance
Les mesures au niveau du nœud sont collectées et affichées dans l’interface utilisateur de CycleCloud. Ces mesures sont utiles pour surveiller la charge sur le système. Vous pouvez les connecter à des services de rapports et d’alertes.
Journalisation
CycleCloud propose un système de journalisation des activités et des événements au niveau du nœud et du serveur d’applications.
Portabilité :
Le système n’exige pas l'utilisation d'une image de machine virtuelle ou d'un système d’exploitation spécifique. CycleCloud prend en charge les principaux systèmes d’exploitation Windows et Linux sur les nœuds HPC. De plus, vous pouvez créer votre propre image de machine virtuelle et l’utiliser dans votre système HPC.
Infrastructure en tant que code.
Étant donné que tout ce qui est créé dans CycleCloud est défini dans des modèles et des scripts de configuration, vous pouvez rendre les systèmes HPC déployés via CycleCloud reproductibles et portables. Cette approche assure la cohérence pour les opérateurs qui déploient des systèmes HPC dans différents environnements : Sandbox, Développement, Test et Production. Les opérateurs peuvent également déployer des systèmes HPC identiques pour différents groupes d’activités ou équipes afin de séparer les problèmes d'ordre comptable.
Charges de travail faiblement ou étroitement couplées
Les clusters HPC créés par CycleCloud sont conçus pour prendre en charge non seulement des travaux faiblement couplés ou au parallélisme embarrassant où la mise à l'échelle (la taille du cluster) est la principale préoccupation. Les clusters CycleCloud sont également conçus pour le backbone InfiniBand d’Azure, prenant en charge des charges de travail étroitement couplées ou basées sur MPI où la proximité des nœuds et la latence du réseau sont essentielles. Ces concepts de scale-out et de couplage étroit sont ancrés dans les intégrations de schedulers prises en charge par CycleCloud.