Analisi sperimentale di software aging nel kernel Linux



Похожие документы
Un approccio innovativo alla tecnica di robustness testing del sistema operativo Linux

Studio dei fenomeni di aging per il servizio di Load balancing di CARDAMOM

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

UNIVERSITÀ DEGLI STUDI DI NAPOLI FEDERICO II

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

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

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

Analisi della dependability di un middleware per la

Progettazione di un tool a supporto di un metodo per la selezione delle tecniche di test

Analisi di prestazioni di applicazioni web in ambiente virtualizzato

Un sistema di identificazione basato su tecnologia RFID

Grid on Cloud : Implementazione e Monitoraggio

Implementazione di tecniche di tolleranza ai guasti in un middleware per la Data Distribution Service

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

Uno strumento per l emulazione di fallimenti hardware in sistemi virtualizzati

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

Un sistema di identificazione basato sulla tecnologia RFID

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

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

Sistema Operativo Chrome: Analisi degli aspetti peculiari.

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

Software di base. Corso di Fondamenti di Informatica

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

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

con ANTLR tesi di laurea Anno Accademico Relatore Ch.mo prof. Porfirio Tramontana Candidato Fabio Canova Matr

istraffic Sistema di monitoraggio Traffico

Problem Management. Obiettivi. Definizioni. Responsabilità. Attività. Input

Tesi di Laurea. Dispositivi e politiche di switching per cluster di Web server

Generazione Automatica di Asserzioni da Modelli di Specifica

La Gestione delle risorse Renato Agati

Università degli Studi Roma Tre

Un architettura per la gestione dei log di applicazioni distribuite

STRUTTURE DEI SISTEMI DI CALCOLO

Sistemi operativi. Esempi di sistemi operativi

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1

Automazione di Test di Sistemi Embedded. Sintesi

Un applicazione client per la localizzazione via Bluetooth e Wi-Fi di dispositivi Smartphone Anno Accademico 2005/2006

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput

Strumenti per la gestione della configurazione del software

Organizzazione Monolitica

Università degli Studi di Napoli Federico II Facoltà di Ingegneria. Corso di. Sistemi Distribuiti. Prof. Stefano Russo. Field Failure Data Analysis

UN SUPPORTO AUTOMATICO PER LA RACCOLTA E L ANALISI DI DATI SPERIMENTALI DI UN MIDDLEWARE PER LA DISTRIBUZIONE DI DATI

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

La schedulazione. E.Mumolo

Un architettura di servizi integrati di comunicazione su rete IP per una PMI

Architettura di un sistema di calcolo

Architettura dei calcolatori II parte Memorie

Il sistema operativo TinyOS

La memoria centrale (RAM)

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

DW-SmartCluster (ver. 2.1) Architettura e funzionamento

Modello dei processi. Riedizione delle slide della Prof. Di Stefano

Algoritmi di scheduling

Confronto sperimentale tra tecniche di testing automatico per applicazioni Android

Sistemi operativi basati sul web

IL SOFTWARE SECONDO LA NORMA UNI EN ISO :2008 (IIA PARTE) 1

Tesina per l esame di Sistemi Operativi a cura di Giuseppe Montano. Prof. Aldo Franco Dragoni

Sistema di protezione (1)

Sistema di protezione (2) Protezione (1)

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU

Il software di base comprende l insieme dei programmi predisposti per un uso efficace ed efficiente del computer.

Memoria secondaria. Struttura del disco. Scheduling del disco. Gestione dell unità a disco. Affidabilità dei dischi: RAID

Noi siamo quello che facciamo ripetutamente. Perciò l'eccellenza non è un'azione, ma un'abitudine. Aristotele. Qualità del Software

Prestazioni CPU Corso di Calcolatori Elettronici A 2007/2008 Sito Web: Prof. G. Quarella prof@quarella.

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

Pianificazione e progettazione

Reingegnerizzazione del processo di test nel contesto Exprivia

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

Capitolo 12: Troubleshooting Avanzato

Il Sistema Operativo (1)

Sistemi Operativi SCHEDULING DELLA CPU

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Utilizzare Event Viewer

Architettura di un sistema operativo

Lo scheduling. Tipici schedulatori

GUIDA AL PRODOTTO PRESENTAZIONE MEXAL JUNIOR. il gestionale affidabile e flessibile come la tua azienda

Транскрипт:

Tesi di laurea specialistica Anno Accademico 2008/09 Relatore Ch.mo Prof. Stefano Russo Correlatori Ing. Roberto Natella Ing. Roberto Pietrantuono Candidato Berniero Volzone Matr.: 885/288 1

