View a markdown version of this page

Création d'un groupe de nœuds de calcul dans AWS PIÈCES - AWS PIÈCES

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création d'un groupe de nœuds de calcul dans AWS PIÈCES

Cette rubrique fournit une vue d'ensemble des options disponibles et décrit les éléments à prendre en compte lorsque vous créez un groupe de nœuds de calcul dans AWS Parallel Computing Service (AWS PCS). Si c'est la première fois que vous créez un groupe de nœuds de calcul dans AWS PCS, nous vous recommandons de suivre le didacticiel deCommencez avec AWS Service de calcul parallèle. Le didacticiel peut vous aider à créer un système HPC fonctionnel sans étendre toutes les options disponibles et les architectures système possibles.

Note

Vous pouvez configurer des paramètres Slurm personnalisés sur des groupes de nœuds de calcul afin de contrôler l'utilisation des ressources et les comportements au niveau des nœuds. Pour de plus amples informations, veuillez consulter Configuration des paramètres personnalisés de Slurm dans AWS PIÈCES.

Note

Pour exécuter des scripts personnalisés à des moments définis du cycle de vie d'un nœud de calcul, tels que le montage de systèmes de fichiers, l'installation de logiciels ou l'adhésion à un service d'annuaire, sans intégrer la logique dans les données utilisateur du modèle de lancement, utilisez les actions relatives au cycle de vie du nœud. Pour de plus amples informations, veuillez consulter Actions du cycle de vie des nœuds.

Important

AWS Le PCS nécessite actuellement un noyau prenant en charge IPv4 pour la communication entre les nœuds locaux, même lorsque vous utilisez le AWS PCS sur un IPv6-only réseau. Pour de plus amples informations, veuillez consulter Images Amazon Machine personnalisées (AMIs) pour AWS PC.

Conditions préalables

Créez un groupe de nœuds de calcul dans AWS PIÈCES

Vous pouvez créer un groupe de nœuds de calcul à l'aide du Console de gestion AWS ou du AWS CLI.

Console de gestion AWS
Pour créer votre groupe de nœuds de calcul à l'aide de la console
  1. Ouvrez la console AWS PCS.

  2. Sélectionnez le cluster dans lequel vous souhaitez créer un groupe de nœuds de calcul. Accédez à Calculer les groupes de nœuds et choisissez Créer.

  3. Dans la section Configuration du groupe de nœuds de calcul, donnez un nom à votre groupe de nœuds. Le nom ne peut contenir que des caractères alphanumériques et des tirets sensibles aux majuscules et minuscules. Il doit commencer par un caractère alphabétique et ne peut pas dépasser 25 caractères. Le nom doit être unique au sein du cluster.

  4. Dans Configuration informatique, entrez ou sélectionnez les valeurs suivantes :

    1. Modèle de lancement EC2  : sélectionnez un modèle de lancement personnalisé à utiliser pour ce groupe de nœuds. Les modèles de lancement peuvent être utilisés pour personnaliser les paramètres réseau tels que les sous-réseaux et les groupes de sécurité, la configuration de surveillance et le stockage au niveau de l'instance. Si vous n'avez pas préparé de modèle de lancement, consultez Utilisation des modèles de lancement Amazon EC2 avec PCS AWS pour savoir comment en créer un.

      Important

      AWS PCS crée un modèle de lancement géré pour chaque groupe de nœuds de calcul. Ils sont nomméspcs-identifier-do-not-delete. Ne les sélectionnez pas lorsque vous créez ou mettez à jour un groupe de nœuds de calcul, sinon le groupe de nœuds ne fonctionnera pas correctement.

    2. Version du modèle de lancement EC2  : vous devez sélectionner une version de votre modèle de lancement personnalisé. Si vous modifiez la version ultérieurement, vous devez mettre à jour le groupe de nœuds de calcul pour détecter les modifications apportées au modèle de lancement. Pour de plus amples informations, veuillez consulter Mettre à jour un AWS Groupe de nœuds de calcul PCS.

    3. ID AMI  : si votre modèle de lancement n'inclut pas d'ID AMI, ou si vous souhaitez modifier la valeur du modèle de lancement, indiquez un ID AMI ici. Notez que l'AMI utilisée pour le groupe de nœuds doit être compatible avec AWS PCS. Vous pouvez également sélectionner un exemple d'AMI fourni par AWS. Pour plus d'informations à ce sujet, consultezAmazon Machine Images (AMI) pour AWS PIÈCES.

    4. Profil d'instance IAM  : choisissez un profil d'instance pour le groupe de nœuds. Un profil d'instance accorde à l'instance les autorisations nécessaires pour accéder aux AWS ressources et aux services en toute sécurité. Si vous n'en avez pas préparé un, vous pouvez sélectionner Créer un profil de base pour que AWS PCS en crée un pour vous avec la politique minimale, ou voirProfils d'instance IAM pour AWS Service de calcul parallèle.

    5. Sous-réseaux  : choisissez un ou plusieurs sous-réseaux dans le VPC où votre cluster AWS PCS est déployé. Si vous sélectionnez plusieurs sous-réseaux, les communications EFA ne seront pas disponibles entre les nœuds et les communications entre les nœuds de différents sous-réseaux peuvent avoir une latence accrue. Assurez-vous que les sous-réseaux que vous spécifiez ici correspondent à ceux que vous définissez dans le modèle de lancement EC2.

    6. Instances  : choisissez un ou plusieurs types d'instances pour répondre aux demandes de dimensionnement dans le groupe de nœuds. Tous les types d'instances doivent avoir la même architecture de processeur (x86_64 ou arm64) et le même nombre de processeurs virtuels. Si les instances sont équipées de GPU, tous les types d'instances doivent avoir le même nombre de GPU.

    7. Configuration de dimensionnement  : spécifiez le nombre minimum et maximum d'instances pour le groupe de nœuds. Réglez le minimum (min) égal au maximum (max) pour la capacité statique (par exemple, 5 min, 5 max). Réglez le minimum sur 0 pour une mise à l'échelle entièrement dynamique (par exemple, 0 min, 10 max). Avec Slurm 24.05 ou une version ultérieure, vous pouvez définir le minimum supérieur à 0 et inférieur au maximum pour la capacité mixte. Cela permet de maintenir un nombre de base d'instances et d'augmenter le nombre selon les besoins (par exemple, 2 min, 10 maximum).

  5. (Facultatif) Dans Paramètres supplémentaires, spécifiez les éléments suivants :

    1. Option d'achat  : sélectionnez On-Demand Instances, Instances ponctuelles, une réservation de capacité interruptible ou un bloc de capacité existant. Choisissez On-Demand si vous prévoyez d'utiliser une réservation On-Demand de capacité (ODCR). Pour de plus amples informations, veuillez consulter Utilisation ODCRs avec AWS PCS. Choisissez Interruptible Capacity Reservation pour utiliser un ODCR interruptible partagé (). I-ODCR Pour de plus amples informations, veuillez consulter Utilisation I-ODCRs avec AWS PIÈCES. Choisissez Capacity Block pour utiliser un bloc de capacité Amazon EC2 existant pour la réservation ML. Pour de plus amples informations, veuillez consulter Utilisation des blocs de capacité Amazon EC2 pour le ML avec AWS PIÈCES.

    2. Stratégie d'allocation  : si vous avez sélectionné l'option d'achat Spot, vous pouvez spécifier comment les pools de capacités Spot sont choisis lors du lancement d'instances dans le groupe de nœuds. Pour plus d'informations, consultez la section Stratégies d'allocation pour les instances ponctuelles dans le guide de l'utilisateur d'Amazon Elastic Compute Cloud. Cette option n'a aucun effet si vous avez sélectionné l'option On-demand d'achat.

  6. (Facultatif) Dans la section Configuration du planificateur, vous pouvez spécifier les éléments suivants :

    1. Scale-down temps d'inactivité — (Facultatif) Durée en secondes avant qu'un nœud inactif de ce groupe de nœuds soit réduit. Si elle n'est pas définie, la valeur au niveau du cluster est utilisée. Ce paramètre nécessite Slurm la version 25.11 ou ultérieure.

  7. (Facultatif) Dans la section Slurm des paramètres personnalisés, vous pouvez ajouter des paires de noms de paramètres et de valeurs pour configurer des paramètres Slurm supplémentaires. Pour une liste complète des paramètres pris en charge, consultezParamètres Slurm personnalisés pour AWS Groupes de nœuds de calcul PCS.

  8. (Facultatif) Dans la section Actions relatives au cycle de vie du nœud, vous pouvez ajouter des scripts qui s'exécutent à des moments définis du cycle de vie d'un nœud de calcul. Choisissez Ajouter un script. Sélectionnez l'étape du cycle de vie et spécifiez l'emplacement du script, un nom, des arguments facultatifs, le comportement de gestion des erreurs et la politique d'exécution. Pour ajouter d'autres scripts, répétez ces étapes. Les scripts s'exécutent de haut en bas au cours d'une étape. Pour modifier l'ordre d'exécution, choisissez Actions pour un script, puis choisissez Déplacer vers le haut ou Déplacer vers le bas. Pour de plus amples informations, veuillez consulter Actions du cycle de vie des nœuds.

  9. (Facultatif) Sous Balises, ajoutez n'importe quelle balise à votre groupe de nœuds de calcul.

  10. Choisissez Créer un groupe de nœuds de calcul. Le champ Status s'affiche Creating pendant que AWS PCS approvisionne le groupe de nœuds. Cela peut prendre plusieurs minutes.

