Visualizzazione post con etichetta Fast Cache. Mostra tutti i post
Visualizzazione post con etichetta Fast Cache. Mostra tutti i post

lunedì 29 dicembre 2014

La tecnologia Flash/SSD: uno sguardo da più vicino.

Perchè questa tecnologia è "disruptive" ? 

La tecnologia Flash/SSD sta guadagnando rapidamente consensi e quote di mercato nel panorama IT. Ne consegue che un sempre maggior numero di vendors propone queste soluzioni, ma con architetture e “media” ben differenti.
Se per quanto riguarda l' architettura migliore per un All-Flash-Array rimando alla lettura di altri posts (è sufficiente inserire XtremIO nel nostro motore di ricerca), per quanto riguarda i tipi di Flash media cercherò di dare qualche elemento in più di valutazione per dimostrare in sintesi che non tutti sono equivalenti o adatti a qualsiasi tipo di use-case.
Nella slide sottostante riassumiamo i pro/contro della tecnologia "consolidata" e di quella "emergente" per evidenziare perchè la seconda sta trasformando questo settore.
Una facile conclusione sarebbe “Non c’e storia!”, per lo meno se i costi fossero comparabili.
Oltre all’aspetto economico (ampiamente indirizzabile con tecnologie di efficienza quali deduplica o compressione) va considerato un altro fattore, forse meno noto: a differenza degli HDD, le prestazioni dei Flash degradano nel corso del tempo (anche nel lasso di poche ore), soprattutto con un workload con distribuzione bilanciata

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


martedì 17 settembre 2013

Performance On Demand con Next Gen VNX

Due parole su come ottenere le performance desiderate senza essere uno storage guru.

Il tuning dello storage è storicamente complicato e di norma assegnato a personale “esperto” all’interno o all’esterno dell’azienda.

Questi “guru delle performance”, grazie alle competenze acquisite nel corso della loro carriera, sono in grado di analizzare in dettaglio i parametri che regolano le performance dello storage e implementare eventuali azioni correttive; ad esempio, se le applicazioni non rispondono abbastanza velocemente è possibile  spostare i dati su dischi più veloci, oppure distribuire i dati stessi (striping) su più dischi ecc.

Fortunatamente con gli storage moderni, in particolare VNX, non è più così difficile tenere sott’occhio l’infrastruttura, grazie ai diversi strumenti e approcci che vengono messi a disposizione degli utenti finali. Vediamone alcuni.

La prima semplificazione riguarda la possibilità di allineare in modo automatico le performance richieste dall’applicazione grazie all’utilizzo di Pool contenenti dischi di diversa tecnologia, velocità e capacità: questo approccio consente allo spazio dedicato ad un’applicazione (LUN o filesystem) di essere distribuito,in modo automatico, su tipologie disco diverse, in modo da avere performance allineate alle reali necessità.  Nella figura seguente viene rappresentata una LUN composta da blocchi appartenenti a tipologie disco diverse.



Il vantaggio per il cliente che adotta questa tecnologia, consiste nel non dover scegliere a priori la tipologia disco da dedicare ad un’applicazione: una stessa applicazione potrà avere “pezzi” (blocchi) ad alte performance, dove queste sono richieste (ospitate ad esempio su dischi flash) e blocchi che richiedono performance relativamente basse, che potranno usufruire di spazio disco meno pregiato quale ad esempio i dischi SATA/Nearline ad alta capacità.

Questo approccio, denominato Auto-Tiering è stato adottato da diversi vendor storage. Il fattore differenziante in casa EMC riguarda la possibilità di implementare questo approccio con tutti e tre i Tier di storage (Flash Drives o SSD, HDD, HD Nearline) oppure solo con due Tier, con qualunque combinazione il cliente desideri. Per dare massima flessibilità è anche possibile dedicare all’applicazione un singolo Tier storage (ad esempio con dischi HDD oppure Nearline), anche all’interno di un Pool misto.

Il vantaggio di questo approccio è che il cliente viene sgravato dal dover pensare, in anticipo, alla tipologia disco da dedicare ad un’applicazione: questa potrà usare spazio più o meno pregiato, a seconda del carico di lavoro, senza necessità di fine tuning o migrazioni dati da parte dell’amministratore storage. Al cambiare del profilo di lavoro (ad esempio durante periodi di picco) il sistema risponde in modo automatico, senza ulteriori interventi.

Nelle figure di seguito viene riportato come il mix di performance delle applicazioni consolidate sul singolo storage, possa variare in un certo periodo, ad esempio trimestralmente. Nel caso proposto, le performance richieste dalla App3 sono relativamente basse nel primo trimestre, mentre sono il 55% del totale nell’ultima parte dell’anno. Allo stesso modo App4, che nel primo trimestre occupa il 22% delle risorse complessive, nell’ultima parte dell’anno viene addirittura spenta. Un approccio con Auto-Tiering (FAST VP – Fully Automated Storage Tiering) adatta quindi lo storage ai requisiti applicativi nel tempo.


 

Un altro meccanismo per gestire in modo automatizzato il tema delle performance è fornito data dalla possibilità di impiegare dischi Flash per espandere la cache di sistema dello storage. Questo secondo approccio, che permette di dare performance applicative anche a fronte di picchi di carico temporanei, anche all’interno della singola giornata, viene implementato nella famiglia storage VNX con la soluzione Fast Cache, ovvero l’estensione della cache di sistema storage in lettura e scrittura, con dischi Flash.

Questa caratteristica permette di avere fino a 4.2TB di cache disponibile per il buffering applicativo, sia per operazioni di lettura (comune nel traffico transazionale) che di scrittura (ad esempio reporting).

La combinazione delle due tecnologie (FAST VP + Fast Cache), uno dei veri differenzianti del VNX rispetto alle altre soluzioni presenti nel mercato, è quello che permette allo storage di adattarsi al carico applicativo, non solo nel tempo, ma anche alle richieste di performance repentine.

La domanda a questo punto potrebbe essere: ma il mio caso non potrebbe essere diverso? Non potrebbe essere che le mie applicazioni abbiano tutte richieste più o meno simili e quindi una configurazione storage tutta con dischi mediamente veloci (10kRPM o 15kRPM) non si adatti meglio alle mie esigenze? Mi servono davvero i dischi Flash con quello che costano? Non è meglio evitare i dischi Nearline?

Per rispondere a queste domande aggiungo un “bit”. EMC mette a disposizione dei partner e dei propri clienti diversi strumenti per analizzare lo “stato di salute” del sistema storage. Uno di questi tool è in grado, tra le altre cose, di mostrare quale percentuale di spazio esegue la maggior parte del carico di lavoro.

Qui di seguito viene riportato un esempio di questa analisi, eseguita su uno storage realmente in produzione. Nella grande maggioranza dei casi, solo il 20% (o meno) dello spazio disco, esegue la maggior parte del “lavoro” applicativo.




Si può quindi dedurre che un approccio tradizionale con tutti dischi della stessa tipologia, dove l’amministratore storage è costretto ad eseguire tuning successivi per ottenere boost applicativo, non ha senso nella maggior parte dei casi. Dischi mediamente veloci, tutti della stessa tipologia, sarebbero uno spreco per molte applicazioni (dove HD Nearline sarebbero sufficienti), mentre sarebbero troppo lenti per applicazioni ad alte performance (dove qualche disco Flash potrebbe fare la differenza).

Un approccio FASTVP + FAST Cache quindi, implementando una piccola parte di dischi Flash (5% o meno dello spazio totale) e un mix tra dischi HDD e HD Nearline capacitivi, permette di ottenere le massime performance disponibili sul mercato con un costo/TB complessivamente interessante. Nel caso appena riportato ad esempio, circa il 70% dello spazio, potrebbe essere affidato a dischi molto capacitivi. Contemporaneamente una piccola quantità di dischi Flash sarebbe in grado di soddisfare i picchi applicativi, sulla piccola quantità di spazio ad alto carico di lavoro.

Per analizzare la propria configurazione, anche di uno storage concorrente, è possibile chiedere supporto ad un contatto EMC oppure ad un EMC Business Partner qualificato. Se si dispone di uno storage della famiglia Clariion o VNX, è possibile eseguire direttamente un healtcheck del proprio sistema, gratuitamente, al seguente indirizzo:

https://app.mitrend.com/emcefficiency/upload

Caricando sul portale alcuni file di log, è possibile ottenere un report di performance semplice e dettagliato, come mostrato nelle figure di seguito:







In conclusione: EMC mette a disposizione diversi strumenti per comprendere lo stato di salute dello storage e delle applicazione che su di esso insistono. Le analisi che noi e i nostri partner eseguiamo presso i clienti, evidenziano che un approccio con FAST VP e Fast Cache permette di coniugare le performance richieste dalle applicazioni business critical con la gestione dei costi infrastrutturali; il tutto senza necessità di investire ore/uomo nei complicati tuning atti ad inseguire le richieste di performance che le applicazioni richiedono.

Di seguito alcuni link di approfondimento relativi alla famiglia storage Next Gen VNX:

http://www.emc.com/collateral/software/specification-sheet/h8514-vnx-series-ss.pdf
http://www.emc.com/collateral/hardware/data-sheets/h8520-vnx-family-ds.pdf
http://www.emc.com/about/news/press/2013/20130904-03.htm?M=c676bf05-7a74-463b-bdcb-c59f65339a23
http://pulseblog.emc.com/2013/09/04/introducing-the-next-generation-vnx-and-what-it-means-for-customers/?M=c676bf05-7a74-463b-bdcb-c59f65339a23
http://wikibon.org/wiki/v/VMware_Dominant_in_Multi-Hypervisor_Data_Centers#VMware_Storage_Integration

Umberto Galtarossa