Utilizzare funzioni di machine learning aiuta ad ottimizzare la gestione dei dati, anche nelle applicazioni che richiedono elevate performance
Cassette, dischi rimovibili, dischi rigidi e SSD: le
soluzioni storage hanno vissuto una profonda evoluzione, e stanno continuando a diversificarsi. Con la crescente diffusione dell'intelligenza artificiale,
anche il modo in cui si memorizzano i dati promette di diventare più intelligente, efficiente, flessibile ed economico per le imprese. Coloro che desiderano archiviare in modo affidabile una mole sempre crescente di dati - ormai nell’ordine di grandezza dei petabyte - hanno a disposizione un’ampia scelta di possibilità, che però può talvolta risultare piuttosto confusa. Come può in realtà l'intelligenza artificiale supportare e portare una rivoluzione nell’ambiente storage attuale?
In genere, i responsabili IT desiderano che i dati siano memorizzati sul supporto più veloce possibile per
garantire un accesso rapido alle informazioni in qualsiasi momento. Ma è davvero necessario memorizzare tutti i dati sui media più potenti, affinché questi
siano sempre disponibili? La tecnologia flash è sicuramente più veloce rispetto a quella SAS near-line, ma è anche molto più costosa. Considerando che la maggior parte dei dati non viene utilizzata regolarmente, potrebbe non aver senso memorizzarli tutti sulla stessa tipologia di supporto flash.
Inoltre, ci sono dati che devono essere
conservati a lungo per questioni di conformità, e alcuni possono davvero rivelarsi necessari, ad esempio per la preparazione di analisi a lungo termine. Infine, anche i file di backup non devono necessariamente essere salvati su tecnologia flash, in quanto entrano in gioco solamente quando è essenziale il ripristino di un determinato set di dati. È indispensabile quindi che i responsabili IT
tengano costantemente sotto controllo la propria strategia di gestione dei dati in modo da determinare la soluzione di storage migliore per ogni applicazione.
Gli approcci manuali richiedono molto tempo
Fino ad oggi, sono state utilizzate
policy predefinite per determinare esattamente quali dati vengono memorizzati e dove. Tipicamente, le policy vengono definite in partenza, quando si creano le strutture corrispondenti. Successivamente, rimangono in gran parte invariate, anche se durante le attività operative, è possibile che risulti necessario apportare modifiche minori.
Ma la quantità e soprattutto la natura dei dati sta cambiando rapidamente. In passato, erano in gran parte standardizzati a causa delle limitate capacità e competenze dei sistemi IT di allora, ma oggi le cose sembrano aver preso una direzione differente. L'
adeguamento manuale e costante delle policy sta diventando sempre più complesso e rallenta il personale che dovrebbe invece concentrarsi maggiormente su task più rilevanti.
Strutture di dati più complesse richiedono
aggiustamenti ancora più frequenti e regolari, dato che una scelta sbagliata dello storage può rivelarsi negativa,
gravando eccessivamente sul budget nel caso in cui si scelgano soluzioni storage costose per conservare dati irrilevanti, o mettendo a rischio le operazioni se al contrario si ha un accesso troppo lento a dati invece necessari.
La soluzione dell'AI
Come è possibile risolvere questo dilemma? Una via d'uscita è affidarsi alla
intelligenza artificiale. Con un metodo automatizzato, gli adattamenti possono essere effettuati secondo per secondo senza necessità di un intervento manuale, consentendo alle aziende di adottare uno storage più economico. Grazie al
machine learning, un motore AI può valutare il comportamento dell'utente e la natura dell'accesso ai dati e assegnare di conseguenza la corretta posizione di archiviazione.
Inoltre, l'AI può proiettare i modelli in base a cui gli accessi devono essere effettuati per modalità d'uso future. L’AI può anche essere utilizzata per fare previsioni sulla memoria necessaria e sulle prestazioni che verranno richieste in futuro,
incidendo quindi sulla pianificazione futura dell'infrastruttura e sul relativo budget da considerare. In questo caso, un obiettivo importante è quello di evitare l’uso non necessario di risorse.
Ad esempio, l'intelligenza artificiale può essere usata tramite
una cache neurale. Quest’ultima utilizza algoritmi di apprendimento automatico per scansire un insieme di dati e analizzarne i modelli per trovare correlazioni nascoste. Di conseguenza, è la cache neurale a
determinare quali dati sono rilevanti per un accesso immediato sia da parte delle applicazioni sia direttamente dall'utente. I dati di uso più frequente (hot data) vengono memorizzati automaticamente sulla RAM (che è decisamente più veloce rispetto allo storage flash), i dati "caldi" (warm data) vengono salvati su flash mentre i dati meno utilizzati vengono collocati su unità SAS near-line, soluzioni molto più economiche.
Operazioni a bassa latenza
In un array di storage che combina DRAM,
supporti flash (SSD) e unità SAS near-line, la cache neurale riduce la latenza e accelera l'accesso in lettura/scrittura. La maggior parte delle applicazioni sono transazionali, e richiedono almeno due operazioni I/O separate. Un'operazione viene sempre utilizzata per integrare la transazione ai log, l'altra per l'effettiva operazione di scrittura dei dati. Questo significa che
le latenze possono avere un effetto importante sulle prestazioni. I tempi di risposta dei metadati influenzano quindi le prestazioni dell'applicazione. Sia le operazioni di lettura che di scrittura, cioè gli inserimenti, le modifiche e le cancellazioni dalla struttura dei metadati, vengono elaborate con la stessa latenza.
Queste operazioni vengono
eseguite senza pre-elaborazioni come la rimozione di pattern, la compressione o la crittografia direttamente nella DRAM del server di archiviazione. Nel frattempo, una seconda copia dell'operazione di scrittura viene effettuata nella DRAM di un altro nodo di storage con bassa latenza RDMA e solo allora viene inviata una conferma all'host. La scrittura diretta sulla DRAM collegata alla CPU del server si traduce in una latenza complessivamente inferiore rispetto all'accesso diretto ad un dispositivo flash esterno.
Inoltre, l'uso di un unico grande spazio di memoria per accettare l'accesso in scrittura - a differenza delle architetture tradizionali in cui la cache di scrittura è suddivisa in sezioni più piccole –
assicura il mantenimento di picchi di scrittura più elevati. Dati che cambiano frequentemente possono essere sovrascritti con una latenza DRAM, permettendo alla cache neurale di decidere in modo intelligente quali blocchi di dati possono essere memorizzati su quali supporti. La conservazione più lunga dei dati nella rete significa che la CPU e i backend vengono alleggeriti. La cache neurale può anche accelerare le operazioni di lettura tenendo i dati più attivi nella DRAM.
L'intelligenza artificiale
alimenta il suo stesso apprendimento esaminando grandi insiemi di dati e identificando le caratteristiche rispettive dei modelli. Quindi in pratica aiuta i manager IT a ridurre le spese di storage - che sono già una voce di primo piano nel loro budget – per consentire di concentrarsi su investimenti che portano innovazione e trasformazione.
Andrea Sappia è Solutions Architect Italy di Infinidat