Public Computing Grid

High Performance Computing & Cloud. Quali sono le nuove frontiere del supercalcolo “in the cloud” e quali sono le opportunità?

C’è un risvolto dell’informatica – che non è gestionale, né transazionale – ma che rende possibile una serie di attività produttive che spesso travalicano il mondo dei cosiddetti servizi, tradizionalmente associato all’uso del computer e del mainframe. Parliamo ovviamente del calcolo ad alte prestazioni, dell’informatica a supporto della progettazione, della produzione in fabbrica, dello sviluppo di simulazioni fondamentali per una crescente quantità di applicazioni industriali e naturalmente la ricerca in campo scientifico, medico-farmaceutico, meteorologico. 

È l’informatica concreta dei modelli che imitano – con approssimazione sempre più precisa man mano che aumenta la potenza di calcolo – il funzionamento dei sistemi meccanici e fisici, quella che rende possibile sperimentare il comportamento di un profilo alare o la stabilità di una automobile molto prima che questi vengano costruiti, o che vengano allestiti dei prototipi. O che permette di ottimizzare, incrementare la produttività di ogni sorta di processo industriale, meccanico, chimico. Un limite importante aveva finora caratterizzato le infinite applicazioni dell’High Performance Computing (Hpc): i costi elevati delle infrastrutture hardware e la complessità degli algoritmi, del software fatto girare su tali infrastrutture. 

Cloud ad alte prestazioni

Oggi, questi limiti tendono ad annullarsi grazie alle enormi potenzialità del cloud computing, del clustering di elaboratori economici. La possibilità di disaccoppiare la proprietà e il controllo dell’hardware dagli aspetti puramente applicativi, unita alle enormi risorse dell’informatica collaborativa, riducono fortemente le barriere di accesso all’HPC. Anche realtà più piccole, le microaziende, gli studi professionali, che non possono permettersi investimenti troppo onerosi, sono in grado di disporre della necessaria potenza di calcolo. Ma anche per aziende, laboratori e università più importanti si aprono, grazie al cloud, notevoli opportunità a livello di ottimizzazione e integrazione delle risorse di calcolo “interne”. 

Ma le nuove frontiere del supercalcolo “in the cloud” sono alla portata di ogni realtà industriale e produttiva o ci sono dei requisiti minimi per quanto riguarda da un lato le competenze internet, dall’altro le infrastrutture hardware (computer, storage) e soprattutto di connettività (reti, interfacce)?

Lo abbiamo chiesto a Giorgio Richelli, architect systems and technology group di Ibm Italia, Ivan Renesto, enterprise field marketing manager di Dell e Elena Chiesa, presales director Server & Storage Systems di Oracle Italia.

High Performance Computing

Per Giorgio Richelli, architect systems and technology group di Ibm Italia (www.ibm.it), è opportuno premettere al discorso una definizione meno vaga di High Performance Computing. «Con questo termine HPC – afferma l’esperto di Ibm – ci si riferisce, genericamente, ad una classe di applicazioni che, come comune denominatore, possiedono tutte la caratteristica di eseguire una elevata percentuale di operazioni floating point. «In realtà – prosegue Richelli – questa categoria comprende applicazioni molto diverse fra loro, non solo per il campo di applicazione, che spazia dall’analisi del rischio bancario alla ricerca di giacimenti petroliferi, ma anche per le caratteristiche computazionali, come il fatto di essere o meno parallelizzabili, di poggiare su una o più specifiche architetture (per esempio multiprocessori a memoria condivisa vs. cluster), di poter sfruttare la presenza di acceleratori, dalla quantità di dati necessari all’elaborazione e a quelli prodotti, fino ai requisiti di I/O durante l’esecuzione, e così via».

Leggi anche:  Denodo, è la virtualizzazione del dato il propano alla transizione digitale

Quantità dei dati e qualità delle reti

Il modello cloud nelle sue varie forme – avverte ancora Richelli – «è di fatto utilizzabile solo per un sottoinsieme di queste applicazioni». L’architetto dei sistemi si riferisce a due tipologie di applicazioni, quelle che gli addetti ai lavori definiscono “embarassing parallel”, cioè naturalmente tendenti al parallelismo, o comunque facilmente eseguibili su sistemi Mpp (massive parallel processing, anche se questa natura dipende fortemente dalla qualità della interconnessione interna del cluster); o quelle che richiedano una quantità piccola o moderata di dati iniziali, producendo alla fine un volume di informazioni ancora accettabile. «Il limite sulle quantità di dati dipende anche evidentemente dalla qualità delle reti esistenti fra il repository dei dati e il luogo dove l’elaborazione verrà eseguita, considerando anche che queste elaborazioni producono dati che solitamente richiedono un post-processing». 

Modelli computazionali cloud

Con queste premesse, sottolinea Richelli, l’idea di porre un congruo numero di strumenti in un pool di risorse, a disposizione di utenti diversi in base alla necessità, è certamente utile. «Abbiamo avuto diversi clienti che si stanno già organizzando in questo modo. Ovviamente esistono importanti problemi di sicurezza e – per questo motivo – le aziende tendono a costituire le proprie risorse in cloud private – eventualmente anche distribuite geograficamente in più poli distinti – piuttosto che appoggiarsi a fornitori esterni».

Come ulteriore avvertimento, l’esperto di Ibm fa notare che bisogna considerare come i maggiori fornitori di ambienti “cloud” abbiano in genere un’offerta basata su macchine virtuali “general purpose”, dotate di risorse computazionali relativamente modeste e, sopratutto, condivise con altri utenti. Una constatazione che suona come un consiglio a non essere eccessivamente ottimisti nell’affidarsi a modelli computazionali cloud per applicazioni che richiedono risorse molto avanzate e a elevata disponibilità. 

Dai supercomputer ai cluster HPC

Ivan Renesto, enterprise field marketing manager di Dell (www.dell.it), ricorda come con il passare del tempo, grazie al progresso tecnologico, i costosissimi supercomputer hanno ceduto il passo ai cluster High Performance Computing, i quali hanno rappresentato una sempre più valida alternativa ai tradizionali sistemi Smp proprietari. «Il miglioramento del rapporto prezzo/prestazioni ottenuto con questi nuovi sistemi, costruiti su componenti hardware standard e con software open source, ha portato – secondo Renesto – a un cambiamento epocale nel panorama del supercalcolo e nella quantità di potenza di calcolo utilizzata. Nel corso degli ultimi anni si è assistito a una grande espansione del mercato HPC, soprattutto in termini di fatturato, nonostante l’innovazione tecnologica abbia ridotto notevolmente il costo dei supercalcolatori di un fattore pari a 10». 

Leggi anche:  Dialog Semiconductor migra lo sviluppo dei propri prodotti su Oracle Cloud

HPC sotto forma di servizio

Grazie allo sviluppo del cloud si sta concretizzando quella che sino a ora è stata solo una possibilità: rendere il calcolo a elevate prestazioni più accessibile alle organizzazioni, attraverso l’erogazione di risorse HPC sotto forma di servizio. «Esistono già casi di studio che mostrano come estendere sistemi HPC interni con risorse di calcolo nel cloud, cosiddetti “burst cloud”, dove applicazioni locali “irrompono” in un sistema esterno quando è richiesto l’uso di capacità di calcolo addizionali. È possibile che molte aziende stiano costruendo il proprio pool di risorse HPC nel cloud per far fronte alla futura e crescente domanda del mercato, e ci si aspetta di avere presto capacità cloud di questo tipo rivendibile e con applicazioni pre-installate». 

Le architetture in the cloud

Per Elena Chiesa, presales director Server & Storage Systems di Oracle Italia (www.oracle.it) le architetture “in the cloud” rappresentano una grande opportunità per rendere disponibili risorse di calcolo con modalità di provisioning “elastiche” utilizzabili per applicazioni che necessitano di altissime prestazioni. «Tutta la ricerca di Oracle in ambito infrastrutture mira a rilasciare componenti hardware e software per le architetture cloud, sia realizzate in forma “private” sia in “public”, in grado di trattare grandi moli di dati con performance strabilianti».

Vanno per esempio in questa direzione gli Oracle Engineered Systems, da Oracle Exadata Database Machine a Oracle Exalogic Elastic Cloud, da Oracle SPARC SuperCluster a Oracle Exalytics In-Memory Machine, disponibili anche in modalità IaaS con Capacity on Demand, che permette di utilizzare capacità di calcolo elastica on demand aggiungendo o rimuovendo risorse per gestire workload in continuo cambiamento.

