Stato di Avanzamento dello sviluppo del modulo Concretizator

Slides:



Advertisements
Presentazioni simili
Scheduling (Schedulazione) Susanna Pelagatti – Università di Pisa
Advertisements

Metodi e Applicazioni numeriche nell’Ingegneria Chimica
Progetto di impianti semaforici - 5
Master Bioinformatica 2002: Grafi Problema: cammini minimi da tutti i vertici a tutti i vertici Dato un grafo pesato G =(V,E,w), trovare un cammino minimo.
Milano Settembre 2003 ISTI/CNR IS-MANET: WP5 Stefano Chessa Tel Area.
Scomposizione funzionale
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Gestione del processore
Petri Nets Controllo Supervisivo Mutua esclusione generalizzata (GMEC)
POLITICHE DI PREZZO   Definizione: il prezzo è la somma di denaro pagata dal compratore al venditore in cambio di ciò che riceve come prestazione (corrispettivo.
Progetto Monitoraggio Criteri di prioritizzazione delle azioni
Chiara Mocenni - Sistemi di Supporto alle Decisioni I – aa Sistemi di Supporto alle Decisioni I Dynamic Programming Chiara Mocenni Corso di.
Chiara Mocenni - Sistemi di Supporto alle Decisioni I – aa Sistemi di Supporto alle Decisioni I Scelte di consumo Chiara Mocenni Corso di laurea.
5.1 Sistemi operativi Scheduling della CPU Concetti di base Criteri di scheduling Algoritmi di scheduling Scheduling in sistemi con più processori Valutazione.
Scheduling della CPU Concetti fondamentali Criteri di scheduling
Scheduling della CPU Concetti di base Criteri di scheduling
Metodi Quantitativi per Economia, Finanza e Management Lezione n° 11.
Introduzione al calcolo parallelo SISTEMI INFORMATIVI AZIENDALI Pierpaolo Guerra Anno accademico 2009/2010.
Università degli Studi di Roma Tor Vergata
Negoziazione e vincoli di qualità Rapporto D. Ardagna, M. Comuzzi – WP 2.
Ambiente di Invocazione Dinamica dei Servizi Enrico Mussi - WP2.
La condizione di equilibrio dell'impresa che massimizza il profitto Problema dellimpresa Scegliere il livello di produzione che massimizza il profitto.
Concentrazione di imprese
ALBERI DECISIONALI prima parte
Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una variabile maggio '11.
Ottimizzazione non lineare non vincolata: Metodi iterativi di eliminazione ed interpolazione per ottimizzazione di funzione di una variabile 10 marzo.
Brescia, lunedì 10 Maggio ^ Giornata dellinnovazione Il Distretto Biomedicale.
I diagramma del corpo libero con le forze agenti
Gestione dei processi Un sistema operativo multitasking è in grado di gestire più processi Un processo corrisponde ad un programma in esecuzione. Un programma.
Seminario su clustering dei dati – Parte II
CORSO DI MODELLI DI SISTEMI BIOLOGICI LAUREA IN INGEGNERIA CLINICA E BIOMEDICA.
Modelli e Algoritmi per la Logistica
Modelli e Algoritmi per la Logistica
Modelli e Algoritmi per la Logistica
Modelli e Algoritmi per la Logistica
Ottimizzazione nella gestione dei progetti
CONTROLLO DI SUPPLY CHAIN MEDIANTE TECNICHE H-INFINITO E NEGOZIAZIONE
GENERAZIONE CODICE MACCHINA
Scheduling in GrADS Il progetto GrADS (Grid Application Development Software) ha lo scopo di semplificare lo sviluppo di unapplicazione Grid. Tra le funzionalità
FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario.
Impostazione Assiomatica del Calcolo della Probabilità
Sistemi Operativi GESTIONE DEI PROCESSI.
Elaborato di Teoria dello Sviluppo dei Processi Chimici
21 marzo 22 marzo 23 marzo 24 marzo. TCB TCB TCB marzo
ForumPA 2007 Roma – 25 Maggio 2007 LESPERIENZA DI AMMINISTRAZIONI E IMPRESE.
Elementi di Informatica di base
Introduzione Statistica descrittiva Si occupa dellanalisi dei dati osservati. Si basa su indicatori statistici (di posizione, di variazione, di concentrazione,
BROKER SERVER Progetto di Ingegneria del Web 2008 Alessio Bianchi Andrea Gambitta Giuseppe Siracusano.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
IPOTESI DI LAVORO GRUPPO n° 3: LEO, RIBATTEZZATO, ROSSI, SCIANGUETTA
Prof. Cerulli – Dott.ssa Gentili
Towards Robust Indexing for Ranked Queries aa 09/10 Candeloro D. Orlando M. Pedone A. Gruppo 5.
Discovering Relative Importance of Skyline Attributes Gruppo 8 Altobelli Andrea (Relatore) Ciotoli Fabio Denis Mindolin, Jan Chomicki.
Università degli Studi di Cagliari
Impostazione Assiomatica del Calcolo della Probabilità
Numeri figurati Numeri triangolari fine
ROCK A Robust Clustering Algorithm for Categorical Attributes Sudipto Guha, Rajeev Rastogi, Kyuseok Shim Sistemi Informativi per le Decisioni a.a. 2005/2006.
Laurea Ing EO/IN/BIO;TLC D.U. Ing EO 10 PROBABILITA’ E VARIABILI ALEATORIE.
1 Gestione del Processore (Scheduling). 2 Scheduling dei processi È l’attività mediante la quale il sistema operativo effettua delle scelte tra i processi,
Gestione del Processore (Scheduling)
1 Università degli Studi di Roma “Tor vergata” Dipartimento di Ingegneria Civile Corso di Gestione ed esercizio dei sistemi di trasporto Docente: Ing.
Didattica e Fondamenti degli Algoritmi e della Calcolabilità Terza giornata: principali classi di complessità computazionale dei problemi Guido Proietti.
Gestione del processore (Scheduler)
Università degli Studi di Bologna FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Gestionale Ricerca Operativa MODELLI PER L’OTTIMIZZAZIONE DELL’OFFERTA.
Complessità Computazionale
Università degli Studi di Cagliari FACOLTA’ DI INGEGNERIA
Obiettivi e strategie per la diversificazione degli investimenti e la de-correlazione dei rischi Firenze 25 Gennaio 2016.
L’analisi di regressione e correlazione Prof. Luigi Piemontese.
Esercitazione 02/12/2008 Ing. Maria Teresa Borzacchiello Corso di Tecnica ed Economia dei Trasporti Prof. Vincenzo Torrieri 1 Il problema dell’ottimo di.
Lezione n° 8 - Matrice di base. - Soluzioni di base ammissibili. - Relazione tra vertici di un poliedro e soluzioni basiche. - Teorema fondamentale della.
Transcript della presentazione:

Stato di Avanzamento dello sviluppo del modulo Concretizator Danilo Ardagna, Valerio Manzoni 20/7/2005

Richiamo della formulazione del problema ottimizzazione Sommario Richiamo della formulazione del problema ottimizzazione Ri-ottimizzazione periodica Peeling dei cicli Risultati sperimentali Architettura software del Concretizator Demo

Variabilità di ambiente e contesto: MAIS Concretizator Obiettivi: determinare a tempo di esecuzione l’insieme di servizi concreti in modo da ottimizzare la QoS percepita dall’utente per l’esecuzione dell’istanza del singolo processo applicativo Ottimizzazione globale e garanzia di vincoli globali Variabilità di ambiente e contesto: Variabilità delle performance dei servizi concreti (carico, availability, nuovi servizi,…) Context switch dell’end-user Variabilità sul numero di esecuzione dei cicli Ri-ottimizzazione periodica del piano di esecuzione

HP: unfolding dei cicli Scenari di esecuzione t1 t2 t4 t5 t7 t3 t6 Composite Service C1 not(C1) 25% 75% Execution Path ep1 25% t1 t2 t4 t5 t7 t3 Execution Path ep2 75% t1 t2 t4 t7 t3 t6 HP: unfolding dei cicli

Formulazione del Problema: funzione obiettivo Valore di qualità aggregato di un execution path Funzione obiettivo Il valore aggregato di QoS associato ad ogni Execution Path è ottenuto con tecnica SAW (normalizzazione e somma pesata) Obiettivo: massimizzare la QoS considerando tutti i possibili scenari di esecuzione

Formulazione del Problema: vincoli Sono garantiti per ogni scenario di esecuzione i seguenti vincoli: Tempo di esecuzione ≤ R Tempo di esecuzionef ≤RD Availability ≥A Price ≤ B Reputation ≥T Data Quality ≥Q HP: la formulazione MILP richiede che le regole di valutazione delle dimensioni di qualità per il servizio composto introducano somme pesate (medie), prodotti, minimo e massimo

Formulazione del Problema Il problema è NP-Hard, è equivalente ad un problema di zaino Multiple Choice Multiple Dimension

Riottimizzazione Differenza tra valore corrente e predizione dimensioni qualità, |Qk-Qk|>Dk (variabilità delle prestazioni) Fallimento dell’invocazione di un’operazione (piano sub-ottimo) Periodicamente, con periodo adattativo in una time window (variabilità dei servizi disponibili) Context switch dell’utente (diversa scelta dei pesi) Dopo la valutazione di una condizione di switch (piano sub-ottimo) Al termine dell’esecuzione di un ciclo (se il numero di iterazioni è inferiore al massimo atteso, il piano individuato è sub-ottimo) ^

Peeling dei cicli e distribuzione di probabilità Vincoli aggiuntivi per le dimensioni di qualità che per i servizi composti vengono valutate come media (reputation e data quality) Peeling dei cicli e distribuzione di probabilità t1 1-p0 p0 t2 1-p1 p1 1-p2 p2 . t C1 not(C1) <process> <sequence> <while cond=C1> <invoke t> </invoke> </while> </sequence>

Tecniche di ottimizzazione Tecnica 1: Effettuare il peeling del ciclo corrente, unfolding degli altri cicli sulla base del numero massimo di iterazioni Tecnica 2: Effettuare il peeling di tutti i cicli. Problema: il numero di cammini cresce in modo esponenziale Tecnica 3: non viene effettuato il peeling ma solo l’unfolding dei cicli (Zeng et al., Canfora, Barreiro) Implementazione della Tecnica 1, Tecniche 2 e 3 benchmark

Peeling dei cicli risultati preliminari Distribuzioni di probablità di riferimento: geometrica, Poisson e uniforme

Peeling dei cicli risultati preliminari Confronto tecniche 1 e 3 (Peeling ciclo corrente vs. unfolding) Il miglioramento ottenibile con il peeling sono più evidenti quando i vincoli sono più stringenti I risultati preliminari mettono in evidenza che il peeling è più efficiente per distribuzioni geometriche e uniforme Miglioramento variabile tra il 5 e 45% Vantaggi: se il numero di iterazioni è inferiore al valor medio allora è possibile evitare di effettuare il re-planning Il peeling consente di ridurre l’overhead dovuto alla ri-ottimizzazione

Tempi di Esecuzione (CPLEX)

Negoziazione Obiettivi: Identificare una soluzione ammissibile se il problema di ottimizzazione iniziale non ammette soluzione Migliorare un piano di esecuzione negoziando i parametri di esecuzione dei servizi

Identificare una soluzione ammissibile HP: esiste un vincolo di budget ed è soddisfacibile Complessivamente il problema ha N vincoli Individuare il massimo numero K di vincoli che ammette soluzione valutando al più i 2(N-1)-2 rilassamenti del problema (analisi esaustiva delle combinazioni di vincoli) Negoziazione multi attributo per le dimensioni dei restanti N-K-1 vincoli violati Ripartizione del margine di prezzo: Tra i vincoli proporzionalmente in base alla violazione percentuale All’interno dello stesso vincolo, principio bottleneck removal: qualità positive: in modo inversamente proporzionale al valore assunto dalla dimensione di qualità qualità negative: in modo proporzionale al valore assunto dalla dimensione di qualità

Esempio Max Data Quality Tempo di esecuzione ≤ 7 Availability ≥0.99 Price ≤ 1000 Reputation ≥0.8 t1 t2 Il problema non ammette soluzione Il rilassamento che introduce unicamente il vincolo di prezzo è ammissibile, Price=200 Vengono valutati i seguenti rilassamenti: Price + T esec OK Price + Avail OK Price + Rep OK Price + Tesec + Avail No Price + Tesec + Rep No Price + Avail + Rep OK

Rilassamento Price+Avail+Rep Margine prezzo 200 Soluzione: WS11, WS21 t11+t21=6+2=8>7 Negoziazione: margine t11 proporzionale a 6/8 margine t21 proporzionale a 2/8

Migliorare un piano di esecuzione Esiste una soluzione ottima del problema Negoziare il valore delle dimensioni di qualità dell’ottimo individuato in modo da migliorare il valore della funzione obiettivo Il margine di prezzo viene ripartito tra le dimensioni di qualità proporzionalmente al valore delle derivate f/  Qkj della funzione obiettivo rispetto al valore della dimensione di qualità k assunta dalla soluzione ottima del task j

Formulazione del Problema

Ripartizione del margine di prezzo Il valore di qualità per la soluzione ottima del task j è intermedio tra i valori ammissibili di qualità del task (Qkj,min<Qkj<Qkj,max): La dimensione di qualità è positiva e per il task j l’ottimo globale coincide con l’ottimo locale: La dimensione di qualità è positiva e Qkj=Qkj,min: La dimensione di qualità è negativa e per il task j l’ottimo globale coincide con l’ottimo locale: La dimensione di qualità è negativa e Qkj=Qkj,max:

Architettura Software Concretizator XML file: WS candidati Associazione task/WS Negotiator MAIS registry XML file: vincoli (istanza) pesi Specifica BPEL4WS semplificata XML file: Distribuzione numero iter. while e switch Vincoli aggiuntivi Log file (re-opt): ultimo task eseguito (stato) Local Constr. Enforcement Process Translator Process Tuner Formulazione problema MILP lp_Solve / CPLEX Global Plan (selezione WS) Ranking Procedure WS Ranking

BPEL4WS Semplificato BPEL BPEL-like Attività primitive invoke receive replay wait assign throw terminate empty Attività strutturate sequence switch while pick flow scope BPEL-like Attività primitive element Attività strutturate sequence switch while flow

Un esempio t1 t2 t3 t4 t7 t5 t6 t8 t9 Rappresentazione XML <?xml version="1.0" ?> <sequence name = "sequenza 1"> <element name = "elemento 1"> </element> <switch name = "switch 1"> <sequence name = "sequenza 2"> <element name = "elemento 2"> </element> <switch name = "switch 2"> <element name = "elemento 5"> </element> <element name = "elemento 6"> </element> </switch> </sequence> <element name = "elemento 3"> </element> <sequence name = "sequenza 3"> <element name = "elemento 4"> </element> <while name = "while 1"> <element name = "elemento 7"> </element> <element name = "elemento 8"> </element> </while> <element name = "elemento 9"> </element> t2 t3 t4 t7 t5 t6 t8 t9

Qualità dei WS ed associazione task/WS WS candidati Associazione task/WS <?xml version="1.0" ?> <tasks> <task name = "task_1"> <webService name = "ws_1"> </webService> <webService name = "ws_2"> </webService> <webService name = "ws_3"> </webService> <webService name = "ws_22"> </webService> </task> <task name = "task_2"> <webService name = "ws_4"> </webService> <webService name = "ws_19"> </webService> . </tasks> <?xml version="1.0" ?> <webServices> <webService name="ws_1"> <maxTime value="6.767389" /> <minTime value="5.767389" /> <price value="0.123061776" /> <reputation value="0.82627237" /> <availability value="0.9903379" /> <dataQuality value="0.9857625" /> </webService> <webService name="ws_2"> <maxTime value="7.9125476" /> <price value="0.45754516" /> <reputation value="0.9279902" /> <availability value="0.9791445" /> <dataQuality value="0.91493726" /> . </webServices>

Vincoli, pesi, distribuzioni di probabilità Pesi e vincoli Annotazione specifica BPEL <?xml version="1.0" ?> <Users> <User name = "XXX"> <avTimeWeight value = "1"> </avTimeWeight> <priceWeight value ="0"> </priceWeight> <reputationWeight value = "0"> </reputationWeight> <availabilityWeight value = "0"> </availabilityWeight> <dataQualityWeight value = "0"> </dataQualityWeight> <restarTime value = "0.5"> </restarTime> <avTimeConstraint value = "2000"> </avTimeConstraint> <priceConstraint value ="15"> </priceConstraint> <reputationConstraint value = "0.0005"> </reputationConstraint> <availabilityConstraint value = "0.00000001"> </availabilityConstraint> <dataQualityConstraint value = "0.01"> </dataQualityConstraint> <degDurationConstraint value = "20000000"> </degDurationConstraint> </User> </Users> <?xml version="1.0" ?> <bounds> <switch name = "switch 1"> <branch number = "1" value = "0.1"> </branch> <branch number = "2" value = "0.1"> <branch number = "3" value = "0.8"> </switch> <switch name = "switch 2"> <branch number = "1" value = "0.7"> <branch number = "2" value = "0.3"> <while name = "while 1"> <probability number = "0" value = "0.049"> </probability> <probability number = "1" value = "0.15"> <probability number = "2" value = "0.22"> <probability number = "3" value = "0.22"> <probability number = "4" value = "0.17"> <probability number = "5" value = "0.1"> </while> </bounds>

DEMO

To dos Analisi Sperimentali! Estensione del modello: considerare l’invocazione di una singola operazione ed introdurre nuovi vincoli (provider dei servizi) Offrire il Concretizator come Web Service Rendere configurabile la scelta dell’ottimizzatore MILP (lp_solve, CPLEX, Symphony,COIN-OR, …)