Contesto Software dependability: la capacità del sistema di erogare un servizio che può essere ritenuto legittimamente fidato [Laprie et al., 2004]; è un requisito rilevante per i sistemi mission/business critical: applicazioni radar per il controllo del traffico aereo; apparecchiature medicali; software per il controllo remoto di veicoli senza conducente; applicazioni di e-commerce, ecc.. in scenari long running è minacciata dal fenomeno del software aging. 2

Definizione Software aging Fenomeno che riduce la dependability del software long running, che può manifestarsi attraverso: una lenta e progressiva degradazione delle prestazioni (esaurimento delle risorse); improvvisi stalli o crash. Cause Potenziali condizioni di errore derivate da: memory leaking e memory bloating; frammentazione dei dischi; lock su file non rilasciati; accumulo di errori di round-off, ecc.. Soluzione Software rejuvenation riavvio dell applicazione periodico (frequenza di esecuzione costi); preventivo (prima del fallimento). 3

Contributo Sviluppo di uno strumento in grado di monitorare lo stato di salute del SO Linux miglioramento delle prestazioni delle future versioni del kernel. Analisi del fenomeno di software aging, tramite lo strumento realizzato, al fine di: identificare le aree del kernel maggiormente legate all aging riduzione dei tempi e dei costi per le operazioni di debugging; stimare il Time To Exhaustion (TTE) delle risorse schedulazione ottimale delle operazioni di ripristino. Implementazione di: un tracer in kernel space una funzione in user space uno script in ambiente Matlab monitoring delle informazioni di sistema; acquisizione e formattazione dei dati; valutazione dei risultati sperimentali. 4

Analisi del software aging nel SO Linux Il metodo utilizzato è measurement-based monitoring e raccolta periodica delle informazioni; analisi dei dati reperiti. 5

Strumento di monitoring 6

Procedura sperimentale Monitoring del sistema Dati raccolti Analisi dei dati Salvataggio Prelievo Sperimentatore 7

Esecuzione dell esperimento esperimento Settaggio del carico imposto con il toolstress (scelto tramite capacity test): 50 processi per lo stress della CPU; 50 processi per l I/O; 100 processi per malloc e free (blocchi di 4 MB); 100 processi per write ed unlink (blocchi di 4 MB). abilitazione del tracer; attivazione della funzione per il reperimento delle informazioni in user space; esecuzione del test per un tempo minimo di 5 giorni. 8

Analisi dei dati raccolti Individuazione dei trend di aging significativi test di Mann-Kendall; metodo di Sen. Decorrelazione dei dati Principal Component Analysis. Identificazione dei parametri di workload più rilevanti. 9

Trend di aging individuati Sono stati individuati 3 trend di aging (riguardanti il sottosistema di memory management) relativi a: memory depletion; throughput loss; time loss. 10

TTE estimation Per ogni trend individuato sono stati calcolati: slope (coefficiente angolare della retta rappresentante il trend); variazione percentuale dell indicatore di aging; TTE dell indicatore di aging. Memory depletion [kb/min] Parametri Slope (x10-5 ) V.P. (in 5 gg) TTE (giorni) FreeMem -0.5267-7.5% 64 Throughput loss memory management [op/min] n. tot. di mmap, munmap, brk -0.0063-11% 49 Time loss memory management [cicli clock/min] latenza tot. di mmap, munmap, brk 0.3537 4.8% 100 11

Identificazione dei parametri rilevanti Per ogni sottosistema è stato selezionato il set di PC in grado di ricoprire almeno il 98% della varianza delle informazioni monitorate. Le PC individuate rappresentano variabili (senza corrispettivo fisico) non ridondanti (decorrelate) e più rappresentative (con varianza maggiore). Dall analisi dei coefficienti di combinazione lineare delle PC è stato possibile individuare, quindi, un insieme di parametri di workload rilevanti. File system I/O Disk I/O driver Memory management Process management PC1 nr_access nr_softirq byte_request byte_alloc nr_task_runnable PC2 - nr_tasklet nr_flush nr_prelazioni - PC3 nr_write - - - PARAMETRI DI WORKLOAD 12

Conclusioni Conclusioni e sviluppi futuri Sono stati realizzati strumenti per il tracing e l analisi dei dati, grazie ai quali è stato possibile riscontrare il fenomeno del software aging nel SO Linux. L aging ha riguardato la quantità di memoria libera, il throughput e la latenza delle informazioni del sottosistema di memory management. È stata effettuata una stima del TTE ed è stato selezionato un subset di parametri di workload legato ai trend di aging individuati. Sviluppi futuri Esecuzione di ulteriori esperimenti per analizzare la variazione dei trend di aging al variare del carico. Sviluppo di tecniche di rejuvenation dei SO che sfruttino le metriche ed i parametri individuati. 13