April 28, 2024

PAPERS

A volte la vita ti colpirà alla testa con un mattone

Che cos’è? Perché ora, per cosa, da chi?

La gestione dei dati ai margini della rete non è un’idea nuova, ma sta diventando sempre più importante poiché le organizzazioni sono alle prese con volumi di dati in crescita e la necessità di elaborare le informazioni rapidamente.

Memoria computazionale è, tuttavia, un modo relativamente nuovo per affrontare questa sfida.

Un fattore chiave in questo caso è che i sistemi IT convenzionali, con componenti separati di elaborazione, rete e archiviazione, presentano colli di bottiglia intrinseci.

Un’opzione è infrastruttura iperconvergente (HCI), in cui elaborazione, archiviazione e rete sono integrati in nodi che possono essere integrati in cluster.

L’archiviazione computazionale fa un passo avanti e inserisce l’elaborazione nel sottosistema di archiviazione stesso. Questo, dicono i suoi sostenitori, offre un’efficienza molto maggiore quando la crescita dei dati deriva dalla proliferazione di sensori e Internet delle cose (IoT), o necessita di un’elaborazione rapida per intelligenza artificiale (AI) e apprendimento automatico (ML) casi d’uso.

Tuttavia, la tecnologia è ancora relativamente immatura, con solo una manciata di fornitori che offrono hardware di archiviazione computazionale, sebbene un numero maggiore faccia parte del Gruppo di lavoro della Storage Network Industry Association (SNIA).

Cosa spinge la necessità di storage computazionale?

Secondo SNIA, “le soluzioni di archiviazione computazionale si rivolgono tipicamente ad applicazioni in cui la domanda di elaborare carichi di lavoro di archiviazione in continua crescita sta superando le tradizionali architetture di server di elaborazione”. L’ente del settore cita AI, big data, distribuzione di contenuti e machine learning come tali carichi di lavoro.

Altre applicazioni includono crittografia e decrittografia, compressione e deduplicazione dei dati e gestione dello storage.

La crescita dei dati è sicuramente un fattore trainante. Tuttavia, la spinta non deriva solo dall’aumento dei volumi di dati, ma dalla necessità di accelerare l’elaborazione e ridurre le spese generali derivanti da attività ripetitive.

“Stiamo assistendo a un graduale aumento delle capacità: non è una rivoluzione, ma cambiamenti evolutivi”, afferma Andrew Larssen, esperto di trasformazione IT presso PA Consulting. “Man mano che diventerà più diffuso, vedremo la tecnologia essere utilizzata più ampiamente, nella pre-elaborazione, compressione, crittografia e deduplicazione o nella ricerca di dati, piuttosto che dover caricare i dati in un processore. ”

Sulla carta, un sistema dotato di memoria computazionale è meno dispendioso in termini di CPU ed energia rispetto alle architetture convenzionali.

Ciò aiuta al confine della rete, dove l’elaborazione locale può filtrare i dati prima di inviarli a un server convenzionale, ma anche nel centro dati, dove i moduli di archiviazione computazionale assorbono alcuni carichi di lavoro dalla CPU.

In un’architettura di archiviazione server convenzionale, la CPU richiede i dati, esegue l’attività e invia i dati all’archiviazione. In un modello di archiviazione computazionale, la CPU invia un’attività, come la decrittografia, al sottosistema di archiviazione “intelligente”. La sicurezza è un ulteriore vantaggio, poiché i dati non devono mai lasciare l’unità.

Tecnologie e opzioni di implementazione

Lo storage computazionale è abilitato da tecnologie che includono supporti a stato solido ad alte prestazioni, array programmabili a basso costo o core di elaborazione e interfacce efficienti.

L’attuale generazione di sistemi di archiviazione computazionale utilizza la memoria flash, sebbene, poiché l’elaborazione e l’archiviazione sono separate, qualsiasi tecnologia di archiviazione sufficientemente performante potrebbe funzionare.

Il sistema stesso è in genere un file Unità NVMe U.2 o M.2 o una scheda PCIe. Alcuni fornitori offrono anche EDSFF. L’eccezione è SmartSSD di Samsung che, come suggerisce il nome, si basa su un meccanismo SSD standard da 2,5 pollici. La roadmap di SNIA favorisce NVMe per CSD (unità di archiviazione computazionale).

Per fornire la capacità di calcolo, i fornitori utilizzano array di porte programmabili sul campo (FPGA) o System-on-Chip (SoC) basato su ARM.

La tecnologia FPGA è attualmente più diffusa. I reparti IT possono acquistare un sistema FPGA “fisso”, con funzionalità specifiche programmate in funzioni di gestione dello storage tipicamente comuni. I sistemi personalizzati o programmabili consentono agli utenti di aggiungere le proprie funzioni, tramite linguaggi FPGA di basso livello o un linguaggio di programmazione di alto livello come Xilinx Vitis.

Tuttavia, gli FPGA non possono essere programmati al volo. Ciò ha spinto alcuni fornitori a utilizzare invece i SoC core ARM. Questi possono eseguire Linux e hanno il potenziale per espandere ulteriormente la capacità della tecnologia di archiviazione computazionale.

Ad esempio, la SNIA prevede che i fornitori aggiungano Ethernet o altre reti per consentire la comunicazione peer-to-peer tra dispositivi di archiviazione computazionale.

Finora, tuttavia, solo un fornitore, NGD, sta realizzando dispositivi di archiviazione computazionale basati su ARM.

Poiché ci sono così tante applicazioni per l’archiviazione computazionale, il mercato per la tecnologia non è omogeneo. Invece, i fornitori stanno sviluppando dispositivi su misura per applicazione, per interfaccia e per il modo in cui sono programmati e gestiti.

Alcuni fornitori si sono concentrati su sottosistemi dedicati, mentre altri posizionano lo storage computazionale come un potenziale aggiornamento dell’hardware di storage esistente.

L’industria attualmente definisce i dispositivi di archiviazione computazionale come: unità di archiviazione computazionale (CSD), che sono archiviazione con servizi computazionali aggiunti; processori di archiviazione computazionale (CSP), che sono hardware senza archiviazione propria ma che portano l’elaborazione a un array di archiviazione; e array di archiviazione computazionale (CSA), che forniscono più CSD o unità ordinarie con un CSP aggiunto per il calcolo.

SNIA definisce anche i servizi di archiviazione computazionale (CSS) come il livello dei servizi che gestisce la scoperta, il funzionamento e, potenzialmente, la programmazione dei dispositivi di archiviazione computazionale.

Casi d’uso per l’archiviazione computazionale

Lo storage computazionale si presta a qualsiasi applicazione in cui lo spostamento dei dati dallo storage alla CPU è il collo di bottiglia. Ciò suggerisce usi a uso intensivo di dati, piuttosto che di calcolo. La potenza di elaborazione disponibile in un FPGA o SoC è limitata.

E con pochi fornitori che offrono, almeno per ora, sistemi basati su SoC in grado di eseguire un sistema operativo (OS) completo, i CSD fissi si prestano a carichi di lavoro fissi e predeterminati come deduplica, gestione dello storage o crittografia.

I CSD programmabili stanno trovando un posto nelle applicazioni di intelligenza artificiale e business intelligence (BI), così come i sistemi basati su SoC. Possono essere utilizzati anche per l’accelerazione del database.

Solo i sistemi basati su SoC possono essere caricati con il codice direttamente da una CPU, e anche lì, questo significa cross-compilare il codice da X86 a ARM. Ma questo offre agli utenti la massima flessibilità, consentendo alle applicazioni di spostare l’elaborazione sui CSD secondo necessità.

Se i CSD ottengono la propria rete nativa, potrebbero anche condividere le attività direttamente e scaricare ulteriori carichi dalle CPU, o consentire un lavoro più complesso che potrebbe essere troppo grande per essere svolto da un singolo CSD sul bordo.

“Lo storage è a buon mercato al momento e ci sono applicazioni con molte ripetizioni, specialmente quando si passa a quantità di ‘data lake'”, afferma Larssen di PA Consulting. “Quindi, se puoi eseguire la compressione e la deduplicazione [in the storage layer], ne vedrai grandi guadagni.”

Larssen prevede di assistere alla diffusione dell’archiviazione computazionale da parte dei servizi di streaming, per la compressione video e le reti di distribuzione dei contenuti (CDN). Prevede anche una crescita degli acceleratori di database, per Postgres e MySQL.

“La tecnologia è ancora di nicchia”, afferma. “A meno che non sia fondamentale per la tua attività, probabilmente non lo implementerai. Potrebbe essere più economico raddoppiare la quantità di calcolo generale che stai utilizzando. Quando ciò è irraggiungibile, è allora che devi pensare fuori dagli schemi”.

Fornitori di storage computazionale

Pliops commercializza il suo processore di archiviazione come acceleratore hardware per database e altri carichi di lavoro ad alta intensità di dati. Si concentra su Postgres e MySQL. Il fornitore offre l’accelerazione del nodo di elaborazione e archiviazione, utilizzando la tecnologia basata su NVMe.

Samsung offre il suo Smart SSD, che utilizza un chip FPGA Xilinx. La tecnologia è disponibile tramite Samsung o Xilinx. Samsung sta attualmente posizionando la tecnologia per la BI, l’intelligence del portafoglio finanziario e per il settore dell’aviazione.

NGD è attualmente l’unico fornitore ad utilizzare SoC in grado di eseguire un sistema operativo per alimentare la sua memoria computazionale. Dice che il suo sistema è indipendente dal flash Nand ed esegue Linux a 64 bit.

Eidetico offre il suo processore di archiviazione computazionale NoLoad. Si dice che sia il primo CSP NVMe ed è mirato all’accelerazione dell’infrastruttura dei data center e alla ricerca scientifica, nonché alla riduzione generale dei costi.

Scaleflux offre azionamenti AIC e U.2. La sua serie CSD 2000 supporta fino a 8 TB (terabyte) di memoria flash 3D Nand, con compressione e decompressione del percorso dati.