HPC in espansione tra on-premises e cloud

Soluzioni capaci di aggregare risorse per fornire elevatissime prestazioni computazionali, di storage e di banda, puntando verso il modello cloud

Avatar di Riccardo Florio

a cura di Riccardo Florio

L'High Performance Computing più brevemente HPC, nasce all'interno dell'ambito accademico al fine di rispondere alle esigenze delle applicazioni scientifiche e ingegneristiche in modo più semplice e meno oneroso rispetto all'utilizzo di supercomputer di fascia alta che venivano proposti da aziende quali Cray o Sequent.

Questo modello, nel corso degli anni, sotto la spinta dello sviluppo applicativo da una parte e delle richieste di elaborare quantità di dati sempre maggiori dall'altra, ha trovato un crescente impiego in altri ambiti: dal business, alla finanza, all'ambito militare fino alle nuove applicazioni Web.

L'HPC mette a disposizione risorse elevatissime in termini di memoria, capacità di elaborazione e I/O, attraverso un meccanismo di aggregazione della potenza di calcolo che consente di risolvere problemi e fornire soluzioni che nessun singolo server può risolvere a causa di limitazioni di risorse. Gli ambienti HPC organizzano i computer in cluster o grid (spesso i termini grid e HPC sono usati come sinonimi); i cluster HPC sono costituiti da nodi multicore e sono collegati in rete tramite cavi di interconnessione a elevate prestazioni che utilizzano tecnologie come InfiniBand, fornendo una memoria di calcolo e una larghezza di banda di rete aggregate che supera di ordini di grandezza quelle dei server standalone tradizionali. Per gestire la comunicazione parallela tra i nodi viene solitamente utilizzato il protocollo MPI (Message Passing Interface).

Differenti requisiti per differenti applicazioni

Le applicazioni in cui l'HPC trova utilizzo sono molto variabili e dipendono dagli specifici requisiti prestazionali in termini di elaborazione, storage, interconnessione. Infatti, per esempio, alcune applicazioni sono a elevato parallelismo, ma non richiedono un alto livello di interconnessione delle reti. Altre richiedono alte velocità di interconnessione per avere bassa latenza e una connettività a elevato throughput. Altre ancora hanno elevate esigenze di I/O e vedono nello storage un collo di bottiglia. Al livello superiore si collocano le applicazioni che devono sfruttare i vantaggi prestazionali in tutti gli ambiti: elaborazione, storage e interconnessione.

Quando poi sono coinvolti ambienti enterprise eterogenei, ci sono complessi fattori interni ed esterni di cui tenere conto quando si vagliano le opzioni HPC; non ultimo il problema che l'innovazione tecnologica continua ad avanzare mentre i progetti aziendali sono ancora in corso rendendo tutto più complicato.

HPC

HPC on-premises e cloud-based

Nel tradizionale mercato HPC basato su server on-premises, i fornitori con la maggiore quota di mercato sono HP, IBM e Dell. La vendita di apparecchiature HPC di fascia alta ha evidenziato una flessione negli ultimi anni, ma IDC prevede per il futuro una nuova espansione.

Nuovi sviluppi si attendono dai modelli cloud in cui l'HPC trova uno spazio naturale dato che il cloud nasce proprio per poter aggregare con la massima flessibilità risorse distribuite. Diversi fornitori di HPC cloud-based, dispongono di un'offerta cloud progettata appositamente per le applicazioni HPC, come IBM, Amazon, Penguin Computing o R-HPC. 

Ricordiamo anche che Red Hat fornisce Messaging Realtime Grid (MRG) un'infrastruttura HPC che si rivolge principalmente a cluster dipartimentali, basata su una distribuzione Linux personalizzata e ottimizzata per il calcolo parallelo, il messaging ad alta velocità e con una serie di strumenti per semplificare la gestione del cluster, che supporta soluzioni di base sia on-premises sia cloud-based. La Grid MRG supporta la gestione di fino a 10mila  server fisici o macchine virtuali, con opzioni di interconnessione Ethernet (1 GbE e 10GbE) o Infiniband (20 Gb).

L'evoluzione del mercato potrebbe quindi portare a un confronto sempre più serrato tra i più consolidati ambienti HPC on-premise con le loro applicazioni personalizzate e le nuove offerte basate su cloud che puntano a sfruttare al meglio i vantaggi in termini di flessibilità, disponibilità, scalabilità e costo.

Vantaggi e sfide dell'HPC cloud-based

Le soluzioni HPC cloud-based consentono di sfruttare una serie di vantaggi specifici come la rapida scalabilità, la possibilità di storage praticamente illimitato, affidabilità, resistenza ai guasti e un modello di pricing di tipo on-demand. Alcune soluzioni cloud sono già in grado di rivaleggiare con soluzioni HPC preesistenti e consolidate; per esempio le istanze C4 di Amazon rientrano nella classifica TOP 500 dei più potenti sistemi di computer in tutto il mondo.

Le principali sfide da superare per gli ambienti HPC virtualizzati di tipo cloud-based riguardano la gestione di macchine virtuali, a causa del volume di risorse di calcolo coinvolte nelle soluzioni di questo tipo. Anche i modelli di licensing devono essere valutati nel caso in cui risultino potenzialmente coinvolte un gran numero di macchine virtuali. Altri aspetti che rendono indispensabile l'uso di strumenti di gestione idonei sono la pianificazione della capacità e la congestione della rete. 

Un'altra considerazione che condiziona l'utilizzo dell'HPC in cloud, ma che risulta poco rilevante per l'HPC on-premise, riguarda il costo legato al trasferimento dei dati in uscita dal cloud. Quando si tratta di carichi HPC, possono essere coinvolti grandi quantità di dati e quindi è necessario valutare accuratamente e pianificare l'utilizzo in base anche alle stime di trasferimento dei dati.