HPC: conosciamo meglio l’High Performance Computing

Man mano che i costi diminuiscono e i casi d'uso si moltiplicano, le soluzioni HPC basate su supercomputer, cluster di PC e cloud stanno attirando nuovi utenti di ogni tipo e dimensione.

hpc

Nel mondo odierno basato sui dati l’High Performance Computing (HPC) sta emergendo come la piattaforma di riferimento per le aziende che desiderano ottenere insight in aree diverse come la genomica, la chimica computazionale, la modellizzazione dei rischi finanziari e l’imaging sismico. Inizialmente scelto e utilizzato quasi solo dai ricercatori che avevano bisogno di eseguire calcoli matematici complessi, l’HPC sta ora attirando l’attenzione di un numero sempre più ampio di aziende che si estendono su una vasta gamma di campi.

“Gli ambienti che prosperano nella raccolta, analisi e distribuzione dei dati, e che dipendono da sistemi affidabili per supportare un flusso di lavoro ottimizzato con un’enorme potenza computazionale, hanno bisogno dell’HPC” afferma Dale Brantly, direttore dell’ingegneria dei sistemi di Panasas, fornitore di sistemi di archiviazione dei dati in ambito HPC.

Sebbene l’adozione da parte delle piccole e medie imprese rimanga relativamente scarsa, la tecnologia ha un grande potenziale per le organizzazioni che desiderano investire nella tecnologia e nelle competenze del personale. In genere, i casi d’uso HPC sono focalizzati su alcuni tipi di simulazione. “La simulazione del flusso d’aria sopra un’ala, la combustione in un motore, i sistemi meteorologici planetari, una reazione nucleare o la valutazione di un portafoglio di investimenti” afferma Kevin Kissell, direttore tecnico del calcolo quantistico presso Google Cloud. Altri casi d’uso mirano a obiettivi analitici, come la misurazione del ROI pubblicitario o la valutazione delle prestazioni di un’unità aziendale. Altri casi d’uso ancora possono essere classificati come traslazionali o trasformativi “come il rendering di film e video”, osserva sempre Kissell.

Elaborazione ad alte prestazioni senza il supercomputer

Un’idea sbagliata sostenuta da molti leader aziendali e IT è che tutti i sistemi HPC debbano essere basati su dei supercomputer. Infatti, mentre i supercomputer prodotti da aziende come Atos, IBM, HPE/Cray e Fujitsu sono al centro di numerosi sistemi HPC specializzati, un approccio maggiormente utilizzato è l’integrazione di più piccoli computer in un cluster interconnesso per fornire funzionalità HPC. In base a tale accordo, ciascun computer all’interno del cluster funge da nodo. Ogni nodo è in genere dotato di più processori, chiamati core di calcolo, che gestiscono le attività di calcolo. I processori, le unità di elaborazione grafica (GPU) e le risorse di memoria all’interno di ciascun nodo sono interconnesse per creare un sistema HPC.

Dato che il costo per ottenere e far funzionare un supercomputer e il suo software personalizzato può facilmente superare i milioni di dollari, la tecnologia rimane molto al di là della portata finanziaria della maggior parte delle aziende. Gli HPC di tipo cluster invece, che utilizzano computer interconnessi relativamente economici con software standard, sono generalmente più convenienti da implementare e da utilizzare. Tuttavia, anche un HPC basato su cluster di dimensioni modeste può rappresentare un investimento significativo per la maggior parte delle aziende, in particolare quelle con esigenze HPC limitate.

Questa situazione ora sta cambiando. Le aziende che desiderano accedere a HPC senza influire troppo sui budget IT ora hanno la possibilità di rivolgersi a servizi cloud pubblici come Google Cloud, Microsoft Azure, Amazon Web Services (AWS) e IBM Cloud.

“Questi servizi consentono alle aziende di avere accesso alle funzionalità HPC per soddisfare le loro esigenze aziendali senza investire pesantemente nell’infrastruttura hardware di un cluster HPC” afferma Maksym Pavlov, responsabile tecnico di .NET presso Ciklum, società di servizi digitali e di ingegneria del software. “L’emergere del cloud ha in qualche modo livellato il campo di gioco in una certa misura tra le piccole e le grandi aziende” aggiunge David Turek, vice presidente dell’exascale computing di IBM.

Passare dal cluster HPC al cloud HPC

L’Università della Carolina del Nord di Chapel Hill ha fatto affidamento a lungo sul suo cluster HPC locale per supportare le attività di ricerca in molteplici aree scientifiche, ingegneristiche e mediche. Tuttavia, poiché le esigenze di elaborazione della ricerca continuano a crescere, la domanda degli utenti sta iniziando a superare le risorse e la capacità di calcolo del sistema attuale. Anziché espandere il proprio investimento HPC esistente, l’università ha deciso di rivolgersi al cloud per fornire agli utenti un ambiente HPC on demand.

L’approccio si è rivelato sia economico che altamente flessibile. “Con il cloud, possiamo fornire il calcolo necessario per eseguire il lavoro richiesto e fare quel calcolo esattamente per tutto il tempo necessario per i lavori” ha affermato Michael Barker, CIO ad interim dell’UNC-Chapel Hill. “È un modo molto efficace per fornire i requisiti per eseguire il lavoro di calcolo”.

Il passaggio al cloud è stato sia necessario che benvenuto, afferma Jeff Roach, ricercatore senior della UNC-Chapel Hill. “Abbiamo un cluster locale molto tradizionale”. Tuttavia, nel tempo è diventato evidente che il sistema non riusciva gradualmente a stare al passo con un numero crescente di utenti che richiedevano potenza di elaborazione all’avanguardia e prestazioni più veloci. “Ci stiamo rendendo conto che il nostro cluster locale funziona davvero bene per le persone per cui è stato progettato, ma alcuni dei loro casi limite stanno diventando sempre più comuni”, continua Roach.

Con i casi d’uso esigenti di elaborazione che stanno rapidamente diventando la norma, la UNC-Chapel Hill ha iniziato a lavorare con Google Cloud e il fornitore di software di simulazione e analisi Techila Technologies per tracciare il suo percorso nel cloud HPC. Il primo passo dopo la pianificazione è stata una prova della valutazione del concetto.

Dall’altra parte dell’Atlantico anche l’Università di York ha deciso di adottare un approccio HPC basato su cloud. James Chong, un membro della Royal Society Industry e professore presso il Dipartimento di biologia dell’Università di York, osserva che l’HPC è ampiamente utilizzato da docenti e studenti nei dipartimenti di scienze come biologia, fisica, chimica e informatica, nonché in linguistica e molte altre discipline.

Il dipartimento di Chong sta attualmente utilizzando Google Cloud per analizzare i dati di sequenza del DNA. “In particolare, il mio gruppo è interessato ai microbiomi, comunità microbiche miste che sono coinvolte nella conversione di materiale di scarto (nel nostro caso, fanghi di depurazione) in bio-gas”, spiega Chong. “Usiamo l’HPC per sequenze di DNA brevi e seghettanti insieme in un metagenoma e poi separiamo i genomi dei diversi microbi in modo da poter capire come questi organismi rispondono ai cambiamenti nelle loro condizioni di crescita.”

Come i suoi omologhi UNC-Chapel Hill, Chong apprezza la potenza e la flessibilità che un servizio cloud HPC può offrire. “Il nostro HPC deve essere in grado di far fronte a una serie di requisiti: alcuni utenti desiderano molti processori, altri hanno bisogno di macchine ad alta memoria. In qualità di biologi, alcune delle applicazioni che utilizziamo richiedono molta rapidità a livello di calcolo”.

Il cloud HPC utilizzato dall’università ha anche la capacità di adattarsi alle esigenze in evoluzione. “Alcuni di noi stanno iniziando a utilizzare tecniche di machine learning e vogliono essere in grado di sfruttare diverse architetture”, osserva Chong. “L’ampia gamma di utenti dell’università significa che abbiamo anche bisogno dell’accesso a una gamma di pacchetti diversi”. Come la maggior parte degli HPC via cloud, il servizio utilizzato dall’Università di York consente a vari tipi di ricercatori di spostarsi tra gli strumenti software in modo semplice e rapido, senza perdere tempo in problemi di acquisizione, distribuzione o configurazione.

supercomputer

HPC con un supercomputer

Mentre i servizi cloud HPC offrono alcuni vantaggi, non è sempre la scelta migliore o più logica per le aziende interessate alla sicurezza e alla privacy. “C’è una grande sensibilità su dove si trovano i dati”, osserva Turek. “Soprattutto quando si osservano i vincoli del GDPR in Europa, ad esempio.”

Affrontando sia la privacy che la necessità di un’enorme potenza di elaborazione, l’Università di Miami ha recentemente optato per investimenti in un nuovo sistema HPC locale basato su supercomputer. L’università ritiene che i progetti di ricerca con enormi set di dati multidimensionali possano essere eseguiti molto più velocemente su supercomputer ad alte prestazioni appositamente progettati.

“Lo scorso agosto la scuola ha presentato il suo nuovo supercomputer IBM Triton basato sui server Power Systems AC922. Più di 2.000 studenti e docenti stanno già utilizzando il sistema per lavorare su progetti come previsione del clima, genomica, bioinformatica, visione artificiale e intelligenza artificiale osserva Nicholas Tsinoremas, direttore del Center for Computational Science dell’Università di Miami e vicepresidente per i dati e ricerca informatica.

L’implementazione, benché riuscita, ha incontrato alcuni ostacoli iniziali che quasi tutti gli adottanti di soluzioni HPC possono aspettarsi, indipendentemente dalle dimensioni, dal campo o dalle esigenze di elaborazione. “I problemi di migrazione si sono rivelati piuttosto ostici”, afferma Tsinoremas. È stato inoltre affrontato il problema della formazione e della riqualificazione degli utenti. “L’integrazione del nuovo sistema con i sistemi di archiviazione legacy è stata un’altra sfida”.

Tutte queste preoccupazioni evidenziano il fatto che, indipendentemente dal fatto che un sistema HPC sia basato in locale o nel cloud, la sua adozione richiede una grande pianificazione e preparazione. “È necessaria la competenza interna e l’istituzione deve avere un piano ben preciso in mente”, avverte Tsinoremas. È inoltre importante comprendere la natura e i requisiti dei carichi di lavoro. “In altre parole dobbiamo capire che problemi stiamo cercando di risolvere e come l’HPC aiuti a risolverli”.

Introduzione ai carichi di lavoro HPC

Un altro aspetto da considerare è l’importanza di selezionare i giusti strumenti di gestione delle risorse, che consentono a un’organizzazione di accedere e ottimizzare gli ambienti HPC. “Sia che stiate acquistando un ambiente hardware HPC tradizionale o che stiate sfruttando HPC nel cloud o una combinazione di entrambi, selezionare il giusto gestore del carico di lavoro HPC per i tipi di lavoro e i requisiti di throughput è fondamentale” afferma Jérémie Bourdoncle, direttore senior della gestione dei prodotti di Altair, fornitore di software di simulazione e altri strumenti e servizi relativi all’HPC. Un gestore del carico di lavoro può automatizzare la pianificazione dei lavori, nonché le funzioni di gestione, monitoraggio e reporting.

Kissell suggerisce infine una strategia di adozione che si concentri su conoscenza, semplicità, opzioni e cautela. “Può essere un lungo viaggio, quindi pianificatelo attentamente ma concedetevi anche opportunità per eventuali correzioni in corso. Scegliete un caso di test semplice ma rappresentativo e in cui le conoscenze acquisite dalle simulazioni o analisi HPC possano essere chiaramente identificate. Quindi selezionate un breve elenco di pacchetti software progettati per la vostra classe di problemi e testateli”, conclude Kissell.