La continua ricerca di più potenza ha visto i nostri computer evolversi da macchine con un singolo componente di elaborazione ad architetture complesse che associano CPU multiple core, GPU e DSP. È risaputo però che queste tecnologie si possono migliorare molto per quanto riguarda le prestazioni e il consumo di energia.
Il progetto REPARA, che finisce questo mese, si occupa di raggiungere questo obiettivo sin dal 2013. Il progetto che riunisce esperti di ingegneria del software, strumenti di sviluppo e hardware per computer, aveva come obiettivo originale ottenere un modello di programmazione unificato per computer eterogenei, cioè la trasformazione di codice sorgente esistente in modo che funzionasse con più schede grafiche e hardware riconfigurabile. Recentemente alcuni dei suoi progressi sono stati pubblicati sull’International Journal of Parallel Programming.
“Abbiamo ottenuto miglioramenti significativi sia nelle prestazioni che nell’efficienza energetica, paragonabili a quelli che si possono fare con un processo di sviluppo manuale,” ha detto il coordinatore del progetto, José Daniel García, professore associato del Dipartimento di Scienze informatiche dell’UC3M. “La differenza è che con un processo di sviluppo manuale, abbiamo bisogno di mesi di ingegneria, mentre con il nostro processo semiautomatico possiamo svolgere lo stesso compito in un paio di giorni.”
Grazie al finanziamento dell’UE di 2,6 milioni di euro, il team ha sviluppato e registrato vari prodotti tecnologici che si potrebbero commercializzare con un’azienda europea interessata.
Il lavoro consisteva, tra le altre cose, nel “refactoring” del codice sorgente, una tecnica usata nell’ingegneria del software per migliorare la struttura interna di un programma senza alterare il suo comportamento osservabile. Sono state migliorate tre proprietà fondamentali del codice sorgente originale: prestazioni (che aiutano a migliorare la velocità di esecuzione), efficienza energetica (che riduce il consumo energetico), e manutenibilità.
“Questi prodotti software possono aiutare gli sviluppatori a offrire servizi di ingegneria a terze parti semplificando il processo di sviluppo. Possiamo anche ridurre il tempo necessario agli ingegneri per regolare un prodotto software in un ambiente parallelo eterogeneo, il che farà scendere significativamente i costi di sviluppo e renderà più competitivo il settore dello sviluppo di software,” ha detto il prof. García. Un gran numero di mercati, come la sanità, i trasporti, la robotica e l’industria – per l’analisi dei difetti nelle parti prodotte – trarranno beneficio da questa innovazione e per ognuno di questi settori sono già stati impiegati casi di uso.
Cevelop – un ambiente di sviluppo integrato per sviluppatori C/C++ – e
Fastflow - un quadro di programmazione parallelo C++ che sostiene la programmazione parallela basata su modelli di alto livello – sono due notevoli strumenti di sviluppo creati dal consorzio che conta sette membri. È possibile scaricare questi strumenti dai rispettivi siti web.
Per maggiori informazioni, consultare:
sito web del progetto