View a markdown version of this page

Creazione di un gruppo di nodi di calcolo in AWS 2 PEZZI - AWS PEZZI

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione di un gruppo di nodi di calcolo in AWS 2 PEZZI

Questo argomento fornisce una panoramica delle opzioni disponibili e descrive cosa considerare quando si crea un gruppo di nodi di calcolo in AWS Parallel Computing Service (AWS PCS). Se è la prima volta che crei un gruppo di nodi di calcolo in AWS PCS, ti consigliamo di seguire il tutorial in. Inizia con AWS Servizio di elaborazione parallela Il tutorial può aiutarvi a creare un sistema HPC funzionante senza approfondire tutte le opzioni disponibili e le architetture di sistema possibili.

Nota

È possibile configurare impostazioni Slurm personalizzate sui gruppi di nodi di calcolo per controllare l'utilizzo delle risorse e i comportamenti a livello di nodo. Per ulteriori informazioni, consulta Configurazione delle impostazioni personalizzate di Slurm in AWS 2 PEZZI.

Nota

Per eseguire script personalizzati in punti definiti del ciclo di vita di un nodo di calcolo, ad esempio il montaggio di file system, l'installazione di software o l'adesione a un servizio di directory, senza incorporare la logica nei dati utente del modello di avvio, utilizza le azioni del ciclo di vita dei nodi. Per ulteriori informazioni, consulta Azioni relative al ciclo di vita dei nodi.

Importante

AWS PCS attualmente richiede un kernel con supporto IPv4 per la comunicazione con i nodi locali, anche quando si utilizza PCS in una rete. AWS IPv6-only Per ulteriori informazioni, consulta Immagini di macchine Amazon personalizzate (AMIs) per AWS PCS.

Prerequisiti

Crea un gruppo di nodi di calcolo in AWS 2 PEZZI

È possibile creare un gruppo di nodi di calcolo utilizzando Console di gestione AWS o. AWS CLI

