Questo documento descrive le configurazioni in AI Hypercomputer da considerare prima di creare istanze e cluster Compute Engine. La revisione delle configurazioni disponibili consente di garantire prestazioni ottimali per i carichi di lavoro, nonché di 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 carichi di lavoro, considera la configurazione da utilizzare:
Se utilizzi il modello di provisioning con prenotazione, devi considerare anche i seguenti fattori:
Modelli di provisioning
In base all' opzione di consumo scelta 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 delle istanze:
Con prenotazione: puoi prenotare le 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 accesso esclusivo alle risorse prenotate per il periodo di prenotazione.
Con avvio flessibile: puoi richiedere risorse scontate per un massimo di sette giorni. Compute Engine tenta di eseguire il provisioning delle risorse richieste non appena sono disponibili. Hai accesso esclusivo alle risorse ottenute per il periodo richiesto.
Spot: in base alla disponibilità, puoi ottenere immediatamente risorse a prezzi molto scontati. 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à che hai prenotato in precedenza. Quando prenoti la capacità, Compute Engine crea una prenotazione vuota. Quindi, all'ora di inizio della prenotazione, si verifica quanto segue:
Compute Engine aggiunge alla prenotazione il numero di istanze prenotate. Hai accesso esclusivo alla capacità prenotata fino all'ora di fine della prenotazione.
Google Cloud ti addebita 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, come dischi o indirizzi IP.
Per specificare il modello di provisioning con prenotazione quando crei istanze di computing o MIG, procedi nel seguente modo:
Nella Google Cloud console, nell'elenco Modello di provisioning, seleziona Con prenotazione.
In Google Cloud CLI, includi il flag
--provisioning-model=RESERVATION_BOUNDnel comando.Nell'API Compute Engine, includi il
"provisioningModel": "RESERVATION_BOUND"campo 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 di computing e cluster. Se utilizzi Cluster Toolkit per eseguire il deployment dei cluster, il progetto iniziale del cluster imposta il modello di provisioning.
Modello di provisioning con avvio flessibile
Il modello di provisioning con avvio flessibile ti consente di creare VM con avvio flessibile autonome o di aggiungere VM con avvio flessibile a un gruppo di istanze gestite (MIG) quando la capacità richiesta è disponibile. Quando aggiungi VM con avvio flessibile a un MIG utilizzando le richieste di ridimensionamento, il MIG crea le istanze contemporaneamente. 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 carico di lavoro. Il modello di provisioning con avvio flessibile esegue il provisioning delle risorse da un pool di capacità sicuro, il che contribuisce ad aumentare le probabilità di ottenere risorse ad alta richiesta come le GPU.
Per specificare il modello di provisioning con avvio flessibile quando crei un'istanza autonoma o un modello di istanza per un MIG, procedi nel seguente modo:
Nella Google Cloud console, nell'elenco Modello di provisioning, seleziona Con avvio flessibile.
In gcloud CLI, includi il flag
--provisioning-model=FLEX_STARTnel comando.Nell'API Compute Engine, includi il
"provisioningModel": "FLEX_START"campo 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:
Crea cluster Slurm:
Crea cluster GKE:
Modello di provisioning spot
Il modello di provisioning spot ti consente di creare istanze di computing a prezzi molto scontati in base alla disponibilità. Tuttavia, Compute Engine potrebbe arrestare o eliminare le istanze create in qualsiasi momento per recuperare la capacità. Questo processo è chiamato prerilascio.
Per specificare il modello di provisioning spot quando crei istanze o MIG, procedi nel seguente modo:
Nella Google Cloud console, nell'elenco Modello di provisioning, seleziona Spot.
In gcloud CLI, includi il flag
--provisioning-model=SPOTnel comando.Nell'API Compute Engine, includi il
"provisioningModel": "SPOT"campo nel corpo della richiesta.
Per saperne di più sull'impostazione di questi parametri quando crei istanze o MIG, consulta Panoramica della creazione di istanze di computing e cluster.
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 e poi incorporare il tuo scheduler di carichi di lavoro, se necessario:
Tipi di deployment dei blocchi di prenotazione
Se utilizzi il modello di provisioning con prenotazione quando crei istanze di computing o cluster A4X Max, A4X, A4, A3 Ultra, A3 Mega e A3 High (8 GPU), le macchine che ricevi vengono automaticamente sottoposte a deployment all'interno di blocchi di host con allocazione densa. Questo deployment offre i seguenti vantaggi:
Networking non bloccante per una connettività delle istanze a larghezza di banda elevata e a bassa latenza costante utilizzando la rete di machine learning (ML) dinamica di Google.
Accesso alla topologia di rete che fornisce una visualizzazione gerarchica della prossimità relativa tra le istanze. Questa funzionalità è utile per i casi d'uso avanzati di pianificazione dei job.
Posizionamento granulare e consapevole della topologia quando utilizzi gli orchestratori.
Controllo granulare da parte dell'utente delle pianificazioni della 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, allora 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 dell'host difettosi, nonché il livello di visibilità e controllo sull'infrastruttura della prenotazione.
Ogni modalità operativa della prenotazione definisce quanto segue:
Chi gestisce il recupero: tu o Google Cloud.
Quale capacità utilizzi per il recupero: solo la capacità prenotata o la capacità all'interno o all'esterno delle prenotazioni.
Il livello di controllo del posizionamento: se puoi visualizzare e avviare la manutenzione prima dell'orario pianificato per i blocchi secondari di prenotazione specifici per un controllo granulare.
Quando prenoti la capacità per creare istanze di computing o cluster, devi scegliere tra una delle seguenti modalità operative della prenotazione: modalità gestita o modalità con tutta la capacità.
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 dell'host difettosi. Questo approccio è ideale quando il carico di lavoro richiede un'elevata stabilità e preferisci un processo automatizzato per ridurre al minimo i tempi di inattività.
La modalità gestita ha le seguenti funzionalità:
Utilizza solo la capacità prenotata per il recupero: Compute Engine utilizza solo la capacità prenotata per riavviare le istanze. Se non è disponibile capacità nelle prenotazioni, Compute Engine riavvia le istanze solo dopo che hai ottenuto più capacità.
Riavvii automatici 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 riavvia le istanze.
Gestione e visibilità dei blocchi: puoi visualizzare la topologia, lo stato e lo stato di manutenzione delle singole prenotazioni e dei blocchi di prenotazione. Puoi anche ricevere notifiche di manutenzione e, facoltativamente, avviare la manutenzione prima dell'orario di manutenzione pianificato per queste risorse.
Potenziali limiti di frequenza API: le chiamate all'API report faulty host potrebbero essere soggette a limiti di frequenza per prenotazione.
Modalità con tutta la capacità
Nella modalità con tutta la capacità, sei responsabile della gestione del processo di recupero di un'istanza di computing. Devi avviare manualmente la manutenzione dopo errori dell'host o report dell'host difettosi. A differenza della modalità gestita, puoi anche visualizzare e avviare la manutenzione per i blocchi secondari di prenotazione. Queste funzionalità ti offrono un controllo completo e granulare sul processo di manutenzione e recupero delle istanze.
La modalità con tutta la capacità ha le seguenti funzionalità:
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 guasto dell'host.
Riavvii manuali 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 dell'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, lo stato e lo stato di manutenzione delle singole prenotazioni, blocchi di prenotazione e blocchi secondari di prenotazione. Puoi anche ricevere notifiche di manutenzione e, facoltativamente, avviare la manutenzione prima dell'orario di manutenzione pianificato per queste risorse.
Nessun limite di frequenza API: non esistono limiti di frequenza quando effettui chiamate all' API report faulty host.
Tipi di pianificazione della manutenzione
Se utilizzi il modello di provisioning con prenotazione, Cluster Director offre opzioni per la pianificazione della manutenzione dell'host per le istanze di computing in esecuzione nel cluster. Quando prenoti la capacità, puoi specificare se raggruppare le istanze e avere una pianificazione della manutenzione sincronizzata (raggruppata) oppure se le istanze possono essere a basso accoppiamento e avere una pianificazione della manutenzione indipendente (indipendente).
Pianificazione della manutenzione raggruppata
Il tipo di pianificazione della manutenzione raggruppata garantisce che, indipendentemente da quando Compute Engine esegue il provisioning di un'istanza di computing, tutte le istanze che eseguono lo stesso carico di lavoro abbiano la stessa frequenza di manutenzione pianificata. Questa manutenzione strettamente accoppiata ti consente di ottimizzare le prestazioni del job, offrendoti il controllo completo della 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, come Slurm o GKE.
Vuoi eseguire l'addestramento o altri carichi di lavoro di computing altamente parallelizzati.
Pianificazione della manutenzione indipendente
Questo tipo di pianificazione della manutenzione indipendente assegna alle istanze pianificazioni della manutenzione diverse. Questa configurazione è ideale se vuoi eseguire l'inferenza o l'addestramento su scala limitata in cui i carichi di lavoro vengono eseguiti in modo più efficiente quando hanno pianificazioni della manutenzione separate.