File system paralleli per carichi di lavoro HPC

Last reviewed 2025-05-19 UTC

Questo documento introduce 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, più client utilizzano percorsi I/O paralleli per accedere ai dati condivisi archiviati su più nodi di archiviazione in rete.

Le informazioni contenute in questo documento sono destinate ad architetti e amministratori che progettano, eseguono il provisioning e gestiscono lo spazio di archiviazione per i carichi di lavoro HPC ad alta intensità di dati. Il documento presuppone che tu abbia 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 problemi di calcolo di grandi dimensioni aggregando più risorse di calcolo. L'HPC promuove la ricerca e l'innovazione in settori come sanità, scienze biologiche, media, intrattenimento, servizi finanziari ed energia. Ricercatori, scienziati e analisti utilizzano i sistemi HPC per eseguire esperimenti, simulazioni ed 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 con latenze sempre più basse. L'archiviazione e la gestione dei dati ad alte prestazioni sono elementi fondamentali dell'infrastruttura HPC.

Opzioni di archiviazione per i workload HPC in Google Cloud

La configurazione e il funzionamento dell'infrastruttura HPC on-premise sono costosi e richiedono una manutenzione continua. Inoltre, l'infrastruttura on-premise in genere non può essere scalata rapidamente per adattarsi alle variazioni della domanda. Pianificare, acquistare, eseguire il deployment e dismettere l'hardware on-premise richiede molto tempo, con conseguente ritardo nell'aggiunta di risorse HPC o capacità sottoutilizzate. Nel cloud, puoi eseguire il provisioning in modo efficiente dell'infrastruttura HPC che utilizza la tecnologia più recente e puoi scalare la capacità on demand.

Google Cloud e i nostri partner tecnologici offrono opzioni di archiviazione economiche, flessibili e scalabili per il deployment dell'infrastruttura HPC nel cloud e per l'integrazione dell'infrastruttura HPC on-premise. Scienziati, ricercatori e analisti possono accedere rapidamente a ulteriore 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 seguenti servizi e prodotti di archiviazione, a seconda dei requisiti del tuo carico di lavoro:

Tipo di workload Servizi e prodotti di archiviazione consigliati
Carichi di lavoro che richiedono l'accesso a bassa latenza ai dati, ma non richiedono I/O estremi a set di dati condivisi e che hanno una condivisione limitata dei dati tra i client. Utilizza 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 strettamente accoppiate che utilizzano la Message-Passing Interface (MPI) per una comunicazione interprocess affidabile. Utilizza un file system parallelo. Scegli una delle seguenti opzioni:
Per ulteriori informazioni sui requisiti dei workload 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. I file system paralleli sono ideali per carichi di lavoro HPC strettamente accoppiati, come carichi di lavoro di intelligenza artificiale (AI) e analisi che utilizzano applicazioni SAS. Valuta la possibilità di utilizzare un file system parallelo come Managed Lustre per i carichi di lavoro HPC sensibili alla latenza che presentano uno dei seguenti requisiti:

  • Elaborazione dei dati strettamente accoppiata: i carichi di lavoro HPC come la modellazione meteorologica e l'esplorazione sismica devono elaborare i dati in modo ripetitivo utilizzando molti job interdipendenti che vengono eseguiti contemporaneamente su più server. Questi processi in genere utilizzano MPI per scambiare dati a intervalli regolari e utilizzano il checkpointing per ripristinare rapidamente i dati in caso di errori. I file system paralleli consentono a client interdipendenti di archiviare e accedere a grandi volumi di dati condivisi contemporaneamente su una rete a bassa latenza.
  • Supporto dell'API POSIX I/O e della semantica: i file system paralleli come Managed Lustre sono ideali per i workload che richiedono sia l'API POSIX sia la semantica. L'API di un file system e la relativa semantica sono funzionalità indipendenti. Ad esempio, NFS supporta l'API POSIX, che consente alle applicazioni di leggere e scrivere dati utilizzando funzioni come open(), read() e write(). Tuttavia, il modo in cui NFS coordina l'accesso ai dati tra diversi client non è lo stesso della semantica POSIX per coordinare l'accesso ai dati tra thread diversi su una macchina. Ad esempio, NFS non supporta la coerenza della cache POSIX read-after-write tra i client; si basa su una coerenza debole in NFSv3 e close-to-open consistency in NFSv4.
  • Petabyte di capacità: i file system paralleli possono essere scalati a più petabyte di capacità in un unico spazio dei nomi del file system. NetApp Volumes supporta fino a 1 PB, mentre Filestore regionale e zonale supportano fino a 100 TiB per file system. Cloud Storage offre una capacità affidabile ed economica che si adatta automaticamente, ma potrebbe non soddisfare la semantica di condivisione dei dati e i requisiti di 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 molto grandi o a milioni di file di piccole dimensioni, i file system paralleli possono superare NFS e l'archiviazione di oggetti. La latenza inferiore al millisecondo fornita dai file system paralleli è notevolmente inferiore a quella dell'archiviazione di oggetti, il che può influire sulle IOPS massime. Inoltre, la larghezza di banda massima supportata dai file system paralleli può essere ordini di grandezza superiore rispetto ai sistemi basati su NFS, che possono saturare una scheda di interfaccia di rete di una VM.
  • Scalabilità estrema dei client: l'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 e possono fornire un'alta velocità effettiva indipendentemente dal numero di client.