«In questa direzione – spiega Elena Chiesa – vanno anche le componenti recentemente annunciate Oracle Virtual Computing Appliance, il sistema ingegnerizzato “general purpose” per architetture Cloud IaaS caratterizzato da alta scalabilità lineare, connessioni interne ad alte prestazioni e supporto a un’ampia gamma di sistemi operativi, e Oracle SPARC M6-32 e SuperCluster M6-32, disegnati per offrire altissime prestazioni di elaborazione con grandi moli di dati grazie alla tecnologia In-memory».

Cloud bursting

Ma con quali modalità gli utenti possono usufruire dei servizi di Hpc in the cloud? Quali parametri occorre rispettare in termini di provisioning, affidabilità, sicurezza?

Secondo Ivan Renesto di Dell, gli utenti che vogliano usufruire di servizi Hpc nel cloud devono ricorrere alle cosiddette tecnologie di “bursting” che consentano agli applicativi di “irrompere” nel cloud, rendendo l’operazione quanto più trasparente possibile all’utente. «Il cloud bursting, però, non è sempre la migliore opzione. Spesso, il fattore discriminante è rappresentato dall’applicazione. Supponendo di lavorare localmente con un’applicazione di fluido-dinamica su una decina di nodi di calcolo, nel momento in cui le necessità aumentano sino a richiedere ulteriori dieci server, noleggiare sul cloud una potenza di calcolo equivalente potrebbe non rappresentare la soluzione. Ciò che si otterrebbe sarebbe un cluster di 20 nodi, dove la latenza potrebbe essere un problema. Ci sono aree o tipologie di applicazioni dove questo modello potrà avere maggiore successo d’impiego, come in generale in un contesto embarrassing parallel». 

Leggi anche:  Il futuro del cloud secondo Cisco

Vantaggi e svantaggi per le aziende

Al tempo stesso, aggiunge tuttavia Renesto, utilizzare risorse Hpc in modalità cloud può presentare per le aziende sicuri vantaggi. «Penso, per esempio, al fatto di non essere costretti ad acquisire l’infrastruttura necessaria, di doverne assicurare la manutenzione e di garantire specifici Service Level Agreement». Ma al contempo ci sono anche alcuni svantaggi, per esempio la necessità di trovare un provider in grado di fornire una soluzione end-to-end comprensiva di licensing per il software HPC, un fattore che spesso viene sottovalutato. Un ulteriore ostacolo può essere costituito dalle difficoltà nell’acquisire il know-how necessario a ottimizzare applicazioni e processi affinchè siano eseguibili in modalità parallela. In ogni caso, non si sta parlando di orizzonti di fattibilità troppo distanti. Il cloud ad alte prestazioni è già oggi una realtà. «Quanto le soluzioni HPC siano potenzialmente già oggi “per tutti” ce lo dimostra un’azienda neo zelandese GreenButton, specializzata in High-Performance Cloud Computing. GreenButton fornisce una piattaforma cloud per lo sviluppo e la delivery di software e servizi che abilitano ISV (Indipendent Software Vendor) a spostarsi nel cloud e i loro utenti ad accedere a risorse nel cloud». 

Affidabilità e sicurezza

Elena Chiesa di Oracle ricorda che anche per ambienti HPC si conferma l’importanza dei criteri di affidabilità e sicurezza e di accesso che i servizi public cloud devono garantire. «Pensando al data center su cui poggiano i servizi cloud, Oracle accompagna la proposta di sistemi con la tecnologia software Oracle Enterprise Manager, che garantisce tutte le capacità di controllo dei servizi e delle risorse e gestione del provisioning, degli utenti e dei livelli di sicurezza».

Riassumendo, “il supercalcolo per tutti”, secondo la definizione di Ivan Renesto, è una opportunità concreta, a patto di restringere il campo applicativo alle simulazioni che più si prestano alla parallelizzazione basata su cluster di risorse low cost e condivisibili e avendo cura di accertarsi da un lato di padroneggiare al proprio interno le competenze necessarie per gestire algoritmi e architetture di nuovo tipo, dall’altro di relazionarsi con fornitori che a loro volta possano fornire determinate garanzie, tecniche e contrattuali.