

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

# Utilizzo dei blocchi di capacità di Amazon EC2 per ML con PCS AWS
<a name="capacity-blocks"></a>

Amazon EC2 Capacity Blocks for ML è un'opzione di acquisto di Amazon EC2 che consente di pagare in anticipo per prenotare istanze di elaborazione accelerata basate su GPU entro un intervallo di data e ora specifico per supportare carichi di lavoro di breve durata. Le istanze eseguite all'interno di un Capacity Block vengono automaticamente posizionate vicine tra loro all'interno di Amazon UltraClusters EC2, per reti a bassa latenza, su scala petabit e non bloccanti. Per ulteriori informazioni, consulta [Capacity Blocks for ML](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-blocks.html) nella *Amazon Elastic Compute Cloud User Guide*.

Puoi utilizzare un modello di lancio per fare in modo che i AWS PCS utilizzino un Capacity Block quando avvia istanze per un gruppo di nodi di calcolo.

**Nota**  
AWS PCS ha introdotto il supporto per Capacity Blocks a partire dalla versione 24.05 di Slurm.

## Limitazioni
<a name="capacity-blocks-limitations"></a>
+ AWS PCS supporta solo Capacity Blocks con famiglie di istanze P5en, P5e, P5 e P4d.
+ È possibile associare un gruppo di nodi di calcolo solo a 1 blocco di capacità alla volta.
+ Non è possibile associare un gruppo di nodi di calcolo a un gruppo di prenotazione della capacità che combina più blocchi di capacità.
+ I blocchi di capacità devono trovarsi in uno `active` stato `scheduled` o per poter essere utilizzati con AWS PCS. Non puoi utilizzare i Capacity Blocks in altri stati, ad esempio`payment-failed`. Per ulteriori informazioni, consulta [View Capacity Blocks](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-blocks-view.html) nella *Amazon Elastic Compute Cloud User Guide*.

## Scadenza del blocco di capacità
<a name="capacity-blocks-expiration"></a>

I Capacity Block sono limitati a un intervallo di data e ora specifico. Quando un Capacity Block scade:
+ Il gruppo di nodi di calcolo associato a quel Capacity Block continua a esistere e rimane associato alle stesse code.
+ Tutte le istanze del gruppo di nodi di calcolo vengono terminate e i lavori attivi potrebbero non riuscire, in base alle impostazioni di Slurm.
+ AWS PCS non può avviare nuove istanze nel gruppo di nodi di calcolo.
+ Tutti i lavori in coda o appena inviati rimangono in sospeso fino a quando un altro gruppo di nodi di calcolo non viene collegato alla coda o non si aggiorna il gruppo di nodi di calcolo per utilizzare un nuovo modello di avvio che specifica un nuovo blocco di capacità.

# Configurare un gruppo di nodi di calcolo AWS PCS per utilizzare un Capacity Block
<a name="capacity-blocks-configure-cng"></a>

**Per associare un Capacity Block a un gruppo di nodi di calcolo**

1. Crea un modello di EC2 lancio Amazon per AWS PCS che specifichi il tuo Capacity Block. Per ulteriori informazioni sulla creazione di un modello di lancio per AWS PCS, consulta[Utilizzo dei modelli di lancio di Amazon EC2 con PCS AWS](working-with_launch-templates.md).

   Il modello di lancio deve includere:
   + Il valore `MarketType` di `InstanceMarketOptions` deve essere impostato su`capacity-block`.
   + A `CapacityReservationSpecification` con un valore valido `CapacityReservationId`
   + Una versione valida `InstanceType` che corrisponde al tipo di istanza del Capacity Block acquistato.

1. Crea un gruppo di nodi di calcolo che utilizza il modello di avvio. Per ulteriori informazioni, consulta [Creazione di un gruppo di nodi di calcolo in AWS PCS](working-with_cng_create.md). Puoi anche aggiornare un gruppo di nodi di calcolo esistente per utilizzare il modello di avvio. Per ulteriori informazioni, consulta [Aggiornamento di un gruppo di nodi di calcolo AWS PCS](working-with_cng_update.md).

   Quando crei o aggiorni il gruppo di nodi di calcolo:
   + L'identità IAM che usi per creare o aggiornare il gruppo di nodi di calcolo deve avere la seguente autorizzazione:

     ```
     ec2:DescribeCapacityReservations
     ```

     Per ulteriori informazioni, consulta [Autorizzazioni minime per AWS PCS](security-min-permissions.md).
   + Il Capacity Block deve trovarsi in uno `active` stato `scheduled` o.
   + Imposta il gruppo `purchaseOption` di nodi di calcolo su`CAPACITY_BLOCK`.
   + La dimensione `maxInstanceCount` del gruppo di nodi di calcolo non deve superare la dimensione del Capacity Block.
   + La zona di disponibilità del gruppo di nodi di calcolo deve corrispondere a 1 delle zone di disponibilità della sottorete del gruppo di nodi di calcolo.

