Rivedi le configurazioni del cluster e dell'istanza di calcolo

Questo documento descrive le configurazioni di AI Hypercomputer da considerare prima di creare istanze e cluster Compute Engine. La revisione delle configurazioni disponibili aiuta a ottimizzare le prestazioni dei tuoi workload, nonché a ridurre al minimo i tempi di inattività e i problemi di prestazioni.

Fattori di configurazione per la creazione di istanze di computing e cluster

Prima di creare istanze di computing e cluster per eseguire i workload, valuta quale configurazione utilizzare:

  1. Il modello di provisioning

  2. Strumenti di deployment del cluster

  3. Se utilizzi il modello di provisioning con prenotazione, devi anche considerare i seguenti fattori:

Modelli di provisioning

In base all'opzione di consumo che scegli per la creazione di istanze di computing o cluster, puoi utilizzare uno dei seguenti modelli di provisioning per ottenere le risorse necessarie per la creazione di istanze:

  • Vincolati alla prenotazione: puoi prenotare risorse a un prezzo scontato per una data e una durata future. All'inizio del periodo di prenotazione, puoi utilizzare le risorse prenotate per creare istanze o cluster. Hai l'accesso esclusivo alle risorse prenotate per il periodo di prenotazione.

  • Inizio flessibile: puoi richiedere risorse scontate per un massimo di sette giorni. Compute Engine fa del suo meglio per pianificare il provisioning delle risorse richieste non appena sono disponibili. Hai l'accesso esclusivo alle risorse ottenute per il periodo richiesto.

  • Spot: in base alla disponibilità, puoi ottenere immediatamente risorse con sconti significativi. Tuttavia, Compute Engine potrebbe arrestare o eliminare le istanze in qualsiasi momento per recuperare la capacità.

Modello di provisioning con prenotazione

Il modello di provisioning con prenotazione collega le istanze di computing create alla capacità prenotata in precedenza. Quando prenoti la capacità, Compute Engine crea una prenotazione vuota. Poi, all'ora di inizio della prenotazione, si verifica quanto segue:

  • Compute Engine aggiunge il numero di istanze prenotate alla prenotazione. Hai l'accesso esclusivo alla capacità prenotata fino all'ora di fine della prenotazione.

  • Google Cloud ti addebita i costi per la capacità prenotata fino alla fine del periodo di prenotazione, indipendentemente dal fatto che tu utilizzi o meno la capacità.

Puoi quindi utilizzare le risorse prenotate per creare istanze senza costi aggiuntivi. Paghi solo per le risorse non incluse nella prenotazione, ad esempio dischi o indirizzi IP.

Per specificare il modello di provisioning con prenotazione assegnata quando crei istanze di computing o MIG, segui questi passaggi:

  • Nella console Google Cloud , nell'elenco Modello di provisioning, seleziona Vincolato alla prenotazione.

  • In Google Cloud CLI, includi il flag --provisioning-model=RESERVATION_BOUND nel comando.

  • Nell'API Compute Engine, includi il campo "provisioningModel": "RESERVATION_BOUND" nel corpo della richiesta.

Per saperne di più sull'impostazione di questi parametri quando crei istanze o MIG dopo aver prenotato la capacità, consulta Panoramica della creazione di istanze e cluster di computing. Se utilizzi Cluster Toolkit per eseguire il deployment dei cluster, il blueprint del cluster imposta il modello di provisioning per te.

Modello di provisioning con avvio flessibile

Il modello di provisioning con avvio flessibile consente di creare VM con avvio flessibile autonome o di aggiungerle a un gruppo di istanze gestite (MIG) quando la capacità richiesta è disponibile. Quando aggiungi VM Flex-start a un MIG utilizzando le richieste di ridimensionamento, il MIG crea le istanze tutte insieme. Questo approccio ti aiuta a evitare addebiti non necessari per la capacità parziale che Compute Engine potrebbe fornire mentre aspetti la capacità completa necessaria per avviare il tuo workload. Il modello di provisioning con avvio flessibile esegue il provisioning delle risorse da un pool di capacità sicuro, il che contribuisce ad aumentare le possibilità di ottenere risorse molto richieste come le GPU.

Per specificare il modello di provisioning con avvio flessibile durante la creazione di un'istanza autonoma o di un template di istanza per un MIG, segui questi passaggi:

  • Nella console Google Cloud , nell'elenco Modello di provisioning, seleziona Avvio flessibile.

  • In gcloud CLI, includi il flag --provisioning-model=FLEX_START nel comando.

  • Nell'API Compute Engine, includi il campo "provisioningModel": "FLEX_START" nel corpo della richiesta.

Per saperne di più sulla creazione di istanze o cluster che utilizzano il modello di provisioning con avvio flessibile, consulta i seguenti documenti:

Modello di provisioning spot

Il modello di provisioning spot consente di creare istanze di computing con sconti significativi in base alla disponibilità. Tuttavia, Compute Engine potrebbe arrestare o eliminare le istanze create in qualsiasi momento per recuperare capacità. Questo processo è chiamato prerilascio.

Per specificare il modello di provisioning Spot quando crei istanze o MIG, segui questi passaggi:

  • Nella console Google Cloud , nell'elenco Modello di provisioning, seleziona Spot.

  • In gcloud CLI, includi il flag --provisioning-model=SPOT nel comando.

  • Nell'API Compute Engine, includi il campo "provisioningModel": "SPOT" nel corpo della richiesta.

Per saperne di più sull'impostazione di questi parametri durante la creazione di istanze o MIG, consulta Panoramica della creazione di istanze e cluster di computing.

Strumenti di deployment dei cluster

Cluster Toolkit è uno strumento di deployment open source consigliato per la creazione di cluster con accelerazione GPU. Cluster Toolkit può eseguire il deployment di cluster Google Kubernetes Engine (GKE) o Slurm.

In alternativa, puoi scegliere di eseguire il provisioning dei gruppi di istanze di computing utilizzando uno dei seguenti metodi, quindi incorporare il tuo scheduler dei workload in base alle tue esigenze:

Tipi di deployment dei blocchi di prenotazione

Se utilizzi il modello di provisioning con prenotazione quando crei istanze di computing con GPU clusterizzate o cluster, le macchine che ricevi vengono automaticamente sottoposte a deployment all'interno di blocchi di host allocati in modo denso. Questo deployment offre i seguenti vantaggi:

  • Networking non bloccante per una connettività delle istanze coerente, a larghezza di banda elevata e a bassa latenza utilizzando il fabric di rete di machine learning (ML) dinamico di Google.

  • Accesso a Network Topology che fornisce una visualizzazione gerarchica della prossimità relativa tra le istanze. Questa funzionalità è utile per casi d'uso di pianificazione dei job avanzati.

  • Posizionamento granulare e basato sulla topologia quando utilizzi gli orchestratori.

  • Controllo granulare degli utenti sulle pianificazioni di manutenzione per massimizzare la pianificazione dei job e l'uptime e ridurre al minimo i tempi di inattività.

Modalità operativa della prenotazione

Se utilizzi il modello di provisioning con prenotazione, il tipo di macchina che prenoti determina la modalità operativa della prenotazione per la capacità prenotata. Ogni modalità definisce come rispondere agli errori dell'host o ai report sugli host difettosi, nonché il livello di visibilità e controllo sull'infrastruttura della prenotazione.

Ogni modalità operativa di prenotazione definisce quanto segue:

  • Chi gestisce il recupero: tu o Google Cloud.

  • La capacità che utilizzi per il recupero: solo la capacità riservata o la capacità all'interno o all'esterno delle prenotazioni.

  • Il tuo livello di controllo del posizionamento: se puoi visualizzare e avviare la manutenzione prima dell'ora pianificata per blocchi secondari di prenotazione specifici per un controllo granulare.

Quando prenoti la capacità per creare istanze di computing o cluster, devi scegliere una delle seguenti modalità operative di prenotazione: modalità gestita o modalità di capacità totale.

Modalità gestita

In modalità gestita, Google Cloud gestisce automaticamente il processo di manutenzione e recupero delle istanze di computing dopo errori dell'host o report di host difettosi. Questo approccio è ideale quando il workload richiede un'elevata stabilità e preferisci un processo automatizzato per ridurre al minimo i tempi di inattività.

