Uno strumento per l emulazione di fallimenti hardware in sistemi virtualizzati

Documenti analoghi
Architetture software. Virtualizzazione

Un approccio innovativo alla tecnica di robustness testing del sistema operativo Linux

Strumento per l iniezione di guasti software nel sistema operativo GNU/Linux

Strategie per il miglioramento dei log applicativi basate su Software Fault Injection

Analisi di prestazioni di applicazioni web in ambiente virtualizzato

ANALISI DELLE TECNOLOGIE INTEL-VT E AMD-V A SUPPORTO DELLA VIRTUALIZZAZIONE DELL'HARDWARE

Realizzazione di un framework di monitoring per l'analisi di sistemi critici Anno Accademico 2013/2014

Un architettura per la gestione dei log di applicazioni distribuite

Un sistema per l'emulazione delle reti su cluster di macchine virtuali Anno Accademico 2007/2008

Realizzazione di un Tool per l iniezione automatica di difetti all interno di codice Javascript

Dr. Andrea Niri aka AndydnA ANDYDNA.NET S.r.l.

Il sistema operativo TinyOS

Tesi di Laurea Automazione del testing delle Interfacce utente di applicazioni WEB:

Virtualizzazione con KVM. Reggio Emilia - Linux Day 2014 Stefano Strozzi KVM

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Abilis VMX Demistied

Protezione del Kernel Tramite Macchine Virtuali

2. VIRTUALIZZAZIONE MEDIANTE PARTIZIONAMENTO

Virtualizzazione e Macchine Virtuali

Grid on Cloud : Implementazione e Monitoraggio

Linux Virtuale Linux Virtuale

PROPOSTA DI UN ARCHITETTURA IMS INTEGRATA IN UN AMBIENTE VIRTUALIZZATO: ANALISI DI PRESTAZIONI Daniele Costarella

tesi di laurea Anno Accademico relatore Ch.mo prof. Stefano Russo correlatore Ing. Generoso Paolillo candidato Marco Leoni Matr.

Progettazione e sviluppo di uno strumento di monitoraggio dei componenti software di un sistema per il controllo del traffico aereo

La virtualizzazione ed i suoi aspetti di sicurezza. Sergio Sagliocco Responsabile SecureLAB Direzione R&D CSP

Porting su architettura ARM Marvell 88F6281 ed analisi comparativa delle patch real-time RTAI e Xenomai per il kernel Linux

Virtualizzazione e Network management

Realizzazione di un sistema di logging prototipale per la piattaforma

Analisi empirica dei meccanismi di log in sistemi open-source!

Realizzazione di un tool di instrumentazione automatica a supporto della failure analysis

Sistemi operativi basati sul web

Analisi sperimentale di software aging nel kernel Linux

Approccio stratificato

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

Università degli Studi di Salerno

Introduzione alla Virtualizzazione

Sistemi Operativi. Introduzione. C.d.L. in Informatica (laurea triennale) Anno Accademico Dipartimento di Matematica e Informatica Catania

Metodologie e tecnologie a supporto nello sviluppo di applicazioni mobile di tipo Enterprise!

Fisciano, 24 ottobre 2008

Valutazione sperimentale di tecniche di testing per software in relazione ai tipi di guasti

The Onion PC. Virtualizzazione strato dopo strato

Una metodologia per la definizione dei livelli di criticità dei componenti di un sistema software complesso

Realizzazione di uno strumento web-based per la simulazione remota di reti di sensori senza filo

FACOLTÀ DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA DIPARTIMENTO DI INFORMATICA E SISTEMISTICA. Presentazione

Macchine Virtuali. Docente: Fabio Tordini

Tecniche di riuso del software: applicazione ad un caso di studio reale

Analisi della dependability di un middleware per la

Virtualizzazione. Orazio Battaglia

Analisi e utilizzo di un framework per lo sviluppo di applicazioni web

VIRTUAL INFRASTRUCTURE DATABASE

Real-Time Systems GmbH (RTS) Partition where you can Virtualize where you have to. Real Time Hypervisor

VIRTUALIZZAZIONE LUG - CREMONA. Linux Day - 25 Ottobre 2008

Implementazione di un servizio VoIP in ambienti SOA per mobile computing

Progetto ed implementazione di un tool di supporto allo sviluppo di applicazioni per Linux LibeRTOS

Architettura di un sistema operativo

memoria virtuale protezione

Sistemi Operativi. Introduzione. C.d.L. in Informatica (laurea triennale) Anno Accademico Dipartimento di Matematica e Informatica Catania

27/03/2013. Contenuti

Sviluppo di applicazioni mobili su piattaforma Maemo

Sistema Operativo Chrome: Analisi degli aspetti peculiari.

3 Capitolo primo Informatica e calcolatori

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Marco Cesati Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata

Lezione E5. Sistemi embedded e real-time

Potenza Elaborativa, Sistemi Operativi e Virtualizzazione

Analisi e sperimentazione della piattaforma Web Service Notification nell ambito del controllo del traffico aereo

UNIVERSITÀ DEGLI STUDI DI FIRENZE FACOLTÀ DI INGEGNERIA

Un Sistema Informativo per il Monitoraggio di Apparati Radar mediante l uso di Griglie Computazionali

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Confronto sperimentale tra tecniche di testing automatico per applicazioni Android

Strumenti per la gestione della configurazione del software

Analisi e sviluppo di un sistema automatico per la segnalazione di stati anomali dei job del Data Center S.Co.P.E.

