Profilazione utente in ambienti virtualizzati
-
Upload
pietro-corona -
Category
Education
-
view
92 -
download
2
description
Transcript of Profilazione utente in ambienti virtualizzati
![Page 1: Profilazione utente in ambienti virtualizzati](https://reader035.fdocument.pub/reader035/viewer/2022062710/5594b1881a28ab0a648b46a1/html5/thumbnails/1.jpg)
1 / 23
Profilazione utente in ambienti virtualizzati
UNIVERSITA’ DEGLI STUDI DI TRIESTEDIPARTIMENTO DI INGEGNERIA E ARCHITETTURA
Laureando: Pietro CORONA
Relatore:Massimiliano NOLICH
![Page 2: Profilazione utente in ambienti virtualizzati](https://reader035.fdocument.pub/reader035/viewer/2022062710/5594b1881a28ab0a648b46a1/html5/thumbnails/2.jpg)
2 / 23
Introduzione
• Profilazione utente
o identificare alcuni comportamenti tipici degli utenti che utilizzano il
sistema
o creare i modelli di questi comportamenti misurando grandezze
proprie del sistema
o classificare il comportamento degli utenti in base ai modelli creati
o tema molto ampio, non limitato all’ambito informatico
o profilazione dell’utente che utilizza una macchina virtuale
![Page 3: Profilazione utente in ambienti virtualizzati](https://reader035.fdocument.pub/reader035/viewer/2022062710/5594b1881a28ab0a648b46a1/html5/thumbnails/3.jpg)
3 / 23
Scenario applicativo
• Server farm
• gli utenti acquistano una macchina virtuale in base alle loro
esigenze
• sistema host su cui è eseguito un layer di virtualizzazione
• sul layer di virtualizzazione sono eseguite le macchine virtuali
• user profiling mediante tool pensato per sistemisti
![Page 4: Profilazione utente in ambienti virtualizzati](https://reader035.fdocument.pub/reader035/viewer/2022062710/5594b1881a28ab0a648b46a1/html5/thumbnails/4.jpg)
4 / 23
Motivazioni
• la virtualizzazione è largamente impiegata dalle aziende per
abbattere i costi di gestione dell’infrastruttura informatica
• profilazione utente in ambienti virtualizzati è un problema ancora
in fase di studio
• la profilazione utente:
• consente di migliorare la qualità del servizio offerto
• consente di effettuare campagne di marketing mirate
• consente di rilevare i comportamenti anomali
![Page 5: Profilazione utente in ambienti virtualizzati](https://reader035.fdocument.pub/reader035/viewer/2022062710/5594b1881a28ab0a648b46a1/html5/thumbnails/5.jpg)
5 / 23
Problema
• classificazione user behavior ≈ classificazione programmi in
esecuzione
Classificare il programma in esecuzione su una
macchina virtuale, attraverso l’analisi delle tracce di
esecuzione ricavabili dal virtual machine monitor.
![Page 6: Profilazione utente in ambienti virtualizzati](https://reader035.fdocument.pub/reader035/viewer/2022062710/5594b1881a28ab0a648b46a1/html5/thumbnails/6.jpg)
6 / 23
Stato dell’arte
• In letteratura vengono proposti dei framework per l’analisi del workload su macchine virtuali in cui però non vengono presentati risultati sperimentali dettagliati ([MAER09] e [FA11])
• esistono dei lavori sulla classificazione dei programmi utilizzando i memory reference ([Mascots09],[Cec10])
• esistono dei tools commerciali (VmWare) per analisi del workloade supporto nell’allocazione delle risorse
![Page 7: Profilazione utente in ambienti virtualizzati](https://reader035.fdocument.pub/reader035/viewer/2022062710/5594b1881a28ab0a648b46a1/html5/thumbnails/7.jpg)
7 / 23
Studio di fattibilità
• Analisi dei virtual machine monitor sul mercato:o è possibile ricavare tracce di esecuzioneo considerati solo quelli più diffusi (VmWare Player, Oracle Virtual
Box, VmWare vSphere Hypervisor)o dati ricavabili da ciascuno (quali, con che frequenza)o interfacciamento con programmi ad hoc
• Virtual Box risponde meglio alle esigenze:o informazioni stato interno macchina virtuale (0,5ms)o informazioni su utilizzo risorse (1s)o dati ricavabili da APIo SDK con client API per vari linguaggi
![Page 8: Profilazione utente in ambienti virtualizzati](https://reader035.fdocument.pub/reader035/viewer/2022062710/5594b1881a28ab0a648b46a1/html5/thumbnails/8.jpg)
8 / 23
Scelte preliminari
• Tracce di esecuzione da utilizzareo memory reference: già utilizzati con successo per la
classificazione dei programmi ([Mascots09] e [Cec10])o indicatori sull’utilizzo delle risorse: utilizzati in letteratura per
effettuare la profilazione utente ([MAER09] e [FA11])
• Programmi per creare i modelli delle classi
• benchmark della suite Spec CPU2006:o già utilizzati per la classificazione dei programmio prove ripetibili in condizioni similio comportamento corrispondente a programmi di uso effettivo
![Page 9: Profilazione utente in ambienti virtualizzati](https://reader035.fdocument.pub/reader035/viewer/2022062710/5594b1881a28ab0a648b46a1/html5/thumbnails/9.jpg)
9 / 23
Fasi di sviluppo
1. implementazione software acquisizione dati
2. analisi dei dati
3. progettazione e implementazione del sistema di classificazione
4. raccolta tracce per creazione modelli e test
5. test del sistema con tracce di programmi Spec e di programmi generici
![Page 10: Profilazione utente in ambienti virtualizzati](https://reader035.fdocument.pub/reader035/viewer/2022062710/5594b1881a28ab0a648b46a1/html5/thumbnails/10.jpg)
10 / 23
1 – acquisizione dati(software sviluppato)
• Modalità di funzionamentoo online: acquisizione pilotata da host
o batch: acquisizione pilotata da programma client su VM
![Page 11: Profilazione utente in ambienti virtualizzati](https://reader035.fdocument.pub/reader035/viewer/2022062710/5594b1881a28ab0a648b46a1/html5/thumbnails/11.jpg)
11 / 23
1 – acquisizione dati(impatto sulle performace)
• Non ha impatto significativo sulle performance della VM (1%)• con instrumentazione del codice tempo di esecuzione aumentava dai 3
ai 4 ordini di grandezza
![Page 12: Profilazione utente in ambienti virtualizzati](https://reader035.fdocument.pub/reader035/viewer/2022062710/5594b1881a28ab0a648b46a1/html5/thumbnails/12.jpg)
12 / 23
2 – analisi dei dati(memory reference)
• segnale discreto tempo-variante• anche dopo il campionamento resta valido il principio di località• programmi diversi presentano andamenti temporali diversi
![Page 13: Profilazione utente in ambienti virtualizzati](https://reader035.fdocument.pub/reader035/viewer/2022062710/5594b1881a28ab0a648b46a1/html5/thumbnails/13.jpg)
13 / 23
• ram libera, disco occupato, % cpu utente, % cpu kernel• dipendono dalla fase di elaborazione del programma• esecuzioni diverse dello stesso programma hanno andamenti simili• programmi diversi presentano andamenti temporali diversi
2 – analisi dei dati(indicatori utilizzo risorse)
![Page 14: Profilazione utente in ambienti virtualizzati](https://reader035.fdocument.pub/reader035/viewer/2022062710/5594b1881a28ab0a648b46a1/html5/thumbnails/14.jpg)
14 / 23
3 – sistema classificazione(premessa)
• Due tipi di tracce di esecuzione diverse:o memory reference (0,5ms)
o indicatori utilizzo risorse (1s)
• prove con vari sistemi di classificazione:1. HMM
2. rete neurale
3. K-means
4. K-means + rete neurale
• il classificatore con le prestazioni migliori è risultato K-means + rete
neurale con entrambi i tipi di tracce di esecuzione
• due classificatori funzionanti
![Page 15: Profilazione utente in ambienti virtualizzati](https://reader035.fdocument.pub/reader035/viewer/2022062710/5594b1881a28ab0a648b46a1/html5/thumbnails/15.jpg)
15 / 23
3 – sistema classificazione(training)
• divisione in frame:
o aumentare il numero di esempi
o svincolarsi da istante iniziale acquisizione
• divisione frame in blocchi e clusterizzazione per:o comprimere informazioni estraendo le features
o mantenere corrispondenza con sequenza temporale
• frame clusterizzate come input addestramento reti neurali
• output:o centroidi
o modelli (rete neurale addestrata)
![Page 16: Profilazione utente in ambienti virtualizzati](https://reader035.fdocument.pub/reader035/viewer/2022062710/5594b1881a28ab0a648b46a1/html5/thumbnails/16.jpg)
16 / 23
3 – sistema classificazione(execution)
• traccia programma da classificare divisa in frame
• frame divisa in blocchi e clusterizzata con i centroidi
• frame clusterizzata in input a tutte le reti neurali addestrate
• output:o ∀ m in Modelli P(f ϵ m), massimo in modello classe programma
• processo usato per validation, test ed execution
![Page 17: Profilazione utente in ambienti virtualizzati](https://reader035.fdocument.pub/reader035/viewer/2022062710/5594b1881a28ab0a648b46a1/html5/thumbnails/17.jpg)
17 / 23
3 – sistema classificazione(fusione dati)
• Abbiamo due classificatori => utilizzarli entrambi
• in ingresso:o P(f ϵ m) ∀ m in Modelli, per memory reference e indicatori
utilizzo risorse
• output:
o classe più probabile
![Page 18: Profilazione utente in ambienti virtualizzati](https://reader035.fdocument.pub/reader035/viewer/2022062710/5594b1881a28ab0a648b46a1/html5/thumbnails/18.jpg)
18 / 23
4 – raccolta tracce
• Dataset finale composto da:
o 720 tracce di programmi Spec CPU2006 (bzip2, gcc, sjeng,
libquantum, omnetpp, perlbench, gobmk, astar, hmmer, h264ref,
o 40 tracce di programmi generici (compressore dati, compilatore)
o ogni traccia 10 minuti
o 14 GB
o 6 giorni di acquisizione
![Page 19: Profilazione utente in ambienti virtualizzati](https://reader035.fdocument.pub/reader035/viewer/2022062710/5594b1881a28ab0a648b46a1/html5/thumbnails/19.jpg)
19 / 23
5 – test del sistema (I)
• Test del sistema con frame di 6 programmi Spec con 3 input:
• stima parametri
• 6 classi (bzip2, gcc, sjeng, libquantum, omnetpp, perlbench)
Classificatore % corretta classificazione
Memory reference 66%
Indicatori utilizzo risorse 56%
Fusione dati Dempster-Shafer 75%
• Questo non è sufficiente a dimostrare la validità del sistema:• sistema pensato per utilizzo con programmi qualsiasi
• pochi input disponibili per i programmi Spec
• utile per la creazione dei modelli
![Page 20: Profilazione utente in ambienti virtualizzati](https://reader035.fdocument.pub/reader035/viewer/2022062710/5594b1881a28ab0a648b46a1/html5/thumbnails/20.jpg)
20 / 23
5 – test del sistema (II)
• Test del sistema con frame di programmi (generici compressore
dati e compilatore):• 6 classi (bzip2, gcc, sjeng, libquantum, omnetpp, perlbench)
• modelli creati come per il test precedente
• fusione classi che vengono confuse maggiormente
Classificatore 6 classi 5 classi
bzip2 + sjeng
5 classi
bzip2+libquantum
Memory reference 26% 30% 57%
Indicatori utilizzo risorse 40% 62% 31%
Fusione dati Dempster-Shafer 20%* 66% 63%
*spiegabile con il fatto che le % di corretta classificazione sono troppo basse
![Page 21: Profilazione utente in ambienti virtualizzati](https://reader035.fdocument.pub/reader035/viewer/2022062710/5594b1881a28ab0a648b46a1/html5/thumbnails/21.jpg)
21 / 23
Riepilogo lavoro svolto
• Ricerca di materiale (articoli, libri, tesi, software) sull’argomento e
analisi di alcuni esempi
• studio tecniche di machine learning: reti neurali, HMM, K-means
• sviluppo software:
• raccolta tracce
• test del sistema
Programma L. P. Classi Righe di codice
Acquisizone dati Java 7 700
Framing C++ 1 320
Divisione blocchi e clustering C++ 6 1400
Train, execution rete neurale C++ 7 1300
Fusione dati DS C++ 2 300
Script automazione Bash - 200
![Page 22: Profilazione utente in ambienti virtualizzati](https://reader035.fdocument.pub/reader035/viewer/2022062710/5594b1881a28ab0a648b46a1/html5/thumbnails/22.jpg)
22 / 23
Conclusioni
• Gli obiettivi inizialmente proposti sono stati raggiunti
• sia con memory reference sia con indicatori sull’utilizzo delle
risorse è possibile classificare i programmi in esecuzione
• l’utilizzo della fusione dati permette di migliorare il tasso di
corretta classificazione
• il tasso di corretta classificazione con 5 classi (66%) è
soddisfacente se confrontato con la probabilità a priori (20%)
• la scelta di 5 classi permette una buona differenziazione dello
user behavior
![Page 23: Profilazione utente in ambienti virtualizzati](https://reader035.fdocument.pub/reader035/viewer/2022062710/5594b1881a28ab0a648b46a1/html5/thumbnails/23.jpg)
23 / 23
Sviluppi futuri
• Il lavoro svolto è da ritenersi un utile punto di partenza per
ulteriori approfondimenti sul tema
• selezione più accurata delle classi
• miglioramento usabilità tramite sviluppo add-on di Virtual Box
• ulteriori test ampliando l’insieme delle tracce di programmi non
Spec
• impiego di altri dati ricavabili dai virtual machine monitor
• impiego del sistema per workload characterization in ambienti di
produzione virtualizzati (es. Web server, dbms server, mail
server)
![Page 24: Profilazione utente in ambienti virtualizzati](https://reader035.fdocument.pub/reader035/viewer/2022062710/5594b1881a28ab0a648b46a1/html5/thumbnails/24.jpg)
24 / 23
Fine
Grazie per l’attenzione!