Artificial Intelligence e Machine Learning in crescita…e come la mettiamo con la memoria?

I data center dovrebbero sfruttare la memoria persistente per eliminare i colli di bottiglia e accelerare le prestazioni nelle tecnologie di Artificial Intelligence e Machine Learning.

Un esempio di persistent-memory-optimised-server per applicazioni AI e ML.

Nei data center aziendali odierni, la capacità di memoria limitata e le prestazioni di input/output (I/O) della memoria di massa sono le due principali cause di colli di bottiglia. Questi due punti critici sono stati storicamente percepiti come diversi concetti di elaborazione: la memoria è un archivio temporaneo di codice e dati per supportare un’applicazione in esecuzione, mentre i dischi e altri archivi persistenti conservano i dati a lungo termine. Quando un’applicazione deve accedere ai dati dal disco (fatto che si verifica frequentemente con i dataset di grandi dimensioni che non possono essere caricati in memoria), l’accesso lento impone una penalità significativa sulle prestazioni dell’applicazione. L’introduzione della memoria persistente ha segnato una svolta nella tradizionale gerarchia di memoria e archiviazione dei data center attraverso la possibilità di una nuova architettura unificata iper-convergente che acceleri notevolmente le prestazioni dei server di archiviazione aziendale.

La crescita di applicazioni AI e ML

L’esplosione di dati è il risultato di un’enorme crescita delle applicazioni di Artificial Intelligence (AI) e Machine Learning (ML), ma i sistemi tradizionali non sono progettati per affrontare la sfida dell’accesso a questi grandi dataset . L’ostacolo chiave per le applicazioni AI e ML che entrano nel mainstream IT è la riduzione del tempo complessivo di scoperta e comprensione basata su intenso ETL (Extract, Transform, Load) di dati e checkpoint workloads. AI e ML creano elevate esigenze di prestazioni di I/O e computazionali per ETL accelerato con GPU. I/O e prestazioni computazionali variabili sono guidati da larghezza di banda e latenza. L’analisi dei dati ad alte prestazioni richiesta dalle applicazioni AI e ML richiede sistemi con la massima larghezza di banda e la più bassa latenza. Secondo la Worldwide Artificial Intelligence Spending Guide dell’International Data Corporation (IDC), la spesa per sistemi di intelligenza artificiale e ML raggiungerà i 97,9 miliardi di dollari nel 2023, più di due volte e mezzo i 37,5 miliardi di dollari che saranno spesi nel 2019. A sua volta, l’elaborazione dati richiesta deve tenere il passo con questa espansione che sarà esponenziale nella sua crescita. Le soluzioni di memoria convenzionali oggi mancano della componente vitale per rispondere a questa spinta: la non volatilità, anche se sono state progettate architetture parallele per rispondere alle esigenze future dei dati. Tuttavia, mentre queste architetture vengono perfezionate, le perdite di energia potrebbero costare milioni di dollari ai data center. Da qui la necessità immediata di memoria non volatile.

Spostare la Memoria non-Volatile in prossimità della CPU

Il checkpoint è un processo in cui viene archiviato lo stato della rete in corso di formazione per garantire che il risultato dei dati appresi non venga perso. Il checkpoint è una sfida particolare per le applicazioni AI e ML perché spreca capacità di elaborazione e consuma molta energia, senza offrire direttamente un vantaggio all’applicazione stessa. L’elaborazione in altri nodi può anche essere interrotta durante la scrittura di dati in un archivio centrale. L’operazione è anche write-intensive, aggravando il problema in alcune situazioni poiché l’archiviazione convenzionale come i dischi rigidi sono inefficienti quando i dati vengono scritti su di essi. Poiché il checkpoint su una memoria centrale può ridurre significativamente la velocità di analisi nelle applicazioni AI e ML, gli ingegneri stanno spostando la memoria non volatile più vicino alla CPU per ridurre al minimo l’impatto di questo processo essenziale. Ciò produce un migliore equilibrio tra dati e calcolo, consentendo al sistema di soddisfare le esigenze di produzione complessive.

NVDIMMs in applicazioni AI e ML

Quattro NVDIMM da 32GB vengono utilizzati per ogni CPU offrendo un totale di memoria persistente veloce e byte-addressable

La memoria persistente, sotto forma di NVDIMM (Non-Volatile Dual-Inline Memory Module), viene utilizzata per aumentare le prestazioni delle applicazioni sensibili alla latenza di scrittura, fornendo in modo efficace un modello di archiviazione persistente con prestazioni DRAM. I data center hanno un’opportunità unica di trarre vantaggio dai NVDIMM per ottenere la bassa latenza e requisiti di prestazioni più elevati delle applicazioni AI e ML senza rilevanti interruzioni di tecnologia. Quando gli NVDIMM sono collegati a un server, vengono mappati dal BIOS come sottosezione di memoria persistente nella memoria principale. L’applicazione è quindi libera di utilizzare questa memoria persistente per il checkpoint ad alta velocità. L’alternativa è l’approccio tradizionale in cui i dati del checkpoint vengono trasferiti attraverso lo stack I/O, su NVMe e quindi salvati su SSD. Questo sistema comporta la penalità di latenza dello stack I/O e del NAND Flash. Gli NVDIMM sono la soluzione ideale per server AI e ML ad alte prestazioni. I carichi di lavoro ETL e di checkpoint ad alta intensità di dati possono utilizzare la regione di memoria persistente della memoria principale, consentendo loro di operare a latenze DRAM (<100 ns) e larghezza di banda DRAM (25,6 GB/s). Mentre gli NVDIMM vengono utilizzati per accelerare il checkpoint per le applicazioni AI, al contempo possono anche essere utilizzate per ML per aumentare le prestazioni e proteggere i dati raccolti dagli algoritmi. I server di archiviazione configurati con GPU eseguono algoritmi che fanno parte della simulazione e ML. Gli NVDIMM vengono utilizzati per proteggere i server GPU dalla perdita di dati di simulazione. Le dimensioni tipiche dei dataset dell’algoritmo variano dai Kilobyte (kB) ai Terabyte (TB) e la perdita di dati comporterebbe la necessità di riavviare il lavoro. Quando quattro server sono configurati con NVDIMM, dimensioni di dataset fino a 1 TB possono utilizzare la memoria persistente, al contrario dello storage tradizionale, per migliorare notevolmente le prestazioni e senza il rischio di perdita di dati. Il metodo più comune utilizzato per elaborare AI, ML e dataset di simulazione (che hanno tutti caratteristiche simili) è che i dataset passino attraverso la rete tramite InfiniBand o Ethernet nel server AI/ML e quindi vengano memorizzati nella cache dell’SSD per eliminare il rischio di perdita dei dati. Partizioni dei dataset vengono quindi spostate su DRAM dalla GPU dove è possibile eseguire i calcoli. Un esempio di questo processo sarebbe l’esecuzione di calcoli su un dataset per determinare se i dati rappresentano l’immagine di un cane o di un gatto. Una volta completato il calcolo, la risposta viene rinviata alla rete. Se si verifica un arresto anomalo del sistema durante questo processo, tutti i calcoli andranno persi. Passando agli NVDIMM, questo processo può essere notevolmente semplificato. Non è necessario memorizzare nella cache i dataset in entrata negli SSD. I dataset possono essere spostati direttamente nella DRAM dove la GPU può iniziare immediatamente i suoi calcoli. La risposta per determinare se uno specifico dataset rappresenta un’immagine di un cane o di un gatto può verificarsi in modo molto più rapido. Allo stesso tempo, non vi è alcun rischio di perdere i dataset o i calcoli perché gli NVDIMM sono persistenti. Gli NVDIMMs non sono solo adatti alle applicazioni AI e ML, ma possono anche essere utilizzati in applicazioni finanziarie comunemente indicate come FinTech. Le applicazioni FinTech richiedono prestazioni elevate (riduzione della latenza e aumento delle velocità di transazione) perché il tempo è denaro. Le transazioni elaborate devono essere registrate in modo sincrono prima di poter avviare la transazione successiva. Questa funzione sincrona, sebbene fondamentale per l’auditing, crea anche un notevole collo di bottiglia per molti sistemi, rallentando la velocità delle transazioni. Utilizzando gli NVDIMM è possibile eliminare l’attuale processo di registrazione dei dati su SSD SATA o NVMe. Invece di inviare i dati di registrazione tramite l’I/O all’unità SSD Flash, i dati di registrazione possono essere inseriti direttamente nella DRAM ad alta velocità resa persistente con l’uso di NVDIMM.

Mentre gli NVDIMM sono ormai in circolazione da oltre un decennio, i vantaggi dell’utilizzo di questo tipo di memoria persistente per le applicazioni AI e ML sono ancora oggetto di indagine da vari settori, dal settore bancario e retail ai discrete manufacturing.

L’ecosistema di supporto per gli NVDIMM, inclusi i sistemi operativi, l’abilitazione hardware e la standardizzazione JEDEC, sono il risultato di una collaborazione tra molte aziende che lavorano insieme per adottare le memorie persistenti. Gli NVDIMM stanno intersecando la crescita di AI e ML per fornire un modo ideale per aumentare le prestazioni di sistema.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome