Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Prima di creare un cluster in Azure CycleCloud, pianifica come è strutturato e dimensionato il cluster. Buone decisioni di pianificazione iniziali - riguardo allo scheduler, ai tipi di macchine virtuali (VM), a come scala il cluster e a come memorizza e sposta i dati - determinano quanto bene il cluster funziona e quanto costa gestirlo.
Questo articolo descrive le principali decisioni da prendere quando si pianifica un cluster HPC in CycleCloud. Completa cluster e nodi di CycleCloud, spiegando cosa sono cluster, nodi e array di nodi, e crea un nuovo cluster, che guida la costruzione di un cluster a partire da un template.
Conferma che CycleCloud sia adatto al tuo carico di lavoro
Usa CycleCloud quando devi utilizzare uno specifico scheduler HPC, personalizzare la topologia del cluster e lo stack software, o allinearti strettamente ai flussi di lavoro on-premises esistenti. Prima di dimensionare un cluster personalizzato, considera queste alternative:
- Scegli Azure CycleCloud Workspace per Slurm quando desideri un ambiente Slurm pronto a distribuire con componenti di rete, storage e accesso forniti nel tuo abbonamento.
- Scegli Azure Batch quando vuoi che Azure offra la pianificazione come servizio e la tua applicazione può utilizzare pool di batch, job e task.
Se CycleCloud è il modello operativo giusto, utilizza le seguenti sezioni per creare una base di pianificazione. Annota le decisioni relative a scheduler, VM, scalabilità, quota, area geografica, archiviazione, rete e costo prima della distribuzione e convalidale con un carico di lavoro rappresentativo.
Scegli un scheduler
CycleCloud è indipendente dal scheduler. Ha il supporto integrato per gli scheduler che la maggior parte dei team HPC già usa, e aggiunge l'autoscaling a ciascuno di essi:
- Slurm
- PBS Professional
- IBM Spectrum LSF
- Motore a griglia di Altair
- HTCondor
Scegli lo scheduler che corrisponde ai tuoi flussi di lavoro e script di lavoro esistenti, così da poter spostare i carichi di lavoro su Azure con il minimo possibile. Se la tua organizzazione utilizza uno scheduler che non è nella lista integrata, puoi integrarlo con l'API di autoscaling di CycleCloud. Per maggiori informazioni, consulta la programmazione in CycleCloud.
Scegli famiglie e dimensioni di VM
La famiglia e la dimensione delle VM che scegli per i nodi di calcolo hanno l'effetto maggiore sia sulle prestazioni che sul costo. Abbina la VM alle caratteristiche del tuo carico di lavoro:
- I carichi di lavoro strettamente accoppiati (MPI) che scambiano dati tra nodi beneficiano di VM ottimizzate HPC con una connessione InfiniBand a bassa latenza, come le dimensioni delle VM HPC.
- I carichi di lavoro accelerati dalla GPU, come l'addestramento o il rendering dell'IA, utilizzano dimensioni di VM ottimizzate per GPU.
- I carichi di lavoro imbarazzantemente paralleli o a throughput, dove i task si seguono in modo indipendente, possono utilizzare VM generiche o ottimizzate per il calcolo e non richiedono un'interconnessione specializzata.
Per un confronto completo delle opzioni VM, vedi Dimensioni per macchine virtuali in Azure.
Poiché un array di nodi può coprire più di un set di scala di macchine virtuali, un singolo array può offrire VM di dimensioni o famiglie diverse per lo stesso ruolo. Questa flessibilità aiuta quando la dimensione della VM preferita ha capacità limitata in una regione. Per maggiori informazioni, consulta cluster e nodi CycleCloud.
Dimensiona il cluster e pianifica l'autoscaling
CycleCloud scala automaticamente il numero di nodi di calcolo in base al lavoro in coda nello scheduler, quindi non devi indovinare una dimensione fissa del cluster. Invece, pianifica i seguenti confini:
- Dimensione massima. La forma di creazione di cluster limita quanto un cluster può scalare automaticamente, in base al numero totale di nodi o core che può avviare. Imposta questo limite per riflettere il carico di lavoro più grande che ti aspetti e la quota disponibile nella regione.
- Nodi dedicati contro nodi Spot.Nodi dedicati sono riservati al tuo pool e ti danno capacità prevedibile. I nodi spot utilizzano capacità in eccesso di Azure a un prezzo ridetto, ma Azure può recuperarle quando ne ha bisogno di recuperare. Usa nodi dedicati per lavori a tempo o di lunga durata, e nodi Spot per lavori tolleranti ai guasti o riavviabili dove il costo conta più della disponibilità garantita.
- Comportamento di riduzione delle prestazioni. L'autoscaling rimuove i nodi inattivi così smetti di pagare per calcoli che non stai usando. Assicurati che i tuoi processi scrivano i risultati in un'archiviazione permanente, perché i dati locali in un nodo vengono persi quando il nodo viene deallocato.
Comprendere i limiti dell'autoscaling
Per un cluster CycleCloud, diversi limiti indipendenti determinano quanti nodi CycleCloud può avviare. Il limite effettivo più basso vince:
| Limit | Che cosa controlla |
|---|---|
| Quota totale regionale vCPU disponibile | Le vCPU rimanenti che la sottoscrizione può distribuire in tutte le famiglie di VM nell'area. |
| Quota vCPU disponibile per la famiglia VM | Le vCPU rimanenti che il tuo abbonamento può distribuire per la famiglia di VM selezionata nella regione. Entrambe le quote vCPU devono consentire la distribuzione. |
CycleCloud MaxCount |
Il numero massimo di nodi in un array di nodi. |
CycleCloud MaxCoreCount |
Il numero massimo di core in un array di nodi. Se un template definisce sia MaxCount che MaxCoreCount, CycleCloud applica il vincolo effettivo inferiore. |
Importante
I limiti di quota e CycleCloud sono limiti limitatori, non prenotazioni di capienza. Il provisioning effettivo può essere inferiore a causa di vincoli temporanei di capacità di Azure o errori di configurazione.
Per identificare un vincolo, vai alla pagina del cluster CycleCloud per il tuo cluster. Nella tabella dei Nodi , seleziona Azioni>Aggiungi. La finestra di dialogo Aggiungi Nodi descrive i vincoli applicabili per l'array di nodi selezionato.
Ad esempio, supponiamo che un array di nodi utilizzi VM di generazione Standard_HB368rs_v5 corrente, che consumano 368 vCPU ciascuna, e abbia questi limiti:
| Constraint | Limite disponibile o configurato | Nodi efficaci |
|---|---|---|
| Quota regionale totale di vCPU | 3.680 vCPU | 10 |
| Quota vCPU della famiglia di VM HBv5 | 2.208 vCPU | 6 |
CycleCloud MaxCount |
8 nodi | 8 |
La quota della famiglia VM HBv5 è il limite più basso, quindi il tetto massimo configurato è di sei nodi anche se MaxCount ne consente otto. Se Azure ha capacità solo di cinque VM al momento dell'esecuzione della richiesta, CycleCloud fornisce cinque nodi e la richiesta rimanente rimane vincolata finché la capacità non diventa disponibile. Aumentare MaxCount da solo non aumenta né il tetto della quota né la capacità disponibile.
Quando un template usa MaxCoreCount, divide quel valore per il numero di vCPU della VM e arrotonda verso il basso per trovare il suo node ceiling. Per la definizione di entrambe le impostazioni di CycleCloud, vedere Oggetti nodo e matrici di nodi.
Controlla quota, capacità e regione
Le VM che intendi utilizzare devono essere disponibili, e entro la quota, nella regione in cui distribuisci:
- Regione. Scegli una regione che offra le famiglie di VM di cui hai bisogno e che sia vicina ai tuoi dati e agli utenti. Non tutte le famiglie di VM sono disponibili in ogni regione.
- Quota. Le quote di core (vCPU) sono stabilite per regione e per famiglia di VM. Assicurati che la tua quota sia sufficientemente alta per la dimensione massima del cluster che hai pianificato e chiedi un aumento della quota se necessario.
- Capacità. Anche all'interno della quota, le dimensioni delle VM HPC possono essere vincolate in una regione in un dato momento. Considera una dimensione di VM di riserva o una regione aggiuntiva per esecuzioni grandi o a tempo critico.
Pianifica lo storage e il networking
I lavori HPC sono spesso limitati a quanto velocemente possono leggere e scrivere dati, non solo al calcolo:
- File system condivisi. La maggior parte dei cluster HPC necessita di un file system condiviso che tutti i nodi possano montare. CycleCloud può distribuire server NFS e file system paralleli (ad esempio, BeeGFS) come parte del cluster, e puoi collegarti a servizi gestiti come Azure NetApp Files o Managed Lustre di Azure.
- Interconnettersi. I lavori MPI strettamente accoppiati richiedono l'interconnessione InfiniBand disponibile sulle VM ottimizzate per HPC. Conferma che sia la dimensione della VM che la regione lo supportino.
- Rete Pianifica la rete virtuale e le subnet che ospitano il cluster, e assicurati che il server applicativo CycleCloud abbia l'accesso in uscita necessario per gestire i nodi. Per le indicazioni sulla produzione, vedi Pianifica la tua distribuzione in produzione.
Scegli un percorso dati di cluster
Il modo in cui si arrivano i dati ai nodi di calcolo ha un grande impatto sulla velocità di produzione e sui costi. Scegli in base a come i tuoi lavori leggono e scrivono i dati:
| Option | Migliore per | Note |
|---|---|---|
| BlobFuse2 (streaming) | Lettura di grandi set di dati direttamente dal Blob (dati di addestramento AI, input di simulazione) ad alta produttività, senza file server permanente | Montaggio FUSE per nodo; non del tutto conforme a POSIX. Vedi Mount Archiviazione BLOB di Azure sui nodi del cluster. |
| Managed Lustre di Azure | Processi strettamente accoppiati o a elevato utilizzo di I/O che richiedono un file system parallelo POSIX condiviso; possono essere popolati da Blob | File system parallelo gestito. Vedi Managed Lustre di Azure. |
| Cache HPC di Azure | Memorizzazione nella cache di un back-end NAS o Blob esistente per carichi di lavoro HPC a elevata intensità di lettura, compresi dati ibridi e locali | Tier cache distribuito davanti allo storage. Vedi Cache HPC di Azure. |
| Azure NetApp Files | NFS o SMB condiviso a bassa latenza per EDA e spazio generale HPC domestico e scratch | Servizio di gestione file. Vedi Azure NetApp Files. |
Come regola pratica: utilizza lo streaming di BlobFuse2 quando i dati risiedono già in Blob e i processi li leggono principalmente. Usa un file system condiviso o parallelo (Managed Lustre o NetApp Files) quando i job richiedono coordinazione tra nodi, semantica POSIX o scritture condivise pesanti. Usa un livello di cache (Cache HPC) quando devi accelerare l'accesso a un backend esistente.
Pianifica i costi
I costi di calcolo sono solitamente la spesa più elevata in un ambiente HPC. Pianifica di controllare questi costi con:
- Usare l'autoscaling e i nodi Spot per evitare di pagare capacità inutilizzata.
- Ridimensionare correttamente le VM per adattarle al carico di lavoro invece di usare di default l'opzione più grande.
- Monitoraggio delle spese tramite l'integrazione integrata con Gestione dei costi Microsoft. Per maggiori informazioni, vedi Monitoraggio dei costi e dell'uso.
Valida il cluster prima della produzione
Esegui una prova di concetto con un job rappresentativo, il relativo volume di dati previsto e la configurazione del scheduler di produzione e del cluster. Non approvare il progetto per la produzione finché non puoi registrare prove per ogni criterio:
| Criterion | Prove da registrare |
|---|---|
| Compatibilità dei flussi di lavoro | Gli script di lavoro esistenti, le policy degli scheduler, il software, le licenze e le integrazioni di identità funzionano senza cambiamenti imprevisti. |
| Scala e quota | L'autoscaling raggiunge il numero di nodi richiesto nell'area geografica prevista senza superare i limiti regionali complessivi, della famiglia di VM, MaxCount o MaxCoreCount. |
| Prestazioni di calcolo e archiviazione | Il tempo complessivo end-to-end del processo rispetta l'obiettivo, incluso il tempo in coda, il provisioning dei nodi, la preparazione dei dati, il calcolo e la persistenza dei risultati. |
| Recovery | Dopo un errore nel provisioning di un nodo, un errore di un processo o la revoca di un'istanza Spot, se utilizzata, il carico di lavoro rimane entro il tempo massimo di ripristino previsto e la perdita di checkpoint consentita, rispetta il termine di completamento e utilizza correttamente la dimensione della VM di fallback prevista. |
| Cost | Il costo misurato di calcolo, archiviazione, rete e licenza per ogni processo completato raggiunge l'obiettivo alla frequenza di esecuzione prevista. |
| Operazioni | I proprietari nominati possono monitorare lo scheduler e l'infrastruttura, indagare su richieste di scalabilità fallite, patchare l'ambiente e recuperare job e dati. |
Se un criterio fallisce, rivedi la VM, i limiti dell'array di nodi, il percorso di storage, la configurazione di autoscaling o il fallback regionale e ripeti lo stesso lavoro. Un piccolo test funzionale non dimostra che si è pronti per la produzione, perché non verifica la compatibilità con lo scheduler, la scalabilità ai picchi di carico o lo spostamento dei dati.