mercoledì 4 giugno 2014

DSSD - la rivoluzione Flash non è finita

Uno degli annunci dell’ultimo EMC World 2014 di Las Vegas (i contenuti dell’evento sono ancora disponibili online qui: http://www.emcworld.com/virtual/index.htm) è l’intezione di acquisire la start-up DSSD entro il mese di Giugno, per inserirla come unità indipendente all’interno della Divisione “Emerging Technology Products”.

DSSD è una società fondata nel 2010 da Jeff Bonwick e Bill Moore (entrambi veterani della Silicon Valley e tra i creatori del File System ZFS), con alle spalle Andy Bechtolsheim (già co-fondatore di Sun Microsystems) che mira a proporre un approccio completamente nuovo allo storage Flash.

Le idee alla base di quanto sviluppato da DSSD possono essere riassunte nei tre punti seguenti:
1)    gli attuali protocolli di accesso allo Storage sono stati ideati e perfezionati per i dischi magnetici, non per le memorie Flash
2)    questi protocolli non cosentono di sfruttare al meglio le caratteristiche dei dispositivi a Flash ed in particolare impediscono di raggiungere le prestazioni erogabili teoricamente da essi
3)    ripensando da zero l’architettura per gestire le operazioni di IO verso i dispositivi Flash è possibile abbattere di ordini di grandezza i tempi di accesso ai dati


Per apprezzare meglio l’impatto ottenibile sulle prestazioni, nella figura in basso (qui la fonte) sono riportati i tempi di accesso ai diversi dispositivi su di una scala più vicina alla sensibilità umana.



Se assumiamo convenzionalmente pari ad 1 secondo il tempo di accesso alla cache interna della CPU, abbiamo bisogno di:
·         10 secondi per accedere ai moduli DRAM sulla scheda madre
·         10 ore per accedere ai dispositivi Flash interni al server (ad esempio schede Flash PCIe)
·         1 settimana per i dischi Flash esterni su Fibre Channel
(la figura si riferisce all’architettura NUMA dei moderni processori x86).

L’allungamento delle latenze mano a mano che aumenta la distanza dalla CPU è dovuto sia ad aspetti Hardware  (latenze introdotte dai componenti elettronici, attraversamento di canali fisici di trasmissione), sia all’overhead software di gestione dei diversi protocolli (FibreChannel, iSCSI, NFS/CIFS, SAS).
L’approccio seguito da DSSD (per alcuni punti in analogia con quanto già fatto con le schede PICe) interviene su entrambi questi aspetti, da un lato attestando direttamente lo storage sul bus PCIe, dall’altro eliminando i protocolli che veicolano le IO nel loro percorso verso il “disco” esterno.

DSSD introduce tuttavia delle novità che vanno ben oltre le schede PCIe:

Per prima cosa DSSD propone Storage condiviso che si annuncia del tipo “top-of-the-rack” (ovvero a distanza limitata dai server); non è ancora svelato il tipo di connettività utilizzata, ma si dovrebbe trattare di una fabric PCIe (http://blogs.barrons.com/techtraderdaily/2014/05/08/emcs-burton-reflects-on-dssd-buy-flash-challenges/ ) che sfrutta le nuove funzionalità supportate dal PCIe (switch PCIe e PCI3 over cable). Viene superato in tal modo un ostacolo tipicamente incontrato nell’adozione delle schde PCIe Flash, che sono locali al server e pertanto non consento tutte le funzionalità avanzate a cui siamo normalmente abituati sulle SAN (accesso condiviso da parte dei nodi di un custer, snpashot e cloni a fini di backup o test, repliche remote di Disaster Recovery, etc.).

Interviene poi sull’efficacia della gestione delle IO, ripensando il modo in cui le applicazioni accedono allo Storage a livello di sistema Operativo: le operazioni di IO non sono più mediate da System Call attraverso File System, Logical Volume Manager e Driver, ma hanno accesso direttamente via Direct Memory Access al Bus PCIe (vedere immagine in basso).



Interviene infine sull’efficienza della gestione delle IO, introducendo delle estensioni ai comandi previsti dalla semantica POSIX, che consentiranno alle applicazioni di ridurre il numero di passi da eseguire per eseguire operazioni sui dati persistenti (su questo aspetto, così come sulle prestazioni raggiunte vige ancora il massimo riserbo).

I casi di utilizzo per questa tecnologia riguareranno principalmente le applicazioni con elavati requisiti prestazionali e quelle in grado di beneficiare del set di comandi esteso:
·         In-memory database (SAP HANA, GemFire)
·         Applicazioni che effettuano l’analisi Real-time dei dati (risk management, fraud detection)
·         Applicazioni che necessitano di alte prestazioni, tipicamente nel mondo della ricerca scientifica (studi sul genoma, riconoscimento facciale, modelli di analisi climatica)

In attesa che venga finalizzata l’acquisizione di DSSD da parte di EMC, si prevede che i primi prodotti basati su questa tecnologia siano disponibili sul mercato nel corso del 2015.

Icilio Pascucci

Nessun commento:

Posta un commento