Distribuisci un cluster server Bare Metal HPC alimentato da una GPU NVIDIA Tensor Core

L'implementazione di modelli di intelligenza artificiale (AI), machine learning (ML) o deep learning (DL), come BERT-Large per la modellazione linguistica, spesso trae vantaggio dall'accelerazione GPU per i carichi di lavoro AI.

Oracle Cloud Infrastructure (OCI) consente l'accesso diretto a un cluster di server bare metal. Il cluster GPU bare metal offre il miglior rapporto prezzo/prestazioni del settore per la distribuzione di AI, ML o DL. Puoi ospitare oltre 500 cluster GPU e ridimensionare facilmente, su richiesta.

Architettura

Questa architettura dimostra la relazione tra i vari componenti di un sistema tipico con il cluster GPU Bare Metal HPC alla base. Può essere applicato a molte applicazioni AI, ML o DL, come BERT-Large, GPT2/3, Jasper, MaskRCNN e GNMT.

BERT è un modello di deep learning pre-addestrato che è popolare nelle attività NLP (Natural Language Processing). Può essere ottimizzato per applicazioni o domini specifici. La variante più grande, BERT-large, contiene 340M parametri. I tempi di addestramento e inferenza sono enormi senza cluster distribuiti su larga scala su centinaia di GPU identiche. I cluster GPU richiedono un throughput elevato di I/O e un file system cluster a bassa latenza. Quanto, quanto velocemente e quanto poco costoso è possibile elaborare i dati è particolarmente importante per le applicazioni di inferenza AI in tempo reale.

Oracle Cloud Infrastructure (OCI) utilizza la rete di cluster a bassa latenza di Oracle, basata su Remote Direct Memory Access (RDMA), in esecuzione su converged ethernet (RoCE) con latenza inferiore a 2 μs. RDMA consente connessioni a bassa latenza tra i nodi e l'accesso alla memoria GPU senza coinvolgere la CPU. OCI HPC consente al cliente di raggruppare fino a 64 nodi Bare Metal, ciascuno con 8 GPU NVIDIA A100, fino a 512 GPU.

OCI fornisce più soluzioni di storage a elevate prestazioni e bassa latenza per i carichi di lavoro HPC, come l'SSD NVMe locale, la rete e i file system paralleli. Il server Bare Metal OCI viene fornito con lo storage locale SSD NVMe. Può essere utilizzato per creare un file system NFS o Parallel File System (BeeOND, Weka) temporaneo. Utilizzando la funzione Multi-attach del volume a blocchi, puoi utilizzare un singolo volume per memorizzare l'intero data set di formazione e collegarlo a più istanze GPU. In alternativa, puoi utilizzare Intel Ice lake BM o VM e lo storage a blocchi a livello di prestazioni bilanciato per creare file server con throughput più elevato e costi più bassi, con NFS-HA, FSS o file system parallelo (Weka.io, Spectrum Scale, BeeGFS, BeeOND). I risultati della formazione vengono salvati in Oracle Cloud Infrastructure Object Storage per lo storage a lungo termine.

Il seguente diagramma illustra questa architettura di riferimento.

Descrizione di architecture-hpc-bm-gpu.png
Descrizione dell'immagine architecture-hpc-bm-gpu.png

architettura-hpc-bm-gpu-oracle.zip

L'architettura presenta i seguenti componenti:

  • Area

    Un'area geografica Oracle Cloud Infrastructure è un'area geografica localizzata che contiene uno o più data center, denominati domini di disponibilità. Le regioni sono indipendenti da altre regioni e grandi distanze possono separarle (tra paesi o addirittura continenti).

  • Cloud Guard

    Puoi utilizzare Oracle Cloud Guard per monitorare e gestire la sicurezza delle tue risorse in Oracle Cloud Infrastructure. Cloud Guard utilizza ricette del rilevatore che è possibile definire per esaminare le risorse per individuare eventuali punti deboli della sicurezza e per monitorare operatori e utenti per determinate attività rischiose. Quando viene rilevata una configurazione errata o un'attività non sicura, Cloud Guard consiglia azioni correttive e aiuta a eseguire tali azioni, in base alle ricette dei rispondenti che è possibile definire.

  • Domini di disponibilità

    I domini di disponibilità sono data center standalone e indipendenti all'interno di un'area geografica. Le risorse fisiche in ciascun dominio di disponibilità sono isolate dalle risorse negli altri domini di disponibilità, il che fornisce tolleranza agli errori. I domini di disponibilità non condividono l'infrastruttura, ad esempio l'alimentazione o il raffreddamento, o la rete interna del dominio di disponibilità. Pertanto, un errore in un dominio di disponibilità non dovrebbe influire sugli altri domini di disponibilità nell'area.

  • Domini di errore

    Un dominio di errore consiste in un raggruppamento di hardware e infrastruttura all'interno di un dominio di disponibilità. Ogni dominio di disponibilità dispone di tre domini di errore con alimentazione e hardware indipendenti. Quando distribuisci le risorse su più domini di errore, le tue applicazioni possono tollerare errori fisici del server, manutenzione del sistema e errori di alimentazione all'interno di un dominio di errore.

  • Compartimento

    I compartimenti sono partizioni logiche tra più aree all'interno di una tenancy Oracle Cloud Infrastructure. Usare i compartimenti per organizzare le risorse in Oracle Cloud, controllare l'accesso alle risorse e impostare le quote d'uso. Per controllare l'accesso alle risorse in un determinato compartimento, definire criteri che specificano chi può accedere alle risorse e quali azioni possono eseguire.

  • Rete cloud virtuale (VCN) e subnet

    Una VCN è una rete personalizzabile e definita dal software configurata in un'area Oracle Cloud Infrastructure. Come le tradizionali reti di data center, le reti VCN consentono di controllare l'ambiente di rete. Una VCN può avere più blocchi CIDR non sovrapposti che è possibile modificare dopo aver creato la VCN. Puoi segmentare una VCN in subnet, che possono essere definite in un'area o in un dominio di disponibilità. Ogni subnet è costituita da un intervallo contiguo di indirizzi che non si sovrappongono alle altre subnet nella VCN. È possibile modificare le dimensioni di una subnet dopo la creazione. Una subnet può essere pubblica o privata.

  • VPN da sito a sito

    La VPN da sito a sito fornisce la connettività IPSec VPN tra la rete on premise e le reti VCN in Oracle Cloud Infrastructure. La suite di protocolli IPSec cifra il traffico IP prima del trasferimento dei pacchetti dall'origine alla destinazione e decifra il traffico all'arrivo.

  • FastConnect

    Oracle Cloud Infrastructure FastConnect consente di creare facilmente una connessione dedicata e privata tra il data center e Oracle Cloud Infrastructure. FastConnect offre opzioni per una maggiore larghezza di banda e un'esperienza di rete più affidabile se confrontata con le connessioni basate su Internet.

  • Gateway di instradamento dinamico (DRG)

    Il gateway DRG è un router virtuale che fornisce un percorso per il traffico di rete privato tra VCN nella stessa area, tra una VCN e una rete esterna all'area, ad esempio una VCN in un'altra area Oracle Cloud Infrastructure, una rete on premise o una rete in un altro provider cloud.

  • Gateway NAT (Network Address Translation)

    Un gateway NAT consente alle risorse private in una VCN di accedere agli host su Internet, senza esporre tali risorse alle connessioni Internet in entrata.

  • Gateway Internet

    Il gateway Internet consente il traffico tra le subnet pubbliche in una VCN e la rete Internet pubblica.

  • Gateway del servizio

    Il gateway di servizi fornisce l'accesso da una VCN ad altri servizi, come Oracle Cloud Infrastructure Object Storage. Il traffico dalla VCN al servizio Oracle viaggia sul fabric di rete Oracle e non attraversa Internet.

  • Lista di sicurezza

    Per ogni subnet, puoi creare regole di sicurezza che specificano l'origine, la destinazione e il tipo di traffico che devono essere consentiti all'interno e all'esterno della subnet.

  • Tabella di instradamento

    Le tabelle di instradamento virtuali contengono regole per instradare il traffico dalle subnet alle destinazioni esterne a una VCN, in genere attraverso i gateway.

  • Host Bastion

    L'host bastion è un'istanza di computazione che funge da punto di accesso sicuro e controllato alla topologia dall'esterno del cloud. Il provisioning dell'host bastion viene in genere eseguito in una zona demilitarizzata (DMZ). Consente di proteggere le risorse sensibili posizionandole in reti private a cui non è possibile accedere direttamente dall'esterno del cloud. La topologia dispone di un singolo punto di accesso noto che è possibile monitorare e controllare regolarmente. Quindi, puoi evitare di esporre i componenti più sensibili della topologia senza comprometterne l'accesso.

  • Nodo bastion (Nodo intestazione)

    Il nodo bastion (nodo principale) utilizza un portale basato sul Web per connettersi al nodo principale e pianificare i job HPC. La richiesta di job passa da Oracle Cloud Infrastructure FastConnect o IPSec VPN al nodo principale. Il nodo principale invia inoltre il data set del cliente allo storage dei file e può eseguire alcune operazioni di pre-elaborazione sui dati. Il nodo principale può eseguire il provisioning dei cluster di nodi HPC ed eliminare i cluster HPC al completamento del job.

    Il nodo principale contiene il modello BERT, esegue lo scheduler e può fungere da bastion host per l'accesso al cluster. Ha l'interfaccia MPI (Message Passing Interface) e scala automaticamente i nodi Bare Metal tramite le API REST. Il cluster HPC esegue il provisioning dei nodi Bare Metal su richiesta. L'addestramento e l'inferenza del modello utilizzano lo storage locale SSD 6.4TB NVMe 4 x collegato al nodo Bare Metal. Se si utilizzano le nostre soluzioni per avviare l'infrastruttura, l'architettura distribuisce il nodo principale e un nfs-share viene installato per impostazione predefinita nello storage SSD NVMe in /mnt.

  • Nodo cluster HPC

    Il nodo principale esegue il provisioning e termina questi nodi di calcolo, che sono cluster abilitati per RDMA. Elaborano i dati memorizzati nella memorizzazione dei file e restituiscono i risultati alla memorizzazione dei file.

  • Server NFS

    Il nodo principale promuove uno dei nodi HPC come server NFS.

  • Pool di istanze

    Un pool di istanze è un gruppo di istanze all'interno di un'area creata dalla stessa configurazione di istanza e gestita come gruppo.

    I pool di istanze consentono di creare e gestire più istanze di computazione all'interno della stessa area di un gruppo. Inoltre, consentono l'integrazione con altri servizi, come il servizio Oracle Cloud Infrastructure Load Balancing e il servizio Oracle Cloud Infrastructure Identity and Access Management.

  • Sistema DB Bare Metal

    Un sistema DB Bare Metal (BM) è un singolo server Bare Metal su cui è in esecuzione Oracle Linux 7, con storage NVMe collegato localmente. Utilizza una forma GPU Bare Metal per l'analitica accelerata dall'hardware e altri calcoli.

    Quando avvii un sistema DB Bare Metal, selezioni la forma e una singola edizione di Oracle Database che si applica a tutti i database su quel sistema DB. Ogni sistema DB può avere più home del database, che possono essere versioni diverse. Ogni home del database può avere un solo database, che è la stessa versione della home del database.

    La forma determina le risorse allocate al sistema DB. Le opzioni, come il mirroring a 2 o 3 vie e lo spazio allocato per i file di dati, influiscono sulla quantità di storage utilizzabile nel sistema.

  • Storage degli oggetti

    Lo storage degli oggetti offre un accesso rapido a grandi quantità di dati strutturati e non strutturati di qualsiasi tipo di contenuto, inclusi backup del database, dati analitici e contenuti avanzati come immagini e video. Puoi memorizzare e quindi recuperare i dati direttamente da Internet o dall'interno della piattaforma cloud. Puoi ridimensionare lo storage senza alcun deterioramento delle prestazioni o dell'affidabilità del servizio. Utilizza lo storage standard per lo storage "caldo" a cui è necessario accedere rapidamente, immediatamente e frequentemente. Utilizza lo storage di archivio per lo storage "freddo" che conservi per lunghi periodi di tempo e a cui accedi raramente o raramente.

Suggerimenti

Utilizzare i seguenti suggerimenti come punto di partenza. Le vostre esigenze potrebbero differire dall'architettura descritta qui.
  • VCN

    Quando crei una VCN, determina il numero di blocchi CIDR necessari e la dimensione di ciascun blocco in base al numero di risorse che intendi collegare alle subnet nella VCN. Utilizza blocchi CIDR all'interno dello spazio di indirizzi IP privati standard.

    Selezionare i blocchi CIDR che non si sovrappongono ad altre reti (in Oracle Cloud Infrastructure, nel data center on premise o in un altro provider cloud) a cui si intende impostare connessioni private.

    Dopo aver creato una VCN, puoi modificare, aggiungere e rimuovere i relativi blocchi CIDR.

    Quando progetti le subnet, considera il flusso di traffico e i requisiti di sicurezza. Collega tutte le risorse all'interno di un livello o ruolo specifico alla stessa subnet, che può fungere da limite di sicurezza.

    Utilizzare le subnet regionali.

  • Sicurezza

    Utilizza Oracle Cloud Guard per monitorare e mantenere la sicurezza delle tue risorse in Oracle Cloud Infrastructure in modo proattivo. Cloud Guard utilizza ricette del rilevatore che è possibile definire per esaminare le risorse alla ricerca di punti deboli nella sicurezza e per monitorare operatori e utenti per attività rischiose. Quando viene rilevata qualsiasi attività di configurazione errata o non sicura, Cloud Guard consiglia azioni correttive e aiuta a eseguire tali azioni, in base alle ricette del rispondente che è possibile definire.

    Per le risorse che richiedono una maggiore sicurezza, Oracle consiglia di utilizzare le zone di sicurezza. Una zona di sicurezza è un compartimento associato a una ricetta definita da Oracle dei criteri di sicurezza che si basano sulle best practice. Ad esempio, le risorse in una zona di sicurezza non devono essere accessibili dalla rete Internet pubblica e devono essere cifrate utilizzando chiavi gestite dal cliente. Quando crei e aggiorni le risorse in una zona di sicurezza, Oracle Cloud Infrastructure convalida le operazioni in base ai criteri nella ricetta della zona di sicurezza e nega le operazioni che violano uno qualsiasi dei criteri.

  • Cloud Guard

    Duplica e personalizza le ricette predefinite fornite da Oracle per creare ricette personalizzate del rilevatore e del rispondente. Queste ricette consentono di specificare il tipo di violazione della sicurezza che genera un'avvertenza e le azioni consentite per l'esecuzione. Ad esempio, potresti voler rilevare i bucket di storage degli oggetti con visibilità impostata su Pubblico.

    Applica Cloud Guard a livello di tenancy per coprire l'ambito più ampio e ridurre l'onere amministrativo legato alla gestione di più configurazioni.

    È inoltre possibile utilizzare la funzione Lista gestita per applicare determinate configurazioni ai rilevatori.

  • Sicurezza delle zone

    Per le risorse che richiedono una maggiore sicurezza, Oracle consiglia di utilizzare le zone di sicurezza. Una zona di sicurezza è un compartimento associato a una ricetta definita da Oracle dei criteri di sicurezza che si basano sulle best practice. Ad esempio, le risorse in una zona di sicurezza non devono essere accessibili dalla rete Internet pubblica e devono essere cifrate utilizzando chiavi gestite dal cliente. Quando crei e aggiorni le risorse in una zona di sicurezza, Oracle Cloud Infrastructure convalida le operazioni in base ai criteri nella ricetta della zona di sicurezza e nega le operazioni che violano uno qualsiasi dei criteri.

  • Gruppi di sicurezza di rete (NSG)

    Puoi utilizzare i gruppi NSG per definire un set di regole in entrata e in uscita che si applicano a VNIC specifiche. Si consiglia di utilizzare i gruppi NSG anziché gli elenchi di sicurezza, poiché i gruppi NSG consentono di separare l'architettura subnet della VCN dai requisiti di sicurezza dell'applicazione.

  • Nodi HPC

    Distribuisci le forme Bare Metal HPC per ottenere prestazioni complete.

    Utilizza le forme BM.HPC4.8 con 8 GPU Tensor Core A100 con 40 GB di memoria, 2 AMD a 32 memorie centrali a 2,9 GHz, 2048 GB DDR4, 8 reti da 200 Gbps, 4 storage SSD NVMe locale da 6,4 TB fino a 1 blocco PB per nodo.

    Cluster fino a 64 nodi Bare Metal per distribuire 512 GPU e 4096 CPU.

Considerazioni

Considerare i seguenti punti durante la distribuzione di questa architettura di riferimento.

  • Prestazioni

    A seconda delle dimensioni del carico di lavoro, determinare il numero di memorie centrali su cui si desidera eseguire BERT. Questa decisione garantisce che la simulazione sia completata in modo tempestivo.

    Per ottenere le prestazioni migliori, scegli la forma di computazione corretta con la larghezza di banda appropriata.

  • Disponibilità

    Prendi in considerazione l'utilizzo di un'opzione ad alta disponibilità, in base ai requisiti di distribuzione e all'area geografica. Le opzioni includono l'uso di più domini di disponibilità in un'area e nei domini di errore.

    • Monitoraggio e avvisi

      Impostare il monitoraggio e gli avvisi sull'uso della CPU e della memoria per i nodi, in modo da poter eseguire lo scale up o lo scale down della forma in base alle esigenze.

    • Costo

      Un'istanza GPU Bare Metal fornisce la potenza CPU necessaria a un costo maggiore. Valuta i tuoi requisiti per scegliere la forma di computazione appropriata.

      È possibile eliminare il cluster quando non sono in esecuzione job.

  • File system cluster

    Esistono più scenari:

    1. Storage SSD NVMe locale fornito con la forma HPC.
    2. I volumi a blocchi multi-attach offrono throughput di I/O fino a 2.680 MB/s o IOPS da 700 KB.
    3. Puoi anche installare il tuo file system parallelo sullo storage SSD NVMe o sullo storage a blocchi, a seconda dei requisiti di prestazioni. OCI fornisce soluzioni completamente nuove e permanenti basate su NFS (NFS-HA, FSS) o file system parallelo (weka.io, Spectrum Scale, BeeGFS, BeeOND, Lustre, Gluster, Quobyte), vedere Esplora altro. Rivolgiti al team di storage HPC per progettare le soluzioni più ottimali per le tue esigenze.

Riconoscimenti

  • Autore: Wei Han