L’esigenza di avere analisi dei dati e database più veloci sta portando a creare infrastrutture parallele per ottimizzare le prestazioni e soddisfare la richiesta di risposte in tempo reale. Si tratta di un aspetto fondamentale per l’interazione con l’Internet of Things.
Tuttavia, le attuali tecnologie capaci di accelerare le prestazioni e ridurre la latenza aggiungono anche significative problematiche alle applicazioni esistenti, dando maggiore complessità e conferendo costi più elevati.
Anche se cavalcando la Legge di Moore i computer sono diventati sempre più veloci, sinora non siamo stati capaci di metterli a lavorare in parallelo per cercare di risolvere i continui problemi di latenza e tempi di risposta. Ad affermarlo è il ceo di Datacore, George Texeira, con il quale facciamo un istruttivo excursus sulle evoluzioni tecnologiche degli ultimi anni per individuare il trend più plausibile.
Questo è accaduto – spiega – perché la maggior parte dei processi di elaborazione avviene in modo seriale, sottoutilizzando le funzionalità multi-core intrinseche nelle moderne piattaforme server preconfigurate.
I prodotti sfornati dalle società tecnologiche dieci anni fa erano già pensati per trarre vantaggio dalla parallelizzazione, ma l’hardware disponibile a quell’epoca non disponeva delle funzionalità di elaborazione multi-core e nemmeno della larghezza di banda nella memoria per consentire ai database paralleli di decollare.
Invece, per moltiplicare le prestazioni il mondo si è spostato verso i cluster. Ma il problema principale (la latenza, causata in particolare dall’I/O) non è stato affrontato.
Sono allora arrivate tecnologie, come le unità flash a stato solido e i protocolli NVMe, che hanno aiutato, ma hanno anche portato a ulteriori spese senza sfruttare pienamente i vantaggi delle funzionalità multiprocessing.
La tecnologia in-memory è recentemente entrata in voga per le applicazioni database, ma anche se è importante per sfruttare la maggiore velocità della memoria, ancora una volta non ha affrontato il tema dell’elaborazione I/O e di tempi di risposta più rapidi.
Verso le infrastrutture parallele
Se la parallelizzazione potesse realizzarsi senza creare problemi a programmi e applicazioni esistenti, e se tutti i multi-core fossero all’opera a tempo pieno invece di rimanere in attesa delle richieste di I/O, il risultato sarebbe una rivoluzione per la produttività, fondendo analisi in tempo reale ed elaborazione delle transazioni.
Server standard x86, uniti a software specifici, possono oggi essere utilizzati per parallelizzare l’I/O ed eliminare i rallentamenti delle diverse applicazioni che si trovano di fronte il problema dei servizi di I/O.
Lavorando a livello sub-applicativo, le tecnologie di I/O parallelo non creano problemi ai normali carichi di lavoro aziendali.
La piena potenza dei processori multi-core e la larghezza di banda della memoria disponibili nei server x86 sono invece in grado di abbassare la latenza e ridurre i tempi di risposta, dato che i processori elaborano in parallelo le richieste di I/O permettendo a un maggior numero di carichi di lavoro di essere gestito più velocemente.
Questo tipo di tecnologia è arrivato sul mercato nel 2016. Secondo Teixeira, quando le aziende cominceranno a comprendere i benefici delle infrastrutture parallele senza la complessità e i costi di tecnologie che non sfruttano completamente la potenza dei sistemi multi-core, l’interesse crescerà.
E questa sarà una delle tendenze principali del 2017.