Questo documento descrive le configurazioni in AI Hypercomputer da prendere in considerazione prima di creare istanze e cluster Compute Engine. Esaminare le configurazioni disponibili contribuisce a garantire prestazioni ottimali per i tuoi carichi di lavoro, nonché a ridurre al minimo i tempi di inattività e i problemi di prestazioni.
Fattori di configurazione per la creazione di istanze di calcolo e cluster
Prima di creare istanze di calcolo e cluster per eseguire i carichi di lavoro, valuta quale configurazione utilizzare:
Se utilizzi il modello di provisioning con prenotazione, devi anche prendere in considerazione 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 delle istanze:
Vincolate 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 accesso esclusivo alle risorse riservate per il periodo di prenotazione.
Inizio flessibile: puoi richiedere risorse scontate per un massimo di sette giorni. Compute Engine tenta di pianificare 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 con sconti profondi. Tuttavia, Compute Engine potrebbe arrestare o eliminare le istanze in qualsiasi momento per recuperare capacità.
Modello di provisioning con prenotazione
Il modello di provisioning con prenotazione collega le istanze di calcolo create alla capacità che hai prenotato 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 riservate alla prenotazione. Hai accesso esclusivo alla capacità riservata fino all'ora di fine della prenotazione.
Google Cloud ti addebita la capacità riservata fino al termine del periodo di prenotazione, indipendentemente dal fatto che tu la utilizzi o meno.
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 vincolato alla prenotazione quando crei istanze di computing o MIG, segui questi passaggi:
Nella console Google Cloud , seleziona Vincolato alla prenotazione nell'elenco Modello di provisioning.
In Google Cloud CLI, includi il flag
--provisioning-model=RESERVATION_BOUNDnel 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 Compute. 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 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 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 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 probabilità 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, procedi nel seguente modo:
Nella console Google Cloud , seleziona Flex-start dall'elenco Modello di provisioning.
In gcloud CLI, includi il flag
--provisioning-model=FLEX_STARTnel 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 flex-start, consulta i seguenti documenti:
Crea cluster GKE:
Modello di provisioning spot
Il modello di provisioning spot consente di creare istanze di calcolo con sconti elevati 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, esegui le seguenti operazioni:
Nella console Google Cloud , seleziona Spot dall'elenco Modello di provisioning.
In gcloud CLI, includi il flag
--provisioning-model=SPOTnel 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 Compute.
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 calcolo utilizzando uno dei seguenti metodi e poi incorporare lo scheduler dei carichi di lavoro in base alle esigenze:
Tipi di deployment dei blocchi di prenotazioni
Se utilizzi il modello di provisioning con prenotazione quando crei istanze o cluster di calcolo A4X Max, A4X, A4, A3 Ultra, A3 Mega e A3 High (8 GPU), le macchine che ricevi vengono implementate automaticamente all'interno di blocchi di host allocati in modo denso. Questo deployment offre i seguenti vantaggi:
Networking non bloccante per una connettività delle istanze a larghezza di banda elevata e bassa latenza costante utilizzando la struttura di 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 preciso e consapevole della topologia quando utilizzi gli orchestratori.
Controllo granulare da parte dell'utente sulla pianificazione della manutenzione per massimizzare la pianificazione dei job e l'uptime e ridurre al minimo i tempi di inattività.
Modalità operativa di 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 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.
Quale capacità 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'orario pianificato 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à tutta la capacità.
Modalità gestita
In modalità gestita, Google Cloud gestisce automaticamente la manutenzione e il processo di ripristino 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 la capacità riservata solo per il ripristino: Compute Engine utilizza la capacità riservata solo 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 ripristino per 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, lo stato e la manutenzione di singole prenotazioni e blocchi di prenotazioni. Puoi anche ricevere notifiche di manutenzione e, facoltativamente, avviare la manutenzione prima dell'orario previsto per queste risorse.
Potenziali limiti di frequenza API: le chiamate all'API Segnala host difettoso potrebbero essere limitate in base alla frequenza per prenotazione.
Modalità Tutta la capacità
In tutte le modalità di capacità, sei responsabile della gestione di una procedura di recupero dell'istanza di calcolo. Devi avviare manualmente la manutenzione dopo errori dell'host o report host difettosi. A differenza della modalità gestita, puoi anche visualizzare e avviare la manutenzione dei sottoblocchi di prenotazione. Queste funzionalità ti offrono un controllo completo e granulare sul processo di manutenzione e ripristino delle tue istanze.
La modalità di capacità totale ha le seguenti funzionalità:
Utilizza la capacità prenotata e non prenotata per il ripristino: puoi utilizzare le risorse prenotate, nonché qualsiasi risorsa disponibile al di fuori della prenotazione, per eseguire la migrazione e riavviare un'istanza in caso di errore dell'host.
Riavvii manuali delle istanze: sei responsabile della procedura 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 sub-blocchi: puoi visualizzare la topologia, lo stato di integrità e manutenzione delle singole prenotazioni, dei blocchi di prenotazioni e dei sub-blocchi di prenotazioni. Puoi anche ricevere notifiche di manutenzione e, facoltativamente, avviare la manutenzione prima dell'ora di manutenzione pianificata per queste risorse.
Nessun limite di frequenza API: non sono previsti limiti di frequenza quando effettui chiamate all'API report faulty host.
Tipi di pianificazione della manutenzione
Se utilizzi il modello di provisioning vincolato alla prenotazione, Cluster Director fornisce 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 pianificare la 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 contribuisce a garantire che, indipendentemente da quando Compute Engine esegue il provisioning di un'istanza di calcolo, 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 inutilizzata.
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 calcolo altamente parallelizzati.
Pianificazione indipendente della manutenzione
Questo tipo di pianificazione della manutenzione indipendente assegna alle istanze pianificazioni della manutenzione diverse. Questa configurazione è ideale se vuoi eseguire l'inferenza o un addestramento su scala limitata in cui i carichi di lavoro vengono eseguiti in modo più efficiente quando hanno programmi di manutenzione separati.