Architetture
Focus
Con architetture dei sistemi di elaborazione ci si riferisce ad un'area di ricerca molto vasta che include le architetture parallele, i sistemi distribuiti, i server di rete fino ai sistemi embedded e alle reti di sensori. Tale ampio spettro di architetture risulta essere in continua evoluzione e richiede di affrontare i problemi di modellazione ed esplorazione dello spazio di progetto seguendo approcci flessibili che possono essere adattati all'ottimizzazione di diverse figure di merito, la cui rilevanza cambia a seconda dell'ambiente applicativo. Risultati efficaci sono stati ottenuti in questi anni studiando sinergicamente sia le caratteristiche architetturali dei singoli componenti del sistema, sia le proprietà delle applicazioni, sia le metodologie di progettazione orientate allo sviluppo congiunto delle componenti hardware e software.
Il gruppo di architetture dei sistemi di elaborazione è attivo su diversi temi di ricerca che coprono aspetti fondamentali ad ampio spettro ma anche orientati all’applicazione, quali ad esempio: sicurezza informatica, valutazione delle prestazioni, affidabilità, electronic design automation, architetture dei calcolatori e dei sistemi multiprocessore, sistemi operativi, sistemi embedded, computational intelligence, reti di sensori wireless, enterprise digital infrastructure.
Il gruppo di architetture dei sistemi di elaborazione è attivo su diversi temi di ricerca che coprono aspetti fondamentali ad ampio spettro ma anche orientati all’applicazione, quali ad esempio: sicurezza informatica, valutazione delle prestazioni, affidabilità, electronic design automation, architetture dei calcolatori e dei sistemi multiprocessore, sistemi operativi, sistemi embedded, computational intelligence, reti di sensori wireless, enterprise digital infrastructure.
Risultati principali della ricerca
Self-aware computing, Sistemi Adattativi e Riconfigurabili
L’uso della riconfigurabilità dinamica per piattaforme FPGA è una opzione recente che consente ai progettisti di modellare, validare e valutare le diverse architetture riconfigurabili. I problemi affrontati sono relativi alla modellazione ad alto livello, la fase di mapping e la definizione di architetture possibili per lo sfruttamento delle capacità di riconfigurazione dinamica (www.dresd.org). Parte di questo lavoro è stato sviluppato per architetture specifiche nel progetto FP7-FASTER. Contributi aggiuntivi relativi ai sistemi adattativi sono: un modo semplice e standardizzato per il monitoraggio delle prestazioni delle applicazioni, chiamato Application Heartbeats e AcOS, sistema Operativo orientato all’Adaptive Computing che parte dal kernel del sistema operativo Linux (www.change.org).
Power Management e gestione delle risorse per sistemi embedded
CPM (Constrained Power Management) è un modello formale e un framework per gestire le risorse di sistemi mobili multimediali che eseguono un normale sistema operativo. L'obiettivo è di fornire un framework a livello sistema che sia distribuito, scalabile, con basso overhead e in grado di individuare il compromesso ottimale tra prestazioni attese (QoS richiesto) e requisiti energetici. L'intera struttura è stata sviluppata e testata sotto Linux e sottoposta a brevetto internazionale con STMicroelectronics. Inoltre, il gruppo ha sviluppato anche il Barbeque Run-Time Resource Manager, un framework open-source per la nuova generazione di sistemi molti-core (https://bitbucket.org/bosp).
Metodologie per l’analisi, la sintesi e l'esplorazione di progettazione di sistemi eterogenei
Il principale risultato è un framework integrato per effettuare analisi e sintesi per sistemi eterogenei multi-processore (PandA) http://trac.elet.polimi.it/panda. Inoltre, una piattaforma software per la simulazione a livello di transazione per architetture di sistemi eterogenei è stato sviluppato includendo anche algoritmi di esplorazione e mapping delle applicazioni parallele su architetture multi-core e reti di sensori wireless.
Tecniche di esplorazione e di ottimizzazione per architetture multiprocessore
L'obiettivo è quello di configurare in modo ottimale i parametri della piattaforma dei multiprocessori per trovare il miglior trade-off in termini di diverse figure di merito (ad esempio, energia e ritardo). I principali risultati sono stati la progettazione di un framework per l’esplorazione automatica dello spazio di progetto con algoritmi avanzati e la sua implementazione in uno strumento open source (M3Explorer, http://m3explorer.sourceforge.net).
Network on-Chip orientata ai servizi e metodologie di progettazione
Il gruppo negli ultimi anni ha sviluppato un framework per sostenere la specializzazione della fase di progettazione per il paradigma NoC considerando sia la dimensione tecnologica, sia di potenza che di prestazioni. Inoltre, il gruppo ha progettato servizi per architetture NoC con obiettivi di controllo, affidabilità e di sicurezza, sfruttati anche all'interno dell’architettura STNoC, sviluppata da STMicroeletronics.
Prestazione del software e analisi di potenza
Il gruppo è stato uno dei primi a indagare su modelli di analisi e di ottimizzazione per il software embedded, portando allo sviluppo di un nuovo strumento per la stima delle prestazioni e analisi di potenza del software.. Le ultime realizzazioni nel contesto del progetto UE-FP7 COMPLEX hanno portato alla realizzazione di una catena di strumenti flessibile e portabile basata sul framework di compilazione LLVM.
Metodologie per la progettazione di sistemi affidabili
Il gruppo ha proposto una metodologia per la protezione dei sistemi embedded da realizzare su architetture eterogenee con acceleratori riconfigurabili. Gli ultimi risultati sono due framework: uno per la progettazione e implementazione a livello di sistema e su piattaforme (multi-)FPGA, e uno per l'analisi di proprietà correlate all’affidabilità.
Sistemi di controllo intelligenti
La ricerca si è focalizzata sugli aspetti sia metodologici che guidati dall’applicazione dei sistemi di controllo intelligenti comprendenti tecnologie wireless e cablate per il monitoraggio ambientale. I punti chiave della ricerca sono relativi al basso consumo di potenza dei dispositivi, la raccolta di energia, QoS, la gestione real-time e la capacità di sopravvivere in ambienti difficili. Le implementazioni sono: un sistema di monitoraggio wireless della barriera corallina in (Australia 2007); il monitoraggio della caduta massi e frane (Montagna S.Martino 2010; Torrioni di Rialba 2010/2011, IT).
Sistemi di raccomandazione per applicazioni TV
I sistemi di raccomandazione possono essere utilizzati per fornire agli utenti elenchi personalizzati di programmi TV che possono piacere. Il gruppo di ricerca ha sviluppato un gran numero di algoritmi di raccomandazione su misura per il dominio TV. Inoltre, il gruppo è riconosciuto a livello internazionale per la sua esperienza nella valutazione comparativa dei sistemi di raccomandazione.
Progettazione e valutazione della sicurezza in architetture informatiche
Il gruppo è attivo nei settori della progettazione efficiente e dell'implementazione di crittosistemi, innovazioni delle metodologie di analisi di tipo side-channel in canali sia attivi che passivi. Alcune attività di ricerca e prodotti sono stati integrati all'interno di STMicroelectronics e HPLabs, con conseguente produzione di brevetti europei e internazionali: 7 concessi, 2 sospesi, 1 depositato.
Analisi delle minacce
Il gruppo ha molto contribuito nell’applicazione di algoritmi di apprendimento alle minacce alla sicurezza delle informazioni. Più di recente, abbiamo progettato BURN, uno strumento di visualizzazione interattivo per la visualizzazione di sistemi autonomi che presentano attività fuorilegge. Abbiamo anche esplorato l'automazione di analisi del malware, proponendo Reanimator e Beagle, due sistemi che sfruttano somiglianze nel codice di base tra i campioni di malware diversi per identificare i comportamenti dormienti. Attualmente ci stiamo concentrando sulle minacce emergenti su dispositivi mobili. Il nostro primo esperimento sulla propagazione di un malware Bluetooth (nome in codice Bluebag) ha ricevuto l'attenzione dei media in tutto il mondo.
Tecniche analitiche e strumenti per la valutazione e l'ottimizzazione delle prestazioni
Sono state sviluppate nuove tecniche analitiche, come mean-field analysis, analisi asintotiche, agenti markoviani, per la valutazione e l'ottimizzazione delle prestazioni di sistemi di grandi dimensione, infrastrutture critiche, reti di sensori. Inoltre, abbiamo sviluppato nuove funzionalità della suite Java Modelling Tools JMT quali fork/join per il calcolo parallelo, fitting dei dati, identificazione colli di bottiglia con due e tre classi di richieste, regioni con limitazioni di capacità.
Consolidamento di Datacenter e Green IT
Potenza e riduzione dei costi in grandi datacenter possono essere conseguite adottando strategie di consolidamento dei server basate sull’utilizzo di modelli di ottimizzazione capaci di considerare diversi requisiti di prestazione e affidabilità, e considerando un posizionamento del carico di lavoro cooling-aware, cioè che tenga conto della temperatura dell’aria fredda fornita dal climatizzatore. Ciò consente di ridurre il consumo di energia dei server, soddisfacendo una serie di vincoli riguardanti temperature e tempi di risposta.
Diagnosi funzionale incrementale
Il lavoro di ricerca in questo settore è stato dedicato ad indagare nuove direzioni per la diagnosi di sistemi complessi, focalizzandosi sull'efficienza e la fiducia nei risultati, nel tentativo di ridurre al minimo la quantità di sforzo e di prove da dover effettuare. Il risultato principale è una metodologia per eseguire diagnosi adattive, funzionali e incrementali per ridurne i costi, ma mantenendo un'elevata precisione.
L’uso della riconfigurabilità dinamica per piattaforme FPGA è una opzione recente che consente ai progettisti di modellare, validare e valutare le diverse architetture riconfigurabili. I problemi affrontati sono relativi alla modellazione ad alto livello, la fase di mapping e la definizione di architetture possibili per lo sfruttamento delle capacità di riconfigurazione dinamica (www.dresd.org). Parte di questo lavoro è stato sviluppato per architetture specifiche nel progetto FP7-FASTER. Contributi aggiuntivi relativi ai sistemi adattativi sono: un modo semplice e standardizzato per il monitoraggio delle prestazioni delle applicazioni, chiamato Application Heartbeats e AcOS, sistema Operativo orientato all’Adaptive Computing che parte dal kernel del sistema operativo Linux (www.change.org).
Power Management e gestione delle risorse per sistemi embedded
CPM (Constrained Power Management) è un modello formale e un framework per gestire le risorse di sistemi mobili multimediali che eseguono un normale sistema operativo. L'obiettivo è di fornire un framework a livello sistema che sia distribuito, scalabile, con basso overhead e in grado di individuare il compromesso ottimale tra prestazioni attese (QoS richiesto) e requisiti energetici. L'intera struttura è stata sviluppata e testata sotto Linux e sottoposta a brevetto internazionale con STMicroelectronics. Inoltre, il gruppo ha sviluppato anche il Barbeque Run-Time Resource Manager, un framework open-source per la nuova generazione di sistemi molti-core (https://bitbucket.org/bosp).
Metodologie per l’analisi, la sintesi e l'esplorazione di progettazione di sistemi eterogenei
Il principale risultato è un framework integrato per effettuare analisi e sintesi per sistemi eterogenei multi-processore (PandA) http://trac.elet.polimi.it/panda. Inoltre, una piattaforma software per la simulazione a livello di transazione per architetture di sistemi eterogenei è stato sviluppato includendo anche algoritmi di esplorazione e mapping delle applicazioni parallele su architetture multi-core e reti di sensori wireless.
Tecniche di esplorazione e di ottimizzazione per architetture multiprocessore
L'obiettivo è quello di configurare in modo ottimale i parametri della piattaforma dei multiprocessori per trovare il miglior trade-off in termini di diverse figure di merito (ad esempio, energia e ritardo). I principali risultati sono stati la progettazione di un framework per l’esplorazione automatica dello spazio di progetto con algoritmi avanzati e la sua implementazione in uno strumento open source (M3Explorer, http://m3explorer.sourceforge.net).
Network on-Chip orientata ai servizi e metodologie di progettazione
Il gruppo negli ultimi anni ha sviluppato un framework per sostenere la specializzazione della fase di progettazione per il paradigma NoC considerando sia la dimensione tecnologica, sia di potenza che di prestazioni. Inoltre, il gruppo ha progettato servizi per architetture NoC con obiettivi di controllo, affidabilità e di sicurezza, sfruttati anche all'interno dell’architettura STNoC, sviluppata da STMicroeletronics.
Prestazione del software e analisi di potenza
Il gruppo è stato uno dei primi a indagare su modelli di analisi e di ottimizzazione per il software embedded, portando allo sviluppo di un nuovo strumento per la stima delle prestazioni e analisi di potenza del software.. Le ultime realizzazioni nel contesto del progetto UE-FP7 COMPLEX hanno portato alla realizzazione di una catena di strumenti flessibile e portabile basata sul framework di compilazione LLVM.
Metodologie per la progettazione di sistemi affidabili
Il gruppo ha proposto una metodologia per la protezione dei sistemi embedded da realizzare su architetture eterogenee con acceleratori riconfigurabili. Gli ultimi risultati sono due framework: uno per la progettazione e implementazione a livello di sistema e su piattaforme (multi-)FPGA, e uno per l'analisi di proprietà correlate all’affidabilità.
Sistemi di controllo intelligenti
La ricerca si è focalizzata sugli aspetti sia metodologici che guidati dall’applicazione dei sistemi di controllo intelligenti comprendenti tecnologie wireless e cablate per il monitoraggio ambientale. I punti chiave della ricerca sono relativi al basso consumo di potenza dei dispositivi, la raccolta di energia, QoS, la gestione real-time e la capacità di sopravvivere in ambienti difficili. Le implementazioni sono: un sistema di monitoraggio wireless della barriera corallina in (Australia 2007); il monitoraggio della caduta massi e frane (Montagna S.Martino 2010; Torrioni di Rialba 2010/2011, IT).
Sistemi di raccomandazione per applicazioni TV
I sistemi di raccomandazione possono essere utilizzati per fornire agli utenti elenchi personalizzati di programmi TV che possono piacere. Il gruppo di ricerca ha sviluppato un gran numero di algoritmi di raccomandazione su misura per il dominio TV. Inoltre, il gruppo è riconosciuto a livello internazionale per la sua esperienza nella valutazione comparativa dei sistemi di raccomandazione.
Progettazione e valutazione della sicurezza in architetture informatiche
Il gruppo è attivo nei settori della progettazione efficiente e dell'implementazione di crittosistemi, innovazioni delle metodologie di analisi di tipo side-channel in canali sia attivi che passivi. Alcune attività di ricerca e prodotti sono stati integrati all'interno di STMicroelectronics e HPLabs, con conseguente produzione di brevetti europei e internazionali: 7 concessi, 2 sospesi, 1 depositato.
Analisi delle minacce
Il gruppo ha molto contribuito nell’applicazione di algoritmi di apprendimento alle minacce alla sicurezza delle informazioni. Più di recente, abbiamo progettato BURN, uno strumento di visualizzazione interattivo per la visualizzazione di sistemi autonomi che presentano attività fuorilegge. Abbiamo anche esplorato l'automazione di analisi del malware, proponendo Reanimator e Beagle, due sistemi che sfruttano somiglianze nel codice di base tra i campioni di malware diversi per identificare i comportamenti dormienti. Attualmente ci stiamo concentrando sulle minacce emergenti su dispositivi mobili. Il nostro primo esperimento sulla propagazione di un malware Bluetooth (nome in codice Bluebag) ha ricevuto l'attenzione dei media in tutto il mondo.
Tecniche analitiche e strumenti per la valutazione e l'ottimizzazione delle prestazioni
Sono state sviluppate nuove tecniche analitiche, come mean-field analysis, analisi asintotiche, agenti markoviani, per la valutazione e l'ottimizzazione delle prestazioni di sistemi di grandi dimensione, infrastrutture critiche, reti di sensori. Inoltre, abbiamo sviluppato nuove funzionalità della suite Java Modelling Tools JMT quali fork/join per il calcolo parallelo, fitting dei dati, identificazione colli di bottiglia con due e tre classi di richieste, regioni con limitazioni di capacità.
Consolidamento di Datacenter e Green IT
Potenza e riduzione dei costi in grandi datacenter possono essere conseguite adottando strategie di consolidamento dei server basate sull’utilizzo di modelli di ottimizzazione capaci di considerare diversi requisiti di prestazione e affidabilità, e considerando un posizionamento del carico di lavoro cooling-aware, cioè che tenga conto della temperatura dell’aria fredda fornita dal climatizzatore. Ciò consente di ridurre il consumo di energia dei server, soddisfacendo una serie di vincoli riguardanti temperature e tempi di risposta.
Diagnosi funzionale incrementale
Il lavoro di ricerca in questo settore è stato dedicato ad indagare nuove direzioni per la diagnosi di sistemi complessi, focalizzandosi sull'efficienza e la fiducia nei risultati, nel tentativo di ridurre al minimo la quantità di sforzo e di prove da dover effettuare. Il risultato principale è una metodologia per eseguire diagnosi adattive, funzionali e incrementali per ridurne i costi, ma mantenendo un'elevata precisione.