La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "Stato di Avanzamento dello sviluppo del modulo Concretizator Danilo Ardagna, Valerio Manzoni 20/7/2005."— Transcript della presentazione:

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

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

3 MAIS Concretizator Obiettivi: determinare a tempo di esecuzione linsieme di servizi concreti in modo da ottimizzare la QoS percepita dallutente per lesecuzione dellistanza 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 dellend-user Variabilità sul numero di esecuzione dei cicli Ri-ottimizzazione periodica del piano di esecuzione

4 Scenari di esecuzione HP: unfolding dei cicli Execution Path ep 2 75% t1t1 t2t2 t4t4 t7t7 t3t3 t6t6 t1t1 t2t2 t4t4 t5t5 t7t7 t3t3 t6t6 Composite Service C1C1 not(C 1 ) 25% 75% Execution Path ep 1 25% t1t1 t2t2 t4t4 t5t5 t7t7 t3t3

5 Formulazione del Problema: 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 Funzione obiettivo Valore di qualità aggregato di un execution path

6 Formulazione del Problema: vincoli Sono garantiti per ogni scenario di esecuzione i seguenti vincoli: Tempo di esecuzione R Tempo di esecuzione f R D 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

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

8 Riottimizzazione Differenza tra valore corrente e predizione dimensioni qualità, |Q k -Q k |> k (variabilità delle prestazioni) Fallimento dellinvocazione di unoperazione (piano sub-ottimo) Periodicamente, con periodo adattativo in una time window (variabilità dei servizi disponibili) Context switch dellutente (diversa scelta dei pesi) Dopo la valutazione di una condizione di switch (piano sub-ottimo) Al termine dellesecuzione di un ciclo (se il numero di iterazioni è inferiore al massimo atteso, il piano individuato è sub-ottimo) ^

9 Cicli 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à t1t1 1-p 0 p0p0 t2t2 1-p 1 p1p1 1-p 2 p2p t C1C1 not(C 1 )

10 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 lunfolding dei cicli (Zeng et al., Canfora, Barreiro) Implementazione della Tecnica 1, Tecniche 2 e 3 benchmark

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

12 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 loverhead dovuto alla ri-ottimizzazione

13 Tempi di Esecuzione (CPLEX)

14 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

15 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 Allinterno 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à

16 Esempio Max Data Quality Tempo di esecuzione 7 Availability 0.99 Price 1000 Reputation 0.8 t1t1 t2t2 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

17 Rilassamento Price+Avail+Rep Price=800 Margine prezzo 200 Soluzione: WS 11, WS 21 t 11 +t 21 =6+2=8>7 Negoziazione: margine t 11 proporzionale a 6/8 margine t 21 proporzionale a 2/8

18 Migliorare un piano di esecuzione Esiste una soluzione ottima del problema Negoziare il valore delle dimensioni di qualità dellottimo 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/ Q kj della funzione obiettivo rispetto al valore della dimensione di qualità k assunta dalla soluzione ottima del task j

19 Formulazione del Problema

20 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 (Qk j,min

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

22 BPEL4WS Semplificato BPEL 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

23 Un esempio t1t1 t2t2 t4t4 t5t5 t9t9 t3t3 t6t6 t7t7 t8t8 Rappresentazione XML

24 Qualità dei WS ed associazione task/WS.. WS candidati Associazione task/WS

25 Vincoli, pesi, distribuzioni di probabilità Pesi e vincoli Annotazione specifica BPEL

26 DEMO

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


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

Presentazioni simili


Annunci Google