Questo documento presenta 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 l'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), file system paralleli, POSIX, e dei requisiti di archiviazione delle applicazioni HPC.
Che cos'è l'HPC (computing ad alte prestazioni)?
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à di dati sempre maggiori e latenze sempre minori. L'archiviazione e la gestione dei dati ad alte prestazioni sono elementi fondamentali dell'infrastruttura HPC.
Opzioni di archiviazione per i carichi di lavoro HPC in Google Cloud
La configurazione e la gestione dell'infrastruttura HPC (computing ad alte prestazioni) on-premise sono costose e l'infrastruttura richiede 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 di un'infrastruttura HPC (computing ad alte prestazioni) che utilizza la tecnologia più recente e puoi scalare la capacità on demand.
Google Cloud e i nostri partner tecnologici offrono opzioni di archiviazione scalabili, flessibili ed economiche 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 capacità HPC (computing ad alte prestazioni) aggiuntiva 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 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 ai set di dati condivisi e che hanno una condivisione dei dati limitata tra i client. | Utilizza l'archiviazione NFS. Scegli tra le seguenti opzioni: |
| Carichi di lavoro che generano I/O complessi, interdipendenti e su larga scala, come le applicazioni HPC ad alto accoppiamento che utilizzano la Message-Passing Interface (MPI) per una comunicazione interprocesso affidabile. | Utilizza un file system parallelo. Scegli tra le 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. I file system paralleli sono ideali per i carichi di lavoro HPC ad alto accoppiamento, come i carichi di lavoro di intelligenza artificiale (AI) ad alta intensità di dati e i carichi di lavoro di analisi che utilizzano le applicazioni SAS. Valuta la possibilità di utilizzare un file system parallelo come Managed Lustre per i carichi di lavoro HPC sensibili alla latenza che soddisfano uno dei seguenti requisiti:
- Elaborazione dei dati ad alto accoppiamento: 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. In genere, questi processi 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 ai client interdipendenti di archiviare e accedere contemporaneamente a grandi volumi di dati condivisi su una rete a bassa latenza.
- Supporto per l'API I/O POSIX e per la semantica: i file system paralleli
come Managed Lustre sono ideali per i carichi di lavoro che richiedono sia l'API POSIX che
la semantica. L'API di un file system e la relativa semantica sono funzionalità indipendenti. Ad esempio, NFS supporta l'API POSIX, che è il modo in cui le applicazioni leggono e scrivono i dati utilizzando funzioni come
open(),read()ewrite(). Tuttavia, il modo in cui NFS coordina l'accesso ai dati tra client diversi 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 di lettura dopo scrittura POSIX tra i client; si basa sulla coerenza debole in NFSv3 e sulla coerenza close-to-open in NFSv4. - Petabyte di capacità: i file system paralleli possono essere scalati fino a più petabyte di capacità in un singolo spazio dei nomi del file system. NetApp Volumes supporta fino a 1 PB, mentre Filestore Regional e Zonal supportano fino a 100 TiB per file system. Cloud Storage offre capacità affidabile e a basso costo 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 un accesso ad alta velocità a file molto grandi o a milioni di file di piccole dimensioni, i file system paralleli possono superare le prestazioni di NFS e dell'archiviazione di oggetti. La latenza inferiore al millisecondo fornita dai file system paralleli è significativamente 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 superiore rispetto ai sistemi basati su NFS, che possono saturare la NIC 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 throughput elevato indipendentemente dal numero di client.
Esempi di applicazioni HPC ad alto accoppiamento
Questa sezione descrive esempi di applicazioni HPC ad alto accoppiamento 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 ad alta intensità di dati. Le moderne organizzazioni di ricerca sui farmaci si affidano all'AI per ridurre i costi di ricerca e sviluppo, scalare le operazioni in modo efficiente e 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 le 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 i mutui e le banche di investimento devono analizzare e monitorare costantemente la solvibilità dei propri clienti e dei propri portafogli di investimento. Ad esempio, i grandi mutui 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 modo collaborativo diverse parti dei dati di ogni cliente, come reddito, cronologia creditizia e modelli di spesa. Gli insight derivanti da questa analisi aiutano gli analisti del credito a fornire consigli di prestito accurati e tempestivi.
Per accelerare e scalare l'analisi per set di dati di grandi dimensioni, gli istituti di servizi finanziari utilizzano piattaforme di computing Grid come SAS Grid Manager. I file system paralleli come Managed Lustre supportano i requisiti di archiviazione ad alta velocità effettiva e a bassa latenza delle applicazioni SAS multithread.
Previsioni meteo
Per prevedere i modelli meteorologici in una determinata regione geografica, i meteorologi dividono la regione in diverse celle ed eseguono il deployment di dispositivi di monitoraggio come radar a terra e palloni meteorologici in ogni cella. Questi dispositivi osservano e misurano le condizioni atmosferiche a intervalli regolari. I dispositivi trasmettono continuamente i dati a un'applicazione di previsione meteorologica in esecuzione in un cluster HPC.
L'applicazione di previsione meteorologica elabora i dati trasmessi in streaming utilizzando modelli matematici basati su relazioni fisiche note tra i parametri meteorologici misurati. Un job separato elabora i dati di ogni cella della regione. Man mano che l'applicazione riceve nuove misurazioni, ogni job scorre gli ultimi dati della cella assegnata e scambia l'output con i job delle 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 in esecuzione 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 attorno a un oggetto in movimento. Quando gli ingegneri aeronautici progettano la carrozzeria 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 costruzione di prototipi costosi. Dopo aver analizzato i risultati di ogni esecuzione di simulazione, i progettisti ottimizzano gli attributi come il volume e la forma dei singoli componenti della carrozzeria dell'aereo e simulano nuovamente l'aerodinamica. La CFD consente ai progettisti di aeromobili di simulare in modo collaborativo e rapido l'effetto di centinaia di modifiche di progettazione di questo tipo.
Per completare le simulazioni di progettazione in modo efficiente, le applicazioni CFD richiedono un accesso inferiore al millisecondo ai dati condivisi e la possibilità di archiviare grandi volumi di dati a velocità fino a 100 GBps.
Panoramica delle opzioni di 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 ad alta velocità effettiva e a bassa latenza per i carichi di lavoro HPC ad alto accoppiamento. 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 carichi di lavoro di AI e ML, consulta Progettare l'archiviazione per i carichi di lavoro di AI e ML in Google Cloud. Managed Lustre distribuisce i dati su più nodi di archiviazione, consentendo 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 di 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 ultraveloce, l'indicizzazione ricca di metadati e l'integrazione perfetta con i framework di AI come TensorFlow e PyTorch.
Di seguito sono riportate le funzionalità principali di DDN Infinia:
- Prestazioni elevate: 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 singolo deployment.
- Multi-tenancy con qualità del servizio (QoS) prevedibile: offre ambienti sicuri, isolati per più tenant con QoS prevedibile per prestazioni coerenti tra i carichi di lavoro.
- Accesso ai dati unificato: consente l'integrazione perfetta con le applicazioni esistenti e i flussi di lavoro tramite il supporto multi-protocollo integrato, incluso per Amazon S3-compatible, CSI e Cinder.
- Sicurezza avanzata: include crittografia integrata, codifica di cancellazione con riconoscimento del dominio di errore e snapshot che contribuiscono a garantire la protezione dei dati e la conformità.
Sycomp Intelligent Data Storage Platform
Sycomp Intelligent Data Storage Platform, disponibile in Google Cloud Marketplace, 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 da 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 eseguito il deployment rapidamente e supporta l'accesso ai 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 ideale 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 può supportare carichi di lavoro HPC, AI e ML di piccole e grandi dimensioni.
Dopo aver eseguito il deployment di un cluster in Google Cloud, decidi come vuoi utilizzare it. Scegli se utilizzare il cluster solo nel cloud o in modalità ibrida connettendoti ai cluster IBM Storage Scale on-premise esistenti, alle soluzioni NAS NFS di terze parti o ad altre soluzioni di archiviazione basate su oggetti.
Collaboratori
Autore: Kumar Dhanagopal | Cross-Product Solution Developer
Altri collaboratori:
- Barak Epstein | Product Manager
- Carlos Boneti | Senior Staff Software Engineer
- Dean Hildebrand | Technical Director, Office of the CTO
- Sean Derrington | Group Product Manager, Storage
- Wyatt Gorman | HPC Outbound Product Manager