KEYWORD |
Development of a Highly Parallelizable Fault Injector for Micro-Architectural Level-Described Microprocessors
Parole chiave AEROSPACE, AUTOMOTIVE, HARDWARE AND SOFTWARE, SAFETY CRITICAL SOFTWARE, SIMULATION
Riferimenti ALESSANDRO SAVINO
Gruppi di ricerca DAUIN - GR-24 - SMILIES - reSilient coMputer archItectures and LIfE Sci
Tipo tesi EXPERIMENTAL/MODELLING, RICERCA APPLICATA
Descrizione L'incessante ricerca di migliorare l'affidabilità e la robustezza dei moderni sistemi informatici ha portato a un crescente interesse per i meccanismi di tolleranza ai guasti. Un aspetto cruciale di questa ricerca è la capacità di iniettare guasti in un sistema per valutarne sistematicamente la resilienza. Questa tesi propone lo sviluppo di un Fault Injector sfruttando le capacità dei simulatori di microarchitetturali. L'enfasi sarà posta sulla creazione di uno strumento di iniezione di guasti che fornisca modelli di guasto accurati e dettagliati e che raggiunga un alto grado di parallelizzazione per una simulazione efficiente degli scenari di guasto.
Gli obiettivi principali di questa tesi sono i seguenti:
- Sviluppare un iniettore di guasti: Progettare e implementare uno strumento di iniezione di guasti che si integri perfettamente con un simulatore di microarchitettura, iniettando in tutti i componenti microarchitetturali.
- Modelli di guasto accurati: Sviluppare e implementare modelli di guasto accurati che riflettano gli scenari del mondo reale, considerando i guasti transitori e permanenti. L'iniettore di guasti deve consentire agli utenti di specificare e personalizzare i parametri per emulare varie condizioni di guasto.
- Elevata parallelizzabilità: Implementare strategie di parallelizzazione per migliorare l'efficienza delle simulazioni di iniezione di guasti. Esplorare e sfruttare architetture di calcolo multi-core e distribuite per consentire l'iniezione simultanea di guasti in più componenti o sistemi, garantendo scalabilità e tempi di simulazione ridotti.
- Valutazione completa: Condurre valutazioni approfondite per convalidare l'accuratezza dei risultati dell'iniezione di guasti e valutare le prestazioni dello strumento sviluppato. Confrontare i risultati con i metodi di iniezione dei guasti esistenti e valutare l'impatto della parallelizzazione sui tempi di simulazione.
Lo sviluppo del Fault Injector prevede un approccio graduale:
- Revisione della letteratura: Revisione approfondita delle tecniche di iniezione di guasti, dei modelli e dei framework di simulazione esistenti.
- Progettazione e implementazione: Sviluppare un progetto completo per l'iniettore di guasti, considerando modularità, estensibilità e integrazione.
- Definizione del modello di guasto: Definire e implementare modelli di guasto che consentano agli utenti di configurare e iniettare guasti a vari livelli del sistema.
- Strategie di parallelizzazione: Esplorare e implementare tecniche di parallelizzazione per distribuire le attività di iniezione dei guasti su più core o macchine. Ottimizzare lo strumento per le prestazioni e la scalabilità.
- Valutazione e convalida: Condurre valutazioni approfondite per convalidare l'accuratezza dei risultati dell'iniezione di guasti e valutare l'impatto della parallelizzazione sul tempo di simulazione.
L'enfasi sull'elevata parallelizzabilità mira a soddisfare le richieste computazionali associate all'iniezione di guasti, consentendo simulazioni più ampie e realistiche.
I risultati attesi includono lo sviluppo di un robusto Fault Injector, una serie di modelli di guasto accurati e approfondimenti sull'efficacia della parallelizzazione nelle simulazioni di iniezione di guasti.
Conoscenze richieste - C/C++ Programming (Rust is considered a plus)
- Python Programming
- Advanced Computer Architectures knowledge
Scadenza validita proposta 06/12/2024
PROPONI LA TUA CANDIDATURA