

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à.

# Inizia a usare AWS Parallel Computing Service
<a name="getting-started"></a>

Questo è un tutorial per creare un cluster semplice che puoi usare per provare AWS PCS. La figura seguente mostra il design del cluster.

![\[Un diagramma dell'architettura del cluster tutorial: i 2 gruppi di nodi di calcolo sono risorse presenti nell'utente Account AWS e si connettono al controller del cluster Slurm che viene eseguito in un servizio di proprietà. Account AWS Le EC2 istanze di entrambi i gruppi di nodi di calcolo si connettono allo storage condiviso in Amazon EFS e Amazon FSx for Lustre.\]](http://docs.aws.amazon.com/it_it/pcs/latest/userguide/images/aws-pcs-tutorial-environment-diagram.png)


Il tutorial sulla progettazione del cluster ha i seguenti componenti chiave:
+ [Un VPC e sottoreti che soddisfano AWS i requisiti di rete PCS.](working-with_networking_vpc-requirements.md)
+ Un file system Amazon EFS, che verrà utilizzato come home directory condivisa.
+ Un file system Amazon FSx for Lustre, che fornisce una directory condivisa ad alte prestazioni.
+ Un cluster AWS PCS, che fornisce un controller Slurm.
+ 2 gruppi di nodi di calcolo AWS PCS.
  + Il gruppo di `login` nodi, che fornisce un accesso interattivo basato su shell al sistema.
  + Il gruppo di `compute-1` nodi fornisce istanze con scalabilità elastica per eseguire i processi.
+ 1 coda che invia i lavori alle istanze del gruppo di nodi. EC2 `compute-1`

Il cluster richiede AWS risorse aggiuntive, come gruppi di sicurezza, ruoli IAM e modelli di EC2 avvio, che non sono mostrati nel diagramma. 

**Nota**  
 Ti consigliamo di completare i passaggi della riga di comando descritti in questo argomento in una shell Bash. In alternativa, puoi apportare alcune modifiche alla tua shell per alcuni comandi di script, come i caratteri di continuazione della riga, e per il modo in cui le variabili vengono impostate e utilizzate. Inoltre, le regole di escape e di utilizzo delle virgolette per la shell (interprete di comandi) potrebbero essere diverse. Per ulteriori informazioni, consulta [Virgolette e lettere con stringhe nella Guida per l' AWS CLIAWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-quoting-strings.html)*utente della versione 2*.

**Topics**
+ [Prerequisiti per iniziare a usare PCS AWS](getting-started_prerequisites.md)
+ [Utilizzo AWS CloudFormation con il tutorial AWS PCS](getting-started_cfn-note.md)
+ [Crea un VPC e sottoreti per PCS AWS](getting-started_create-vpc.md)
+ [Creare gruppi di sicurezza per AWS PCS](getting-started_create-sg.md)
+ [Crea un cluster in AWS PCS](getting-started_create-cluster.md)
+ [Crea storage condiviso per AWS PCS in Amazon Elastic File System](getting-started_create-efs.md)
+ [Crea storage condiviso per AWS PCS in Amazon FSx for Lustre](getting-started_create-fsx.md)
+ [Crea gruppi di nodi di calcolo in AWS PCS](getting-started_create-cng.md)
+ [Crea una coda per gestire i lavori in AWS PCS](getting-started_create-queue.md)
+ [Connect al cluster AWS PCS](getting-started_connect.md)
+ [Esplora l'ambiente cluster in AWS PCS](getting-started_explore.md)
+ [Esegui un processo a nodo singolo in AWS PCS](getting-started_run-job.md)
+ [Esegui un processo MPI multinodo con Slurm in PCS AWS](getting-started_run-mpi-job.md)
+ [Elimina le tue AWS risorse per AWS PCS](getting-started_delete.md)

# Prerequisiti per iniziare a usare PCS AWS
<a name="getting-started_prerequisites"></a>

Fate riferimento ai seguenti argomenti per preparare il vostro ambiente di sviluppo Account AWS e quello locale per AWS PCS. 

**Topics**
+ [Registrati AWS e crea un utente amministrativo](setting-up.md)
+ [Installa il AWS CLI for AWS PCS](setting-up_cli.md)
+ [Autorizzazioni IAM richieste per AWS PCS](required-iam-permissions.md)

# Registrati AWS e crea un utente amministrativo
<a name="setting-up"></a>

Completa le seguenti attività per configurare AWS Parallel Computing Service (AWS PCS).

**Topics**
+ [Registrati per un Account AWS](#sign-up-for-aws)
+ [Crea un utente con accesso amministrativo](#create-an-admin)

## Registrati per un Account AWS
<a name="sign-up-for-aws"></a>

Se non ne hai uno Account AWS, completa i seguenti passaggi per crearne uno.

**Per iscriverti a un Account AWS**

1. Apri la [https://portal.aws.amazon.com/billing/registrazione.](https://portal.aws.amazon.com/billing/signup)

1. Segui le istruzioni online.

   Nel corso della procedura di registrazione riceverai una telefonata o un messaggio di testo e ti verrà chiesto di inserire un codice di verifica attraverso la tastiera del telefono.

   Quando ti iscrivi a un Account AWS, *Utente root dell'account AWS*viene creato un. L'utente root dispone dell'accesso a tutte le risorse e tutti i Servizi AWS nell'account. Come best practice di sicurezza, assegna l'accesso amministrativo a un utente e utilizza solo l'utente root per eseguire [attività che richiedono l'accesso di un utente root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS ti invia un'email di conferma dopo il completamento della procedura di registrazione. In qualsiasi momento, puoi visualizzare l'attività corrente del tuo account e gestirlo accedendo a [https://aws.amazon.com/](https://aws.amazon.com/)e scegliendo **Il mio account**.

## Crea un utente con accesso amministrativo
<a name="create-an-admin"></a>

Dopo esserti registrato Account AWS, proteggi Utente root dell'account AWS AWS IAM Identity Center, abilita e crea un utente amministrativo in modo da non utilizzare l'utente root per le attività quotidiane.

**Proteggi i tuoi Utente root dell'account AWS**

1.  Accedi [Console di gestione AWS](https://console.aws.amazon.com/)come proprietario dell'account scegliendo **Utente root** e inserendo il tuo indirizzo Account AWS email. Nella pagina successiva, inserisci la password.

   Per informazioni sull'accesso utilizzando un utente root, consulta la pagina [Signing in as the root user](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) della *Guida per l'utente di Accedi ad AWS *.

1. Abilita l'autenticazione a più fattori (MFA) per l'utente root.

   Per istruzioni, consulta [Abilitare un dispositivo MFA virtuale per l'utente Account AWS root (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) nella Guida per l'*utente IAM*.

**Crea un utente con accesso amministrativo**

1. Abilita Centro identità IAM.

   Per istruzioni, consulta [Abilitazione di AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html) nella *Guida per l'utente di AWS IAM Identity Center *.

1. In IAM Identity Center, assegna l'accesso amministrativo a un utente.

   Per un tutorial sull'utilizzo di IAM Identity Center directory come fonte di identità, consulta [Configurare l'accesso utente con l'impostazione predefinita IAM Identity Center directory](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html) nella *Guida per l'AWS IAM Identity Center utente*.

**Accesso come utente amministratore**
+ Per accedere con l'utente IAM Identity Center, utilizza l'URL di accesso che è stato inviato al tuo indirizzo e-mail quando hai creato l'utente IAM Identity Center.

  Per informazioni sull'accesso utilizzando un utente IAM Identity Center, consulta [AWS Accedere al portale di accesso](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) nella *Guida per l'Accedi ad AWS utente*.

**Assegna l'accesso a ulteriori utenti**

1. In IAM Identity Center, crea un set di autorizzazioni conforme alla best practice dell'applicazione di autorizzazioni con il privilegio minimo.

   Segui le istruzioni riportate nella pagina [Creazione di un set di autorizzazioni](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html) nella *Guida per l'utente di AWS IAM Identity Center *.

1. Assegna al gruppo prima gli utenti e poi l'accesso con autenticazione unica (Single Sign-On).

   Per istruzioni, consulta [Aggiungere gruppi](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html) nella *Guida per l'utente di AWS IAM Identity Center *.

# Installa il AWS CLI for AWS PCS
<a name="setting-up_cli"></a>

È necessario utilizzare la versione più recente di AWS CLI. Per informazioni, consulta [Installare o aggiornare alla versione più recente di AWS CLI nella](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) *Guida per l'AWS Command Line Interface utente della versione 2*. 

È necessario configurare il AWS CLI. Per ulteriori informazioni, vedere [Configurare il AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) nella *Guida per l'AWS Command Line Interface utente della versione 2*.

Digitate il seguente comando al prompt dei comandi per verificarlo AWS CLI; dovrebbe visualizzare informazioni di aiuto.

```
aws pcs help
```

# Autorizzazioni IAM richieste per AWS PCS
<a name="required-iam-permissions"></a>

Il responsabile della sicurezza IAM che stai utilizzando deve disporre delle autorizzazioni per lavorare con i ruoli IAM AWS PCS, i ruoli collegati ai servizi AWS CloudFormation, un VPC e le risorse correlate. *Per ulteriori informazioni[Servizio di Identity and Access Management per AWS Parallel Computing](security-iam.md), consulta la sezione [Creazione di un ruolo collegato ai servizi nella Guida](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html) per l'utente.AWS Identity and Access Management * È necessario che tutti i passaggi di questa guida siano completati dallo stesso utente. Esegui il comando seguente per controllare l'utente corrente: 

```
aws sts get-caller-identity
```

# Utilizzo AWS CloudFormation con il tutorial AWS PCS
<a name="getting-started_cfn-note"></a>

Il tutorial AWS PCS prevede molti passaggi e ha lo scopo di aiutarti a comprendere le parti di un cluster AWS PCS e le procedure necessarie per crearlo. Ti consigliamo di seguire i passaggi del tutorial almeno 1 volta. Dopo aver acquisito una buona conoscenza di ciò che si tratta, è possibile iniziare AWS CloudFormation a creare rapidamente il cluster di esempio con l'automazione.

CloudFormation è un AWS servizio che consente di creare e fornire implementazioni di AWS infrastrutture in modo prevedibile e ripetuto. **È possibile utilizzare un CloudFormation modello per fornire automaticamente AWS le risorse per il cluster di esempio come una singola unità, denominata stack.** È possibile eliminare lo stack quando lo si utilizza.

Per ulteriori informazioni, consulta [Inizia con CloudFormation e AWS PCS](get-started-cfn.md).

# Crea un VPC e sottoreti per PCS AWS
<a name="getting-started_create-vpc"></a>

 Puoi creare un VPC e delle sottoreti con un modello. CloudFormation Utilizza il seguente URL per scaricare il CloudFormation modello, quindi carica il modello nella [CloudFormation console](https://console.aws.amazon.com/cloudformation/home#/stacks/create) per creare un nuovo stack. CloudFormation Per ulteriori informazioni, consulta [Uso della CloudFormation console](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-using-console.html) nella *Guida per l'AWS CloudFormation utente*.

```
https://aws-hpc-recipes.s3.amazonaws.com/main/recipes/net/hpc_large_scale/assets/main.yaml
```

 Con il modello aperto nella CloudFormation console, inserisci le seguenti opzioni. Puoi utilizzare i valori predefiniti forniti nel modello.
+ In **Fornisci un nome per lo stack:**
  + In **Nome dello stack, inserisci**:

    ```
    hpc-networking
    ```
+ In **Parametri**:
  + In **VPC:** 
    + In **CidrBlock**, inserisci:

      ```
      10.3.0.0/16
      ```
  + In **Sottoreti A:** 
    + In **CidrPublicSubnetA, inserisci**:

      ```
      10.3.0.0/20
      ```
    + In **CidrPrivateSubnetA**, inserisci:

      ```
      10.3.128.0/20
      ```
  + In **Sottoreti B:** 
    + In **CidrPublicSubnetB, inserisci**:

      ```
      10.3.16.0/20
      ```
    + In **CidrPrivateSubnetB**, inserisci:

      ```
      10.3.144.0/20
      ```
  + In **Sottoreti C:** 
    + **Per **ProvisionSubnetsC, seleziona True****
    + In **CidrPublicSubnetC**, inserisci:

      ```
      10.3.32.0/20
      ```
    + In **CidrPrivateSubnetC**, inserisci:

      ```
      10.3.160.0/20
      ```
+ In **Capacità**:
  + Seleziona la casella **Riconosco che AWS CloudFormation potrebbe creare risorse IAM**.

Monitora lo stato dello CloudFormation stack. Quando raggiunge`CREATE_COMPLETE`, trova l'ID per il gruppo di sicurezza predefinito nel nuovo VPC. L'ID verrà utilizzato più avanti nel tutorial.

## Trova il gruppo di sicurezza predefinito per il VPC del cluster
<a name="getting-started_create-vpc_default-sg"></a>

 Per trovare l'ID per il gruppo di sicurezza predefinito nel nuovo VPC, segui questa procedura: 
+ Accedi alla console [Amazon VPC.](https://console.aws.amazon.com/vpc)
+ Nella **dashboard VPC**, seleziona **Filtra per VPC**. 
  + Scegli il VPC con cui inizia il nome. `hpc-networking`
  + In **Sicurezza**, scegli **Gruppi di sicurezza**.
+ Trova l'**ID del gruppo di sicurezza** per il gruppo denominato`default`. Ha la descrizione`default VPC security group`. L'ID verrà utilizzato successivamente per configurare i modelli di lancio di EC2.

# Creare gruppi di sicurezza per AWS PCS
<a name="getting-started_create-sg"></a>

 AWS PCS si affida a gruppi di sicurezza per gestire il traffico di rete in entrata e in uscita da un cluster e dai relativi gruppi di nodi di calcolo. Per informazioni dettagliate su questo argomento, vedere. [Requisiti e considerazioni sui gruppi di sicurezza](working-with_networking_sg.md#working-with_networking_sg-requirements) 

In questo passaggio, utilizzerai un CloudFormation modello per creare due gruppi di sicurezza. 
+ Un gruppo di sicurezza del cluster, che consente le comunicazioni tra controller AWS PCS, nodi di elaborazione e nodi di accesso.
+ Un gruppo di sicurezza SSH in entrata, che è possibile aggiungere facoltativamente ai nodi di accesso per supportare l'accesso SSH

## Crea i gruppi di sicurezza per PCS AWS
<a name="getting-started_create-sg_create"></a>

 È possibile utilizzare un CloudFormation modello per creare i gruppi di sicurezza. Utilizza il seguente URL per scaricare il CloudFormation modello, quindi carica il modello nella [CloudFormation console](https://console.aws.amazon.com/cloudformation/home#/stacks/create) per creare un nuovo CloudFormation stack. Per ulteriori informazioni, consulta [Uso della CloudFormation console](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-using-console.html) nella *Guida per l'AWS CloudFormation utente*.

```
https://aws-hpc-recipes.s3.amazonaws.com/main/recipes/pcs/getting_started/assets/pcs-cluster-sg.yaml
```

 Con il modello aperto nella AWS CloudFormation console, inserisci le seguenti opzioni. Tieni presente che alcune opzioni saranno precompilate nel modello: puoi semplicemente lasciarle come valori predefiniti. 
+ In **Fornisci un nome per** lo stack
  + In **Nome dello stack, inserisci**:

    ```
    getstarted-sg
    ```
+ **In Parametri**
  + In **VpcId**, scegli il VPC con cui inizia il nome. `hpc-networking`
  +  (Facoltativo) In **ClientIpCidr**, inserisci un intervallo IP più restrittivo per il gruppo di sicurezza SSH in entrata. Ti consigliamo di limitarlo con il tuo IP/subnet (x.x.x.x/32 per il tuo IP o x.x.x.x/24 per l'intervallo. Sostituisci x.x.x.x con il tuo IP PUBBLICO. [Puoi ottenere il tuo IP pubblico utilizzando strumenti come https://ifconfig.co/)](https://ifconfig.co/)

 Monitora lo stato dello CloudFormation stack. Quando raggiunge `CREATE_COMPLETE` il gruppo di sicurezza, le risorse sono pronte. 

 Sono stati creati due gruppi di sicurezza, con i seguenti nomi: 
+ `cluster-getstarted-sg`— questo è il gruppo di sicurezza del cluster
+ `inbound-ssh-getstarted-sg`— questo è un gruppo di sicurezza per consentire l'accesso SSH in entrata

# Crea un cluster in AWS PCS
<a name="getting-started_create-cluster"></a>

 In AWS PCS, un cluster è una risorsa persistente per la gestione delle risorse e l'esecuzione dei carichi di lavoro. Si crea un cluster per uno scheduler specifico (AWS PCS attualmente supporta Slurm) in una sottorete di un VPC nuovo o esistente. Il cluster accetta e pianifica i lavori e avvia anche i nodi di calcolo (EC2 istanze) che elaborano tali lavori.

**Creazione di un cluster**

1. **Apri la [console AWS PCS](https://console.aws.amazon.com/pcs/home#/clusters) e scegli Crea cluster.**

1. Nella sezione **Dettagli del cluster**, inserisci i seguenti campi:
   + **Nome del cluster**: immettere `get-started`
   + **Scheduler**: seleziona la versione 25.05 di **Slurm**
   + **Dimensioni del controller****: seleziona Small**

1.  Nella sezione **Rete**, selezionate i valori per i seguenti campi: 
   + **VPC**: scegli il VPC denominato `hpc-networking:Large-Scale-HPC`
   + **Subnet**: seleziona la sottorete da cui inizia il nome `hpc-networking:PrivateSubnetA`
   + **Gruppi di sicurezza**: selezionare il gruppo di sicurezza del cluster denominato `cluster-getstarted-sg`

1. Scegliere **Crea cluster**.

**Nota**  
Il campo **Stato** mostra **Creazione** durante il provisioning del cluster. La creazione del cluster può richiedere diversi minuti. 

# Crea storage condiviso per AWS PCS in Amazon Elastic File System
<a name="getting-started_create-efs"></a>

Amazon Elastic File System (Amazon EFS) è un AWS servizio che fornisce uno storage di file senza server e completamente elastico in modo da poter condividere i dati dei file senza fornire o gestire capacità e prestazioni di storage. Per ulteriori informazioni, consulta [Cos'è Amazon Elastic File System?](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) nella *Amazon Elastic File System User Guide*. 

 Il cluster dimostrativo AWS PCS utilizza un file system EFS per fornire una home directory condivisa tra i nodi del cluster. Crea un file system EFS nello stesso VPC del cluster. 

**Creazione del file system Amazon EFS**

1. Vai alla [console Amazon EFS](https://console.aws.amazon.com/efs).

1. Assicurati che sia impostato sullo stesso Regione AWS punto in cui proverai AWS PCS.

1. Scegliere **Create file system (Crea file system)**.

1. Nella pagina **Crea file system**, imposta i seguenti parametri:
   + Per **Nome** immetti `getstarted-efs`.
   + In **Virtual Private Cloud (VPC), scegli il VPC** denominato `hpc-networking:Large-Scale-HPC`
   + Scegli **Create (Crea) **. Questo ti riporta alla pagina dei **file system**.

1. Prendi nota dell'**ID del file system** per il `getstarted-efs` file system. Queste informazioni serviranno in seguito.

# Crea storage condiviso per AWS PCS in Amazon FSx for Lustre
<a name="getting-started_create-fsx"></a>

Amazon FSx for Lustre semplifica ed economica l'avvio e l'esecuzione del popolare file system Lustre ad alte prestazioni. Usi Lustre per carichi di lavoro in cui la velocità è importante, come l'apprendimento automatico, l'elaborazione ad alte prestazioni (HPC), l'elaborazione video e la modellazione finanziaria. Per ulteriori informazioni, consulta [Cos'è Amazon FSx for Lustre](https://docs.aws.amazon.com/fsx/latest/LustreGuide/what-is.html)? nella *Guida per l'utente di Amazon FSx for Lustre*. 

 Il cluster dimostrativo AWS PCS può utilizzare un file system FSx for Lustre per fornire una directory condivisa ad alte prestazioni tra i nodi del cluster. Crea un file system FSx for Lustre nello stesso VPC del cluster. 

**Per creare il tuo file system FSx for Lustre**

1. Vai alla [ FSx console Amazon](https://console.aws.amazon.com/fsx).

1. Assicurati che la console sia impostata per l'utilizzo Regione AWS come il cluster.

1. Scegliere **Create file system (Crea file system)**.
   + Per **Seleziona il tipo di file system**, scegli **Amazon FSx for Lustre**, quindi scegli **Avanti**.

1. Nella pagina **Specificare i dettagli del file system**, imposta i seguenti parametri:
   + In **Dettagli del file system**
     + Per **Nome** immetti `getstarted-fsx`.
     + Per il **tipo di distribuzione e archiviazione**, scegli **Persistente, SSD**
     + Per **Throughput per unità di storage**, scegli **125** MB/s/TiB
     + Per **Capacità di archiviazione**, immettere 1,2 TiB
     + **Per **Configurazione dei metadati, scegliete** Automatico**
     + Per **Tipo di compressione dei dati**, scegli **LZ4**
   + In **Rete e sicurezza**
     + Per **Virtual Private Cloud (VPC), scegli il VPC** denominato `hpc-networking:Large-Scale-HPC`
     + Per i **gruppi di sicurezza VPC**, lascia il nome al gruppo di sicurezza `default`
     + Per **Subnet**, scegli la sottorete con cui inizia il nome `hpc-networking:PrivateSubnetA`
   + Lasciate le altre opzioni impostate sui valori predefiniti.
   + Scegli **Next (Successivo)**.

1. Nella pagina **Rivedi e crea**, scegli **Crea file system**. Verrà visualizzata di nuovo la pagina **File system**.

1.  Vai alla pagina dei dettagli del file system FSx for Lustre che hai creato. 

1. Prendi nota dell'**ID del file system** e del **nome del montaggio**. Queste informazioni serviranno in seguito.

**Nota**  
 Il campo **Stato** mostra **Creazione** durante il provisioning del file system. La creazione del file system può richiedere diversi minuti. Attendi il completamento prima di procedere con il resto del tutorial. 

# Crea gruppi di nodi di calcolo in AWS PCS
<a name="getting-started_create-cng"></a>

 Un gruppo di nodi di calcolo è una raccolta virtuale di nodi di calcolo (istanze EC2) che AWS PCS avvia e gestisce. Quando definisci un gruppo di nodi di calcolo, specifichi caratteristiche comuni come i tipi di istanze EC2, il numero minimo e massimo di istanze, le sottoreti VPC di destinazione, l'opzione di acquisto preferita e la configurazione di avvio personalizzata. AWS PCS avvia, gestisce e termina in modo efficiente i nodi di calcolo in un gruppo di nodi di calcolo, in base a queste impostazioni. Il cluster dimostrativo utilizza un gruppo di nodi di calcolo per fornire nodi di accesso per l'accesso degli utenti e un gruppo di nodi di calcolo separato per elaborare i lavori. I seguenti argomenti descrivono le procedure per configurare questi gruppi di nodi di calcolo nel cluster. 

**Topics**
+ [Creare un profilo di istanza per AWS PCS](getting-started_create-cng_instance-profile.md)
+ [Crea modelli di lancio per AWS PCS](getting-started_create-cng_launch-templates.md)
+ [Crea un gruppo di nodi di calcolo per i nodi di accesso in AWS PCS](getting-started_create-cng_login-nodes.md)
+ [Crea un gruppo di nodi di calcolo per eseguire lavori di elaborazione in PCS AWS](getting-started_create-cng_workers.md)

# Creare un profilo di istanza per AWS PCS
<a name="getting-started_create-cng_instance-profile"></a>

I gruppi di nodi di calcolo richiedono un profilo di istanza al momento della creazione. Se utilizzi la Console di gestione AWS per creare un ruolo per Amazon EC2, la console crea automaticamente un profilo dell'istanza e gli assegna lo stesso nome del ruolo. Per ulteriori informazioni, consulta [Uso dei profili di istanza](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) nella *Guida per l'AWS Identity and Access Management utente*.

 Nella procedura seguente, usi per creare un ruolo per Amazon EC2, che crea anche il profilo di istanza per i tuoi gruppi di nodi di calcolo. Console di gestione AWS 

**Per creare il ruolo e il profilo dell'istanza**
+ Passare alla [IAM console](https://console.aws.amazon.com/iam) (Console IAM).
+ In **Gestione accessi** scegli **Policy**.
  + Seleziona **Create Policy** (Crea policy).
  + In **Specificare le autorizzazioni**, per **Policy editor**, scegli **JSON**.
  + Sostituisci il contenuto dell'editor di testo con quanto segue:

------
#### [ JSON ]

****  

    ```
    {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
            {
                "Action": [
                    "pcs:RegisterComputeNodeGroupInstance"
                ],
                "Resource": "*",
                "Effect": "Allow"
            }
        ]
    }
    ```

------
  + Scegli **Next (Successivo)**.
  + In **Rivedi e crea**, per **Nome della politica**, inserisci`AWSPCS-getstarted-policy`.
  + Scegli **Crea policy**.
+ In **Access management** (Gestione accessi), scegli **Roles** (Ruoli).
+ Scegli **Crea ruolo**.
+ In **Seleziona entità attendibile**:
  + Per il **tipo di entità affidabile**, seleziona **AWS servizio**
  + In **Caso d'uso**, seleziona **EC2**.
    + Quindi, in **Scegli un caso d'uso** per il servizio specificato, scegli **EC2**.
  + Scegli **Next (Successivo)**.
+ In **Aggiungi autorizzazioni:**
  + **In **Politiche di autorizzazione, cerca AWSPCS-getstarted -policy**.**
  + Seleziona la casella accanto a **AWSPCS-getstarted-policy** per aggiungerla al ruolo.
  + In **Politiche di autorizzazione**, cerca **Amazon SSMManaged InstanceCore**.
  + Seleziona la casella accanto SSMManaged InstanceCore ad **Amazon** per aggiungerlo al ruolo.
  + Scegli **Next (Successivo)**.
+ In **Nome, rivedi e crea**:
  + In **Dettagli del ruolo**:
    + Per **Nome ruolo**, inserisci `AWSPCS-getstarted-role`.
  + Scegli **Crea ruolo**.

# Crea modelli di lancio per AWS PCS
<a name="getting-started_create-cng_launch-templates"></a>

 Quando crei un gruppo di nodi di calcolo, fornisci un modello di lancio EC2 che AWS PCS utilizza per configurare le istanze EC2 che lancia. Ciò include impostazioni come gruppi di sicurezza e script che vengono eseguiti all'avvio dell'istanza. 

 In questa fase, verrà utilizzato un CloudFormation modello per creare due modelli di lancio EC2. Un modello verrà utilizzato per creare nodi di accesso e l'altro verrà utilizzato per creare nodi di calcolo. La differenza fondamentale tra loro è che i nodi di accesso possono essere configurati per consentire l'accesso SSH in entrata. 

## Accedi al modello CloudFormation
<a name="getting-started_create-cng_launch-templates_get-cfn-template"></a>

 Utilizza il seguente URL per scaricare il CloudFormation modello, quindi carica il modello nella [CloudFormation console](https://console.aws.amazon.com/cloudformation/home#/stacks/create) per creare un nuovo CloudFormation stack. Per ulteriori informazioni, consulta [Uso della CloudFormation console](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-using-console.html) nella *Guida per l'AWS CloudFormation utente*.

```
https://aws-hpc-recipes.s3.amazonaws.com/main/recipes/pcs/getting_started/assets/pcs-lt-efs-fsxl.yaml
```

## Usa il CloudFormation modello per creare modelli di lancio EC2
<a name="getting-started_create-cng_launch-templates_use-cfn-template"></a>

 Utilizza la seguente procedura per completare il CloudFormation modello nella console CloudFormation 
+ In **Fornisci un nome per lo stack:**
  + In **Nome dello stack, inserisci**. `getstarted-lt`
+ In **Parametri**:
  + In **Sicurezza**
    + Per **VpcSecurityGroupId**, seleziona il gruppo di sicurezza denominato `default` nel tuo VPC del cluster.
    + Per **ClusterSecurityGroupId**, seleziona il gruppo denominato `cluster-getstarted-sg`
    + Per **SshSecurityGroupId**, seleziona il gruppo denominato `inbound-ssh-getstarted-sg`
    + Per **SshKeyName**, seleziona la tua coppia di chiavi SSH preferita.
  + In **File system**
    + Per **EfsFilesystemId**, inserisci l'ID del file system dal file system EFS che hai creato in precedenza nel tutorial.
    + Ad **FSxLustreFilesystemId**esempio, inserisci l'ID del file system del file system FSx for Lustre che hai creato in precedenza nel tutorial.
    + Per **FSxLustreFilesystemMountName**, inserisci il nome di montaggio corrispondente per il file system Lustre. FSx 
+ Scegliete **Avanti**, quindi scegliete nuovamente **Avanti**.
+ Seleziona **Invia**.

 Monitora lo stato dello CloudFormation stack. Quando raggiunge `CREATE_COMPLETE` il modello di lancio è pronto per essere utilizzato. 

**Nota**  
Per vedere tutte le risorse create dal CloudFormation modello, apri la [CloudFormation console](https://console.aws.amazon.com/cloudformation). Scegli lo stack `getstarted-lt`, quindi la scheda **Resources** (Risorse).

# Crea un gruppo di nodi di calcolo per i nodi di accesso in AWS PCS
<a name="getting-started_create-cng_login-nodes"></a>

 Un gruppo di nodi di calcolo è una raccolta virtuale di nodi di calcolo (istanze EC2) che AWS PCS avvia e gestisce. Quando definisci un gruppo di nodi di calcolo, specifichi caratteristiche comuni come i tipi di istanze EC2, il numero minimo e massimo di istanze, le sottoreti VPC di destinazione, l'opzione di acquisto preferita e la configurazione di avvio personalizzata. AWS PCS avvia, gestisce e termina in modo efficiente i nodi di calcolo in un gruppo di nodi di calcolo, in base a queste impostazioni. 

 In questo passaggio, lancerai un gruppo di nodi di calcolo statici che fornisce l'accesso interattivo al cluster. Puoi usare SSH o Amazon EC2 Systems Manager (SSM) per accedervi, quindi eseguire comandi shell e gestire i job Slurm. 

**Per creare il gruppo di nodi di calcolo**
+ Apri la [console AWS PCS](https://console.aws.amazon.com/pcs) e vai a **Clusters**.
+ Seleziona il cluster denominato `get-started`
+ Vai ai **gruppi di nodi di calcolo** e scegli **Crea**.
+ Nella sezione **Configurazione del gruppo di nodi di calcolo**, fornisci quanto segue:
  + **Nome del gruppo di nodi di calcolo: immettere**. `login`
+ In **Configurazione informatica**, inserisci o seleziona questi valori:
  + **Modello di lancio EC2**: scegli il modello di lancio con il nome `login-getstarted-lt`
  + **Profilo dell'istanza IAM**: scegli il profilo di istanza denominato `AWSPCS-getstarted-role`
  + **Sottoreti**: seleziona la sottorete da cui inizia il nome. `hpc-networking:PublicSubnetA`
  + **Istanze**: seleziona. `c6i.xlarge`
  + **Configurazione di scalabilità**: per il **numero minimo di istanze, immettere.** `1` Per **Numero massimo di istanze, immettete.** `1`
+ In **Impostazioni aggiuntive**, specificate quanto segue:
  + **ID AMI**: seleziona un AMI che desideri utilizzare, con un nome nel seguente formato:

    ```
    aws-pcs-sample_ami-amzn2-platform-slurm-version
    ```

    Per ulteriori informazioni sull'esempio AMIs, vedere[Utilizzo di Amazon Machine Images (AMIs) di esempio con AWS PCS](working-with_ami_samples.md).
+ Scegli **Crea gruppo di nodi di calcolo**.

 Il campo **Stato** mostra **Creazione** durante il provisioning del gruppo di nodi di calcolo. Puoi procedere al passaggio successivo del tutorial mentre è in corso. 

# Crea un gruppo di nodi di calcolo per eseguire lavori di elaborazione in PCS AWS
<a name="getting-started_create-cng_workers"></a>

 In questo passaggio, lancerai un gruppo di nodi di calcolo con scalabilità elastica per eseguire i lavori inviati al cluster. 

**Per creare il gruppo di nodi di calcolo**
+ Apri la [console AWS PCS](https://console.aws.amazon.com/pcs) e vai a **Clusters**.
+ Seleziona il cluster denominato `get-started`
+ Passa ai **gruppi di nodi di calcolo** e scegli **Crea**.
+ Nella sezione **Configurazione del gruppo di nodi di calcolo**, fornisci quanto segue:
  + **Nome del gruppo di nodi di calcolo: immettere**. `compute-1`
+ In **Configurazione informatica**, inserisci o seleziona questi valori:
  + **Modello di lancio EC2**: scegli il modello di lancio con il nome `compute-getstarted-lt`
  + **Profilo dell'istanza IAM**: scegli il profilo di istanza denominato `AWSPCS-getstarted-role`
  + **Sottoreti**: seleziona la sottorete da cui inizia il nome. `hpc-networking:PrivateSubnetA`
  + **Istanze**: seleziona. `c6i.xlarge`
  + **Configurazione di scalabilità**: per il **numero minimo di istanze, immettere.** `0` Per **Numero massimo di istanze, immettete.** `4`
+ In **Impostazioni aggiuntive**, specificate quanto segue:
  + **ID AMI**: seleziona un AMI che desideri utilizzare, con un nome nel seguente formato:

    ```
    aws-pcs-sample_ami-amzn2-platform-slurm-version
    ```

    Per ulteriori informazioni sull'esempio AMIs, vedere[Utilizzo di Amazon Machine Images (AMIs) di esempio con AWS PCS](working-with_ami_samples.md).
+ Scegli **Crea gruppo di nodi di calcolo**.

 Il campo **Stato** mostra **Creazione** durante il provisioning del gruppo di nodi di calcolo.

**Importante**  
 Attendi che il campo **Stato** mostri **Attivo** prima di procedere al passaggio successivo di questo tutorial. 

# Crea una coda per gestire i lavori in AWS PCS
<a name="getting-started_create-queue"></a>

 Si invia un lavoro a una coda per eseguirlo. Il lavoro rimane in coda finché AWS PCS non ne pianifica l'esecuzione su un gruppo di nodi di calcolo. Ogni coda è associata a uno o più gruppi di nodi di calcolo, che forniscono le EC2 istanze necessarie per eseguire l'elaborazione. 

 In questo passaggio, creerai una coda che utilizza il gruppo di nodi di calcolo per elaborare i lavori. 

**Per creare una coda**
+ Apri la console [AWS PCS.](https://console.aws.amazon.com/pcs)
+ Seleziona il cluster denominato`get-started`.
+ Passa ai **gruppi di nodi di calcolo** e assicurati che lo stato del `compute-1` gruppo sia **Attivo**.
**Importante**  
Lo stato del `compute-1` gruppo deve essere **Attivo** prima di procedere al passaggio successivo.
+ Vai a **Code** e scegli **Crea coda**.
  + Nella sezione **Configurazione della coda**, fornisci i seguenti valori:
    + **Nome della coda**: immettete quanto segue: `demo`
    + **Gruppi di nodi di calcolo**: seleziona il gruppo di nodi di calcolo denominato. `compute-1`
+ Scegliere **Crea coda**.

 Il campo **Stato** mostra **Creazione** durante la creazione della coda. 

**Importante**  
 Attendi che il campo **Stato** mostri **Attivo** prima di procedere al passaggio successivo di questo tutorial. 

# Connect al cluster AWS PCS
<a name="getting-started_connect"></a>

 Dopo che lo stato del gruppo di nodi di `login` calcolo diventa **Attivo**, puoi connetterti all' EC2 istanza che ha creato. 

**Per connettersi al nodo di accesso**
+ Apri la [console AWS PCS](https://console.aws.amazon.com/pcs) e vai a **Clusters.**
+ Seleziona il cluster denominato`get-started`.
+ Scegli **Gruppi di nodi Compute**.
+ Passa al gruppo di nodi di calcolo denominato. `login`
+ Trova l'ID del **gruppo di nodi Compute**.
+ In un'altra finestra o scheda del browser, apri la [ EC2 console Amazon](https://console.aws.amazon.com/ec2).
  + Seleziona **Instances (Istanze)**.
  + Cerca le EC2 istanze con il tag seguente. Sostituisci *node-group-id* con il valore dell'**ID del gruppo di nodi Compute** del passaggio precedente. Dovrebbe esserci 1 istanza.

    ```
    aws:pcs:compute-node-group-id=node-group-id
    ```
  + Connect all' EC2 istanza. È possibile utilizzare Session Manager o SSH.

------
#### [ Session Manager ]
    + Selezionare l'istanza.
    + Scegli **Connetti**.
    + In **Connect to instance**, seleziona **Session Manager**.
    + Scegli **Connetti**.
    + Scegli **Connetti**. Nel browser viene avviato un terminale interattivo.

------
#### [ SSH ]
    + Selezionare l'istanza.
    + Scegli **Connetti**.
    + In **Connect to instance**, seleziona **Client SSH**.
    + Segui le istruzioni fornite dalla console.
**Nota**  
Il nome utente dell'istanza **`ec2-user`**non lo è`root`.

------

# Esplora l'ambiente cluster in AWS PCS
<a name="getting-started_explore"></a>

 Dopo aver effettuato l'accesso al cluster, puoi eseguire i comandi della shell. Ad esempio, puoi cambiare utente, lavorare con i dati su file system condivisi e interagire con Slurm. 

## Cambia utente
<a name="getting-started_explore_change-user"></a>

 Se hai effettuato l'accesso al cluster utilizzando Session Manager, potresti essere connesso come`ssm-user`. Si tratta di un utente speciale creato per Session Manager. Passa all'utente predefinito su Amazon Linux 2 utilizzando il seguente comando. Non avrai bisogno di farlo se ti connetti tramite SSH.

```
sudo su - ec2-user
```

## Lavora con file system condivisi
<a name="getting-started_explore_fs"></a>

È possibile confermare che il file system EFS e FSx per i file system Lustre sono disponibili con il comando. `df -h` L'output sul cluster dovrebbe essere simile al seguente:

```
[ec2-user@ip-10-3-6-103 ~]$ df -h
Filesystem                 Size  Used Avail Use% Mounted on
devtmpfs                   3.8G     0  3.8G   0% /dev
tmpfs                      3.9G     0  3.9G   0% /dev/shm
tmpfs                      3.9G  556K  3.9G   1% /run
tmpfs                      3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/nvme0n1p1              24G   18G  6.6G  73% /
127.0.0.1:/                8.0E     0  8.0E   0% /home
10.3.132.79@tcp:/zlshxbev  1.2T  7.5M  1.2T   1% /shared
tmpfs                      780M     0  780M   0% /run/user/0
tmpfs                      780M     0  780M   0% /run/user/1000
```

 Il `/home` filesystem monta 127.0.0.1 e ha una capacità molto grande. Questo è il file system EFS creato in precedenza nel tutorial. Tutti i file scritti qui saranno disponibili `/home` in tutti i nodi del cluster. 

 Il `/shared` filesystem monta un IP privato e ha una capacità di 1,2 TB. Questo è il file system FSx for Lustre creato in precedenza nel tutorial. Tutti i file scritti qui saranno disponibili `/shared` in tutti i nodi del cluster. 

## Interagisci con Slurm
<a name="getting-started_explore_slurm"></a>

**Contents**
+ [Elenca code e nodi](#getting-started_explore_slurm_queues)
+ [Mostra offerte di lavoro](#getting-started_explore_slurm_jobs)

### Elenca code e nodi
<a name="getting-started_explore_slurm_queues"></a>

 È possibile elencare le code e i nodi a cui sono associate. `sinfo` L'output del cluster dovrebbe essere simile al seguente: 

```
[ec2-user@ip-10-3-6-103 ~]$ sinfo
PARTITION AVAIL  TIMELIMIT  NODES  STATE NODELIST
demo         up   infinite      4  idle~ compute-1-[1-4]
[ec2-user@ip-10-3-6-103 ~]$
```

 Notate la partizione denominata. `demo` Il suo stato è `up` e ha un massimo di 4 nodi. È associato ai nodi del gruppo di `compute-1` nodi. Se modifichi il gruppo di nodi di calcolo e aumenti il numero massimo di istanze a 8, verrà letto il numero di nodi `8` e verrà letto l'elenco dei nodi. `compute-1-[1-8]` Se creassi un secondo gruppo di nodi di calcolo denominato `test` con 4 nodi e lo aggiungessi alla `demo` coda, tali nodi verranno visualizzati anche nell'elenco dei nodi. 

### Mostra offerte di lavoro
<a name="getting-started_explore_slurm_jobs"></a>

 Puoi elencare tutti i lavori, in qualsiasi stato, sul sistema con`squeue`. L'output del cluster dovrebbe essere simile al seguente: 

```
[ec2-user@ip-10-3-6-103 ~]$ squeue
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
```

Prova a eseguire `squeue` di nuovo più tardi, quando hai un job Slurm in sospeso o in esecuzione. 

# Esegui un processo a nodo singolo in AWS PCS
<a name="getting-started_run-job"></a>

 Per eseguire un lavoro utilizzando Slurm, si prepara uno script di invio che specifica i requisiti del lavoro e lo si invia a una coda con il comando. `sbatch` In genere, questa operazione viene eseguita da una directory condivisa in modo che i nodi di accesso e di calcolo abbiano uno spazio comune per l'accesso ai file. 

 Connect al nodo di login del cluster ed esegui i seguenti comandi al prompt della shell.
+ Diventa l'utente predefinito. Passa alla directory condivisa.

  ```
  sudo su - ec2-user
  cd /shared
  ```
+ Utilizzate i seguenti comandi per creare uno script di lavoro di esempio:

  ```
  cat << EOF > job.sh
  #!/bin/bash
  #SBATCH -J single
  #SBATCH -o single.%j.out
  #SBATCH -e single.%j.err
  
  echo "This is job \${SLURM_JOB_NAME} [\${SLURM_JOB_ID}] running on \${SLURMD_NODENAME}, submitted from \${SLURM_SUBMIT_HOST}" && sleep 60 && echo "Job complete"
  EOF
  ```
+ Invia lo script di lavoro allo scheduler Slurm:

  ```
  sbatch -p demo job.sh
  ```
+  Quando il lavoro viene inviato, restituirà un ID del lavoro come numero. Usa quell'ID per controllare lo stato del lavoro. Sostituisci *job-id* nel comando seguente con il numero restituito da`sbatch`. 

  ```
  squeue --job job-id
  ```  
**Example**  

  ```
  squeue --job 1
  ```

   Il `squeue` comando restituisce un output simile al seguente: 

  ```
  JOBID PARTITION NAME USER     ST TIME NODES NODELIST(REASON)
  1     demo      test ec2-user CF 0:47 1     compute-1
  ```
+  Continuare a controllare lo stato del processo finché non raggiunge lo stato `R` (in esecuzione). Il lavoro è terminato quando `squeue` non restituisce nulla. 
+  Ispeziona il contenuto della `/shared` directory. 

  ```
  ls -alth /shared
  ```

  L'output del comando è simile al seguente:

  ```
  -rw-rw-r- 1 ec2-user ec2-user 107 Mar 19 18:33 single.1.out
  -rw-rw-r- 1 ec2-user ec2-user 0 Mar 19 18:32 single.1.err
  -rw-rw-r- 1 ec2-user ec2-user 381 Mar 19 18:29 job.sh
  ```

   I file `single.1.err` denominati `single.1.out` e scritti da uno dei nodi di calcolo del cluster. Poiché il processo è stato eseguito in una directory condivisa (`/shared`), sono disponibili anche nel nodo di accesso. Questo è il motivo per cui hai configurato un file system FSx for Lustre per questo cluster. 
+  Ispeziona il contenuto del `single.1.out` file. 

  ```
  cat /shared/single.1.out
  ```

   L'output è simile a quello riportato di seguito:

  ```
  This is job test [1] running on compute-1, submitted from ip-10-3-13-181
  Job complete
  ```

# Esegui un processo MPI multinodo con Slurm in PCS AWS
<a name="getting-started_run-mpi-job"></a>

 Queste istruzioni dimostrano l'utilizzo di Slurm per eseguire un processo MPI (Message Passing Interface) in PCS. AWS 

Esegui i seguenti comandi al prompt della shell del tuo nodo di accesso.
+  Diventa l'utente predefinito. Passa alla sua home directory. 

  ```
  sudo su - ec2-user
  cd ~/
  ```
+  Crea codice sorgente nel linguaggio di programmazione C. 

  ```
  cat > hello.c << EOF
  // * mpi-hello-world - https://www.mpitutorial.com
  // Released under MIT License
  // 
  // Copyright (c) 2014 MPI Tutorial.
  //
  // Permission is hereby granted, free of charge, to any person obtaining a copy
  // of this software and associated documentation files (the "Software"), to 
  // deal in the Software without restriction, including without limitation the 
  // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 
  // sell copies of the Software, and to permit persons to whom the Software is 
  // furnished to do so, subject to the following conditions:
  // The above copyright notice and this permission notice shall be included in 
  // all copies or substantial portions of the Software.
  //
  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
  // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
  // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
  // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
  // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
  // DEALINGS IN THE SOFTWARE.
  
  #include <mpi.h>
  #include <stdio.h>
  #include <stddef.h>
  
  int main(int argc, char** argv) {
    // Initialize the MPI environment. The two arguments to MPI Init are not
    // currently used by MPI implementations, but are there in case future
    // implementations might need the arguments.
    MPI_Init(NULL, NULL);
  
    // Get the number of processes
    int world_size;
    MPI_Comm_size(MPI_COMM_WORLD, &world_size);
  
    // Get the rank of the process
    int world_rank;
    MPI_Comm_rank(MPI_COMM_WORLD, &world_rank);
  
    // Get the name of the processor
    char processor_name[MPI_MAX_PROCESSOR_NAME];
    int name_len;
    MPI_Get_processor_name(processor_name, &name_len);
  
    // Print off a hello world message
    printf("Hello world from processor %s, rank %d out of %d processors\n",
           processor_name, world_rank, world_size);
  
    // Finalize the MPI environment. No more MPI calls can be made after this
    MPI_Finalize();
  }
  EOF
  ```
+ Caricate il modulo OpenMPI.

  ```
  module load openmpi
  ```
+ Compila il programma C.

  ```
  mpicc -o hello hello.c
  ```
+ Scrivi uno script per l'invio di lavori a Slurm.

  ```
  cat > hello.sh << EOF
  #!/bin/bash
  #SBATCH -J multi
  #SBATCH -o multi.out
  #SBATCH -e multi.err
  #SBATCH --exclusive
  #SBATCH --nodes=4
  #SBATCH --ntasks-per-node=1
  
  srun $HOME/hello
  EOF
  ```
+ Passa alla directory condivisa.

  ```
  cd /shared
  ```
+ Invia lo script del lavoro.

  ```
  sbatch -p demo ~/hello.sh
  ```
+ Utilizzatelo `squeue` per monitorare il lavoro fino al termine.
+ Controlla il contenuto di`multi.out`:

  ```
  cat multi.out
  ```

  L'output è simile a quello riportato di seguito. Nota che ogni rank ha il proprio indirizzo IP perché è stato eseguito su un nodo diverso.

  ```
  Hello world from processor ip-10-3-133-204, rank 0 out of 4 processors
  Hello world from processor ip-10-3-128-219, rank 2 out of 4 processors
  Hello world from processor ip-10-3-141-26, rank 3 out of 4 processors
  Hello world from processor ip-10-3-143-52, rank 1 out of 4 processor
  ```

# Elimina le tue AWS risorse per AWS PCS
<a name="getting-started_delete"></a>

 Dopo aver finito con i gruppi di cluster e nodi che hai creato per questo tutorial, dovresti eliminare le risorse che hai creato. 

**Importante**  
Ti verranno addebitati i costi di fatturazione per tutte le risorse in esecuzione nel tuo Account AWS

**Per eliminare le risorse AWS PCS che hai creato per questo tutorial**
+ Apri la [console AWS PCS](https://console.aws.amazon.com/pcs/home#/clusters).
+ Passa al cluster denominato **get-started**.
+ Vai alla sezione **Code**.
+ **Seleziona la coda denominata demo.**
+ Scegli **Elimina**.
**Importante**  
Attendi che la coda sia stata eliminata prima di procedere.
+ Vai alla sezione **Compute node groups**.
+ **Seleziona il gruppo di nodi di calcolo denominato compute-1.**
+ Scegli **Elimina**.
+ **Seleziona il gruppo di nodi di calcolo denominato login.**
+ Scegli **Elimina**.
**Importante**  
Attendi che entrambi i gruppi di nodi di calcolo siano stati eliminati prima di procedere.
+ **Nella pagina dei dettagli del cluster per **iniziare, scegli** Elimina.**
**Importante**  
Attendi che il cluster sia stato eliminato prima di procedere con i passaggi successivi.

**Per eliminare altre AWS risorse che hai creato per questo tutorial**
+ Apri la [console IAM](https://console.aws.amazon.com/iam).
  + Scegli **Ruoli**.
  + Seleziona il ruolo denominato **AWSPCS-getstarted-role**, quindi scegli **Elimina**.
  + Dopo che il ruolo è stato eliminato, scegli **Politiche**.
  + Seleziona la politica denominata **AWSPCS-getstarted-policy**, quindi scegli **Elimina**.
+ Apri la [CloudFormation console](https://console.aws.amazon.com/cloudformation).
  + **Seleziona lo stack denominato getstarted-lt.**
  + Scegli **Elimina**.
**Importante**  
Attendi che lo stack venga eliminato prima di procedere.
+ Apri la [Console di Amazon EFS](https://console.aws.amazon.com/efs).
  + Seleziona **File system**.
  + **Seleziona il file system denominato getstarted-efs.**
  + Scegli **Elimina**.
**Importante**  
Attendi l'eliminazione del file system prima di procedere.
+ Apri la [ FSx console Amazon](https://console.aws.amazon.com/fsx).
  + Seleziona **File system**.
  + Seleziona il file system denominato **getstarted-fsx**.
  + Scegli **Elimina**.
**Importante**  
Attendi l'eliminazione del file system prima di procedere.
+ Apri la [CloudFormation console](https://console.aws.amazon.com/cloudformation).
  + **Seleziona lo stack denominato getstarted-sg.**
  + Scegli **Elimina**.
+ Apri la [CloudFormation console](https://console.aws.amazon.com/cloudformation).
  + **Seleziona lo stack denominato hpc-networking.**
  + Scegli **Delete** (Elimina).