Nel datacenter software defined tutti gli elementi dell’infrastruttura (rete, capacità di calcolo, server e storage) sono virtualizzati ed erogati come servizio
La virtualizzazione a livello di server e storage è un componente critico dellla trasfromazione verso il datacenter software defined, dato che porta a una maggiore produttività attraverso l’automazione software e l’agilità, proteggendo gli utenti dalla sottostante complessità dell’hardware.
Oggi sono le applicazioni a guidare l’impresa: sono esigenti, specialmente negli ambienti virtualizzati, richiedono allo storage prestazioni elevate per tenere il passo con l’acquisizione dei dati e con l’imprevedibile domanda dei carichi di lavoro aziendali.
Secondo il ceo di
Datacore,
George Teixeira, il problema è che in un mondo che richiede tempi di risposta quasi istantanei e accesso sempre più veloce ai dati aziendali critici, le necessità di applicazioni aziendali di primo livello come database SQL, Oracle e SAP sono rimaste senza risposta convincente. Nella maggior parte dei datacenter la causa principale di questi ritardi è l’infrastruttura di
storage dei dati.
I ritardi dello storage e la rivoluzione virtuale
Perché? Il principale collo di bottiglia sono state le prestazioni dell’I/O. Nonostante il fatto che quasi tutti i server standard mettano già a disposizione in modo conveniente un’ampia gamma di funzionalità multiprocessore, la maggior parte di loro non è sfruttata, trovandosi spesso in modalità inattiva.
Questo accade perché gli attuali sistemi si basano ancora su ottimizzazioni a livello di dispositivo legate a specifiche tecnologie a disco e flash che non dispongono di un’intelligenza software capace di sfruttare pienamente i più potenti sistemi server con architetture multi-core.
La rivoluzione dei server virtuali è diventata la “killer app” che ha portato al pieno utilizzo delle CPU e a un certo livello di funzionalità multi-core, ma il lato negativo è che la virtualizzazione e il passaggio a un maggiore consolidamento dei server ha creato un "effetto frullatore" in cui sempre più carichi di lavoro I/O degli applicativi si sono concentrati fino al punto di dover essere eseguiti in modo pianificato dallo stesso sistema.
Tutte quelle VM e le loro applicazioni si sono quindi infilate in un collo di bottiglia costituito da una “cannuccia di I/O” serializzata. Mentre processori e memorie hanno visto incrementi nella loro velocità, questo imbuto dell’I/O continua a limitare le prestazioni, specialmente quando si parla di applicazioni aziendali critiche che gestiscono carichi di lavoro costituiti da database e transazioni online.
Quando il flash non basta
Molti hanno provato ad affrontare il problema prestazionale a livello di dispositivo aggiungendo storage a stato solido (flash) per rispondere alla richiesta delle applicazioni aziendali o collegando fisicamente questi dispositivi veloci alle macchine virtuali (VM) in sistemi iper-convergenti.
Tuttavia, il miglioramento delle prestazioni dei supporti di storage, dove si rimpiazzano i tradizionali dischi rotanti con flash che cercano di fare le stesse cose, affronta solamente un aspetto dello stack I/O.
Collegare direttamente la flash alle VM sembra anche in contraddizione con il concetto di virtualizzazione, in cui la tecnologia viene elevata a un livello software defined al di sopra dei collegamenti cablati e al livello di consapevolezza fisica, aggiungendo complessità e cosiddetti "vendor lock-in” tra i livelli dell’hypervisor e dei dispositivi.
La risposta è nel multi-core
I processori multi-core sono invece all’altezza della sfida. L’elemento primario che si è perso è il software, che qui può trarre vantaggio dall’infrastruttura di elaborazione multi-core/parallela.
La tecnologia Parallel I/O consente di realizzare l’elaborazione dell’I/O in modo separato dalla capacità di calcolo e in parallelo, migliorando le prestazioni di I/O sfruttando la capacità della virtualizzazione di disaccoppiare i miglioramenti del software dalle innovazioni hardware.
Questo metodo utilizza il software per suddividere l’I/O parallelo tra tutti i core della CPU. La tecnologia Parallel I/O può pianificare in modo efficace l’I/O dei carichi di lavoro della virtualizzazione e delle applicazioni utilizzando le piattaforme server multi-core già disponibili.
Sfruttando la potenza dei multi-core è possibile superare il collo di bottiglia dell’I/O incrementando notevolmente la produttività, aumentando il consolidamento dei carichi di lavoro e riducendo l’inefficiente proliferare dei server.
Questo permetterà di ottenere risparmi più consistenti sui costi aumentando la produttività e portando il consolidamento a un nuovo livello, in modo che i sistemi possano fare molto di più con meno risorse.
La superstrada parallela
Parallel I/O, esemplifica Teixeira, è essenzialmente come una superstrada a più corsie con un sistema di sorpasso facilitato.
Evita il collo di bottiglia e i tempi di attesa creati dalla presenza di un singolo casello e apre gli altri core (tutte le corsie in questa analogia) per distribuire l’I/O in modo che i dati possano continuare a fluire avanti e indietro tra l’applicazione e il supporto di storage alla massima velocità.
L’effetto è che più dati fluiscono attraverso la medesima infrastruttura hardware nella stessa quantità di tempo, come avviene nei sistemi di storage proprietari.
La tradizionale infrastruttura a tre livelli costituita da server, rete e sistema di calcolo trae quindi beneficio dall’avere sistemi di storage che rispondono direttamente ed evadono le richieste di I/O più velocemente, potendo quindi supportare un numero significativamente maggiore di applicazioni e carichi di lavoro sulla stessa piattaforma.
L’efficienza di un’architettura parallela a bassa latenza è potenzialmente più critica nelle architetture iper-convergenti, che sono un’infrastruttura in cui tutto è condiviso. Se lo storage software è più efficiente nell’uso delle risorse di calcolo, questo significa che restituirà agli altri processi che girano sulla stessa piattaforma una maggiore quantità di potenza di calcolo disponibile.
Traendo il massimo vantaggio dalla potenza di calcolo offerta dai server multi-core, la tecnologia di I/O parallelo agisce come elemento abilitante di un vero datacenter software defined.
Questo si deve al fatto che evita qualsiasi collegamento fisico speciale che impedirebbe il raggiungimento dei benefici della virtualizzazione, mentre sblocca la sottostante potenza hardware per ottenere una notevole accelerazione delle prestazioni di I/O e storage. Risolve così il problema del collo di bottiglia dell’I/O e rende possibile la realizzazione dei datacenter software defined.