13
Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica tesi di laurea specialistica relatore Ch.mo prof. Domenico Cotroneo correlatore Ing. Roberto Natella candidato Francesco Fucci Matr. 885/000528 Un approccio per la generazione di scenari di test in sistemi distribuiti basato su Reinforcement Learning A.A. 2010/2011

tesi di laurea specialistica Un approccio per la generazione di … · 2018. 3. 12. · Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica tesi di laurea specialistica

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: tesi di laurea specialistica Un approccio per la generazione di … · 2018. 3. 12. · Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica tesi di laurea specialistica

Facoltà di IngegneriaCorso di Studi in Ingegneria Informatica

tesi di laurea specialistica

relatoreCh.mo prof. Domenico CotroneocorrelatoreIng. Roberto NatellacandidatoFrancesco FucciMatr. 885/000528

Un approccio per la generazione di scenari di test in sistemi distribuiti basato su Reinforcement Learning

A.A. 2010/2011

Page 2: tesi di laurea specialistica Un approccio per la generazione di … · 2018. 3. 12. · Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica tesi di laurea specialistica

Facoltà di IngegneriaCorso di Studi in Ingegneria Informatica

Fault injection in sistemi “stateful”Fault Injection: tecnica per la validazione di meccanismi di fault-tolerance.Lo stato riveste un ruolo fondamentale:

• nellʼattivazione dei guasti• nella gestione dei meccanismi per lʼiniezione

La definizione dello stato per sistemi complessi può tener conto di:

• numero e tipo delle operazioni in esecuzione • sensori ed attuatori • scheduling e I/O

Page 3: tesi di laurea specialistica Un approccio per la generazione di … · 2018. 3. 12. · Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica tesi di laurea specialistica

Load Balancing Service

FDPs Table

FDPs Table

Fault Tolerance Service

Checkpointing

Client Primary Façade

Backup Façade

Processing Server

Processing Server

Processing Server

FDP

Request Façade

Request

Data Distribution Service

Key: CORBA

object CORBA

interaction DDS

interaction State

transfer

Facoltà di IngegneriaCorso di Studi in Ingegneria Informatica Un esempio di motivazione

FaultTolerance

Workload

Un caso di studio riguardante la fault injection: un sistema di Flight Data Processing (FDP)Iniezione di guasto software di concorrenza (race condition e deadlock) per validare il meccanismo di replicazione (checkpointing dello stato del Façade)La Fault Tolerance deve funzionare ed essere validata rispetto alle diverse quantità di richieste FDP in coda nel Façade e in elaborazione presso i Processing Server (stato del sistema)

FaultInjection

Page 4: tesi di laurea specialistica Un approccio per la generazione di … · 2018. 3. 12. · Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica tesi di laurea specialistica

Facoltà di IngegneriaCorso di Studi in Ingegneria Informatica

Determinare in maniera automatica un modello di funzionamento del sistema nel caso di architetture complesse, ed in presenza di componenti di terze parti.Guidare automaticamente il sistema in uno stato di interesse allo scopo di generare uno scenario di test.Tener traccia della dinamica del sistema in maniera poco onerosa e poco intrusiva.

Il contributo di questa tesiUn approccio basato su reinforcement learning, che sia grado di guidare un sistema software, munito di stato, verso uno stato obiettivo.Progetto e valutazione di un Agente software che implementa l'approccio.

Problematiche

Page 5: tesi di laurea specialistica Un approccio per la generazione di … · 2018. 3. 12. · Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica tesi di laurea specialistica

Agent

Environment

actionatst

rewardrt

rt+1st+1

state

Facoltà di IngegneriaCorso di Studi in Ingegneria Informatica

Un Agente esterno:Sceglie lʼazione compiere in funzione

Dello stato attuale del sistema. Degli stati e delle azioni passata

Reinforcement learningIl modello di reinforcement learning é usato per apprendere la dinamica di un sistema complesso mediante un meccanismo “trial and error”.

Riceve un feedback dallʼAmbiente in termini di reward e stato successivo.Massimizza la reward nel lungo periodo.

Page 6: tesi di laurea specialistica Un approccio per la generazione di … · 2018. 3. 12. · Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica tesi di laurea specialistica