**Importante**  
Non è possibile modificare il tipo di istanza di un gruppo di nodi di calcolo quando lo si aggiorna. Puoi utilizzare solo un Capacity Block con lo stesso tipo di istanza del gruppo di nodi di calcolo. Se desideri utilizzare un Capacity Block con un tipo di istanza diverso, devi creare un nuovo gruppo di nodi di calcolo.

# Domande frequenti sull'utilizzo di Capacity Blocks con AWS PCS
<a name="capacity-blocks-faq"></a>

**Ho appena pagato un Capacity Block e ho subito provato a usarlo con AWS PCS, ma la creazione del gruppo di nodi di calcolo non è riuscita. Che cos'è successo?**  
Il tuo Capacity Block potrebbe non essere in uno stato `scheduled` o`active`. Riprova dopo che il Capacity Block è `scheduled` o`active`.

**Sto usando un Capacity Block in AWS PCS e ho acquistato un'estensione prima della scadenza. Come posso continuare a usarlo in AWS PCS?**  
Non devi fare nulla per continuare a utilizzare il Capacity Block in AWS PCS. La data di fine del Capacity Block viene aggiornata dopo che il pagamento dell'estensione è andato a buon fine. Finché il Capacity Block non scade, il gruppo di nodi di calcolo continua a funzionare. Se il pagamento dell'estensione fallisce, il Capacity Block rimane `active` e il gruppo di nodi di calcolo funziona fino alla scadenza del Capacity Block alla data di fine originale.

**Cosa succede ai miei lavori in coda e in esecuzione se il mio Capacity Block scade?**  
I lavori in coda che non sono iniziati prima della scadenza del Capacity Block rimangono in sospeso finché non si collega un altro gruppo di nodi di elaborazione alla coda o si aggiorna il gruppo di nodi di calcolo con un nuovo Capacity Block. Puoi comunque inviare lavori alla coda. Le impostazioni di Slurm influiscono sui lavori attivi. Per impostazione predefinita, i lavori attivi vengono automaticamente rimessi in coda, ma potrebbero presentare errori o fallire.

**Il mio Capacity Block è scaduto. Devo fare qualcosa?**  
Non devi fare niente. Puoi controllare lo stato delle tue prenotazioni di capacità EC2 sulla console Amazon EC2. Quando un Capacity Block scade, il gruppo di nodi di calcolo associato a quel Capacity Block continua a esistere e a gestire le stesse code. Il gruppo di nodi di calcolo non dispone di istanze per eseguire i job. Puoi eliminare il gruppo di nodi di calcolo o dissociarlo dalle code per impedire agli utenti di inviare lavori che non verranno eseguiti.

**Voglio usare un nuovo Capacity Block con il mio gruppo di nodi di calcolo AWS PCS. Cosa devo fare?**  
Ti consigliamo di creare un nuovo gruppo di nodi di calcolo per utilizzare il nuovo Capacity Block. Per ulteriori informazioni, consulta [Configurare un gruppo di nodi di calcolo AWS PCS per utilizzare un Capacity Block](capacity-blocks-configure-cng.md).

**Come posso condividere 1 Capacity Block tra cluster e servizi?**  
È possibile suddividere un Capacity Block tra più cluster e servizi. Ad esempio, per dividere un Capacity Block con 64 `p5.48xlarge` istanze con 20 nodi su PCS-Cluster-1, 16 nodi su PCS-Cluster-2 e i nodi rimanenti per altri servizi, impostate entrambi `minInstanceCount` e su 20 per PCS-Cluster-1 e 16 per PCS-Cluster-2. `maxInstanceCount`

**Posso usare più di 1 Capacity Block o una capacità combinata con 1 gruppo di nodi di calcolo?**  
No. È possibile associare solo 1 blocco di capacità a un singolo gruppo di nodi di elaborazione. AWS PCS non supporta gruppi di prenotazione della capacità che combinano più blocchi di capacità.

