Condividi tramite


Archiviazione per ambienti di energia HPC

I carichi di lavoro HPC su larga scala richiedono l'archiviazione dei dati e l'accesso che superano le funzionalità dei file system cloud tradizionali.

Di seguito sono riportati i fattori da considerare e identificare in merito alle esigenze dell'applicazione per decidere quale soluzione di archiviazione usare

  • Latenza
  • IOPS
  • Velocità effettiva
  • Dimensioni e conteggio dei file,
  • Tempo di esecuzione processo
  • Costo associato
  • Affinità per la posizione di archiviazione: locale e Azure

Per altre informazioni sui fattori che influenzano l'archiviazione HPC selezionata in Azure, vedere "Comprendere i fattori che influenzano la selezione dell'archiviazione HPC in Azure".

Albero delle decisioni per una scelta specifica del sistema di archiviazione HPC.

Diagramma che mostra un albero delle decisioni di considerazioni quando si sceglie una soluzione di archiviazione.

Considerazioni sulla progettazione HPC

Le aziende petrolifere e del gas devono essere in grado di gestire e archiviare efficacemente gli exabyte di dati sismici, dati bene, mappe, lease e altro ancora. Per usare questi dati, hanno bisogno di un'infrastruttura ad alte prestazioni in grado di elaborare e distribuire analisi in tempo reale per ottimizzare la produzione, ridurre i rischi ambientali e migliorare la sicurezza operativa.

Le esigenze di archiviazione dati e accesso variano notevolmente a seconda della scalabilità del carico di lavoro. Azure supporta diversi approcci per la gestione della velocità e della capacità delle applicazioni HPC.

I carichi di lavoro Batch e HPC su larga scala nel settore energetico richiedono l'archiviazione dei dati e l'accesso che superano le funzionalità dei file system cloud tradizionali. I requisiti di I/O a prestazioni elevate e esigenze di scalabilità elevate di HPC (High Performance Computing) comportano sfide specifiche per l'archiviazione e l'accesso ai dati.

HPC viene usato per risolvere problemi complessi, ad esempio simulazione e modellazione sismica e serbatoio, che non sono pratici o convenienti per gestire con tecniche di calcolo tradizionali. Questa operazione viene eseguita tramite una combinazione di elaborazione parallela e scalabilità elevata per eseguire attività di elaborazione complesse e di grandi dimensioni rapidamente, in modo efficiente e affidabile.

Inoltre, nei cluster HPC di Azure, i nodi di calcolo sono macchine virtuali che possono essere attivate, in base alle esigenze, per eseguire qualsiasi processo assegnato al cluster. Questi nodi distribuiscono le attività di calcolo nel cluster per ottenere l'elaborazione parallela ad alte prestazioni necessaria per risolvere i problemi complessi a cui viene applicato HPC. I nodi di calcolo devono eseguire operazioni di lettura/scrittura sull'archiviazione di lavoro condivisa durante l'esecuzione dei processi. Il modo in cui i nodi accedono a questa archiviazione rientrano in un continuum tra questi due scenari:

  • Un set di dati in molti nodi di calcolo: in questo scenario è presente una singola origine dati nella rete a cui accedono tutti i nodi di calcolo per i dati di lavoro. Sebbene sia strutturalmente semplice, tutte le operazioni di I/O sono limitate dalla capacità di I/O della posizione di archiviazione.
  • Molti set di dati in molti nodi di calcolo: in questo scenario è presente una singola origine dati nella rete a cui accedono tutti i nodi di calcolo per i dati di lavoro. Sebbene sia strutturalmente semplice, tutte le operazioni di I/O sono limitate dalla capacità di I/O della posizione di archiviazione.

Consigli di progettazione HPC

Scegliere la soluzione più adatta ai requisiti specifici di I/O e capacità.

Protocollo NFS (Network File System)

NFS viene comunemente usato per fornire l'accesso alle posizioni di archiviazione condivise. Con NFS una macchina virtuale del server condivide il file system locale, che nel caso di Azure viene archiviato in uno o più dischi rigidi virtuali (VHD) ospitati in Archiviazione di Azure. I client possono quindi montare i file condivisi del server e accedere direttamente al percorso condiviso.

Il file system di rete (NFS) viene spesso usato per le home directory e lo spazio di progetto montato in tutti i nodi. Spesso può anche fornire uno spazio per i gruppi di ricerca che condividono i dati. In generale, i carichi di lavoro della velocità effettiva sono scalabili orizzontalmente con una piccola dipendenza tra singole attività. Gli utilità di pianificazione dei processi aggiornano il lavoro tra i nodi e coordinano l'attività. NFS è la tipica risorsa di archiviazione condivisa tra i nodi a cui si accede tramite reti TCP/IP.

NFS offre il vantaggio di essere facile da configurare e gestire ed è supportato nei sistemi operativi Linux e Windows. È possibile usare più server NFS per distribuire l'archiviazione in una rete, ma i singoli file sono accessibili solo tramite un singolo server.

Per i carichi di lavoro su larga scala, prendere in considerazione l'esecuzione di NFS nel nodo head usando una macchina virtuale ottimizzata Archiviazione con dischi temporanei di grandi dimensioni o macchine virtuali serie D con Azure Archiviazione Premium, a seconda dei requisiti. Questa soluzione è adatta ai carichi di lavoro con un massimo di 500 core.

