HPC: Key Technologies and Tools

Obiettivi delle attività di ricerca

La programmazione HPC è intrinsecamente complessa perché richiede di combinare le competenze specifiche dei domini applicativi, come la matematica, la chimica e la fisica, con le competenze tecniche nell’ambito del calcolo ad alte prestazioni più tipiche dell’informatica e dell'ingegneria informatica. Una complessità destinata ad aumentare con la tendenza in corso alla specializzazione dei dispositivi di calcolo (CPU, GPU, DPU, FPGA, etc.), l’eterogeneità delle piattaforme e la crescente necessità di garantire alle applicazioni requisiti extra-funzionali, quali sicurezza e robustezza.

Questa sfida è resa ancora più ardua dalla convergenza HPC-AI, che richiede di integrare stack software e metodi di sviluppo profondamente diversi. Per questo, gli strumenti e le metodologie di programmazione e per la gestione dei dati tradizionali dell’HPC dovranno evolvere verso livelli di astrazione più vicini alle esigenze dei domini applicativi, facilitando la progettazione di applicazioni sia corrette che efficienti (in tempo, energia, robustezza, etc.). 

 

I sotto-settori HPC in cui il laboratorio HPC-KTT esprime competenze specifiche sono:

 

  • Modelli di programmazione 

  • Algoritmi e librerie di software scientifico

  • Compilatori

  • Sintesi di alto livello di processori specializzati e acceleratori

  • Produttività: Programmabilità, portabilità, portabilità delle prestazioni

  • Integrazione, usabilità, standardizzazione

  • Ottimizzazione del consumo energetico, sistemi edge (hardware e software)

  • Cloud engineering, cloud-HPC, cloud-edge

Obiettivi tecnologici 

 

Le aree di interesse intersecano diversi obiettivi tecnologici di lungo termine, fra i quali

 

  • O1: Continuum digitale: supporto per nuovi modelli di distribuzione e utilizzo;

  • O2: Orchestrazione: supporto per più modelli di programmazione ed esecuzione;

  • O3: Prestazioni: scalabilità come concetto primitivo negli ambienti di programmazione;

  • O4: Multi-tenancy: messa a disposizione di ambienti specifici adatti al mondo dell'industria e che permettano il trattamento dei requisiti extra funzionali;

  • O5: Efficienza energetica: supporto sia in hardware sia in software; in particolare metodi di sviluppo software energy-aware;

  • O6: Standardizzazione, come elemento fondamentale a supporto della catena di valore del Continuum digitale.

Attività di formazione

Il laboratorio prevede il coordinamento di attività di formazione, sia in ambito accademico che industriale/applicativo (progettazione e erogazione). Al momento, le tematiche relative a HPC non sono adeguatamente rappresentate nei corsi di laurea triennale e magistrale. Il laboratorio si propone di intervenire nel dibattito in corso a livello nazionale ed internazionale relativo ai contenuti da includere in lauree di primo e secondo livello per coprire le basi necessarie alla formazione di esperti HPC. In particolare si pone come obiettivo quello di identificare i contenuti fondamentali che dovrebbero essere inclusi nei diversi livelli di insegnamento universitario, fra i quali sicuramente andranno inclusi: 

 

  • tecniche generali per la programmazione concorrente, parallela e distribuita

  • utilizzo di acceleratori riconfigurabili e non

  • strumenti per lo sviluppo e la messa a punto di applicazioni HPC a diverse scale di parallelismo

  • strumenti e tecniche per efficienza energetica delle applicazioni HPC

 

Oltre che nell’istruzione, il laboratorio HPC-KTT metterà in campo azioni volte a garantire la la formazione continua per utilizzatori e sperimentatori HPC anche nell’ambito  di realtà industriali. Il laboratorio lavorerà per definire linee guida unificanti per corsi di vario livello partendo  dalla formazione di base fino a aggiornamenti e specializzazioni.

 

Alle attività svolte all’interno del laboratorio si affiancheranno azioni di coordinamento ed integrazione con gli altri attori dello scenario HPC attivi in quest’area, quali i principali fornitori di infrastrutture HPC e gli esperti dei domini applicativi che tipicamente forniscono corsi sugli strumenti di utilizzo delle infrastrutture pur focalizzati su prospettive ed esigenze differenti. E’ intenzione del laboratorio anche istituire, o sfruttare i già esistenti canali diretti con i principali fornitori di tecnologia/hardware HPC creando delle sinergie che permettano da una parte di contribuire con feedback e suggerimenti al processo di sviluppo degli strumenti di programmazione messi a disposizione dai fornitori e dall’altra di conoscere in anticipo  nuovi strumenti di sviluppo prima ancora che siano disponibili sul mercato.

Attività di trasferimento tecnologico

Il laboratorio metterà in atto azioni volte al trasferimento tecnologico e al consolidamento delle attività di ricerca in collaborazione con l’industria e le PMI.

 

Il laboratorio intende affrontare argomenti di ricerca nell'area delle principali tecnologie HPC a larga scala (pre-exascale ed exascale), ma anche nel contesto di sistemi di media scala, che sono molto diffusi sia negli istituti di ricerca che nelle grandi industrie e consorzi di PMI. La portabilità, cioè la possibilità di utilizzare lo stesso ambiente software e gli stessi strumenti e tecnologie su sistemi di scala diversa è un elemento importante della catena del valore HPC. Le piattaforme cloud, cloud-edge e cloud-HPC sono ugualmente di grande interesse per la ricerca condotta nel laboratorio HPC-KTT. 

 

Il laboratorio intende utilizzare il proprio know how HPC per mettere in campo iniziative di trasferimento tecnologico in due distinte modalità:

  • Su richiesta, come insieme di esperti nel settore delle tecnologie abilitanti HPC in grado di fornire servizi di consulenza a realtà industriali. In questo ambito, uno dei primi passi del laboratorio sarà lo sviluppo in una “mappa delle competenze (in parte già elaborata nelle fasi costitutive del laboratorio) che permetta a soggetti industriali intercettare le competenze degli aderenti al laboratorio. Questa modalità  è finalizzata all’interazione con le realtà industriali già consapevoli delle potenzialità offerte dal mondo HPC e del possibile utilizzo delle relative tecnologie per i loro specifici interessi e domini.

  • In modo proattivo, mettendo a disposizione tramite canali virtuali o diretti pillole di conoscenza in grado di evidenziare aspetti diversi delle tecnologie HPC che possono avere una rilevanza ed un impatto nel mondo industriale, in modo da catturare l’interesse di quelle realtà che non conoscono le possibilità offerte dall’HPC e non sanno individuare autonomamente strumenti e tecnologie HPC a scale diverse per il miglioramento dei propri processi produttivi/di sviluppo.

 

Entrambe le modalità (la prima più di tipo “pop”, la seconda più di tipo “push”) dovranno far leva sull’ingente know how HPC delle varie sedi che aderiscono al laboratorio sia in forma integrata che per specifici campi di interesse ed applicazione.

Rapporto con le altre componenti del panorama nazionale HPC

L'ecosistema HPC è incentrato su tre distinti pilastri: infrastrutture, applicazioni e tecnologie abilitanti, che sono il tema del laboratorio  “HPC: Key Technologies and Tools” (HPC-KTT).

 



Spinto dalla rapida evoluzione degli ambiti applicativi dell'HPC, il laboratorio HPC-KTT svilupperà forti collaborazioni con gli altri laboratori CINI su tematiche contigue, anche nell’ottica di contribuire a mettere a disposizione strumenti e piattaforme per calcolo ad alte prestazioni adattate a specifiche esigenze applicative. In tal senso, il laboratorio punta ad essere complementare e sinergico rispetto sia ai gruppi che alle attività più direttamente correlate alle infrastrutture ed alle applicazioni. Si prevede in particolare la possibilità di identificare sinergie nella co-progettazione o co-tuning delle infrastrutture HPC su scale diverse, nonché lo sfruttamento di prospettive interessanti nella contaminazione reciproca tra le tecniche sviluppate per progettare e distribuire applicazioni HPC parallele in particolari domini applicativi e i risultati relativi allo sviluppo delle tecnologie abilitanti per HPC. All’interno dell’ecosistema CINI, il laboratorio si propone di interagire con i gruppi di lavoro ed i laboratori già esistenti che affrontano lo scenario HPC da prospettive più specifiche e dipendenti dall'applicazione (AI, Big Data, Machine Learning, Bioi’nformatica, Applicazioni mediche, Cybersecurity, Smart cities, IoT, ecc.) così da raccogliere nuove sfide da ingaggiare nello scenario tecnologico HPC e fornire competenze relative al calcolo parallelo in settori specifici di domini applicativi.

 

Share This

S5 Box

Cini Single Sign ON

Questo sito memorizza solo cookie tecnico/funzionali. Se vuoi saperne di più vai alla sezione Cookie Policy