Facoltà di IngegneriaCorso di Studi in Ingegneria Informatica

Lʼobiettivo dellʼagente è quello di imparare una “buona” politica conciliando:

exploration - esplorazione dello spazio degli stati anche se abbiamo scelto una buona azione.exploitation - valorizzazione dellʼazione scelta.

Funzionamento del RLNon cʼé una vera e propria fase di addestramento, il sistema impara dallʼesperienza che fa nel “mondo”.

Page 7: tesi di laurea specialistica Un approccio per la generazione di … · 2018. 3. 12. · Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica tesi di laurea specialistica

Facoltà di IngegneriaCorso di Studi in Ingegneria Informatica

Descrizione dellʼapproccio (vista statica)

LʼAgente svolge i seguenti compiti:Tiene traccia dello stato del sistema che controlla, aggiornando una propria rappresentazione interna.Gestisce lʼapprendimento.Controlla il Gestore delle richiestee il Sistema eseguendo azioni su di esso.

Page 8: tesi di laurea specialistica Un approccio per la generazione di … · 2018. 3. 12. · Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica tesi di laurea specialistica

AgenteStep

Gestore delle richieste

Ambiente

0 1 2 k

...

...Aggiornamentostima dello stato

Aggiornamentostima dello stato

Aggiornamentostima dello stato

e step di apprendimento

!Aggiornamentostato sistema

Vista dinamica

Facoltà di IngegneriaCorso di Studi in Ingegneria Informatica

Descrizione dellʼapproccio (vista dinamica)

ParametriLearning sliceUpdate slice

Evoluzione del sistema

Tempo simulatoAggiornamento stima dello statoAggiornamento stato sistema

Page 9: tesi di laurea specialistica Un approccio per la generazione di … · 2018. 3. 12. · Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica tesi di laurea specialistica

Facoltà di IngegneriaCorso di Studi in Ingegneria Informatica

Algoritmi di RL adottati

Algoritmi adottatiQ(λ)SARSA(λ)ActorCritic(λ)

Metodi di baseProgrammazione dinamicaMonte CarloTemporal Difference

Metodi avanzatiTracce di eleggibilitàTracce di rimpiazzo

Page 10: tesi di laurea specialistica Un approccio per la generazione di … · 2018. 3. 12. · Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica tesi di laurea specialistica

Facoltà di IngegneriaCorso di Studi in Ingegneria Informatica

Definizione ed obiettivi della sperimentazione

Sono state considerate tre metriche:Numero di step alla fine del primo episodio.Numero di step alla fine dellʼultimo episodio.Reward accumulata fino alla fine del primo episodio.

ObiettiviValutare la rapidità di convergenza e il guadagno accumulato dai vari algoritmi.Analisi della sensitività dei parametri per i vari algoritmi.

Page 11: tesi di laurea specialistica Un approccio per la generazione di … · 2018. 3. 12. · Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica tesi di laurea specialistica

Facoltà di IngegneriaCorso di Studi in Ingegneria Informatica

Setup sperimentale

Esperimento 1

Esperimento 2

Agente

GR

Agente

GR

Page 12: tesi di laurea specialistica Un approccio per la generazione di … · 2018. 3. 12. · Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica tesi di laurea specialistica

Facoltà di IngegneriaCorso di Studi in Ingegneria Informatica

Risultati

Esperimento 1

Esperimento 2

Page 13: tesi di laurea specialistica Un approccio per la generazione di … · 2018. 3. 12. · Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica tesi di laurea specialistica

Facoltà di IngegneriaCorso di Studi in Ingegneria Informatica

Conclusioni e sviluppi futuriConclusioni

Lʼapproccio proposto permette di controllare, in maniera automatizzata, un sistema software complesso in modo che possa raggiungere uno stato desiderato.L'analisi sperimentale ha evidenziato che gli algoritmi basati su Reinforcement Learning che sono stati considerati sono in grado di raggiungere l'obiettivo, e che in sistemi più complessi la scelta dell'algoritmo può influire sulle prestazioni, in particolare sulla velocità di convergenza.

Sviluppi futuriIntegrazione dellʼapproccio su un sistema reale.Utilizzo di un approccio Bayesiano per stimare probabilisticamente lo stato corrente nel caso dʼincertezza nelle osservazioni.