File system paralleli per carichi di lavoro HPC

Last reviewed 2023-11-16 UTC

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

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

Che cos'è l'HPC?

I sistemi HPC risolvono rapidamente i problemi di calcolo di grandi dimensioni aggregando più risorse di calcolo. L'HPC promuove la ricerca e l'innovazione in diversi settori, come sanità, scienze biologiche, media, intrattenimento, servizi finanziari ed energia. Ricercatori, scienziati e analisti utilizzano i sistemi HPC per eseguire esperimenti, eseguire 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 con velocità di dati sempre maggiori e latenze sempre più basse. Lo spazio di archiviazione e la gestione dei dati ad alte prestazioni sono componenti di base fondamentali dell'infrastruttura HPC.

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

La configurazione e l'utilizzo di un'infrastruttura HPC on-premise è costosa e l'infrastruttura richiede una manutenzione continuativa. Inoltre, l'infrastruttura on-premise in genere non può essere scalata rapidamente per adeguarsi ai cambiamenti della domanda. La pianificazione, l'approvvigionamento, il deployment e il dismissione dell'hardware on-premise richiede molto tempo, con un conseguente ritardo nell'aggiunta di risorse HPC o capacità sottoutilizzata. Nel cloud puoi eseguire in modo efficiente il provisioning dell'infrastruttura HPC che utilizza la tecnologia più recente e puoi 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 potenziare l'infrastruttura HPC on-premise. Scienziati, ricercatori e analisti possono accedere rapidamente a ulteriori capacità di 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 seguenti servizi e prodotti di archiviazione, a seconda dei requisiti del tuo carico di lavoro:

Tipo di carico di lavoro Servizi e prodotti di archiviazione consigliati
Carichi di lavoro che richiedono accesso a bassa latenza ai dati, ma che non richiedono I/O estremi per i set di dati condivisi e che hanno una condivisione limitata dei dati tra i client. Usa l'archiviazione NFS. Scegli una delle seguenti opzioni:
Carichi di lavoro che generano I/O complessi, interdipendenti e su larga scala, come le applicazioni HPC ad accoppiamento stretto che utilizzano l'interfaccia MPI (Message-Passing Interface) per una comunicazione affidabile tra i processi. Utilizza un file system parallelo. Scegli una delle seguenti opzioni:
Per ulteriori informazioni sui requisiti dei carichi di lavoro supportati dai file system paralleli, vedi Quando utilizzare i file system paralleli.

Quando utilizzare i file system paralleli

In un file system parallelo, diversi client archiviano e accedono ai dati condivisi in più nodi di archiviazione in rete utilizzando percorsi di I/O paralleli. I file system paralleli sono ideali per carichi di lavoro HPC ad alto accoppiamento come carichi di lavoro di intelligenza artificiale (AI) ad alta intensità di dati e carichi di lavoro di analisi che utilizzano applicazioni SAS. Prendi in considerazione l'utilizzo di un file system parallelo come Lustre per carichi di lavoro HPC sensibili alla latenza che presentano uno dei seguenti requisiti:

  • Elaborazione dati a stretto contatto: i carichi di lavoro HPC, come la modellazione meteorologica e l'esplorazione sismica, devono elaborare i dati in modo ripetitivo utilizzando molti job interdipendenti eseguiti contemporaneamente su più server. Questi processi in genere utilizzano MPI per scambiare dati a intervalli regolari e utilizzano il checkpointing per recuperare rapidamente 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: i file system paralleli come Lustre sono ideali per i carichi di lavoro che richiedono sia l'API POSIX sia la semantica. L'API di un file system e la sua semantica sono funzionalità indipendenti. Ad esempio, NFS supporta l'API POSIX, che consente alle applicazioni di leggere e scrivere dati mediante funzioni come open(), read() e write(). Tuttavia, il modo in cui NFS coordina l'accesso ai dati tra client diversi non è lo stesso della semantica di POSIX per coordinare l'accesso ai dati tra diversi thread su una macchina. Ad esempio, NFS non supporta la coerenza della cache lettura dopo scrittura POSIX tra i client, ma si basa sulla coerenza debole in NFSv3 e sulla coerenza quasi aperta in NFSv4.
  • Capacità di petabyte: i file system paralleli possono essere scalati su più petabyte di capacità in un singolo spazio dei nomi di file system. NetApp Volumes e Filestore di zona supportano fino a 100 TiB per set di dati. Cloud Storage offre una capacità affidabile e a basso costo con scalabilità automatica, ma che potrebbe non soddisfare i requisiti della semantica di condivisione dei dati e di bassa latenza dei carichi di lavoro HPC.
  • Bassa latenza e larghezza di banda elevata: per i carichi di lavoro HPC che richiedono l'accesso ad alta velocità a file molto grandi o a milioni di file di piccole dimensioni, i file system paralleli possono superare le prestazioni dell'archiviazione di oggetti e NFS. La latenza offerta dai file system paralleli (da 0,5 ms a 10 ms) è notevolmente inferiore rispetto all'archiviazione di oggetti, il che può influire sul numero massimo di IOPS. Inoltre, la larghezza di banda massima supportata dai file system paralleli può essere di ordini di grandezza superiori rispetto ai sistemi basati su NFS. Ad esempio, DDN EXAScaler su Google Cloud ha dimostrato una larghezza di banda di lettura superiore a 10 Tbps, una larghezza di banda in scrittura superiore a 700 GBps e 1, 9 milioni di chiamate stat() di file al secondo utilizzando il Benchmark IO500.
  • Scalabilità client estremo: sebbene l'archiviazione NFS possa supportare migliaia di client, i file system paralleli possono scalare per supportare l'accesso simultaneo ai dati condivisi da oltre 10.000 client.

Esempi di applicazioni HPC strettamente collegate

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

modellazione molecolare basata sull'AI

La ricerca farmaceutica è un processo costoso e che richiede molti dati. Le moderne organizzazioni di ricerca sui farmaci si affidano all'AI per ridurre i costi della ricerca e dello sviluppo, per scalare le operazioni in modo efficiente e per accelerare la ricerca scientifica. Ad esempio, i ricercatori utilizzano applicazioni basate sull'IA per simulare le interazioni tra le molecole di un farmaco e prevedere l'effetto dei cambiamenti 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 forniscono le IOPS di archiviazione e la velocità effettiva necessarie per massimizzare le prestazioni delle applicazioni di AI.

Analisi del rischio di credito mediante applicazioni SAS

Gli istituti di servizi finanziari come le agenzie prestiti e le banche di investimento devono analizzare e monitorare costantemente l'affidabilità creditizia dei loro clienti e dei loro portafogli di investimento. Ad esempio, le grandi agenzie di concessione di mutui raccolgono ogni giorno dati relativi al rischio relativi a migliaia di potenziali clienti. Team di analisti del credito utilizzano applicazioni di analisi per esaminare in modo collaborativo parti diverse dei dati per ciascun cliente, ad esempio reddito, storia creditizia e modelli di spesa. Gli approfondimenti di questa analisi aiutano gli analisti del credito a fornire suggerimenti precisi e tempestivi sui prestiti.

Per accelerare e scalare l'analisi per set di dati di grandi dimensioni, gli istituti di servizi finanziari utilizzano piattaforme di grid computing come SAS Grid Manager. I file system paralleli come DDN EXAScaler su Google Cloud supportano i requisiti di archiviazione ad alta velocità effettiva e a bassa latenza delle applicazioni SAS multi-thread.

Previsioni meteo

Per prevedere gli schemi meteorologici in una determinata regione geografica, i meteorologi suddividono la regione in diverse celle e implementano in ogni cella dispositivi di monitoraggio, come radiari terrestri e mongolfiere. Questi dispositivi osservano e misurano le condizioni atmosferiche a intervalli regolari. I dispositivi trasmettono continuamente dati a un'applicazione di previsione meteo in esecuzione in un cluster HPC.

L'applicazione di previsione meteo elabora i flussi di dati utilizzando modelli matematici basati su relazioni fisiche note tra i parametri meteo misurati. Un job separato elabora i dati di ogni cella nella regione. Man mano che l'applicazione riceve nuove misurazioni, ogni job esegue l'iterazione dei 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 generati e a cui accedono migliaia di job in esecuzione in parallelo.

CFD per la progettazione di velivoli

La dinamica dei fluidi computazionali (CFD) prevede l'uso di modelli matematici, leggi fisiche e logica computazionale per simulare il comportamento di un gas o di un liquido attorno a un oggetto in movimento. Quando gli ingegneri di aeromobili progettano la carrozzeria di un aereo, uno dei fattori da prendere in considerazione è l'aerodinamica. Il CFD consente ai designer di simulare rapidamente l'effetto delle modifiche al progetto sull'aerodinamica prima di investire tempo e denaro nella creazione di prototipi costosi. Dopo aver analizzato i risultati di ogni esecuzione di simulazione, i progettisti ottimizzano attributi come il volume e la forma dei singoli componenti del corpo dell'aereo e simulano nuovamente l'aerodinamica. La tecnologia CFD consente ai progettisti di aerei di simulare in modo collaborativo l'effetto di centinaia di questi cambiamenti di progettazione.

Per completare le simulazioni di progettazione in modo efficiente, le applicazioni CFD hanno bisogno di accedere in meno di un millisecondo ai dati condivisi e di poter 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 offre archiviazione ad alta velocità effettiva e bassa latenza per carichi di lavoro HPC ad accoppiamento stretto. Oltre ai punti di montaggio POSIX standard in Linux, Lustre supporta le librerie di dati e I/O come NetCDF, HDF5 e MPI-IO, consentendo l'I/O parallelo per un'ampia gamma di domini di applicazioni. Lustre è alla base di molti dei maggiori deployment 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 di uno o più file system Lustre e fornisce queste informazioni agli altri componenti.
  • I server di metadati (MDS) gestiscono l'accesso client allo spazio dei nomi di un file system Lustre utilizzando i metadati (ad esempio, gerarchia di directory, nomi file e autorizzazioni di accesso).
  • I server di archiviazione di oggetti (OSS) gestiscono l'accesso client ai file archiviati in un file system Luustre.
  • 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 system Lustre e sul suo funzionamento, consulta la documentazione di Lustre.

EXAScaler Cloud è una versione aziendale di Lustre offerta da DDN, un partner di Google. EXAScaler Cloud è una soluzione a file condivisi per l'elaborazione dati ad alte prestazioni e per la gestione di grandi volumi di dati richiesti per supportare carichi di lavoro di AI, HPC e analisi. EXAScaler Cloud è ideale per i carichi di lavoro di deep learning e AI di inferenza in Google Cloud. Puoi eseguirne il deployment in un'architettura cloud ibrida per aumentare la tua capacità HPC on-premise. EXAScaler Cloud può anche fungere da repository per l'archiviazione di asset a lungo termine da un deployment EXAScaler on-premise.

Panoramica di Sycomp Storage Powered by IBM Spectrum Scale

Sycomp Storage Powered by IBM Spectrum Scale in Google Cloud Marketplace ti consente di eseguire carichi di lavoro di computing ad alte prestazioni (HPC), intelligenza artificiale (AI), machine learning (ML) e 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 la tua applicazione on-premise o in Google Cloud. Sycomp Storage Powered by IBM Spectrum Scale è disponibile in 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. Il file system parallelo Spectrum Scale di IBM è adatto per HPC, AI, ML, big data e altre applicazioni che richiedono un file system condiviso conforme a POSIX. Grazie alla capacità di archiviazione adattabile e alla scalabilità delle prestazioni, Sycomp Storage è in grado di supportare carichi di lavoro HPC, AI e ML da piccoli a grandi.

Dopo aver eseguito il deployment di un cluster in Google Cloud, decidi tu come utilizzarlo. Scegli se utilizzarlo solo nel cloud o in modalità ibrida connettendoti a un cluster IBM Spectrum Scale esistente.

Passaggi successivi

Collaboratori

Autore: Kumar Dhanagopal | Cross-Product Solution Developer

Altri collaboratori: