Sintesi del progetto
FLUENDO sviluppa un insieme di strumenti che colmano il divario tra la prototipazione rapida in ambienti interattivi – come Jupyter Notebook – e la distribuzione su architetture eterogenee che includono Cloud e HPC. Il progetto semplifica il passaggio dal codice sperimentale alla definizione di workflow riproducibili, riducendo attività manuali e possibili errori nell’adattamento del codice ai diversi ambienti di esecuzione.
Obiettivi
Definire un paradigma ‘code once, run anywhere’ che permetta a ricercatori e sviluppatori di trasformare automaticamente sezioni annotate del codice in workflow CWL, orchestrati tramite StreamFlow e compatibili con infrastrutture distribuite. Rendere più accessibili le architetture HPC e Cloud a utenti privi di competenze specifiche in calcolo distribuito.
Problemi e necessità
Molti sviluppatori AI non hanno esperienza nella gestione di pipeline computazionali distribuite. Il passaggio dal prototipo alla produzione richiede riscrittura del codice, ottimizzazione e configurazione dell’infrastruttura, processi che rallentano il ciclo di sviluppo e ne aumentano la complessità.
Soluzioni sviluppate
Il progetto ha prodotto un ambiente per progettare workflow distribuiti, un compilatore source-to-source con annotazioni attraverso Python decorators e l’integrazione con StreamFlow per l’orchestrazione. Sono state adottate tecniche di Infrastructure-as-Code e containerizzazione per garantire portabilità. Il Proof-of-Concept ha mostrato miglioramenti nelle prestazioni in scenari di addestramento distribuito; sono state inoltre inviate quattro pubblicazioni a conferenze internazionali.
Benefici e ricadute
FLUENDO può ridurre la complessità tecnica nell’uso di sistemi distribuiti, facilitando gruppi di ricerca con competenze limitate nel calcolo parallelo. Le soluzioni sviluppate possono essere impiegate in addestramento distribuito e federato ed applicazioni didattiche sul calcolo distribuito. La portabilità e l’uso di standard aperti favoriscono la replicabilità e il possibile riutilizzo in diversi contesti.
Settori che possono beneficiare
Oltre al dominio Software, il progetto interessa i settori dell’Intelligenza Artificiale,della Formazione, e, in generale, contesti dove è richiesta l’esecuzione scalabile di workflow complessi su architetture distribuite.