Esempi di applicazioni HPC strettamente collegate

Questa sezione descrive esempi di applicazioni HPC strettamente accoppiate che richiedono lo spazio di archiviazione a bassa latenza e ad alto throughput fornito dai file system paralleli.

Modellazione molecolare basata sull'AI

La ricerca farmaceutica è un processo costoso e ad alta intensità di dati. Le moderne organizzazioni di ricerca farmaceutica si affidano all'AI per ridurre i costi di ricerca e sviluppo, per scalare le operazioni in modo efficiente e per accelerare la ricerca scientifica. Ad esempio, i ricercatori utilizzano applicazioni basate sull'AI 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 forniscono gli IOPS e il throughput di archiviazione necessari per massimizzare le prestazioni delle applicazioni di AI.

Analisi del rischio di credito utilizzando le applicazioni SAS

Gli istituti di servizi finanziari come gli istituti di credito ipotecario e le banche di investimento devono analizzare e monitorare costantemente l'affidabilità creditizia dei propri clienti e dei propri portafogli di investimento. Ad esempio, i grandi istituti di credito ipotecario raccolgono ogni giorno dati relativi al rischio su migliaia di potenziali clienti. I team di analisti del credito utilizzano applicazioni di analisi per esaminare in collaborazione diverse parti dei dati per ogni cliente, come reddito, storia creditizia e modelli di spesa. Le informazioni ottenute da questa analisi aiutano gli analisti del credito a formulare raccomandazioni accurate e tempestive sui prestiti.

Per accelerare e scalare l'analisi di 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 Managed Lustre supportano i requisiti di archiviazione a bassa latenza e ad alta velocità effettiva delle applicazioni SAS multithread.

Previsioni meteo

Per prevedere i modelli meteorologici in una determinata regione geografica, i meteorologi dividono la regione in diverse celle e distribuiscono dispositivi di monitoraggio come radar a terra e palloni aerostatici in ogni cella. Questi dispositivi osservano e misurano le condizioni atmosferiche a intervalli regolari. I dispositivi trasmettono dati in streaming continuo a un'applicazione di previsione meteo 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 meteo misurati. Un job separato elabora i dati di ogni cella della regione. Man mano che l'applicazione riceve nuove misurazioni, ogni job esegue l'iterazione attraverso gli ultimi dati per la cella assegnata e scambia l'output con i job per le altre celle della regione. Per prevedere in modo affidabile i modelli meteorologici, l'applicazione deve archiviare e condividere terabyte di dati generati e accessibili da migliaia di job eseguiti in parallelo.

CFD per la progettazione di aeromobili

La fluidodinamica computazionale (CFD) prevede l'utilizzo di modelli matematici, leggi fisiche e logica computazionale per simulare il comportamento di un gas o di un liquido intorno a un oggetto in movimento. Quando gli ingegneri aeronautici progettano la carlinga di un aereo, uno dei fattori che prendono in considerazione è l'aerodinamica. La CFD consente ai progettisti di simulare rapidamente l'effetto delle modifiche di progettazione sull'aerodinamica prima di investire tempo e denaro nella creazione di prototipi costosi. Dopo aver analizzato i risultati di ogni esecuzione della simulazione, i progettisti ottimizzano attributi come il volume e la forma dei singoli componenti della carlinga dell'aereo e simulano nuovamente l'aerodinamica. La CFD consente ai progettisti di aerei di simulare in modo collaborativo l'effetto di centinaia di modifiche di progettazione in modo rapido.

Per completare le simulazioni di progettazione in modo efficiente, le applicazioni CFD richiedono l'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 delle opzioni del file system parallelo

Questa sezione fornisce una panoramica generale delle opzioni disponibili in Google Cloud per i file system paralleli.

Google Cloud Managed Lustre

Managed Lustre è un servizio gestito da Google che fornisce spazio di archiviazione a velocità effettiva elevata e bassa latenza per carichi di lavoro HPC strettamente accoppiati. Accelera notevolmente i carichi di lavoro HPC e l'addestramento e l'inferenza dell'AI fornendo un accesso a bassa latenza e ad alta velocità effettiva a enormi set di dati. Per informazioni sull'utilizzo di Managed Lustre per i workload AI e ML, consulta Progettare l'archiviazione per i workload AI e ML in Google Cloud. Managed Lustre distribuisce i dati su più nodi di archiviazione, il che consente l'accesso simultaneo da parte di molte VM. Questo accesso parallelo elimina i colli di bottiglia che si verificano con i file system convenzionali e consente ai carichi di lavoro di importare ed elaborare rapidamente le grandi quantità di dati richieste.

DDN Infinia

Se hai bisogno di un'orchestrazione avanzata dei dati AI, puoi utilizzare DDN Infinia, disponibile in Google Cloud Marketplace. Infinia fornisce una soluzione di data intelligence incentrata sull'AI e ottimizzata per l'inferenza, l'addestramento e l'analisi in tempo reale. Consente l'importazione dati ultra rapida, l'indicizzazione ricca di metadati e l'integrazione perfetta con framework di AI come TensorFlow e PyTorch.

Di seguito sono riportate le funzionalità principali di DDN Infinia:

  • Rendimento elevato: offre una latenza inferiore al millisecondo e un throughput di più TB/s.
  • Scalabilità: supporta la scalabilità da terabyte a exabyte e può ospitare fino a oltre 100.000 GPU e un milione di client simultanei in un'unica implementazione.
  • Multitenancy con qualità del servizio (QoS) prevedibile: offre ambienti sicuri e isolati per più tenant con QoS prevedibile per prestazioni coerenti tra i carichi di lavoro.
  • Accesso unificato ai dati: consente l'integrazione perfetta con applicazioni e flussi di lavoro esistenti tramite il supporto multiprotocollo integrato, incluso per Amazon S3 compatibile, CSI e Cinder.
  • Sicurezza avanzata: funzionalità di crittografia integrate, codifica di cancellazione consapevole del dominio di errore e snapshot che contribuiscono a garantire la protezione e la conformità dei dati.

Sycomp Intelligent Data Storage Platform

La Sycomp Intelligent Data Storage Platform, disponibile in Google Cloud Marketplace, ti consente di eseguire i carichi di lavoro di computing ad alte prestazioni (HPC), AI e 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 l'applicazione on-premise o in Google Cloud. Sycomp Storage può essere implementato rapidamente e supporta l'accesso ai tuoi dati tramite NFS e il client IBM Storage Scale.

IBM Storage Scale è un file system parallelo che consente di gestire in modo sicuro grandi volumi (PB) di dati. Sycomp Storage Scale è un file system parallelo adatto a HPC, AI, ML, big data e altre applicazioni che richiedono un file system condiviso conforme a POSIX. Grazie alla capacità di archiviazione adattabile e al dimensionamento delle prestazioni, Sycomp Storage può supportare workload HPC, AI e ML di piccole e grandi dimensioni.

Dopo aver eseguito il deployment di un cluster in Google Cloud, decidi come vuoi utilizzarlo. Scegli se utilizzare il cluster solo nel cloud o in modalità ibrida connettendoti a cluster IBM Storage Scale on-premise esistenti, a soluzioni NAS NFS di terze parti o ad altre soluzioni di archiviazione basate su oggetti.

Collaboratori

Autore: Kumar Dhanagopal | Sviluppatore di soluzioni cross-product

Altri collaboratori: