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