Negli scenari HPC, il file server può spesso fungere da collo di bottiglia, con una limitazione delle prestazioni complessive. I tentativi di accesso ai dati non memorizzati nella cache da un singolo server NFS a velocità superiori rispetto alle operazioni di I/O al secondo massime documentate per macchina virtuale e alla velocità effettiva comportano una limitazione delle richieste.

In uno scenario in cui decine di client tentano di lavorare sui dati archiviati in un singolo server NFS, è possibile raggiungere facilmente questi limiti, causando un problema di prestazioni dell'intera applicazione. Più vicino a uno scenario uno-a-molti usato dall'applicazione HPC, il prima possibile si verifica in base a queste limitazioni.

File system paralleli in Azure

I file system paralleli distribuiscono l'archiviazione a livello di blocco tra più nodi di archiviazione in rete. I dati dei file vengono distribuiti tra questi nodi, ovvero tra più dispositivi di archiviazione. In questo modo vengono raggruppate le singole richieste di I/O di archiviazione in più nodi di archiviazione accessibili tramite uno spazio dei nomi comune.

Vengono usati più dispositivi di archiviazione e più percorsi per i dati per fornire un elevato grado di parallelismo, al fine di ridurre i colli di bottiglia imposti dall'accesso solo a un singolo nodo alla volta. Tuttavia, le operazioni di I/O parallele possono essere difficili da coordinare e ottimizzare se funzionano direttamente a livello di API o interfaccia I/O POSIX. Introducendo livelli intermedi di accesso ai dati e coordinamento, i file system paralleli forniscono agli sviluppatori di applicazioni un'interfaccia di alto livello tra il livello dell'applicazione e il livello di I/O.

I carichi di lavoro MPI energetici hanno requisiti univoci con la necessità di comunicazioni a bassa latenza tra nodi. I nodi sono connessi tramite interconnessione ad alta velocità e non possono condividere con altri carichi di lavoro. Le applicazioni MPI sfruttano l'intera interconnessione ad alte prestazioni usando la modalità pass-through negli ambienti virtualizzati. Archiviazione per i nodi MPI è in genere un file system parallelo come Lustre accessibile anche tramite l'interconnessione ad alta velocità. Lustre/BeeGFS viene in genere usato per gestire i requisiti di velocità effettiva elevati di elaborazione principalmente sismica (ma anche simulazione del serbatoio).

I file system paralleli, ad esempio Lustre, vengono usati per carichi di lavoro di energia HPC che richiedono l'accesso a file di grandi dimensioni, l'accesso simultaneo da più nodi di calcolo e grandi quantità di dati. L'implementazione di file system paralleli semplifica la scalabilità in termini di funzionalità e prestazioni. Tali file system sfruttano i trasferimenti RDMA con larghezza di banda elevata e riducono l'utilizzo della CPU. Il file system parallelo viene in genere usato come spazio scratch e destinato al lavoro che richiede operazioni di I/O ottimizzate. Ad esempio, la configurazione del carico di lavoro, la pre-elaborazione, l'esecuzione e la post-elaborazione.

L'uso di un servizio file parallelo orchestrato, ad esempio Lustre gestito di Azure, funziona per 50.000 o più core, con velocità di lettura/scrittura fino a 500 GB/s e 2,5 PB di archiviazione.

Per altre informazioni sul file system virtuale parallelo in Azure, vedere Parallel Virtual File System in Microsoft Azure - Parte 1: Panoramica - Microsoft Tech Community.

  • Azure NetApp Files e i dischi locali vengono in genere usati per gestire i carichi di lavoro sensibili alla latenza/operazioni di I/O al secondo, ad esempio l'interpretazione sismica, la preparazione del modello e la visualizzazione. Prendere in considerazione l'uso di per carichi di lavoro di un massimo di 4.000 core, con una velocità effettiva fino a 6,5 GiB/s e carichi di lavoro che traggono vantaggio dall'accesso multiprotocol (NFS/SMB) allo stesso set di dati.
  • Lustre gestito di Azure offre un'archiviazione di capacità più rapida e superiore per i carichi di lavoro HPC. Questa soluzione funziona per carichi di lavoro medio-grandi e può supportare 50.000 o più core, con velocità effettiva fino a 500 GB/s e capacità di archiviazione fino a 2,5 PiB.
  • Il BLOB Standard o Premium è un'offerta di cloud a costi più bassi. Questo servizio offre scalabilità exabyte, velocità effettiva elevata, accesso a bassa latenza, se necessario, file system familiare e accesso multi-protocollo (REST, HDFS, NFS). È possibile usare NFS v3.0 nell'endpoint del servizio BLOB per una velocità effettiva elevata e carichi di lavoro con un numero elevato di operazioni di lettura. È possibile ottimizzare i costi passando ai livelli più sporadici con la possibilità di eseguire la gestione del ciclo di vita con l'ultimo aggiornamento o l'ora dell'ultimo accesso, la suddivisione in livelli intelligenti con criteri personalizzabili.
  • I carichi di lavoro di energia petrolio e gas possono anche richiedere un meccanismo di trasferimento di grandi dimensioni e volumi da locale a cloud e viceversa che possono essere raggiunti da
    • Offline - Migrazione basata su dispositivo (DataBox)
    • Online: migrazione basata sulla rete (ExpressRoute).

Passaggi successivi

L'elenco di articoli seguente illustra le indicazioni disponibili in punti specifici durante il percorso di adozione del cloud per facilitare l'adozione del cloud nello scenario di adozione del cloud per gli ambienti HPC per l'energia.