File system paralleli per carichi di lavoro HPC

Last reviewed 2023-11-16 UTC

Questo documento illustra le opzioni di archiviazione in Google Cloud per i carichi di lavoro di computing ad alte prestazioni (HPC) e spiega quando utilizzare i file system paralleli per i carichi di lavoro HPC. In un file system parallelo, diversi client utilizzano percorsi di I/O paralleli per accedere di dati condivisi archiviati in più nodi di archiviazione di rete.

Le informazioni in questo documento sono rivolte ad architect e amministratori che progettano, eseguono il provisioning e gestiscono l'archiviazione per carichi di lavoro HPC ad alta intensità di dati. Il documento presuppone che tu abbia una conoscenza concettuale dei file system di rete (NFS), file system paralleli, POSIX, e dei requisiti di archiviazione delle applicazioni HPC.

Che cos'è l'HPC?

I sistemi HPC risolvono rapidamente problemi di calcolo di grandi dimensioni aggregando e risorse di calcolo. L'HPC promuove la ricerca e l'innovazione in settori come assistenza sanitaria, scienze biologiche, media, intrattenimento, servizi finanziari ed energia. Ricercatori, scienziati e analisti utilizzano sistemi HPC per eseguire esperimenti, simulazioni e valutare prototipi. I carichi di lavoro HPC come l'elaborazione sismica, il sequenziamento genomico, il rendering multimediale e la modellazione climatica generano e accedono a grandi volumi di dati a velocità sempre maggiori e a latenze sempre inferiori. L'archiviazione e la gestione dei dati ad alte prestazioni sono fondamentali i componenti di base dell'infrastruttura HPC.

Opzioni di archiviazione per i carichi di lavoro HPC in Google Cloud

Configurare e far funzionare l'infrastruttura HPC on-premise è costoso e infrastruttura richiede una manutenzione continua. Inoltre, in genere l'infrastruttura on-premise non può essere scalata rapidamente in base alle variazioni della domanda. La pianificazione, l'approvvigionamento, il deployment e il ritiro dell'hardware on-premise richiede molto tempo, con conseguente ritardo nell'aggiunta di risorse HPC o sottoutilizzata. Nel cloud, puoi eseguire in modo efficiente il provisioning dell'HPC (computing ad alte prestazioni) che usa la tecnologia più recente e potrai scalare la tua capacità on demand.

Google Cloud e i nostri partner tecnologici offrono opzioni di archiviazione convenienti, flessibili e scalabili per il deployment dell'infrastruttura HPC nel cloud e per l'aumento dell'infrastruttura HPC on-premise. Scienziati, ricercatori e analisti possono accedere rapidamente a una maggiore capacità HPC per i loro progetti quando ne hanno bisogno.

Per eseguire il deployment di un carico di lavoro HPC in Google Cloud, puoi scegliere tra i i seguenti servizi e prodotti di archiviazione, a seconda dei requisiti carico di lavoro:

Tipo di carico di lavoro Servizi e prodotti di archiviazione consigliati
Carichi di lavoro che richiedono l'accesso ai dati a bassa latenza, ma non richiedono I/O estreme per i set di dati condivisi e che hanno una condivisione dei dati limitata tra i client. Utilizza lo spazio di archiviazione NFS. Scegli una delle seguenti opzioni:
Carichi di lavoro che generano I/O complessi, interdipendenti e su larga scala, come le applicazioni HPC strettamente collegate che utilizzano la Message-Passing Interface (MPI) per una comunicazione interprocessuale affidabile. Utilizza un file system parallelo. Scegli una delle seguenti opzioni:
Per ulteriori informazioni sui requisiti dei carichi di lavoro che i file system paralleli possono supportare, consulta Quando utilizzare i file system paralleli.

Quando utilizzare i file system paralleli

