mercoledì 16 ottobre 2013

La tecnologia Flash cambia il mondo dello Storage: un ventaglio di possibilità

L’utilizzo di dispositivi a Stato Solido per l’immagazzinamento dei dati non è un concetto nuovo nell’Informatica; le prime soluzioni di questo tipo erano basate su memorie di tipo DRAM e risalgono agli anni ’70 ed anche prima.

Rispetto ai supporti magnetici, lo Stato Solido presenta molteplici benefici (maggiore compattezza, minori consumi e soprattutto prestazioni molto più elevate), ma anche costi molto più elevati che ne hanno storicamente ristretto l’utilizzo ad un ambito ristretto - tipicamente nel campo dei Super-Computer.

Le cose stanno rapidamente cambiando con l’introduzione delle Memorie Flash, che hanno prezzi decisamente più bassi delle DRAM (ed in costante discesa); ciò rende finalmente possibile l’introduzione dello Stato Solido nel Data Center, anche se il divario di prezzo tuttora esistente verso i dischi tradizionali impone di motivare in maniera rigorosa l’investimento al management.

Per questo motivo è  necessario un impiego ragionato delle nuove tecnologie, che riesca a sfruttare nel modo migliore la loro “potenza di fuoco”.

Figura 1: Densità  di I/O al secondo per GB

Le possibilità di impiego dello Stato Solido come Storage includono:

Gli Storage “ibridi”

Sono Storage che possono essere configurati con una percentuale variabile di dischi a Stato Solido e dischi magnetici tradizionali (FC, SA e/o SATA). Questi Storage dispongono anche di funzionalità software in grado di spostare automaticamente i dati tra dischi di diversa tecnologia in funzione dei profili di carico, il tutto in maniera trasparente alle applicazioni.
Le situazioni d’impiego tipiche per questo tipo di Storage sono i carichi di lavoro di tipo misto (letture e scritture, random e sequenziali) e variabile nel tempo, e che possono tollerare occasionali piccole variazioni dei tempi di risposta. Rientrano in questa casistica i Data Warehouse, i Data Base OLTP, la Posta Elettronica, e ogni possibile loro combinazione.

Sia gli Storage Enterprise (VMAX) che gli Storage Unified (VNX) di EMC rientrano in questa categoria. I benefici degli Storage Ibridi sono stati già approfonditi in questo Blog nel post Gestione dinamica dei dati: dall'HSM a FAST VP e, per quanto riguarda specificamente la piattaforma VNX, nel post Performance On Demand con Next Gen VNX

Storage “All-flash”

Sono Storage interamente configurati con dischi a Stato Solido, come EMC XtremIO.
Al contrario degli Storage “Ibridi”, EMC XtremIO è ottimizzato per l’utilizzo esclusivo delle memorie Flash, adottando una serie di accorgimenti per rendere più efficace l’utilizzo dello spazio disponibile e ridurre al minimo le scritture fisiche.

Su questo aspetto è utile ricordare che per le memorie Flash le operazioni di scrittura sono decisamente più onerose delle letture. Le scritture, infatti:
  • sono più lente delle letture;
  • tendono ad usurare le memorie Flash (la durata di una memoria Flash dipende direttamente da quante volte questa viene riscritta);
  • in caso di scrittura su aree già scritte in precedenza richiedono un “erase” preventiva. Anche se l’erase viene svolto in background ed in maniera asincrona rispetto alle scritture (algoritmi di garbage collection), è un processo consuma risorse e può creare temporanei rallentamenti.
Gli accorgimenti adottati da XtremIO per ridurre il numero di scritture fisiche sono molteplici:

  • Deduplica on-line: la deduplica avviene in memoria: XtremIO analizza le scritture in ingresso, riconosce se i dati sono già presenti ed in questo caso si limita a creare un nuovo puntatore al blocco già scritto, senza effettuare nessuna nuova scrittura
  • Distribuzione Automatica dei Dati: il posizionamento dei nuovi dati in ingresso è distribuito in modo da utilizzare equamente tutte le memorie Flash, indipendentemente dalla posizione che il blocco ha per il server
  • Protezione dei dati ottimizzata per Flash: XtremIO adotta algoritmi proprietari (in attesa di brevetto) che forniscono un livello di protezione analogo al RAID 6, ma che richiedono un numero di scritture inferiore ed hanno prestazioni superiori a qualsiasi algoritmo RAID esistente.