La modalità gestita ha le seguenti caratteristiche:

  • Utilizza la capacità prenotata solo per il recupero: Compute Engine utilizza la capacità prenotata solo per riavviare le istanze. Se non c'è capacità disponibile nelle prenotazioni, Compute Engine riavvia le istanze solo dopo che hai ottenuto più capacità.

  • Riavvio automatico delle istanze: Google Cloud gestisce l'intero processo di recupero di un'istanza. Quando è necessaria la manutenzione dell'host, Compute Engine esegue automaticamente la migrazione delle istanze su altre macchine disponibili all'interno della prenotazione e le riavvia.

  • Gestione e visibilità dei blocchi: puoi visualizzare la topologia, l'integrità e lo stato di manutenzione di singole prenotazioni e blocchi di prenotazione. Puoi anche ricevere notifiche di manutenzione e, facoltativamente, avviare la manutenzione prima dell'ora pianificata per queste risorse.

  • Potenziali limiti di frequenza API: le chiamate all'API per la segnalazione di host con errori potrebbero essere limitate in base alla prenotazione.

Modalità Tutta la capacità

In tutte le modalità di capacità, sei responsabile della gestione di un processo di recupero dell'istanza di computing. Devi avviare manualmente la manutenzione dopo errori dell'host o segnalazioni di host difettosi. A differenza della modalità gestita, puoi anche visualizzare e avviare la manutenzione per i blocchi secondari della prenotazione. Queste funzionalità ti offrono un controllo completo e granulare sul processo di manutenzione e recupero delle tue istanze.

La modalità di capacità All ha le seguenti caratteristiche:

  • Utilizza la capacità prenotata e non prenotata per il recupero: puoi utilizzare le risorse prenotate, nonché tutte le risorse disponibili al di fuori della prenotazione, per eseguire la migrazione e riavviare un'istanza in caso di errore dell'host.

  • Riavvio manuale delle istanze: sei responsabile del processo di recupero di un'istanza. Quando è necessaria la manutenzione dell'host a causa di un errore dell'host o di un report sull'host difettoso, Compute Engine arresta l'istanza. Puoi riavviare l'istanza solo al termine della manutenzione.

  • Gestione e visibilità di blocchi e blocchi secondari: puoi visualizzare la topologia, l'integrità e lo stato di manutenzione di singole prenotazioni, blocchi di prenotazione e blocchi secondari di prenotazione. Per queste risorse puoi anche ricevere notifiche di manutenzione e, facoltativamente, avviare la manutenzione prima dell'ora di manutenzione pianificata.

  • Nessun limite di frequenza API: non esistono limiti di frequenza quando effettui chiamate all'API per la segnalazione di host difettosi.

Tipi di pianificazione della manutenzione

Se utilizzi il modello di provisioning limitato alle prenotazioni, Cluster Director fornisce opzioni per pianificare la manutenzione dell'host per le istanze di computing in esecuzione nel cluster. Quando prenoti la capacità, puoi specificare se raggruppare le istanze e sincronizzare la pianificazione della manutenzione (raggruppate) o se le istanze possono essere a basso accoppiamento e avere una pianificazione della manutenzione indipendente (indipendenti).

Pianificazione della manutenzione raggruppata

Il tipo di pianificazione della manutenzione raggruppata consente di allineare tutte le istanze che eseguono lo stesso workload alla stessa frequenza di manutenzione pianificata, indipendentemente da quando Compute Engine esegue il provisioning di un'istanza di computing. Questa manutenzione strettamente accoppiata ti consente di ottimizzare le prestazioni del job offrendoti il controllo completo sulla capacità utilizzata e non utilizzata.

Un tipo di pianificazione della manutenzione di gruppo è utile nei seguenti casi:

  • Il tuo ambiente utilizza uno scheduler di job, ad esempio Slurm o GKE.

  • Vuoi eseguire l'addestramento o altri workload di computing altamente parallelizzati.

Pianificazione della manutenzione indipendente

Questo tipo di pianificazione della manutenzione indipendente fornisce alle istanze pianificazioni di manutenzione diverse. Questa configurazione è ideale se vuoi eseguire l'inferenza o l'addestramento su scala limitata, in cui i workload vengono eseguiti in modo più efficiente quando hanno pianificazioni di manutenzione separate.

Passaggi successivi