In un file system parallelo, più client archiviano e accedono ai dati condivisi su più nodi di archiviazione in rete utilizzando percorsi I/O paralleli. File parallelo sono ideali per carichi di lavoro HPC ad alto accoppiamento, come quelli ad alta intensità carichi di lavoro di intelligenza artificiale (AI) e carichi di lavoro di analisi che utilizzano SAS diverse applicazioni. Valuta la possibilità di utilizzare un file system parallelo come Lustre per carichi di lavoro HPC sensibili alla latenza che hanno uno dei seguenti requisiti:

  • Elaborazione dei dati a stretto accoppiamento: carichi di lavoro HPC come il meteo la modellazione e l'esplorazione sismica devono elaborare i dati ripetutamente utilizzando È possibile eseguire molti job interdipendenti eseguiti contemporaneamente su più server. Questi di solito utilizzano la tecnologia MPI per scambiare dati a intervalli regolari. utilizzare checkpoint per un ripristino rapido dagli errori. I file system paralleli consentono ai client interdipendenti di archiviare e accedere contemporaneamente a grandi volumi di dati condivisi su una rete a bassa latenza.
  • Supporto per l'API POSIX I/O e per la semantica: file system paralleli come Lustre, sono ideali per carichi di lavoro che richiedono sia l'API POSIX che la semantica. L'API di un file system e la sua semantica sono indipendenti le funzionalità di machine learning. Ad esempio, NFS supporta l'API POSIX, che è la modalità di le applicazioni leggono e scrivono dati utilizzando funzioni quali open(), read(), e write(). Tuttavia, il modo in cui NFS coordina l'accesso ai dati tra diversi client non è uguale alla semantica POSIX per il coordinamento dell'accesso ai dati tra thread diversi su una macchina. Ad esempio, NFS non supporta la coerenza della cache di lettura dopo scrittura POSIX tra i client; si basa sulla coerenza debole in NFSv3 e sulla coerenza quasi aperta in NFSv4.
  • Petabyte di capacità: i file system paralleli possono essere scalati fino a diversi petabyte di capacità in un unico spazio dei nomi del file system. Supporto di NetApp Volumes e Filestore a livello di zona a 100 TiB per set di dati. Cloud Storage offre prezzi affidabili e a basso costo scalabile automaticamente, ma che potrebbe non soddisfare i requisiti di condivisione di semantica e a bassa latenza dei carichi di lavoro HPC.
  • Bassa latenza e larghezza di banda elevata: per i carichi di lavoro HPC che richiedono accesso ad alta velocità a file di grandi dimensioni o a milioni di file di piccole dimensioni, i file system paralleli possono superare NFS e lo storage oggetti. La latenza offerta dai sistemi di file paralleli (da 0,5 a 10 ms) è notevolmente inferiore rispetto allo spazio di archiviazione oggetti, il che può influire sulle IOPS massime. Inoltre, la larghezza di banda massima supportata dai file system paralleli può essere di magnitudo superiore a quella dei sistemi basati su NFS. Ad esempio, DDN EXAScaler su Google Cloud ha dimostrato una larghezza di banda di lettura superiore a 10 Tbps, oltre 700 Gbps di larghezza di banda in scrittura e 1, 9 milioni di chiamate stat() di file al utilizzando Benchmark IO500.
  • Scalabilità client estrema: mentre lo spazio di archiviazione NFS può supportare migliaia di client, i file system paralleli possono essere scalati per supportare l'accesso simultaneo ai dati condivisi da oltre 10.000 client.

Esempi di applicazioni HPC strettamente accoppiate

Questa sezione descrive esempi di applicazioni HPC strettamente accoppiate che richiedono l'archiviazione a bassa latenza e velocità effettiva elevata, fornita dai file system paralleli.

Modellazione molecolare basata sull'AI

La ricerca farmaceutica è un processo costoso e che richiede molti dati. Farmaco moderno le organizzazioni di ricerca si affidano all'AI per ridurre i costi di sviluppo, scalare le operazioni in modo efficiente e accelerare ricerca. Ad esempio, i ricercatori utilizzano applicazioni basate sull'IA per simulare le interazioni tra le molecole di un farmaco e per prevedere l'effetto delle modifiche ai composti del farmaco. Queste applicazioni vengono eseguite su potenti processori GPU parallelizzati che caricano, organizzano e analizzano una quantità estrema di dati per completare rapidamente le simulazioni. I file system paralleli offrono di IOPS di archiviazione e velocità effettiva necessarie per massimizzare le prestazioni dell'AI diverse applicazioni.

Analisi del rischio di credito mediante applicazioni SAS

Gli istituti di servizi finanziari, come istituti di credito ipotecari e banche di investimento, devono di analizzare e monitorare costantemente l'affidabilità creditizia dei propri clienti e i loro portafogli di investimento. Ad esempio, grandi istituti di credito ipotecari raccolgono dati correlati al rischio su migliaia di potenziali clienti ogni giorno. Squadre di gli analisti del credito utilizzano applicazioni di analisi per esaminare in modo collaborativo parti dei dati per ciascun cliente, come reddito, storia creditizia e spesa pattern. Le informazioni di questa analisi aiutano gli analisti del credito a fornire consigli per i prestiti accurati e tempestivi.

Per accelerare e scalare le analisi per set di dati di grandi dimensioni, gli istituti finanziari utilizzano piattaforme di calcolo distribuito come SAS Grid Manager. File system paralleli come DDN EXAScaler su Google Cloud supportano velocità effettiva elevata e archiviazione a bassa latenza dei requisiti delle applicazioni SAS multi-thread.

Previsioni meteo

Per prevedere i modelli meteorologici in una determinata regione geografica, i meteorologi dividono regione in diverse celle ed eseguire il deployment di dispositivi di monitoraggio come radar e palloni meteorologici in ogni cella. Questi dispositivi osservano e misurano condizioni atmosferiche a intervalli regolari. I dispositivi trasmettono dati in streaming a un'applicazione di previsione meteorologica in esecuzione in un cluster HPC.

L'applicazione di previsione meteo elabora i dati in streaming utilizzando modelli matematici basati su relazioni fisiche note tra i parametri meteorologici misurati. Un job separato elabora i dati di ogni cella regione. Quando l'applicazione riceve nuove misurazioni, ogni job esegue un'iterazione tra i dati più recenti per la cella assegnata e scambia l'output con i job per le altre celle della regione. Per prevedere in modo affidabile le condizioni meteorologiche, l'applicazione deve archiviare e condividere terabyte di dati a cui accedono e generano migliaia di lavori in esecuzione in parallelo.