Oltre a questi accorgimenti, XtremeIO presenta altri vantaggi legati all’adozione della tecnologia Flash: non necessita di Tuning (grazie alla distribuzione automatica), ha consumi più bassi (grazie all’assenza di dispositivi rotanti), supporta snapshot estremamente efficienti (grazie alla deduplica.

Le situazioni d’impiego tipiche per gli All-Flash riguardano applicazioni che richiedono prestazioni elevate ed assolutamente costanti nel tempo, con un profilo di carico estremamente randomico (che potrebbe rende poco efficaci gli algoritmi di spostamento automatico degli Storage Ibridi). Rientrano in questa casistica ambienti di Virtual Desktop (VDI), server farm virtuali ad alta densità, database critici per applicazioni real-time.

Storage Flash installato localmente sui Server

L’ultima tipologia di Storage a Stato Solido è quella delle schede Flash da installare direttamente sui server, come le EMC XtremSF PCIe flash card. Queste schede fungono da acceleratori di IO, attraverso due meccanismi:
·         Possono essere utilizzate come dischi locali al server, accessibili in lettura e scrittura per dati che non hanno necessità di essere immagazzinati su Storage esterni (configurazione come Direct Attached Storage, o DAS). Questa soluzione ha il vantaggio di avere i migliori tempi di risposta sia in lettura che in scrittura, ma impone di rinunciare ai vantaggi degli Storage esterni: maggiore protezione dei dati, possibilità di far gestire allo Storage i Cloni e le Repliche Remote senza utilizzare risorse dei server, la possibilità di riallocare lo spazio disco da un server ad un altro, la possibilità di condividere lo Storage tra più nodi di uno stesso cluster.

Figura 2: utilizzo di XtremSF come DAS

·         Possono essere utilizzate come Cache di sola lettura a bassissima latenza per dati che risiedono comunque su Storage esterni. In questo caso si mantengono tutti i benefici legati all’utilizzo di Storage centralizzati, ma al contempo si accelerano enormemente le prestazioni delle applicazioni (tipicamente le letture costituiscono il 70%-80% delle IO complessive). Nella configurazione come Cache, uno strato Software elabora le statistiche di accesso ai dati e si preoccupa di gestire la “promozione” dei dati più acceduti in Cache.

Figura 3: XtremeSF utilizzato come Cache

E’ anche possibile partizionare la scheda in modo da utilizzarne una parte come disco locale (DAS), ed una parte come Cache, come descritto nella figura seguente.


Figura 4: XtremeSF utilizzato in modalità mista

Le situazioni d’impiego tipiche per questo tipo di Storage sono i carichi altamente transazionali e che necessitano di alte prestazioni, di solito associati con applicazioni web 2.0, virtual desktop (VDI) non persistenti, high-performance computing (HPC), e applicazioni di trading. Hanno un impiego anche come acceleratori di applicazioni di reporting, data analytics, data modeling ed altri carichi che possono determinare picchi periodici sui server.


Conclusioni

Le esigenze delle applicazioni in termini di prestazioni e di affidabilità dei dati (garantita da ridondanza, repliche locali e repliche) possono essere molto differenti. Potenzialmente ogni applicazione potrebbe trarre vantaggio dall’impiego di tecnologia Flash, ma occorre ponderare bene le scelte per massimizzare il ritorno sull’investimento.
Nel corso degli ultimi anni EMC non solo è stata un pioniere nell’adozione della tecnologia a Stato Solido nel campo dello Storage, ma ha sviluppato un portafoglio ampio ed articolato di prodotti per consentire ai clienti di impiegare questa tecnologia nella maniera più idonea a rispondere alle loro esigenze.

Icilio Pascucci


Nessun commento:

Posta un commento