Étape suivante recommandée
  • Ajoutez votre groupe de nœuds à une file d'attente dans AWS PCS pour lui permettre de traiter les tâches.

AWS CLI
Pour créer votre groupe de nœuds de calcul à l'aide de AWS CLI

Créez votre file d'attente à l'aide de la commande suivante. Avant d'exécuter la commande, effectuez les remplacements suivants :

  1. regionRemplacez-le par l'ID dans lequel vous Région AWS souhaitez créer votre cluster, par exempleus-east-1.

  2. my-clusterRemplacez-le par le nom ou clusterId celui de votre cluster.

  3. my-node-groupRemplacez-le par le nom de votre groupe de nœuds de calcul. Un nom ne peut contenir que des caractères alphanumériques (sensibles à la casse) et des traits d'union. Il doit commencer par un caractère alphabétique et ne peut pas dépasser 25 caractères. Le nom doit être unique au sein du cluster.

  4. Remplacez-le subnet-ExampleID1 par un ou plusieurs identifiants de sous-réseaux provenant de votre VPC de cluster.

  5. lt-ExampleID1Remplacez-le par l'ID de votre modèle de lancement personnalisé. Si vous n'en avez pas préparé un, découvrez Utilisation des modèles de lancement Amazon EC2 avec PCS AWS comment en créer un.

    Important

    AWS PCS crée un modèle de lancement géré pour chaque groupe de nœuds de calcul. Ils sont nomméspcs-identifier-do-not-delete. Ne les sélectionnez pas lorsque vous créez ou mettez à jour un groupe de nœuds de calcul, sinon le groupe de nœuds ne fonctionnera pas correctement.

  6. launch-template-versionRemplacez-la par une version spécifique du modèle de lancement. AWS PCS associe votre groupe de nœuds à cette version spécifique du modèle de lancement.

  7. arn:InstanceProfileRemplacez-le par l'ARN de votre profil d'instance IAM. Si vous n'en avez pas préparé un, consultez Utilisation des modèles de lancement Amazon EC2 avec PCS AWS les conseils.

  8. Remplacez min-instances et max-instances par des valeurs entières. Réglez le minimum (min) égal au maximum (max) pour la capacité statique (par exemple, 5 min, 5 max). Réglez le minimum sur 0 pour une mise à l'échelle entièrement dynamique (par exemple, 0 min, 10 max). Avec Slurm 24.05 ou une version ultérieure, vous pouvez définir le minimum supérieur à 0 et inférieur au maximum pour la capacité mixte. Cela permet de maintenir un nombre de base d'instances et d'augmenter le nombre selon les besoins (par exemple, 2 min, 10 maximum).

  9. Remplacez-le t3.large par un autre type d'instance. Vous pouvez ajouter d'autres types d'instances en spécifiant une liste de instanceType paramètres. Par exemple, --instance-configs instanceType=c6i.16xlarge instanceType=c6a.16xlarge. Tous les types d'instances doivent avoir la même architecture de processeur (x86_64 ou arm64) et le même nombre de processeurs virtuels. Si les instances sont équipées de GPU, tous les types d'instances doivent avoir le même nombre de GPU.

aws pcs create-compute-node-group --region region \ --cluster-identifier my-cluster \ --compute-node-group-name my-node-group \ --subnet-ids subnet-ExampleID1 \ --custom-launch-template id=lt-ExampleID1,version='launch-template-version' \ --iam-instance-profile-arn=arn:InstanceProfile \ --scaling-config minInstanceCount=min-instances,maxInstanceCount=max-instance \ --instance-configs instanceType=t3.large
Exemple— Création d'un groupe de nœuds de calcul avec des paramètres Slurm personnalisés
aws pcs create-compute-node-group --region region \ --cluster-identifier my-cluster \ --compute-node-group-name my-node-group \ --subnet-ids subnet-ExampleID1 \ --custom-launch-template id=lt-ExampleID1,version='launch-template-version' \ --iam-instance-profile-arn=arn:InstanceProfile \ --scaling-config minInstanceCount=min-instances,maxInstanceCount=max-instance \ --instance-configs instanceType=t3.large \ --slurm-configuration \ 'slurmCustomSettings=[{parameterName=Features,parameterValue="gpu,nvme"}]'

Pour de plus amples informations, veuillez consulter Paramètres Slurm personnalisés pour AWS Groupes de nœuds de calcul PCS.

Exemple— Création d'un groupe de nœuds de calcul avec un temps d'inactivité réduit
aws pcs create-compute-node-group --region region \ --cluster-identifier my-cluster \ --compute-node-group-name my-gpu-nodes \ --subnet-ids subnet-ExampleID1 \ --custom-launch-template id=lt-ExampleID1,version='1' \ --iam-instance-profile-arn=arn:InstanceProfile \ --scaling-config minInstanceCount=0,maxInstanceCount=10 \ --instance-configs instanceType=p4d.24xlarge \ --slurm-configuration scaleDownIdleTimeInSeconds=300

Le scaleDownIdleTimeInSeconds paramètre au niveau du groupe de nœuds de calcul remplace la valeur au niveau du cluster pour les nœuds de ce groupe. Ce paramètre nécessite Slurm la version 25.11 ou ultérieure.

Vous pouvez ajouter plusieurs paramètres de configuration facultatifs à la create-compute-node-group commande.

  • Vous pouvez spécifier --amiId si votre modèle de lancement personnalisé n'inclut pas de référence à une AMI ou si vous souhaitez remplacer cette valeur. Notez que l'AMI utilisée pour le groupe de nœuds doit être compatible avec AWS PCS. Vous pouvez également sélectionner un exemple d'AMI fourni par AWS. Pour plus d'informations à ce sujet, consultezAmazon Machine Images (AMI) pour AWS PIÈCES.

  • Utilisez cette --purchase-option option pour choisir la manière dont AWS PCS achète les instances EC2 pour votre groupe de nœuds de calcul. On-Demand est la valeur par défaut.

    • ONDEMAND— Utilisez On-Demand des instances. Choisissez également cette option si vous prévoyez d'utiliser une réservation On-Demand de capacité (ODCR). Pour de plus amples informations, veuillez consulter Utilisation ODCRs avec AWS PCS.

    • SPOT— Utilisez des instances ponctuelles. Si vous choisissez des instances Spot, vous pouvez également --allocation-strategy définir la manière dont AWS PCS choisit les pools de capacité Spot lorsqu'il lance des instances dans le groupe de nœuds. Pour plus d'informations, consultez la section Stratégies d'allocation pour les instances ponctuelles dans le guide de l'utilisateur d'Amazon Elastic Compute Cloud.

    • CAPACITY_BLOCK— Utilisez un bloc de capacité Amazon EC2 existant pour la réservation ML. Pour de plus amples informations, veuillez consulter Utilisation des blocs de capacité Amazon EC2 pour le ML avec AWS PIÈCES.

    • INTERRUPTIBLE_CAPACITY_RESERVATION— Utilisez un ODCR interruptible partagé ()I-ODCR. Pour de plus amples informations, veuillez consulter Utilisation I-ODCRs avec AWS PIÈCES.

  • Il est possible de fournir des options Slurm de configuration pour les nœuds du groupe de nœuds à l'aide de--slurm-configuration. Vous pouvez définir le poids (priorité de planification) et la mémoire réelle. Les nœuds avec des poids plus faibles ont une priorité plus élevée et les unités sont arbitraires. Pour plus d'informations, consultez la section Poids dans la Slurm documentation. La mémoire réelle définit la taille (en Go) de la mémoire réelle sur les nœuds du groupe de nœuds. Il est destiné à être utilisé conjointement avec l'CR_CPU_Memoryoption pour le cluster dans AWS PCS dans votre Slurm configuration. Pour plus d'informations, consultez la section RealMemorydans la documentation Slurm.

  • Permet --node-lifecycle-actions d'exécuter des scripts personnalisés à des moments définis du cycle de vie d'un nœud de calcul, tels que le montage de systèmes de fichiers, l'installation de logiciels ou l'adhésion à un service d'annuaire. Pour de plus amples informations, veuillez consulter Configurer les actions relatives au cycle de vie des nœuds dans AWS PIÈCES. Pour des exemples de commandes, consultezExemples d'actions relatives au cycle de vie des nœuds pour AWS PIÈCES.

Important

La création du groupe de nœuds de calcul peut prendre plusieurs minutes.

Vous pouvez demander l'état de votre groupe de nœuds à l'aide de la commande suivante. Vous ne pourrez pas associer le groupe de nœuds à une file d'attente tant que son statut n'aura pas été atteintACTIVE.

aws pcs get-compute-node-group --region region \ --cluster-identifier my-cluster \ --compute-node-group-identifier my-node-group