HPC, cluster Linux e Grid Computing

[Contesto]

A differenza da quanto comunemente percepito, nel mondo attuale il calcolo scientifico sta assumendo un ruolo sempre più strategico in virtù del suo impiego in tutte le scienze applicate attraverso metodi e algoritmi che consentono la simulazione al computer di fenomeni naturali e processi tecnologici.
La complessità di problemi di grande rilevanza scientifica, sociale ed economica, la cui rappresentazione richiede la disponibilità di consistenti risorse di calcolo, ha portato allo sviluppo ed alla diffusione di sistemi di elaborazione parallela, costituiti da gruppi o cluster di calcolatori, che sfruttano le capacità di calcolo e di memoria dei singoli componenti per ottenere prestazioni che, in un recente passato, potevano essere erogate solo da costosissimi supercomputer.
Nell’arco degli ultimi anni, inoltre, sono state sviluppate tecnologie che consentono di integrare differenti sistemi di calcolo in modo da distribuire efficacemente parti di elaborazioni complesse sui sistemi più adatti o su quelli disponibili in un determinato momento. Tali tecnologie, denominate di grid computing, consentono la condivisione, la selezione e l’aggregazione dinamica in tempo reale di risorse di calcolo autonome e geograficamente distribuite, a seconda della loro disponibilità, capacità, prestazioni e costi, ed in funzione della qualità del servizio richiesto.
Questo nuovo paradigma di calcolo sta riscuotendo notevole interesse e consensi, e dalla sperimentazione si sta passando ad un uso sempre più avanzato e massiccio praticamente in tutte le strutture all’avanguardia nell’High Performance Computing (HPC): dai gradi centri di calcolo agli istituti scientifici più prestigiosi alle aziende che sempre più sostituiscono con la modellazione e la simulazione al computer le tradizionali e ben più costose e limitative verifiche distruttive.
È quindi interessante notare come, sebbene concepiti ed utilizzati principalmente nel campo del calcolo scientifico, i cluster ed i sistemi di grid stiano invece trovando nuove applicazioni in settori eterogenei quali, solo per citare i più importanti, quello finanziario, quello della progettazione (automobilistica, aeronautica, ecc.), della simulazione, delle previsioni meteorologiche e della genetica. Di conseguenza il loro interesse valica i confini della ricerca pura e fa comprendere come la crescita diffusa di conoscenze in questo ambito possa generare in prospettiva sul territorio importanti ricadute economiche ed occupazionali ed inoltre costituire l’innesco per nuove attività imprenditoriali ad alto contenuto innovativo.
Da un punto di vista più squisitamente pratico, l’interesse verso i cluster, e soprattutto verso quelli basati su Linux, sta crescendo rapidamente principalmente per i seguenti motivi:

  • basso costo di impianto;
  • eccellenti doti di flessibilità e scalabilità;
  • notevole potenza di calcolo garantita dall’aggregazione di server di basso costo;
  • impiego diffuso di software open-source;
  • possibilità di essere aggregati e condivisi in grid anche geografici.

Pur essendo, almeno in apparenza, strutturalmente semplici, questi sistemi richiedono, però, competenze specifiche sia in termini di disegno architetturale, per riuscire a definire soluzioni tecnologiche il più possibile aderenti alle specificità delle singole applicazioni, sia, e forse in maniera ancor maggiore, in relazione alla loro gestione, amministrazione, ottimizzazione d’uso, condivisione fra diversi gruppi di lavoro, ecc.. Di conseguenza le conoscenze tecnico/sistemistiche e soprattutto l’esperienza specifica nel settore rappresentano un fattore determinante nell’economia complessiva di un progetto di grid.

[La proposta della Spring Firm®S.r.l.]

In questo contesto la Spring Firm® S.r.l., che ha già sviluppato notevoli competenze attraverso la realizzazione di diverse importanti progetti, è in grado di proporre soluzioni “chiavi in mano” calibrate sulle esigenze del Cliente che includono:

  • lo studio delle applicazioni e, di conseguenza, delle configurazioni hardware e dei sistemi di interconnessione più adatti;
  • la valutazione dei sistemi di “provisioning” più funzionali alla/e applicazione/i in esame;
  • l’analisi e la selezione di software e componenti accessorie (compilatori, ambienti di debugging, ecc.);
  • la completa installazione, configurazione e messa a punto dei sistemi;
  • la formazione del personale sull’uso e sulla gestione dell’infrastruttura di calcolo realizzata;
  • l’eventuale monitoraggio e gestione dei sistemi eventualmente anche da remoto.

[Clientela di riferimento]

Dipartimenti universitari, centri di ricerca, studi di progettazione, aziende manifatturiere che utilizzano sistemi di progettazione e/o di simulazione, aziende di servizi che basano la loro offerta sulla modellazione e simulazione.