Monitoraggio di applicazioni software mediante modelli di Markov - slides

12
Introduzione Analisi Risultati offline Risultati in Valgrind Conclusione Universit` a degli Studi di Trieste Facolt` a di Ingegneria Corso di Laurea Triennale in Ingegneria Informatica Monitoraggio di applicazioni software mediante modelli di Markov Laureando Riccardo Cecolin Relatore Prof. Enzo Mumolo

description

slides prelaurea - Riccardo Cecolin

Transcript of Monitoraggio di applicazioni software mediante modelli di Markov - slides

Page 1: Monitoraggio di applicazioni software mediante modelli di Markov - slides

Introduzione Analisi Risultati offline Risultati in Valgrind Conclusione

Universita degli Studi di TriesteFacolta di Ingegneria

Corso di Laurea Triennale in Ingegneria Informatica

Monitoraggio di applicazioni software

mediante modelli di Markov

Laureando Riccardo Cecolin Relatore Prof. Enzo Mumolo

Page 2: Monitoraggio di applicazioni software mediante modelli di Markov - slides

Introduzione Analisi Risultati offline Risultati in Valgrind Conclusione

Problema

Riconoscere a che programma appartiene un processo inesecuzione utilizzando il workload generato dal processo per:

verificare i processi in esecuzione per monitorare ilsoftware autorizzato

classificare i processi per ottimizzare l’allocazione dirisorse in un sistema operativo

P(H0)P(H1) ≶ Θ

H0 ≡ il processocorrisponde alprogramma dichiarato

H1 ≡ il processo noncorrisponde

Page 3: Monitoraggio di applicazioni software mediante modelli di Markov - slides

Introduzione Analisi Risultati offline Risultati in Valgrind Conclusione

Soluzione proposta

Rappresentare il workload di unprocesso con la sequenza di accessi inmemoria (indirizzi) ed analizzarlo construmenti di elaborazione dei segnali

Identificare un insieme di programmi dal workloadsignificativo

Trovare la metodologia piu efficace per l’estrazione delworkload

Effettuarne la classificazione da un punto di vistastatistico (modelli di Markov nascosti)

Page 4: Monitoraggio di applicazioni software mediante modelli di Markov - slides

Introduzione Analisi Risultati offline Risultati in Valgrind Conclusione

Workload analizzati

Spec CPU2006: suite di benchmark standardper il calcolo delle prestazioni di cpu e memoria

Caratteristiche:

elevato carico su cpu e memoria

I/O trascurabile

risultati confrontabili con altri metodi

400.perl, 401.bzip2, 403.gcc, 429.mcf, 445.gobmk,456.hmmer, 456.sjeng, 462.quantum, 464.h264ref,471.omnetpp, 473.astar, 483.xalanc

Page 5: Monitoraggio di applicazioni software mediante modelli di Markov - slides

Introduzione Analisi Risultati offline Risultati in Valgrind Conclusione

Modalita di estrazione

Valgrind: instrumentation framework sul quale e possibilesviluppare tool di analisi dinamica

Sviluppate due estensioni per Valgrind:

tracebin

Genera tracce di indirizzi in formati ascii e binariomemorizzabili su disco

tracehmm

Genera la traccia ed effettua tutto il processo di classificazionein memoria

Interfaccia e automazione via script Ruby.

Page 6: Monitoraggio di applicazioni software mediante modelli di Markov - slides

Introduzione Analisi Risultati offline Risultati in Valgrind Conclusione

Analisi hmm e reti neurali

Due modalita di analisi:

modelli di Markov nascosti

reti neurali feed forward, back-propagation

Page 7: Monitoraggio di applicazioni software mediante modelli di Markov - slides

Introduzione Analisi Risultati offline Risultati in Valgrind Conclusione

Risultati offline HMM

Parametri ottimali di centroidi, stati trovati tramite proveestese: 64 centroidi, 12 stati

Riconoscimento vicino al 100% per 8 tracce, 4 benchmark

Page 8: Monitoraggio di applicazioni software mediante modelli di Markov - slides

Introduzione Analisi Risultati offline Risultati in Valgrind Conclusione

Risultati offline reti neurali

Testati diversi valori per n◦ di neuroni di input, neuroni hidden

Riconoscimento non sempre possibile per 8 tracce,4benchmark

tracebin

Generati ∼ 400 GB di tracce per i benchmark Spec

Page 9: Monitoraggio di applicazioni software mediante modelli di Markov - slides

Introduzione Analisi Risultati offline Risultati in Valgrind Conclusione

Sviluppo di tool in Valgrind

Instrumentazione:

selezionare le istruzioni cheaccedono in memoria

registrarci delle callback

riempire buffer di indirizzi

effettuare l’analisi

Sviluppate librerie diquantizzazione vettoriale, hiddenmarkov models importabiliall’interno di Valgrind: senzadipendenze da glibc, libm...

tracehmm

Page 10: Monitoraggio di applicazioni software mediante modelli di Markov - slides

Introduzione Analisi Risultati offline Risultati in Valgrind Conclusione

Verifica su 12 benchmark

Test di verifica: 12 benchmark, 30 esecuzioni: ∼ 80%

tracehmm

Esecuzione dei test molto piu rapida rispetto ai test offline

Page 11: Monitoraggio di applicazioni software mediante modelli di Markov - slides

Introduzione Analisi Risultati offline Risultati in Valgrind Conclusione

Classificazione su 12 benchmark

Test di classificazione: 12 benchmark, 30 esecuzioni: 80%prendendo sottoinsiemi di tracce con correlazione bassa: +90%

Page 12: Monitoraggio di applicazioni software mediante modelli di Markov - slides

Introduzione Analisi Risultati offline Risultati in Valgrind Conclusione

Conclusione

Il sistema funziona

Il workload dei processi puo essere descritto mediante HMM

Applicazioni

Monitoraggio e sicurezza

whitelistblacklist

Allocazione di risorse

sistemi operativivirtualizzazione

Implementazione:

utilizzando sw in user space, Intel Pin

effettuando modifiche al MM del kernel Linux

utilizzando API di software di virtualizzazione