Il sistema di archiviazione per 'Big Data' accelera drasticamente l'accesso alle informazioni

Man mano che i computer entrano in sempre più aree della nostra vita quotidiana, la quantità di dati che producono è cresciuta enormemente.





Ma affinché questi big data siano utili, devono prima essere analizzati, il che significa che devono essere archiviati in modo tale da potervi accedere rapidamente quando richiesto.

In precedenza, tutti i dati a cui era necessario accedere in fretta sarebbero stati archiviati nella memoria principale di un computer o nella memoria dinamica ad accesso casuale (DRAM), ma la dimensione dei set di dati ora prodotti lo rende impossibile.

Quindi, invece, le informazioni tendono ad essere archiviate su più dischi rigidi su un numero di macchine attraverso una rete Ethernet. Tuttavia, questa architettura di archiviazione aumenta considerevolmente il tempo necessario per accedere alle informazioni, secondo Sang-Woo Jun, uno studente laureato presso il Computer Science and Artificial Intelligence Laboratory ( CSAIL ) al MIT.



Foto per gentile concessione dei ricercatori

L'archiviazione dei dati su una rete è lenta perché c'è un significativo ritardo aggiuntivo nella gestione dell'accesso ai dati su più macchine sia software che hardware, afferma Jun. E se i dati non si adattano alla DRAM, devi passare alla memoria secondaria - dischi rigidi, possibilmente collegati in rete - che è davvero molto lenta.

Ora Jun, il collega studente laureato CSAIL Ming Liu, e Arvind, Charles W. e Jennifer C. Johnson Professor of Electrical Engineering and Computer Science, hanno sviluppato un sistema di archiviazione per l'analisi dei big data che può accelerare notevolmente il tempo necessario per informazioni di accesso.



Il sistema, che sarà presentato a febbraio all'International Symposium on Field-Programmable Gate Arrays a Monterey, California, si basa su una rete di dispositivi di archiviazione flash.

I sistemi di archiviazione flash offrono prestazioni migliori rispetto ad altre tecnologie per le attività che comportano la ricerca di informazioni casuali all'interno di un set di dati di grandi dimensioni. In genere è possibile accedervi in ​​modo casuale in microsecondi. Ciò è paragonabile al tempo di ricerca dei dati dei dischi rigidi, che in genere è compreso tra 4 e 12 millisecondi quando si accede ai dati da posizioni imprevedibili su richiesta.

I sistemi flash sono anche non volatili, il che significa che non perdono nessuna delle informazioni in loro possesso se il computer viene spento.



Nel sistema di archiviazione, noto come BlueDBM, o Blue Database Machine, ogni dispositivo flash è connesso a un chip FPGA (field-programmable gate array) per creare un singolo nodo. Gli FPGA vengono utilizzati non solo per controllare il dispositivo flash, ma sono anche in grado di eseguire operazioni di elaborazione sui dati stessi, afferma Jun.

Ciò significa che possiamo eseguire alcune elaborazioni vicino a dove vengono archiviati i dati, quindi non dobbiamo sempre spostare tutti i dati sulla macchina per lavorarci, dice.

Inoltre, i chip FPGA possono essere collegati tra loro utilizzando una rete seriale ad alte prestazioni, che ha una latenza molto bassa, o ritardo temporale, il che significa che è possibile accedere alle informazioni da qualsiasi nodo entro pochi nanosecondi. Quindi, se colleghiamo tutte le nostre macchine utilizzando questa rete, significa che qualsiasi nodo può accedere ai dati da qualsiasi altro nodo con un degrado minimo delle prestazioni, [e] sembrerà che i dati remoti si trovino qui localmente, afferma Jun.



L'utilizzo di più nodi consente al team di ottenere la stessa larghezza di banda e prestazioni dalla rete di storage di macchine molto più costose, aggiunge.

Il team ha già costruito un prototipo di rete a quattro nodi. Tuttavia, questo è stato costruito utilizzando parti di 5 anni e, di conseguenza, è piuttosto lento.

Quindi ora stanno costruendo un prototipo di rete a 16 nodi molto più veloce, in cui ogni nodo funzionerà a 3 gigabyte al secondo. La rete avrà una capacità da 16 a 32 terabyte.

Utilizzando il nuovo hardware, Liu sta anche costruendo un sistema di database progettato per l'utilizzo nell'analisi dei big data. Il sistema utilizzerà i chip FPGA per eseguire calcoli sui dati a cui accede il computer host, per accelerare il processo di analisi delle informazioni, afferma Liu.

Se siamo abbastanza veloci, se aggiungiamo il giusto numero di nodi per darci abbastanza larghezza di banda, possiamo analizzare dati scientifici ad alto volume a circa 30 frame al secondo, permettendoci di rispondere alle domande degli utenti a latenze molto basse, rendendo il sistema sembrano in tempo reale, dice. Questo ci darebbe un database interattivo.

Come esempio del tipo di informazioni su cui potrebbe essere utilizzato il sistema, il team ha lavorato con i dati di una simulazione dell'universo generata dai ricercatori dell'Università di Washington. La simulazione contiene dati su tutte le particelle dell'universo, in diversi momenti nel tempo.

Gli scienziati devono interrogare questo set di dati piuttosto enorme per tenere traccia di quali particelle interagiscono con altre particelle, ma eseguire questo tipo di query richiede molto tempo, afferma Jun. Speriamo di fornire un'interfaccia in tempo reale che gli scienziati possano utilizzare per esaminare le informazioni più facilmente.

Kees Vissers del produttore di chip programmabili Xilinx, con sede a San Jose, in California, afferma che l'archiviazione flash sta iniziando a essere vista come un sostituto sia della DRAM che dei dischi rigidi. Storicamente, l'architettura dei computer doveva avere una particolare gerarchia di memoria - cache sui processori, DRAM off-chip e poi dischi rigidi - ma l'intera linea è ora offuscata dai nuovi meccanismi della tecnologia flash.

Il lavoro al MIT è particolarmente interessante perché il team ha ottimizzato l'intero sistema per funzionare con flash, compreso lo sviluppo di nuove interfacce hardware, afferma Vissers. Ciò significa che ottieni un vantaggio a livello di sistema, afferma.

nascondere