Console di gestione AWS
Per creare il tuo gruppo di nodi di calcolo utilizzando la console
  1. Aprire la console AWS PCS.

  2. Seleziona il cluster in cui desideri creare un gruppo di nodi di calcolo. Accedi ai gruppi di nodi di calcolo e scegli Crea.

  3. Nella sezione Configurazione del gruppo di nodi di calcolo, fornisci un nome per il tuo gruppo di nodi. Il nome può contenere solo caratteri alfanumerici e trattini con distinzione tra maiuscole e minuscole. Deve iniziare con un carattere alfabetico e non può contenere più di 25 caratteri. Il nome deve essere univoco all'interno del cluster.

  4. In Configurazione informatica, inserisci o seleziona questi valori:

    1. Modello di avvio EC2: seleziona un modello di avvio personalizzato da utilizzare per questo gruppo di nodi. I modelli di avvio possono essere utilizzati per personalizzare le impostazioni di rete come sottorete e gruppi di sicurezza, configurazione del monitoraggio e archiviazione a livello di istanza. Se non hai preparato un modello di avvio, consulta Utilizzo dei modelli di lancio di Amazon EC2 con PCS AWS per scoprire come crearne uno.

      Importante

      AWS PCS crea un modello di avvio gestito per ogni gruppo di nodi di calcolo. Questi sono pcs-identifier-do-not-delete denominati. Non selezionarli quando crei o aggiorni un gruppo di nodi di calcolo, altrimenti il gruppo di nodi non funzionerà correttamente.

    2. Versione del modello di avvio EC2: è necessario selezionare una versione del modello di avvio personalizzato. Se modifichi la versione in un secondo momento, devi aggiornare il gruppo di nodi di calcolo per rilevare le modifiche nel modello di avvio. Per ulteriori informazioni, consulta Aggiornamento di un AWS Gruppo di nodi di calcolo PCS.

    3. ID AMI: se il modello di lancio non include un ID AMI o se desideri sovrascrivere il valore nel modello di lancio, fornisci un ID AMI qui. Nota che l'AMI utilizzata per il gruppo di nodi deve essere compatibile con AWS PCS. Puoi anche selezionare un esempio di AMI fornito da AWS. Per ulteriori informazioni su questo argomento, vedereAmazon Machine Images (AMI) per AWS PZ.

    4. Profilo di istanza IAM: scegli un profilo di istanza per il gruppo di nodi. Un profilo di istanza concede all'istanza le autorizzazioni per accedere a AWS risorse e servizi in modo sicuro. Se non ne hai preparato uno, puoi selezionare Crea un profilo di base per fare in modo che AWS PCS ne crei uno con la policy minima, oppure consulti. Profili di istanza IAM per AWS Servizio di calcolo parallelo

    5. Sottoreti: scegli una o più sottoreti nel VPC in cui è distribuito il cluster PCS. AWS Se selezioni più sottoreti, le comunicazioni EFA non saranno disponibili tra i nodi e la comunicazione tra nodi in sottoreti diverse potrebbe avere una latenza maggiore. Assicurati che le sottoreti specificate qui corrispondano a quelle definite nel modello di avvio EC2.

    6. Istanze: scegli uno o più tipi di istanza per soddisfare le richieste di scalabilità nel gruppo di nodi. Tutti i tipi di istanza devono avere la stessa architettura del processore (x86_64 o arm64) e lo stesso numero di vCPU. Se le istanze dispongono di GPU, tutti i tipi di istanza devono avere lo stesso numero di GPU.

    7. Configurazione di scalabilità: specifica il numero minimo e massimo di istanze per il gruppo di nodi. Imposta il valore minimo (min) uguale al massimo (max) per la capacità statica (ad esempio, 5 min, 5 max). Imposta il valore minimo su 0 per un ridimensionamento completamente dinamico (ad esempio, 0 min, 10 max). Con Slurm 24.05 o versioni successive, è possibile impostare un valore minimo maggiore di 0 e inferiore al massimo per la capacità mista. Ciò mantiene un numero di istanze di base e viene scalato in base alle esigenze (ad esempio, 2 minuti, massimo 10).

  5. (Facoltativo) In Impostazioni aggiuntive, specifica quanto segue:

    1. Opzione di acquisto: seleziona On-Demand Istanze, Istanze Spot, una prenotazione di capacità interrompibile o un Blocco di capacità esistente. Scegli On-Demand se intendi utilizzare un On-Demand Capacity Reservation (ODCR). Per ulteriori informazioni, consulta Utilizzo ODCRs con AWS PCS. Scegli Interruptible Capacity Reservation per utilizzare un ODCR interrompibile condiviso (). I-ODCR Per ulteriori informazioni, consulta Utilizzo I-ODCRs con AWS PZ. Scegli Capacity Block per utilizzare una prenotazione Amazon EC2 Capacity Blocks for ML esistente. Per ulteriori informazioni, consulta Utilizzo dei blocchi di capacità di Amazon EC2 per il machine learning con AWS PZ.

    2. Strategia di allocazione: se hai selezionato l'opzione di acquisto Spot, puoi specificare come vengono scelti i pool di capacità Spot al momento del lancio delle istanze nel gruppo di nodi. Per ulteriori informazioni, consulta Strategie di allocazione per le istanze Spot nella Amazon Elastic Compute Cloud User Guide. Questa opzione non ha effetto se hai selezionato l' On-demand opzione di acquisto.

  6. (Facoltativo) Nella sezione di configurazione dello Scheduler, puoi specificare quanto segue:

    1. Scale-down tempo di inattività — (Facoltativo) Il tempo in secondi prima che un nodo inattivo in questo gruppo di nodi venga ridimensionato. Se non è impostato, viene utilizzato il valore a livello di cluster. Questa impostazione richiede la Slurm versione 25.11 o successiva.

  7. (Facoltativo) Nella sezione delle impostazioni Slurm personalizzate, puoi aggiungere coppie di nome e valore del parametro per configurare impostazioni Slurm aggiuntive. Per un elenco completo dei parametri supportati, consulta. Impostazioni Slurm personalizzate per AWS Gruppi di nodi di calcolo PCS

  8. (Facoltativo) Nella sezione Azioni del ciclo di vita del nodo, puoi aggiungere script che vengono eseguiti in punti definiti del ciclo di vita di un nodo di calcolo. Scegli Aggiungi script. Selezionate la fase del ciclo di vita e specificate la posizione dello script, il nome, gli argomenti opzionali, il comportamento di gestione degli errori e la politica di esecuzione. Per aggiungere altri script, ripeti questi passaggi. Gli script vengono eseguiti dall'alto verso il basso all'interno di una fase. Per modificare l'ordine di esecuzione, scegli Azioni per uno script, quindi scegli Sposta su o Sposta giù. Per ulteriori informazioni, consulta Azioni relative al ciclo di vita dei nodi.

  9. (Facoltativo) In Tag, aggiungi qualsiasi tag al tuo gruppo di nodi di calcolo.

  10. Scegli Crea gruppo di nodi di calcolo. Il campo Stato viene visualizzato Creating mentre AWS PCS esegue il provisioning del gruppo di nodi. Questo processo può richiedere diversi minuti.