**Come faccio a sapere quando iniziano o scadono i miei Capacity Block?**  
Indipendentemente dal AWS PCS, Amazon EC2 invia un `Capacity Block Reservation Delivered` evento EventBridge quando inizia una prenotazione Capacity Block e un `Capacity Block Reservation Expiration Warning` evento 40 minuti prima della scadenza della prenotazione Capacity Block. Per ulteriori informazioni, consulta [Monitora i blocchi di capacità utilizzati EventBridge](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-blocks-monitor.html) nella *Guida per l'utente di Amazon Elastic Compute Cloud*.

**In che modo Slurm monitora lo stato del mio Capacity Block?**  
Puoi correre `sinfo` per capire come AWS PCS utilizza il Capacity Block. Nell'output di esempio seguente, una coda è associata a un gruppo di nodi di calcolo che esegue 4 istanze da un `active` Capacity Block. I nodi sono nello stato `idle` Slurm (disponibili per l'uso e non ancora assegnati a nessun lavoro).  

```
$ sinfo  
PARTITION AVAIL TIMELIMIT NODES STATE NODELIST  
fanout up infinite 4 idle node-fanout-[1-4]
```
Se invece i nodi sono in `maint` stato, puoi correre `scontrol show res` per vedere i dettagli sulla prenotazione Slurm che controlla questo stato. Nell'output di esempio seguente, il Capacity Block ha una data di inizio futura. `scheduled`  

```
$ scontrol show res                                                                                                  
ReservationName=node-fanout-scheduled StartTime=2025-10-14T13:09:17 EndTime=2025-10-14T13:11:17 Duration=00:02:00    
   Nodes=node-fanout-[1-4] NodeCnt=4 CoreCnt=16 Features=(null) PartitionName=(null) Flags=MAINT,SPEC_NODES          
   TRES=cpu=16                                                                                                       
   Users=root Groups=(null) Accounts=(null) Licenses=(null) State=ACTIVE BurstBuffer=(null)                          
   MaxStartDelay=(null)                                                                                              
   Comment=node-fanout Scheduled
```

**Come posso sapere se gli errori che ricevo durante l'avvio della capacità sono dovuti al fatto che il mio Capacity Block è condiviso?**  
Controlla **le prenotazioni di capacità** nella console Amazon EC2 per scoprire quante istanze del Capacity Block vengono fornite attivamente. Controlla i tag di ogni istanza per scoprire quale servizio o cluster la utilizza. Ad esempio, tutte le istanze di AWS PCS hanno tag AWS PCS come quelli `aws:pcs:cluster-id = pcs_l0mizqyk5o | aws:pcs:compute-node-group-id = pcs_ic7onkmfqk` che indicano a quali cluster e gruppi di nodi di calcolo appartiene l'istanza. È quindi possibile verificare se il Capacity Block ha la capacità massima.  
`scontrol show nodes`Per verificare se un nodo Capacity Block in un cluster AWS PCS si sta attivando`ReservationCapacityExceeded`:  

```
[root@ip-172-16-10-54 ~]# scontrol show nodes test-node-8-gamma-cb-2  
NodeName=test-8-gamma-cb-2 CoresPerSocket=1  
   CPUAlloc=0 CPUEfctv=8 CPUTot=8 CPULoad=0.00  
   AvailableFeatures=test-8-gamma-cb,gpu  
   ActiveFeatures=test-8-gamma-cb,gpu  
   Gres=gpu:H100:1  
   NodeAddr=test-8-gamma-cb-2 NodeHostName=test-8-gamma-cb-2  
   RealMemory=249036 AllocMem=0 FreeMem=N/A Sockets=8 Boards=1  
   State=IDLE+CLOUD+POWERING_DOWN ThreadsPerCore=1 TmpDisk=0 Weight=1 Owner=N/A MCS_label=N/A  
   Partitions=my-q  
   BootTime=None SlurmdStartTime=None  
   LastBusyTime=Unknown ResumeAfterTime=None  
   CfgTRES=cpu=8,mem=249036M,billing=8  
   AllocTRES=  
   CurrentWatts=0 AveWatts=0  
   Reason=Failed to launch backing instance (Error Code: ReservationCapacityExceeded) [root@2025-08-28T15:15:33]
```

**Quando più gruppi di nodi di elaborazione sono collegati alla stessa coda, come posso forzare l'esecuzione di un processo su istanze supportate da Capacity Block?**  
Puoi utilizzare le funzionalità e i vincoli di Slurm per bloccare un lavoro su un determinato set di nodi. Ti consigliamo di non impostare i pesi Slurm per ogni gruppo di nodi di calcolo perché funziona solo con nodi che non si trovano nello stato. `maint`