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.
Impatti
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 di applicazione
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.