Memoria flash e FPGA, così si processano i dati rapidamente

Al MIT hanno realizzato un sistema per l'analisi di grandi insiemi di dati basato su una rete di memoria flash e chip FPGA.

Avatar di Manolo De Agostini

a cura di Manolo De Agostini

Come velocizzare l'accesso alle informazioni per l'analisi dei cosiddetti "Big data"? Alcuni studenti e professori del MIT pensano di avere la soluzione. A febbraio, durante il Simposio Internazionale sui Field-Programmable Gate Arrays di Monterey, California, il gruppo mostrerà un nuovo sistema di archiviazione basato su una "rete di memoria flash".

L'obiettivo è tagliare fuori la DRAM. Attualmente per essere letto rapidamente ogni dato deve essere immagazzinato nella memoria di sistema. Il problema è che la dimensione dei dati prodotta nell'ambito dell'analisi lo rende impossibile. Perciò le informazioni tendono a essere archiviate su più hard disk, lungo più sistemi collegati su rete Ethernet. Un'architettura di questo genere, però, aumenta considerevolmente i tempo necessari per accedere all'informazione.

Secondo Sang-Woo Jun, dottorando del MIT, la soluzione per annientare i colli di bottiglia è affidarsi alla memoria Flash e ai field-programmable gate array (FPGA). Per prima cosa la memoria flash può accedere a dati casuali nell'ordine di microsecondi, mentre gli hard disk hanno tempi di ricerca tra quattro e 12 millisecondi. Inoltre la Flash è "non volatile", cioè non perde informazioni in assenza di energia.

Così nel nuovo sistema che hanno creato, chiamato BlueDBM (Blue Database Machine), ogni soluzione con memoria Flash è stato connesso a chip FPGA per creare un nodo singolo. Gli FPGA non solo controllano il dispositivo di memoria Flash, ma sono inoltre capaci di effettuare il processo dei dati stessi.

"Questo significa che possiamo fare calcoli più vicino a dove i dati sono archiviati, quindi non dobbiamo sempre spostare tutte le informazioni verso il sistema che deve elaborarle", ha sottolineato Jun. I chip FPGA possono essere collegati insieme con una rete seriale ad alte prestazioni, che ha davvero una bassa latenza il che significa che l'informazione di ogni noto può essere visionata in pochi nanosecondi.

"Quindi se colleghiamo tutti i nostri sistemi usando questa rete significa che ogni nodo può accedere ai dati da qualsiasi altro nodo con una degradazione delle prestazioni molto ridotta e il tutto apparirà come se i dati remoti fossero in locale", ha aggiunto Jun.

Usare più nodi permette al team di avere lo stesso bandwidth e le medesime prestazioni dalla propria rete di dispositivi di archiviazione tipici di sistemi più costosi. I ricercatori hanno già realizzato una rete con quattro nodi, come sistema "prototipo", ma è stata costruita con hardware di cinque anni fa e quindi i risultati non sono eccellenti. Ora stanno realizzando un sistema con 16 nodi, nel quale ogni nodo opererà a 3 GB al secondo. La rete offrirà una capacità da 16 a 32 terabyte.

Usando il nuovo hardware si sta poi procedendo alla progettazione di un database per l'uso nell'analisi dei Big data. Tra le prime informazioni che un sistema di questo genere potrebbe gestire c'è, ad esempio, il processo di dati della simulazione dell'Universo generata dai ricercatori dell'Università di Washington. I due team lavorano gomito a gomito.