Passaggio successivo consigliato
  • Aggiungete il gruppo di nodi a una coda in AWS PCS per consentirgli di elaborare i job.

AWS CLI
Per creare il tuo gruppo di nodi di calcolo usando AWS CLI

Crea la tua coda con il comando che segue. Prima di eseguire il comando, apporta le modifiche seguenti:

  1. Sostituisci region con l'ID del nome in Regione AWS cui creare il cluster, ad esempio. us-east-1

  2. Sostituisci my-cluster con il nome o con il nome clusterId del tuo cluster.

  3. Sostituiscilo my-node-group con il nome del tuo gruppo di nodi di calcolo. Il nome può contenere solo caratteri alfanumerici (con distinzione tra lettere maiuscole e minuscole) e trattini. Deve iniziare con un carattere alfabetico e non può contenere più di 25 caratteri. Il nome deve essere univoco all'interno del cluster.

  4. Sostituiscilo subnet-ExampleID1 con uno o più ID di sottorete del tuo cluster VPC.

  5. Sostituiscilo lt-ExampleID1 con l'ID del tuo modello di avvio personalizzato. Se non ne hai preparato uno, consulta Utilizzo dei modelli di lancio di Amazon EC2 con PCS AWS per scoprire come crearne uno.

    Importante

    AWS PCS crea un modello di avvio gestito per ogni gruppo di nodi di calcolo. Questi sono pcs-identifier-do-not-delete denominati. Non selezionarli quando crei o aggiorni un gruppo di nodi di calcolo, altrimenti il gruppo di nodi non funzionerà correttamente.

  6. launch-template-versionSostituiscili con una versione specifica del modello di avvio. AWS PCS associa il gruppo di nodi a quella versione specifica del modello di avvio.

  7. Sostituiscilo arn:InstanceProfile con l'ARN del tuo profilo di istanza IAM. Se non ne hai preparato uno, consulta Utilizzo dei modelli di lancio di Amazon EC2 con PCS AWS questa guida.

  8. Sostituisci min-instances e max-instances con valori interi. Imposta il valore minimo (min) uguale al massimo (max) per la capacità statica (ad esempio, 5 min, 5 max). Impostare il valore minimo su 0 per il ridimensionamento completamente dinamico (ad esempio, 0 min, 10 max). Con Slurm 24.05 o versioni successive, è possibile impostare un valore minimo maggiore di 0 e inferiore al massimo per la capacità mista. Ciò mantiene un numero di istanze di base e viene scalato in base alle esigenze (ad esempio, 2 minuti, massimo 10).

  9. Sostituisci t3.large con un altro tipo di istanza. È possibile aggiungere altri tipi di istanza specificando un elenco di instanceType impostazioni. Ad esempio, --instance-configs instanceType=c6i.16xlarge instanceType=c6a.16xlarge. Tutti i tipi di istanza devono avere la stessa architettura del processore (x86_64 o arm64) e lo stesso numero di vCPU. Se le istanze dispongono di GPU, tutti i tipi di istanza devono avere lo stesso numero di 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
