POLITECNICO DI MILANO
Sistemi adattivi basati su
Linux e FPGA
Alessandra Bonetto: [email protected]
Relatore: Marco Domenico Santambrogio
Motivazioni
Obiettivo: sfruttare l’adattività per decidere la migliore
implementazione, hardware o software, di una funzionalità
minimizzando il suo tempo di esecuzione
Metodo: rendere un sistema riconfigurabile adattativo,
modificando la sua capacità decisionale da procedurale a
cognitiva
Strumenti: un sistema operativo basato su Linux con
supporto alla riconfigurabilità su FPGA
Gestione centralizzata delle richieste
Livello intermedio tra utente ed hardware, impedisce
all’utente la scelta di un’implementazione
2
Indice
Da sistema riconfigurabile ad adattativo
Il flusso
La decisione
Caso di studio
Risultati
Conclusioni e sviluppi futuri
3
Da sistema riconfigurabile ad adattivo
Un sistema riconfigurabile è in grado di modificare i suoi componenti
hardware in tempo reale
Un sistema adattivo prende decisioni basandosi sull’osservazione del
mondo esterno e modificandosi di conseguenza
Un sistema riconfigurabile su FPGA può essere reso adattivo aggiungendo
un flusso di decisione interno al sistema
Flusso sul microprocessore presente nella parte statica
Parte riconfigurabile come mondo esterno osservabile e modificabile
4
Il flusso
Il flusso è composto da 3 passi di osservazione, decisione e azione
Osserva: esamina lo stato di ogni area, che può essere
Libera
Configurata con f in pausa/in esecuzione
Configurata con f’<>f in pausa/in esecuzione
Decidi: calcola i tempi di ogni azione
e sceglie l’azione che minimizza
questo tempo
Agisci: esegue l’azione
scelta e monitora i
tempi di esecuzione
5
La decisione
Riceve i dati sulle aree dall’osservazione precedente e la dimensione dei
dati da processare
Ricava una lista delle azioni possibili in base allo stato delle aree, tra
Configurazione
Riuso
Esecuzione HW
Riconfigurazione/rilocazione
Esecuzione sul microprocessore
Esecuzione SW
Per ogni azione possibile calcola il suo tempo di esecuzione in base alla
dimensione dei dati
Sceglie l’azione con tempo di esecuzione minore
6
Caso di studio
Applicazioni che simulano richieste di cifrature AES e DES con diverse
dimensioni di dati in ingresso
Architettura dinamicamente riconfigurabile implementata su Virtex II Pro
XCVP30, utilizzando un microprocessore Microblaze e il sistema operativo
PetaLinux
Le 2 aree riconfigurabili a sinistra rappresentano l’ambiente che il sistema
adattivo osserva e modifica
7
Risultati
Gli esperimenti effettuati hanno portato alla scelta della
soluzione che minimizza il tempo di esecuzione
L’esecuzione hardware è preferibile solo per dimensioni elevate dei
dati, dato l’alto tempo di configurazione
La scelta introduce un overhead temporale calcolato rispetto ad un
esecuzione software che si riduce in percentuale rispetto alla dimensione
dei dati
8
Conclusioni e Sviluppi Futuri
Miglioramenti dell’adattività
Scelta dell’implementazione valutata in tempo reale e
sulle azioni effettivamente implementabili
Tempo di esecuzione minimo rispetto alle possibili azioni
Sviluppi futuri
Introdurre l’uso della preemption hardware
Migliorare l’overhead introdotto dalla decisione
9
Domande
10
Scarica

Acheronte: Nuovo Flusso di Caronte