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.
Compute Engine offre diversi modi per creare una moltitudine di istanze VM che sono connesse alla stessa rete, ma non richiedono un'allocazione densa delle risorse. Ad esempio, puoi utilizzare uno dei seguenti metodi, trattati in altre sezioni della documentazione di Compute Engine:
Puoi anche creare uno script che includa i comandi per creare singole istanze e associare policy di posizionamento compatto alle istanze per ridurre la latenza.
Con H4D (anteprima), 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 fornisce le seguenti funzionalità aggiuntive per il deployment e la gestione di questi ambienti su larga scala:
- Posizionamento delle istanze VM in base alla topologia
- Sistemi di prenotazione avanzati per proteggere e gestire la capacità
- Gruppi di istanze gestite (MIG) avanzati progettati per insiemi di istanze VM di grandi dimensioni e interdipendenti.
- Pianificazione e controlli avanzati della manutenzione che offrono un maggiore controllo su quando e come viene eseguita la manutenzione sulle istanze VM, il che è fondamentale per carichi di lavoro a esecuzione prolungata e sensibili alle interruzioni. Sono incluse funzionalità come la manutenzione attivata dal cliente e la manutenzione raggruppata per blocchi di risorse.
Terminologia dei cluster
Quando lavori con blocchi di capacità, vengono utilizzati i seguenti termini:
Panoramica del processo di creazione del cluster con VM H4D
Per creare cluster HPC su blocchi di capacità riservati, devi completare i seguenti passaggi:
- Scegliere un'opzione di consumo e ottenere la capacità
- Scegliere un'opzione di deployment e un orchestratore
- Scegli l'immagine del sistema operativo o del cluster
- Crea il tuo cluster
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 con 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à | Avvio flessibile (anteprima) |
---|---|---|
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 |
Durata | Qualsiasi ora | Fino a 7 giorni |
Prerilasciabile | No | No |
Quota | Verifica di avere una quota sufficiente prima di creare istanze. | Viene addebitata la quota preemptible. |
Prezzi |
|
|
Allocazione delle risorse | Dense | Dense |
Modello di provisioning | Con prenotazione | Avvio flessibile (anteprima) |
Metodo di creazione | Per creare cluster HPC e VM, devi svolgere le seguenti operazioni:
|
Per creare le VM, seleziona una delle seguenti opzioni:
Quando la capacità richiesta diventa disponibile, Compute Engine esegue il provisioning. |
Scegliere un'opzione di deployment
A seconda del livello di controllo necessario per il deployment del cluster, scegli tra un deployment altamente gestito o meno gestito che ti offre un maggiore controllo sull'infrastruttura. Alcune delle opzioni di deployment disponibili includono l'installazione e la configurazione di un orchestratore per una gestione avanzata del cluster HPC.
- Altamente gestito
Se vuoi che Google esegua il deployment e la configurazione della tua infrastruttura, utilizza Cluster Toolkit o Google Kubernetes Engine (GKE).
Cluster Toolkit: uno strumento open source offerto da Google che semplifica la configurazione e il deployment per i cluster che utilizzano Slurm o GKE. Utilizzi progetti base predefiniti per creare una cartella di deployment basata sul progetto base. Puoi modificare i blueprint o la cartella di deployment per personalizzare i deployment e lo stack software. Quindi, utilizzi Terraform o Packer per eseguire i comandi generati da Cluster Toolkit per eseguire il deployment del cluster.
Per un tutorial su questo metodo di deployment, vedi Crea un cluster HPC Slurm abilitato a RDMA.
GKE: un servizio Kubernetes gestito e una piattaforma di orchestrazione dei container open source. GKE offre funzionalità come lo scalabilità automatica e l'alta affidabilità. Queste funzionalità rendono GKE una soluzione ideale per il deployment e la gestione dei carichi di lavoro HPC, inclusa la sua capacità di orchestrare applicazioni containerizzate, il supporto di hardware specializzato e la compatibilità con l'ecosistema Google Cloud. Puoi eseguire il deployment dei cluster GKE utilizzando GKE direttamente o utilizzando Cluster Toolkit. Puoi scegliere tra Google Kubernetes Engine (GKE) Standard o Autopilot.
Per ulteriori informazioni su questo metodo di deployment, consulta Eseguire workload HPC con H4D.
- Meno gestito, più controllo
Per un controllo più granulare dei cluster e del software installato, crea un cluster Compute Engine utilizzando uno dei seguenti metodi:
Puoi utilizzare questi metodi se vuoi utilizzare un orchestratore diverso da Slurm o GKE. Dopo aver creato le VM, installa manualmente qualsiasi software chiave necessario per il tuo workload HPC sulle VM. Puoi anche utilizzare uno script di avvio per controllare automaticamente l'installazione del software e installarlo se necessario all'avvio della VM.
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:
- Immagine VM HPC: Un'immagine Rocky Linux 8 ottimizzata per i workload HPC ad alto accoppiamento.
- Immagine sistema operativo fornita da Google Cloud: Immagini sistema operativo che supportano H4D. Dovrai configurarle per i tuoi workload HPC.
- Immagini personalizzate: puoi creare e utilizzare le tue immagini personalizzate. Per includere ottimizzazioni specifiche per HPC, ti consigliamo di creare un'immagine personalizzata utilizzando l'immagine VM HPC.
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 tuo carico di lavoro, crea il cluster utilizzando una delle seguenti opzioni:
- Creare un cluster HPC Slurm abilitato a RDMA
- Crea un cluster GKE: Esegui workload di computing ad alte prestazioni (HPC) con H4D
- Crea un cluster con Compute Engine:
Passaggi successivi
- Scopri di più su Cluster Toolkit.
- Scopri di più sulla creazione di un'istanza che utilizza RDMA.