Esempio— Creazione di un gruppo di nodi di calcolo con impostazioni Slurm personalizzate
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"}]'

Per ulteriori informazioni, consulta Impostazioni Slurm personalizzate per AWS Gruppi di nodi di calcolo PCS.

Esempio— Creazione di un gruppo di nodi di calcolo con un tempo di inattività ridotto
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

L'scaleDownIdleTimeInSecondsimpostazione a livello di gruppo di nodi di calcolo sovrascrive il valore a livello di cluster per i nodi di questo gruppo. Questa impostazione richiede Slurm la versione 25.11 o successiva.

È possibile aggiungere al create-compute-node-group comando diverse impostazioni di configurazione opzionali.

  • Puoi specificare --amiId se il tuo modello di avvio personalizzato non include un riferimento a un'AMI o se desideri sovrascrivere quel valore. Nota che l'AMI utilizzata per il gruppo di nodi deve essere compatibile con AWS PCS. Puoi anche selezionare un esempio di AMI fornito da AWS. Per ulteriori informazioni su questo argomento, vedereAmazon Machine Images (AMI) per AWS PZ.

  • --purchase-optionUsalo per scegliere il modo in cui AWS PCS acquista le istanze EC2 per il tuo gruppo di nodi di calcolo. On-Demand è l'impostazione predefinita.

    • ONDEMAND— Usa On-Demand istanze. Scegli questa opzione anche se prevedi di utilizzare un On-Demand Capacity Reservation (ODCR). Per ulteriori informazioni, consulta Utilizzo ODCRs con AWS PCS.

    • SPOT— Usa le istanze Spot. Se scegli le istanze Spot, puoi anche utilizzare --allocation-strategy per definire in che modo AWS PCS sceglie i pool di capacità Spot quando avvia le istanze nel gruppo di nodi. Per ulteriori informazioni, consulta Strategie di allocazione per le istanze Spot nella Amazon Elastic Compute Cloud User Guide.

    • CAPACITY_BLOCK— Utilizza una prenotazione Amazon EC2 Capacity Blocks per la prenotazione ML esistente. Per ulteriori informazioni, consulta Utilizzo dei blocchi di capacità di Amazon EC2 per il machine learning con AWS PZ.

    • INTERRUPTIBLE_CAPACITY_RESERVATION— Usa un ODCR interrompibile condiviso (). I-ODCR Per ulteriori informazioni, consulta Utilizzo I-ODCRs con AWS PZ.

  • È possibile fornire opzioni di Slurm configurazione per i nodi del gruppo di nodi utilizzando. --slurm-configuration È possibile impostare il peso (priorità di pianificazione) e la memoria reale. I nodi con pesi inferiori hanno una priorità più alta e le unità sono arbitrarie. Per ulteriori informazioni, vedere Weight nella Slurm documentazione. La memoria reale imposta la dimensione (in GB) della memoria reale sui nodi del gruppo di nodi. È pensata per essere utilizzata insieme all'CR_CPU_Memoryopzione per il cluster in AWS PCS nella Slurm configurazione. Per ulteriori informazioni, consulta RealMemory nella documentazione Slurm.

  • Viene utilizzato --node-lifecycle-actions per eseguire script personalizzati in punti definiti del ciclo di vita di un nodo di calcolo, ad esempio il montaggio di file system, l'installazione di software o l'adesione a un servizio di directory. Per ulteriori informazioni, consulta Configura le azioni del ciclo di vita dei nodi in AWS PEZZI. Per i comandi di esempio, vedere. Esempi di azioni relative al ciclo di vita dei nodi per AWS 2 PEZZI

Importante

La creazione del gruppo di nodi di calcolo può richiedere diversi minuti.

Puoi interrogare lo stato del tuo gruppo di nodi con il seguente comando. Non sarà possibile associare il gruppo di nodi a una coda finché non viene raggiunto il relativo stato. ACTIVE

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