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 lors de la création d'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 dansCommencez 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.

Important

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

Conditions préalables

  • Quotas de service suffisants pour lancer le nombre souhaité d'instances EC2 dans votre Région AWS. Vous pouvez utiliser le AWS Management Consolepour vérifier et demander des augmentations de vos quotas de service.

  • Un VPC et un ou plusieurs sous-réseaux existants qui répondent aux exigences du réseau AWS PCS. Nous vous recommandons de bien comprendre ces exigences avant de déployer un cluster à des fins de production. Pour de plus amples informations, veuillez consulter AWS Exigences et considérations relatives aux VPC et aux sous-réseaux PCS. Vous pouvez également utiliser un CloudFormation modèle pour créer un VPC et des sous-réseaux. AWS fournit une recette HPC pour le CloudFormation modèle. Pour plus d'informations, consultez aws-hpc-recipes sur. GitHub

  • Un profil d'instance IAM autorisé à appeler l'action de l'RegisterComputeNodeGroupInstanceAPI AWS PCS et à accéder à toutes les autres AWS ressources requises pour les instances de votre groupe de nœuds. Pour de plus amples informations, veuillez consulter Profils d'instance IAM pour AWS Service de calcul parallèle.

  • Un modèle de lancement pour les instances de votre groupe de nœuds. Pour de plus amples informations, veuillez consulter Utilisation des modèles de lancement Amazon EC2 avec PCS AWS.

  • Pour créer un groupe de nœuds de calcul utilisant des instances Amazon EC2 Spot, vous devez avoir le rôle AWSServiceRoleForEC2Spotlié au service dans votre. Compte AWS Pour de plus amples informations, veuillez consulter Rôle Amazon EC2 Spot pour AWS PIÈCES.

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 AWS Management Console ou du AWS CLI.

AWS Management Console
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 à Compute node groups et choisissez Create.

  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 traits d'union distinguant majuscules et minuscules. Il doit commencer par un caractère alphabétique et ne doit pas comporter plus de 25 caractères. Le nom doit être unique au sein du cluster.

  4. Sous 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 la section 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 remplacer la valeur du modèle de lancement, fournissez un ID d'AMI ici. Notez que l'AMI utilisée pour le groupe de nœuds doit être compatible avec le AWS PCS. Vous pouvez également sélectionner un exemple d'AMI fourni par AWS. Pour plus d'informations sur 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 sur lequel 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 augmenter la latence. 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 vCPU. 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. Définissez le minimum (min) égal au maximum (max) pour la capacité statique (par exemple, 5 min, 5 max). Définissez le minimum sur 0 pour une mise à l'échelle entièrement dynamique (par exemple, 0 min, 10 max.). Avec Slurm 24.05 ou version ultérieure, vous pouvez définir un minimum supérieur à 0 et inférieur au maximum pour une capacité mixte. Cela permet de maintenir un nombre d'instances de référence et de l'augmenter selon les besoins (par exemple, 2 minutes, 10 maximum).

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

    1. Option d'achat : sélectionnez On-Demand des instances, des instances ponctuelles, une réservation de capacité interruptible ou un bloc de capacité existant. Choisissez On-Demandsi 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 Réservation de capacité interruptible 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 de 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 ponctuel, vous pouvez spécifier comment les pools de capacité ponctuels sont choisis lors du lancement des instances dans le groupe de nœuds. Pour plus d'informations, consultez la section Stratégies d'allocation pour les instances Spot 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 durée d'inactivité — (Facultatif) Durée en secondes avant qu'un nœud inactif de ce groupe de nœuds ne 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 Slurmdes paramètres personnalisés, vous pouvez ajouter des paires de nom et de valeur des paramètres pour configurer des paramètres Slurm supplémentaires. Pour obtenir la liste complète des paramètres pris en charge, consultezParamètres personnalisés de Slurm pour AWS Groupes de nœuds de calcul PCS.

  8. (Facultatif) Sous Balises, ajoutez des balises à votre groupe de nœuds de calcul.

  9. Choisissez Créer un groupe de nœuds de calcul. Le champ Status s'affiche Creating lorsque 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 du dans lequel Région AWS créer votre cluster, tel queus-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 doit pas comporter plus de 25 caractères. Le nom doit être unique au sein du cluster.

  4. subnet-ExampleID1Remplacez-le par un ou plusieurs ID 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, consultez Utilisation des modèles de lancement Amazon EC2 avec PCS AWS la section 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.

  6. launch-template-versionRemplacez-le par une version de modèle de lancement spécifique. 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 le site Utilisation des modèles de lancement Amazon EC2 avec PCS AWS pour obtenir des conseils.

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

  9. t3.largeRemplacez-le 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 vCPU. 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 personnalisés de Slurm 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 le AWS PCS. Vous pouvez également sélectionner un exemple d'AMI fourni par AWS. Pour plus d'informations sur ce sujet, consultezAmazon Machine Images (AMI) pour AWS PIÈCES.

  • --purchase-optionÀ utiliser 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 les utiliser --allocation-strategy pour 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 Spot 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 de machine learning. 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 dont le poids est faible 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.

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 ne sera pas atteintACTIVE.

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