Queste metodologie affrontano le sfide legate all'alimentazione, come l'utilizzo di dispositivi attuali e futuri o la pianificazione di macchine virtuali nei data center, tra le altre.
Per quanto riguarda i modelli di programmazione, il progetto si è concentrato sul passaggio da un modello a memoria condivisa a uno incentrato su attori e scambio di messaggi. Ciò consente ai programmatori di ottenere una maggiore efficienza energetica, aumentando al contempo la loro consapevolezza delle problematiche legate all'energia. Due approcci esemplificativi sono:
• Soluzioni di programmazione personalizzate per architetture GPU/CPU eterogenee. La gestione diretta della GPU tramite codice ottimizzato può ridurre il consumo energetico di circa l'80%. Tuttavia, ciò richiede una specializzazione che riduce la programmabilità. Il progetto ParaDIME ha sviluppato tecniche basate su linguaggi specifici di dominio che generano codice sia per la CPU che per la GPU, consentendo un risparmio energetico fino al 40% e, soprattutto, rendendo queste architetture più accessibili a una gamma più ampia di programmatori.
• Strumenti che promuovono una maggiore consapevolezza dell'alimentazione e dei costi. Questi strumenti valutano i requisiti di alimentazione di un singolo processo in esecuzione in un ambiente virtualizzato. Possono essere utilizzati anche per modelli di costo incentrati sull'utente, per implementare la pianificazione delle attività che tenga conto del consumo energetico e come indicatore della quantità di risorse eterogenee consumate da un'applicazione.
Per quanto riguarda i tempi di esecuzione, il progetto ParaDIME ha sviluppato una grande infrastruttura decentralizzata composta da piccoli data center che forniscono riscaldamento e acqua calda. Questo sistema porterebbe a una maggiore efficienza, come dimostrato dal partner industriale del progetto, l'azienda tedesca Cloud&Heat. I ricercatori di ParaDIME hanno sviluppato:
• Uno scheduler multi-data center: questo pianifica le attività su diversi data center, raggiungendo un equilibrio tra i carichi dei data center e le esigenze di riscaldamento/raffreddamento. Ciò ha portato a una riduzione fino al 50% delle emissioni di CO2 e del consumo energetico.
• Uno scheduler cross-data center: sono state sviluppate tecnologie per ridurre sia il tempo necessario per riattivare le macchine virtuali sia i costi associati alla loro migrazione. La comunità QEMU (un emulatore di macchine virtuali open source) sta analizzando parte di questo lavoro. Gli istituti che attualmente utilizzano QEMU per virtualizzare i propri carichi di lavoro trarranno vantaggio dal codice di migrazione per macchine virtuali ottimizzato dal progetto ParaDIME. Inoltre, il progetto ParaDIME ha contribuito con una funzionalità che tiene traccia delle modifiche ai dispositivi a blocchi, già integrata nell'ultimo kernel Linux.
A livello hardware, i ricercatori del progetto ParaDIME hanno proposto e simulato diverse metodologie per migliorare l'efficienza dei nodi di calcolo, tra cui:
• Pianificazione delle attività su core eterogenei (ad esempio, processori big.LITTLE o sistemi che combinano core FPGA, GPU e CPU). È possibile risparmiare in media il 40% del consumo energetico combinando core FPGA, GPU e CPU rispetto a un processore multicore. La pianificazione di ParaDIME riduce anche il consumo energetico in media del 20% e il consumo di energia del 30% su diversi tipi di piattaforme eterogenee. Il progetto ParaDIME ha anche analizzato strumenti di stima della potenza per una varietà di core.
Si ottiene una significativa riduzione della tensione di alimentazione. Il risparmio energetico si ottiene combinando questa riduzione con tecniche di rilevamento e correzione degli errori a basso costo. Inoltre, i ricercatori di ParaDIME hanno studiato questa metodologia in circuiti realizzati con dispositivi di nuova generazione. La metodologia ParaDIME consente di risparmiare fino al 60% dell'energia consumata dalla cache dati L1.

Ulteriori informazioni