Panoramica dei cluster HPC con funzionalità di gestione avanzate

Per creare l'infrastruttura per applicazioni strettamente accoppiate che scalano su più nodi, puoi creare un cluster di istanze di macchine virtuali (VM). Questa guida fornisce una panoramica di alto livello delle considerazioni e dei passaggi chiave per configurare un cluster di istanze di macchine virtuali (VM) per i carichi di lavoro di computing ad alte prestazioni (HPC) utilizzando l'allocazione densa delle risorse.

Con H4D, Compute Engine aggiunge il supporto per l'esecuzione di carichi di lavoro HPC di grandi dimensioni trattando un intero cluster di istanze VM come un unico computer. L'utilizzo del posizionamento delle VM in base alla topologia consente di accedere a molte istanze all'interno di un singolo superblock di rete e riduce al minimo la latenza di rete. Puoi anche configurare Cloud RDMA su queste istanze per massimizzare le prestazioni di comunicazione tra i nodi, il che è fondamentale per i carichi di lavoro HPC ad accoppiamento stretto.

Questi cluster di VM HPC vengono creati con H4D riservando blocchi di capacità anziché risorse individuali. L'utilizzo di blocchi di capacità per il cluster consente di migliorare le funzionalità di gestione del cluster.

I cluster HPC con istanze H4D possono essere creati con o senza funzionalità di gestione dei cluster avanzate. Se non hai bisogno di funzionalità avanzate di gestione dei cluster con il tuo cluster HPC H4D o se vuoi creare cluster HPC utilizzando una serie di macchine diversa da H4D, segui queste istruzioni per creare istanze o cluster HPC:

Terminologia dei cluster

Quando lavori con blocchi di capacità, vengono utilizzati i seguenti termini:

Blocchi
Più sottoblocchi si interconnettono con un tessuto non bloccante, fornendo un'interconnessione a larghezza di banda elevata. Qualsiasi CPU all'interno del blocco è raggiungibile in un massimo di due hop di rete. Il sistema espone i metadati di blocchi e sottoblocchi agli orchestrator per consentire il posizionamento ottimale dei job.
Cluster
Più blocchi si interconnettono per formare un cluster scalabile fino a migliaia di CPU per l'esecuzione di workload HPC su larga scala. Ogni cluster è univoco a livello globale. La comunicazione tra blocchi diversi aggiunge un solo hop aggiuntivo, mantenendo prestazioni e prevedibilità elevate, anche su una scala massiccia. I metadati a livello di cluster sono disponibili anche per gli orchestrator per il posizionamento intelligente dei job su larga scala.
Cluster Toolkit
Uno strumento open source offerto da Google che semplifica la configurazione e il deployment per i cluster che utilizzano Slurm o Google Kubernetes Engine. Utilizzi progetti predefiniti per creare una cartella di deployment basata sul progetto. Puoi modificare i progetti o la cartella di deployment per personalizzare i deployment e lo stack software. Quindi, utilizza Terraform o Packer per eseguire i comandi generati da Cluster Toolkit per eseguire il deployment del cluster.
Deployment denso
Una richiesta di risorse che alloca le risorse dell'istanza di computing fisicamente vicine tra loro per ridurre al minimo gli hop di rete e ottimizzare per la latenza più bassa.
Infrastruttura di rete
Un fabric di rete fornisce connettività a bassa latenza e larghezza di banda elevata in tutti i blocchi e i servizi Google Cloud di un cluster. Jupiter è l'architettura di rete dei data center di Google che sfrutta il networking software-defined e gli switch di circuiti ottici per far evolvere la rete e ottimizzarne le prestazioni.
Nodo o host
Una singola macchina server fisica nel data center. Ogni host ha le proprie risorse di calcolo associate: CPU, memoria e interfacce di rete. Il numero e la configurazione di queste risorse di calcolo dipendono dalla famiglia di macchine. Le istanze VM vengono sottoposte a provisioning su un host fisico.
Orchestratore
Un orchestratore automatizza la gestione dei cluster. Con un orchestratore, non devi gestire ogni istanza VM nel cluster. Un orchestratore, come Slurm o Google Kubernetes Engine (GKE), gestisce attività come la gestione delle code dei job, l'allocazione delle risorse, la scalabilità automatica (con GKE) e altre attività di gestione dei cluster quotidiane.
Blocchi secondari
Si tratta di unità di base in cui un gruppo di host si trova fisicamente nello stesso rack. Uno switch Top-of-Rack (ToR) collega questi host, consentendo una comunicazione a un solo hop estremamente efficiente tra due CPU all'interno del sottoblocco. Cloud RDMA facilita questa comunicazione diretta.

Panoramica del processo di creazione del cluster con VM H4D

Per creare cluster HPC su blocchi di capacità riservati, devi completare i seguenti passaggi:

  1. Esaminare i modelli di provisioning disponibili
  2. Scegliere un'opzione di consumo e ottenere la capacità
  3. Scegliere un'opzione di deployment e un orchestratore
  4. Scegli l'immagine del sistema operativo o del cluster
  5. Crea il tuo cluster

Modelli di provisioning per la creazione di VM e cluster

Quando crei istanze VM, puoi utilizzare i modelli di provisioning descritti in Modelli di provisioning delle istanze Compute Engine.

Per creare istanze H4D strettamente accoppiate, devi utilizzare uno dei seguenti modelli di provisioning per ottenere le risorse necessarie per creare istanze di computing:

  • 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 VM 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 al meglio 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 VM in qualsiasi momento per recuperare capacità.

Modello di provisioning con prenotazione

Il modello di provisioning vincolato alla prenotazione collega le istanze VM 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 le risorse prenotate alla prenotazione. Hai accesso esclusivo alla capacità prenotata 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 VM senza costi aggiuntivi. Paghi solo per le risorse non incluse nella prenotazione, come dischi o indirizzi IP.

Puoi prenotare risorse per tutte le VM che vuoi per tutto il tempo che vuoi per una data futura. Dopodiché, puoi utilizzare le risorse prenotate per creare ed eseguire VM fino al termine del periodo di prenotazione. Se prenoti risorse per un anno o più, devi acquistare e collegare un impegno basato sulle risorse.

Per eseguire il provisioning delle risorse utilizzando il modello di provisioning con prenotazione, consulta:

Puoi utilizzare il provisioning con prenotazione con le istanze H4D specificando il modello di provisioning con prenotazione quando crei singole VM, un cluster HPC o un gruppo di VM.

Modello di provisioning con avvio flessibile

Per eseguire workload di breve durata che richiedono risorse allocate in modo denso, puoi richiedere risorse di calcolo per un massimo di sette giorni utilizzando l'inizio flessibile. Ogni volta che le risorse sono disponibili, Compute Engine crea il numero richiesto di VM. Puoi arrestare le VM con avvio flessibile autonome, ma non puoi arrestare le VM con avvio flessibile create da un gruppo di istanze gestite (MIG) tramite richieste di ridimensionamento. Le VM Flex-start esistono finché non le elimini o finché Compute Engine non le elimina al termine della durata di esecuzione.

L'opzione di avvio flessibile è ideale per i carichi di lavoro che possono essere avviati in qualsiasi momento. Il modello di provisioning con avvio flessibile esegue il provisioning delle risorse da un pool di capacità sicuro, in modo che le risorse allocate siano allocate in modo denso per ridurre al minimo la latenza di rete.

Quando aggiungi VM con avvio flessibile a un gruppo di istanze gestite (MIG) utilizzando le richieste di ridimensionamento, il MIG crea tutte le VM 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.

Puoi utilizzare il provisioning con avvio flessibile con le istanze H4D utilizzando qualsiasi modello di deployment disponibile.

Modello di provisioning spot

Per eseguire carichi di lavoro a tolleranza di errore, puoi ottenere immediatamente risorse di calcolo in base alla disponibilità. Ottieni risorse al prezzo più basso possibile. Tuttavia, Compute Engine potrebbe arrestare o eliminare le VM spot create in qualsiasi momento per recuperare capacità. Questo processo è chiamato prerilascio.

Le VM spot sono ideali per i carichi di lavoro in cui le interruzioni sono accettabili, ad esempio:

  • Elaborazione dei dati in modalità batch
  • Computing ad alte prestazioni (HPC)
  • Analisi di dati
  • Integrazione e il deployment continui (CI/CD)
  • Codifica dei contenuti multimediali

Puoi utilizzare le VM spot con qualsiasi tipo di macchina, ad eccezione dei tipi di macchine A4X, X4 e bare metal. L'allocazione densa dipende dalla disponibilità delle risorse. Per contribuire a garantire un'allocazione più vicina, puoi applicare una policy di posizionamento compatto alle VM spot.

Puoi utilizzare le VM spot con le seguenti opzioni di deployment denso:

Scegliere un'opzione di consumo e ottenere la capacità

Le opzioni di consumo determinano come vengono ottenute le risorse per il cluster. Per creare un cluster che utilizzi funzionalità di gestione avanzate, devi richiedere blocchi di capacità per un deployment denso.

La seguente tabella riassume le principali differenze tra le opzioni di consumo per i blocchi di capacità:

Opzione di consumo Prenotazioni future per i blocchi di capacità Prenotazioni future fino a 90 giorni (in modalità calendario) Avvio flessibile Spot
Caratteristiche del workload Workload distribuiti su larga scala e di lunga durata che richiedono risorse densamente allocate Workload di breve durata che richiedono risorse allocate in modo denso Workload di breve durata che richiedono risorse allocate in modo denso Workload a tolleranza di errore
Durata Qualsiasi ora Fino a 90 giorni Fino a 7 giorni In qualsiasi momento, ma soggetto a prelazione
Prerilasciabile No No No
Garanzia di capacità Molto alta Molto alta Best effort Best effort
Quota Verifica di avere una quota sufficiente prima di creare istanze. Nessuna quota viene addebitata Viene addebitata la quota preemptible. Viene addebitata la quota preemptible.
Prezzi
Allocazione delle risorse Dense Dense Dense Standard (policy di posizionamento compatto facoltativa)
Modello di provisioning Con prenotazione Con prenotazione Avvio flessibile Spot
Metodo di creazione

Per creare cluster HPC e VM, devi:

  1. Prenotare la capacità tramite il team dell'account
  2. Alla data e all'ora scelte, puoi utilizzare la capacità prenotata per creare cluster HPC. Consulta Scegliere un'opzione di deployment.

Per creare cluster HPC e VM, devi:

  1. Creare una richiesta di prenotazione futura in modalità calendario
  2. Alla data e all'ora scelte, puoi utilizzare la capacità prenotata per creare cluster HPC. Consulta Scegliere un'opzione di deployment.

Per creare VM, seleziona una delle seguenti opzioni:

Quando la capacità richiesta diventa disponibile, Compute Engine esegue il provisioning.

Puoi creare immediatamente le VM. Consulta la sezione Scegliere un'opzione di deployment.

Scegliere un'opzione di deployment

I workload di computing ad alte prestazioni (HPC) aggregano risorse di calcolo per ottenere prestazioni superiori a quelle di una singola workstation, un singolo server o computer. L'HPC viene utilizzato per risolvere problemi di ricerca accademica, scienze, progettazione, simulazione e business intelligence.

Per i cluster HPC con funzionalità di gestione avanzate, scegli la serie di macchine H4D. Se prevedi di utilizzare una serie di macchine diversa, segui la documentazione riportata in Crea un'istanza VM pronta per l'HPC anziché utilizzare i metodi di deployment elencati in questa pagina.

Alcune delle opzioni di deployment disponibili includono l'installazione e la configurazione di un orchestratore per una gestione avanzata del cluster HPC.

Per l'opzione più appropriata per creare le VM o i cluster per il tuo caso d'uso, scegli una delle seguenti opzioni:

Opzione Caso d'uso
Cluster Toolkit

Vuoi utilizzare un software open source che semplifichi la procedura per il deployment dei cluster Slurm e Google Kubernetes Engine (GKE). Cluster Toolkit è progettato per essere altamente personalizzabile ed estensibile. Per saperne di più, consulta le seguenti risorse:

GKE Vuoi la massima flessibilità nella configurazione del cluster Google Kubernetes Engine in base alle esigenze del tuo workload. Per saperne di più, consulta Esegui workload HPC con H4D.
Utilizzare Compute Engine

Vuoi il controllo completo del livello dell'infrastruttura per poter configurare il tuo orchestratore. Per saperne di più, consulta le seguenti risorse:

Scegli l'immagine del sistema operativo

L'immagine del sistema operativo (OS) che scegli dipende dal servizio che utilizzi per il deployment del cluster.

  • Per i cluster su GKE: utilizza un'immagine del nodo GKE, come Container-Optimized OS. Se utilizzi Cluster Toolkit per deploy del cluster GKE, viene utilizzata un'immagine Container-Optimized OS per impostazione predefinita. Per saperne di più sulle immagini dei nodi, consulta Immagini dei nodi nella documentazione di GKE.

  • Per i cluster su Compute Engine: puoi utilizzare una delle seguenti immagini:

  • Per i cluster Slurm: Cluster Toolkit esegue il deployment del cluster Slurm con un'immagine VM HPC basata su Rocky Linux 8 ottimizzata per i workload HPC ad alto accoppiamento.

Crea il cluster HPC

Dopo aver esaminato la procedura di creazione del cluster e preso le decisioni preliminari per il carico di lavoro, crea il cluster utilizzando una delle opzioni di deployment.

Funzionalità di gestione dei cluster avanzate per il tuo cluster HPC

Quando crei istanze H4D con risorse allocate in modo denso utilizzando i metodi di deployment menzionati in Scegliere un'opzione di deployment, puoi utilizzare funzionalità di gestione avanzata dei cluster HPC con le tue istanze.

Per saperne di più su queste funzionalità, consulta Gestione avanzata dei cluster HPC con istanze H4D.

Passaggi successivi