CFD per la progettazione di aeromobili

La fluidodinamica computazionale (CFD) prevede l'uso di modelli matematici, legge fisiche e logica di calcolo per simulare il comportamento di un gas o un liquido attorno a un oggetto in movimento. Quando gli ingegneri aeronautici progettano il corpo di una aereo, uno dei fattori che considerano è l'aerodinamica. CFD consente per simulare rapidamente l'effetto delle modifiche al design sull'aerodinamica prima di investire tempo e denaro nella creazione di costosi prototipi. Dopo analizzando i risultati di ogni esecuzione della simulazione, i progettisti ottimizzano gli attributi come il volume e la forma dei singoli componenti della fusoliera dell'aereo e simulano nuovamente l'aerodinamica. Il CFD consente ai progettisti di aeromobili di simulare in modo collaborativo e rapido l'effetto di centinaia di queste modifiche di progettazione.

Per completare le simulazioni di progettazione in modo efficiente, le applicazioni CFD richiedono accesso ai dati condivisi in meno di un millisecondo e la possibilità di archiviare grandi volumi di dati a velocità fino a 100 Gbps.

Panoramica di Lustre ed EXAScaler Cloud

Lustre è un file system parallelo open source che fornisce archiviazione ad alta velocità effettiva e bassa latenza per i carichi di lavoro HPC accoppiati in modo stretto. Oltre ai punti di montaggio POSIX standard in Linux, Lustre supporta librerie di dati e I/O come NetCDF, HDF5 e MPI-IO, consentendo l'I/O parallela per un'ampia gamma di domini di applicazione. Poteri di lucentezza molti dei le più grandi implementazioni di HPC a livello globale. Un file system Lustre ha un'architettura scalabile che contiene i seguenti componenti:

  • Un server di gestione (MGS) archivia e gestisce le informazioni di configurazione uno o più file system Lustre e fornisce queste informazioni all'altro componenti.
  • I server di metadati (MDS) gestiscono l'accesso dei client allo spazio dei nomi di un file system Lustre utilizzando i metadati (ad esempio la gerarchia delle directory, i nomi file e le autorizzazioni di accesso).
  • I server di archiviazione oggetti (OSS) gestiscono l'accesso dei client ai file archiviati in un file system Lustre.
  • Il software client Lustre consente ai client di montare il file system Lustre.

In un file system possono esistere più istanze di MDS e OSS. Se necessario, puoi aggiungere nuove istanze MDS e OSS. Per ulteriori informazioni sul file Lustre di sistema e come funziona, consulta le Documentazione Luustre.

EXAScaler Cloud è una versione di Lustre per le aziende offerta da DDN, un partner di Google. EXAScaler Cloud è una soluzione con file condivisi per l'elaborazione dati ad alte prestazioni e per gestire i grandi volumi di dati necessari per supportare AI, HPC e carichi di lavoro di analisi. EXAScaler Cloud è ideale per AI di deep learning e inferenza carichi di lavoro standard in Google Cloud. Puoi eseguirne il deployment in un cloud ibrido per aumentare la capacità dell'HPC on-premise. EXAScaler Cloud può inoltre fungono da repository per l'archiviazione di asset a lungo termine da un ambiente Deployment di EXAScaler.

Panoramica di Sycomp Storage basato su IBM Spectrum Scale

Sycomp Storage Alimentato da IBM Spectrum Scale in Google Cloud Marketplace ti consente di eseguire computing ad alte prestazioni (HPC), intelligenza artificiale (AI), machine learning (ML) e carichi di lavoro di big data in Google Cloud. Con Sycomp Storage puoi accedere contemporaneamente ai dati di migliaia di VM, ridurre i costi gestendo automaticamente i livelli di archiviazione ed eseguire l'applicazione on-premise o in Google Cloud. Sycomp Storage basato su IBM Spectrum Scale è disponibile su Cloud Marketplace, può essere implementato rapidamente e supporta l'accesso ai dati tramite NFS e il client IBM Spectrum Scale.

IBM Spectrum Scale è un file system parallelo che consente di gestire in modo sicuro grandi volumi (PB) di dati. File system parallelo di IBM Spectrum Scale è particolarmente adatta per HPC, AI, ML, big data e altre applicazioni che richiedono File system condiviso compatibile con POSIX. Con una capacità di archiviazione adattabile e la scalabilità delle prestazioni, Sycomp Storage può supportare carichi di lavoro HPC, IA e ML di piccole e grandi dimensioni.

Dopo aver eseguito il deployment di un cluster in Google Cloud, sei tu a decidere in che modo vuoi usarlo. Scegli se utilizzarlo solo nel cloud o in modalità ibrida collegandoti a un cluster IBM Spectrum Scale on-premise esistente.

Passaggi successivi

Collaboratori

Autore: Kumar Dhanagopal | Sviluppatore di soluzioni cross-product

Altri collaboratori: