Ciao Habr! I set di dati per Big Data e machine learning stanno crescendo esponenzialmente e dobbiamo affrettarci a elaborarli. Il nostro post parla di un'altra tecnologia innovativa nel campo dei calcoli ad alte prestazioni (HPC, High Performance Computing), presentata allo stand Kingston a . Questo è l'utilizzo di sistemi di archiviazione dati Hi-End (SAS) nei server con processori grafici (GPU) e la tecnologia della bus GPUDirect Storage. Grazie allo scambio diretto di dati tra SAS e GPU, bypassando la CPU, il caricamento dei dati negli acceleratori GPU avviene con un ordine di grandezza più veloce, quindi le applicazioni di Big Data vengono eseguite al massimo delle prestazioni offerte dalle GPU. A sua volta, i sviluppatori di sistemi HPC sono interessati ai progressi nel campo delle SAS con la massima velocità di input/output — come quelle prodotte da Kingston.

Le prestazioni delle GPU superano il caricamento dei dati
Da quando è stata creata nel 2007 la CUDA — architettura hardware e software per il calcolo parallelo basata su GPU per lo sviluppo di applicazioni generali, le capacità hardware delle GPU stesse sono cresciute in modo incredibile. Oggi le GPU trovano un'applicazione sempre più ampia nel campo delle applicazioni HPC, come i big data (Big Data), il machine learning (ML, machine learning) e il deep learning (DL, deep learning).
È importante notare che, nonostante la somiglianza dei termini, gli ultimi due rappresentano compiti algoritmicamente diversi. Il ML allena il computer basandosi su dati strutturati, mentre il DL si basa su risposte da reti neurali. Un esempio che aiuta a comprendere le differenze è piuttosto semplice. Supponiamo che un computer debba distinguere foto di gatti e cani caricati da uno storage. Per il ML, bisogna fornire un insieme di immagini con molti tag, ognuno dei quali definisce una specifica caratteristica dell'animale. Per il DL, è sufficiente caricare un numero significativamente maggiore di immagini, ma con un solo tag "questo è un gatto" o "questo è un cane". Il DL è molto simile a come vengono educati i bambini piccoli: mostrano semplicemente immagini di cani e gatti nei libri e nella vita reale (spesso, senza nemmeno spiegare le differenze dettagliate), e il cervello del bambino inizia a riconoscere il tipo di animale dopo un certo numero critico di immagini per il confronto (si stima che bastino solo un centinaio di esposizioni durante l'infanzia). Gli algoritmi DL non sono ancora così perfezionati: affinché anche una rete neurale possa lavorare con successo nella definizione delle immagini, è necessario fornire e elaborare nel GPU milioni di immagini.
In sintesi, è possibile costruire applicazioni HPC nel campo del Big Data, ML e DL basate su GPU, ma esiste un problema: i set di dati sono così grandi che il tempo necessario per caricare i dati dal sistema di storage nella GPU comincia a ridurre le prestazioni complessive dell'applicazione. In altre parole, le schede grafiche veloci rimangono sotto-utilizzate a causa della lentezza delle operazioni di input-output dei dati provenienti da altre sottosistemi. La differenza di velocità tra input/output della GPU e bus verso CPU/storage può essere di un ordine di grandezza.
Come funziona la tecnologia GPUDirect Storage?
Il processo di input-output è controllato dalla CPU, così come il processo di caricamento dei dati dallo storage nelle GPU per la successiva elaborazione. Da qui nasce la richiesta di una tecnologia che garantisse un accesso diretto tra GPU e dischi NVMe per un veloce scambio di dati. NVIDIA ha introdotto per prima questa tecnologia, chiamandola GPUDirect Storage. In sostanza, si tratta di una variante della tecnologia GPUDirect RDMA (Remote Direct Memory Address) da loro precedentemente sviluppata.

Jensen Huang, CEO di NVIDIA, presenta GPUDirect Storage come una variante di GPUDirect RDMA alla fiera SC-19. Fonte: NVIDIA
La differenza tra GPUDirect RDMA e GPUDirect Storage sta nei dispositivi tra cui avviene l'indirizzamento. La tecnologia GPUDirect RDMA è progettata per spostare i dati direttamente tra la scheda di interfaccia di rete (NIC) e la memoria GPU, mentre GPUDirect Storage fornisce un percorso diretto per il trasferimento di dati tra uno storage locale o remoto, come NVMe o NVMe over Fabrics (NVMe-oF), e la memoria GPU.
Entrambe le opzioni, GPUDirect RDMA e GPUDirect Storage, evitano spostamenti superflui di dati attraverso il buffer nella memoria della CPU e consentono al meccanismo di accesso diretto alla memoria (DMA) di trasferire i dati dalla scheda di rete o dallo storage direttamente alla memoria GPU o viceversa, e tutto ciò senza carico sulla CPU centrale. Per GPUDirect Storage, la posizione dello storage non ha importanza: può essere un disco NVME all'interno dell'unità con GPU, all'interno di un rack o connesso in rete come NVMe-oF.

Schema di funzionamento di GPUDirect Storage. Fonte: NVIDIA
I sistemi di archiviazione hi-end basati su NVMe sono richiesti nel mercato delle applicazioni HPC.
Comprendendo che con l'avvento di GPUDirect Storage l'interesse dei grandi clienti si concentrerà sull'offerta di sistemi di storage con velocità di input/output corrispondenti alla larghezza di banda delle GPU, alla fiera SC-19 Kingston ha mostrato un demo di un sistema composto da un sistema di storage basato su dischi NVMe e un'unità con GPU, in cui veniva analizzato un numero di migliaia di immagini satellitari al secondo. Abbiamo già parlato di tale sistema di storage basato su 10 unità DC1000M U.2 NVMe. .

Il sistema di storage basato su 10 unità DC1000M U.2 NVMe integra perfettamente un server con acceleratori grafici. Fonte: Kingston.
Questo sistema di storage è realizzato sotto forma di un'unità rack 1U o superiore e può essere scalato in base al numero di dischi DC1000M U.2 NVMe, dove ognuno ha una capacità di 3.84-7.68 TB. DC1000M è il primo modello di SSD NVMe nel fattore di forma U.2 nella gamma di dispositivi di Kingston per i data center. Ha un rating di resistenza (DWPD, Drive writes per day) che consente la riscrittura dei dati sulla capacità totale una volta al giorno per l'intero ciclo di vita garantito del dispositivo.
Nel test fio v3.13 su sistema operativo Ubuntu 18.04.3 LTS, kernel Linux 5.0.0-31-generic, il campione esposto del sistema di storage ha mostrato una velocità di lettura (Sustained Read) di 5.8 milioni di IOPS con una larghezza di banda sostenuta (Sustained Bandwidth) di 23.8 Gbit/s.
Ariël Peres, business manager SSD in Kingston, ha descritto così i nuovi sistemi di archiviazione: «Siamo pronti a fornire alla prossima generazione di server soluzioni SSD U.2 NVMe, per eliminare molti colli di bottiglia nella trasmissione dei dati, che tradizionalmente sono stati associati ai sistemi di storage. La combinazione di unità NVMe SSD e della nostra premium RAM Server Premier DRAM rende Kingston uno dei fornitori di soluzioni complete per l'elaborazione dei dati più completi del settore».

Il test gfio v3.13 ha mostrato una latenza di 23.8 Gbit/s per il sistema di archiviazione in demo su dischi DC1000M U.2 NVMe. Fonte: Kingston
Come sarà composta un tipica sistema per applicazioni HPC, dove è implementata la tecnologia GPUDirect Storage o una simile? Si tratta di un'architettura con separazione fisica dei blocchi funzionali all'interno di un'unità: uno o due unità per la RAM, diverse altre per i nodi di calcolo GPU e CPU e una o più unità per il sistema di storage.
Con l'annuncio di GPUDirect Storage e l'eventuale introduzione di tecnologie simili presso altri fornitori di GPU, si amplifica la domanda di sistemi di archiviazione progettati per l'uso in calcolo ad alte prestazioni da parte di Kingston. Un parametro chiave sarà la velocità di lettura dei dati dal sistema di archiviazione, paragonabile alla larghezza di banda delle schede di rete da 40 o 100 Gbit all'ingresso del nodo di calcolo con GPU. Così, gli ultraveloci sistemi di archiviazione, comprese le unità NVMe esterne via Fabric, passeranno da una condizione esotica a un mainstream per le applicazioni HPC. Oltre alla scienza e ai calcoli finanziari, troveranno applicazione in molti altri ambiti pratici, come i sistemi di sicurezza delle mega città Safe City o i centri di monitoraggio dei trasporti, dove è richiesta una velocità di riconoscimento e identificazione pari a milioni di immagini HD al secondo», ha evidenziato la nicchia di mercato dei top di gamma.
Ulteriori informazioni sui prodotti Kingston possono essere trovate su azienda.
Fonte: habr.com
