Upload
angelico-blasi
View
218
Download
2
Embed Size (px)
Citation preview
Supervisione di sistemi SW complessi e monitoraggio della qualità del servizio
in ambito ATC (Air Traffic Control)
Autore: Antonio BovenziGruppo di lavoro: Ing. G. Carrozza,
D. Di Crescenzo, A. Strano1
24 settembre 2010
Contesto ed esigenzeNuovi sistemi di gestione e controllo del traffico aereo (ATM) Sistemi aperti: fallimenti di un sistema posso propagarsi in altri sistemi
La fase di definizione di SESAR ha riscontrato la necessità di rendere interoperabili ed integrare i sistemi ATM europei
Sistemi complessi
distribuiti, integrati e near real-time servizi eterogenei e componibili a run-time
Sono necessarie nuove tecniche di Monitoraggio e Supervisione per prevenire e tollerare fallimenti del sistema
ObiettiviValutazione e applicazione di strategie di Monitoraggio e
Supervisione per i sistemi ATM Controllare lo stato del sistema monitorato ed innescare
proprie contromisure affinché il livello di QoS soddisfi i requisiti Valutazione dello stato dell'arte delle tecniche di supervisione Sperimentazione e comparazione delle tecniche più idonee Sviluppo di un approccio di supervisione su misura per i nuovi
sistemi ATM
La diagnosi come supporto alla FTSistemi di supervisione fault tolerant (FT) sono largamente adottati
ridondanza (N-versions, Recovery blocks) Rilevazione, diagnosi e recupero dai fallimenti
La diagnosi dei fallimenti può rappresentare un valido supporto ai sistemi di supervisione FT [Avizenis04]
Per costituire un valido supporto, la diagnosi deve identificare la natura e la causa di un fallimento Sw quando il sistema è running
DIAGNOSI ON-LINE
Pianificazione delle attività Studiare le tecniche di diagnosi sviluppate presso il CINI
[Carrozza08] e l'applicabilità di queste ai sistemi ATM Valutare lo stato dell'arte delle tecniche di diagnosi dei fallimenti
software (identificare pregi e difetti) Identificare i principali parametri da monitorare Proporre un approccio di supervisione adatta ai sistemi target Sviluppare un prototipo per valutare l'efficacia e l'efficienza
dell'approccio
Algoritmi Machine Learning per la diagnosi dei fallimenti software
Un approccio alla diagnosiIn [Carrozza08b] è stato proposto un framework di diagnosi costituito
da: Monitor a livello di sistema operativo Anomaly-based detector Classificatore SVM
Efficacia dell'approccio verificata sperimentalmente Caso di studio nel dominio ATC Process hang (attivi,passivi) e crash rilevati
Le sorgenti di informazione Monitor di eventi a basso livello
errori nelle system call, tempo di attesa/possesso semafori-mutex, byte letti/scritti su disco-socket, tempo di schedulazione dei processi, segnali inviati/ricevuti, ...
Nessuna modifica al livello applicativo Recentemente proposto in letteratura [MAGNET],[Yuan]
Analisi dei file di log cerca l'occorrenza di eventi particolari complessi da monitorare ed integrare on-line =>
informazione raccolte solo in specifici momenti
Anomaly-based detection
Identificare pattern non conformi al comportamento nominale del sistema
Strategia pessimistica
- non tutte le anomalie sono dovute a errori nel sistema
Approccio a finestratura
- limita il numero di allarmi segnalati
- comune nel campo dell'intrusion detection
Problemi principaliL'attività di rilevamento delle anomalie in sistemi caratterizzati da un contesto fortemente variabile è ancora un problema aperto
Comportamento “normale” evolve nel tempo
Separare i campioni anomali da quelli
nominaliCaratteristiche del fenomeno mutano
molto velocemente rispetto al periodo di campionamento
Rilevare l'anomalia
Scarsa disponibilità dei dati “anomali” Costruire modelli accuratiInformazioni eterogenee Rappresentare i dati
Presenza di rumore nei dati Filtrare i dati
FattoreDifficoltà
Algoritmi di classificazione Problema: Individuare empiricamente la relazione fra
determinate caratteristiche di un oggetto e la classe a cui appartiene
[Kunceva04] Obiettivo
Separare i falsi positivi (anomalia non dovuta a fault) dai fallimenti
Identificare la natura e la causa dei fallimenti
Classificatori SVMRisoluzione di un problema di ottimizzazione quadratica:
Mapping dei dati in ingresso in un spazio a più dimensioni Determinazione dell'iperpiano di separazione che
massimizza una determinata funzione obiettivo
Pro
- Riconoscimento di pattern complessi Contro
- Costi per l'addestramento non trascurabili
Considerazioni Overhead contenuto Non necessita di una conoscenza
completa dei modalità di fallimento dell'applicazione
Risoluzione di un problema di ottimizzazione alla base della classificazione
Funzione di decisione semplice
Infrastruttura monitor intrusiva per OS non standard
Legato al comportamento nominale del sistema
Prossimi passi Valutazione dell'approccio nel contesto del progetto Swim Indagine sperimentale per identificare le variabili (feature) da
monitorare Implementazione ed integrazione di monitor ad alto livello (es:
livello JVM, DDS) Valutazione di tecniche di detection alternative Valutare approccio classificatori combinati (On-line Boosting
[Pocock])
Riferimenti
[Avizenis04] Algirdas Avizienis, Jean-Claude Laprie, Brian Randell, Carl Landwehr, Basic Concepts and Taxonomy of Dependable and Secure Computing, IEEE Trans. on Dependable and Secure Computing, 1(1):11–33, 2004.
[Kunceva04] Combining Pattern Classifiers: Methods and Algorithms. Ludmila I. Kuncheva
[Carrozza08] G. Carrozza, M.Cinque, D.Cotroneo, R. Natella,Operating System Suppor t to Detect Application Hangs, International Workshop on Verification and Evaluation of Computer and Communication Systems VECoS 2008
[Carrozza08b] G. Carrozza, Tesi di dottorato ,Software faults diagnosis in complex, ots-based, critical systems
Riferimenti[MAGNET] Mark K. Gardner , Wu-chun Feng , Michael Broxton , Adam Engelhart , Gus Hurwitz, MAGNET: A Tool for Debugging, Analyzing and Adapting Computing Systems, Proceedings of the 3rd IEEE/ACM International Symposium on Cluster Computing and the Grid (CCGRIDí03)
[Yuan] Chun, Yuan, Ni Lao, Ji-Rong Wen, Jiwei Li, Zheng Zhang, Yi-Min Wang, Wei-Ying Ma, Automated Known Problem Diagnosis with Event Traces, EuroSys06
[Pocock] Adam Pocock, Paraskevas Yiapanis, Jeremy Singer, Mikel Luj'an and Gavin Brown, Online Non-stationary Boosting. School of Computer Science, University of Manchester, UK
BACKUP
Swim-Box prototypeIl prototipo è stato realizzato a parziale dimostrazione
dell'interoperabilità degli attuali sistemi ATM, i quali non sono stati progettati ed implementati come sistemi aperti
Proprietà: Sistema distribuito e near Real-Time, Modulare e basato sull'integrazione di
componenti Off The Shelf
Principi di progettazione:
Architettura orientata ai servizi SOA
Pattern di comunicazione sincrona ed asincrona(publischer/subscriber)
Disaccoppiamento Servizi/Dominio Applicativo
Rappresentazione dei dati in formati standard
SESARI modelli e le tecniche di diagnosi verranno valutate anche nel
contesto dei progetti SESAR:
Airport Systems Supervision (12.1.9)L'obiettivo di ridefinire i principi e i processi di supervisione degli aeroporti
secondo il modello SOC, al fine di garantire che servizi siano forniti sempre con un livello di QoS stabilito nelle specifiche
ATC Supervision (10.1.9)L'obiettivo è produrre una serie di requisiti di Supervisione riguardanti gli aspetti
di monitoraggio, controllo, e recupero dell'infrastruttura ATC
Problematiche paradigma SOAIl paradigma SOA supporta la presenza di servizi indipendenti,
eterogenei e componibili a run-time che rendono il contesto applicativo estremamente variabile introducendo ulteriori problematiche per la diagnosi dei fallimenti:
Cosa si intende per fallimento? Quali sono le informazioni da monitorare? Come prevenire (contenere) la propagazione di un fallimento? Come gestire e schedulare le risorse entro domini differenti?
Cusum
Utilizzati per rilevare il cambiamento di un parametro scalare (come la media) di un processo stocastico indipendente
Regola di rilevamento indipendente da conoscenza a priori
Diverse varianti da confrontare (a media mobile,SPRT, Two-sided CUSUM)
On-line boostingSi riferisce problema generale di “produrre una previsione molto
precisa, combinando classificatori deboli” (cioè leggermente migliori di una scelta casuale) [Kuncheva]
Studi sperimentali mostrano prestazioni migliori dei classificatori singoli
Inoltre è un metodo quasi immune all'overfitting (piccola percentuale di errori di generalizzazione)
Varie strategie sono state proposte e applicate in diversi contesti Es: parallelizzare codice java