Il Paradigma REST per lo sviluppo di applicazioni Web 2.0

Universal Gateway for ALL

Strumenti per il testing di applicazioni in ambiente Android

Un framework a supporto della sperimentazione di tecniche euristiche. per l ottimizzazione di pagine Web per Screen Readers

Uno strumento per il deployment automatico di performance test su piattaforme per la distribuzione di dati

Progetto e sviluppo di una Applicazione Android per l accesso a reti di sensori senza filo

Virtualizzazione e Privacy

3. PRODOTTI PER LA VIRTUALIZZAZIONE

Tecnologie di virtualizzazione per il consolidamento dei server

TITLE Sistemi Operativi 1

Sviluppo e manutenzione di un applicazione CAD tramite le WPF e l MV-VM

tesi di laurea Anno Accademico 2009/2010 relatore Ch.mo prof. Porfirio Tramontana candidato Pasquale Ludi Matr. 534\000438

Un sistema di identificazione basato sulla tecnologia RFID

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Architettura del calcolatore

ISTITUTO NAZIONALE DI FISICA NUCLEARE

Hardware di un Computer

Corso di Sistemi di Elaborazione A.A. 2008/2009

Sistema Operativo di un Router (IOS Software)

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

VirtualBox. Eseguire altri sistemi operativi dentro Linux. Stefano Sanfilippo. POuL. 28 ottobre 2013

Sviluppo di applicazioni MHP per la Televisione Digitale Terrestre

Infrastrutture e Architetture di sistema

Il Pattern MVC nei Framework di sviluppo per applicazioni Web. Analisi e comparazione di SPRING MVC Framework e ASP.NET MVC Framework.

Analisi e sviluppo di un portale di e-commerce

Simulazione di macchina: analisi virtuale del comportamento cinematico. Elio Bergamaschi

Transcript:

Tesi di laurea magistrale Uno strumento per l emulazione di fallimenti hardware in sistemi virtualizzati Anno Accademico 2012/2013 relatore Ch.mo prof. Marcello Cinque Ing. Antonio Pecchia correlatore Ing. Anna Lanzaro candidato Giovanni Fierro Matr. M63/40

Contesto e motivazioni Sistemi embedded e sistemi mission-critical Soluzioni multicore Alte prestazioni SWaP (Size, weight and power) ridotto Virtualizzazione Sistemi mixed-criticality Verifica e Validazione Intero sistema Macchine virtuali Critical applications RTOS General purpose applications OS Virtualization layer Multi-core processor

Obiettivo Obiettivo e contributo Analisi dei meccanismi di notifica e gestione di errori hardware in ambienti multi-core virtualizzati Contributo Realizzazione di un framework di error-injection Approccio basato sull emulazione di fallimenti hardware sfruttando l architettura di error reporting Casi di studio Intel I7 Xen 4.2.1 Linux Kernel 3.6.11

Di tipo bare-metal: Xen Hypervisor Progetto open-source nato presso l università di Cambridge Controlla le risorse, CPU e memoria Componenti Control domain, Dom0 Guest domain, DomU Toolstack e console I domini si interfacciano a Xen tramite hypercall Meccanismo analogo alle System Calls

Rilevamento e notifica errori hardware Gli errori hardware sono notificati al software di base sollevando un interrupt MCE (Machine check exception) Codici di errore loggati nella MCA (Machine Check architecture) Consiste in un insieme di registri MSR (Machine Specific Register), suddivisi in banchi

Hypercall: HYPERVISOR_mca Xen implementa un modulo software per la MCA. Handlers MCE Error logging Specifica hypercall: HYPERVISOR_mca Comandi: Fetch, lettura log; Msr_inject, scrittura MSR; Mce_inject, solleva MCE Modifica interfaccia comando Mce_inject Possibilità di iniezione nel guest

Injection tool Emulazione errori hardware Scrittura dei registri MSR Due modalità di iniezione Nell hypervisor Direttamente al guest Modifiche al codice Xen Handler MCE Allineamento vmsr guest

Injection tool: esempio di utilizzo al guest Generic cache hierarchy error level 1 MCG_STATUS 0X5 MCi_STATUS 0XBD80000000000000F MCi_ADDR 0X100 MCi_MISC 0X80 BANK 8 CPU 6 Dom_Id 2 Dom0 Console Target DomU mcelog Xen mce.c

Testbed Processore: Intel i7 8 core logici Target domain Linux OS: versione kernel 3.6.11 Test logs Log di sistema Report dell esperimento Workload generator Utility linux «stress»

Codici errore: Cache hierarchy error MCE Iniettati: 49152 Sperimentazione: Xen error handling L azione intrapresa è indipendente dallo specifico codice di errore Errori delegati al guest PCC (processor context corrupted) 1536 MCE iniettati

MCE inoltrati direttamente al guest Errori TLB 1536 MCE iniettati Sperimentazione: Linux OS Flag RIPV registro globale Restart IP (instruction pointer) valid Se basso kill del processo

Conclusioni Il tool realizzato in questo lavoro di tesi permette di testare sia il l intero sistema virtualizzato e sia la singola virtual machine. I meccanismi di error-handling testati non svolgono vere e proprie azioni di recupero dell errore. Sviluppi futuri Utilizzare il framework in sistemi critici reali Domini target solo ParaVirtualizzati Estendere l utilizzo del tool anche ad domini fully virtualized (HVM )