Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

BTW 2009 Systemübergreifende Kostennormalisierung für Integrationsprozesse Matthias Böhm1,2 , Dirk Habich2, Wolfgang Lehner2, Uwe Wloka1 1 Hochschule.

Ähnliche Präsentationen


Präsentation zum Thema: "BTW 2009 Systemübergreifende Kostennormalisierung für Integrationsprozesse Matthias Böhm1,2 , Dirk Habich2, Wolfgang Lehner2, Uwe Wloka1 1 Hochschule."—  Präsentation transkript:

1 BTW 2009 Systemübergreifende Kostennormalisierung für Integrationsprozesse Matthias Böhm1,2 , Dirk Habich2, Wolfgang Lehner2, Uwe Wloka1 1 Hochschule für Technik und Wirtschaft Dresden (FH), Database Group 2 Technische Universität Dresden, Database Technology Group

2 Problemstellung Einführung Integrationsprozesse
b) Zeitbasierter Integrationsprozess Einführung Integrationsprozesse a) Datengetriebener Integrationsprozess Fork o1 SAP R/3 Receive o1 Assign o2 Assign o5 JDBC JDBC Switch o2 Invoke o3 Invoke o6 Translation o3 Translation o5 Selection o4 Selection o7 Assign o4 Assign o6 Join o8 JDBC TODO Invoke o7 Assign o9 Assign o8 Invoke o10 Web Service Web Service Invoke o9

3 Problemstellung Kontext Problem Überblick
Modellgetriebene Generierung von Integrationsprozessen GCIP (Generation of Complex Integration Processes) Problem Vergleichbarkeit von Integrationssystemen  Voraussetzung für systemübergreifende Optimierung Überblick Problemstellungen der Kostenmodellierung und -normalisierung Plattforminvariantes Kostenmodell für Integrationsprozesse Algorithmen zur Kostennormalisierung

4 Problemstellung Annahme 1: Generierbarkeit
Plattformunabhängige Modellierung möglich Generierung von Plattformspezifischen Integrationsaufgaben möglich (GCIP, Orchid, ETL Prozesse) Voraussetzung für Wahlmöglichkeit Annahme 2: Auswahlmöglichkeit Typische IT Infrastruktur umfasst mehrere Integrationssysteme mit überlappenden Funktionalitäten [Sto02] Spezielle Operatoren Unterstützte externe Systeme Möglichkeiten auf externe Ereignisse zu reagieren Transaktionale Eigenschaften Auswahl IS ohne externes Verhalten zu beeinflussen (Korrektheit) [Sto02] Michael Stonebraker. Too Much Middleware. SIGMOD Record, 31(1), 2002.

5 Problemstellung Vision des „Invisible Deployments“ Kernidee
Ebene der Integrationssysteme und -technologien systematisch zu abstrahieren Virtualisierung im Sinne der transparenten Auswahl 1) Auswahl Kandidatenmenge (funktionale Eigenschaften) 2) Auswahl Optimales IS (Performance, Skalierbarkeit, …)

6 Herausforderungen Parallelität Ressourcenverwendung
Einbeziehung Parallelität von Prozess- und Operatorinstanzen Ressourcenverwendung Effektive (Re(oi)) und maximale Ressourcenverwendung (Ro(oi)) Unterschiedliche Hardware Heterogene Hardware erfordert Einbeziehung des Zeitaspekts Unterschiedliche Verarbeitungsmodelle Berücksichtigung von Spezifika wie Sync/Async und Instanz/P&F Semantik erhobener Statistiken Bezug der Statistiken zu gleichen Aufgaben (Operator, Kardinalität) Fehlende Statistiken Inkonsistente Statistiken Statistischer Fehler Hauptproblem der Kostennormalisierung: Die Kostennormalisierung ist per Definition unidirektional, da eine denormalisierte in exakt eine normalisierte Form abgebildet werden kann (jedoch nicht vice versa).

7 Gliederung Problemstellung und Herausforderungen
Plattforminvariante Kostenmodellierung Kostenmodell Erhebung von Verarbeitungsstatistiken Kostennormalisierung Grundnormalisierung Transformation der Semantik Statistische Korrektur Anwendungsszenario Plan- und Kostendiagramme Experimentelle Evaluierung Zusammenfassung

8 Kostenmodellierung Hauptproblem Beispiel
Systemübergreifender Charakter des Anwendungsgebietes Beispiel Receive o1 Translation o2 Invoke o3 |dsout| |dsin|+|dsout| Plan/ System Statistik o1 o2 o3 Summe Ps1 |dsin| - 1573 1345 |dsout| C(ol) 2918 5836 Ps2 1105 1017 2122 4244 Plan/ System Statistik o1 o2 o3 Summe Ps1 |dsin| - 1573 1345 |dsout| Ps2 1105 1017 Abstrakter Kostenvergleich (z.B. auf Ebene der Kardinalitäten) schlägt fehl, da unterschiedliche Arbeitslast Ps2 ???

9 Kostenmodellierung (2)
Hauptproblem Systemübergreifender Charakter des Anwendungsgebietes Beispiel Receive o1 Translation o2 Invoke o3 te(ol) Plan/ System Statistik o1 o2 o3 Summe Ps1 te(ol) 10 ms 150 ms 70 ms Ps2 140 ms 61 ms Plan/ System Statistik o1 o2 o3 Summe Ps1 te(ol) 10 ms 150 ms 70 ms 230 ms Ps2 140 ms 61 ms 211 ms Vergleich normalisierter Verarbeitungsstatistiken (Ausführungszeit) schlägt ebenfalls fehlt, da keine Aussage über Arbeitslast Ps2 ???

10 Kostenmodellierung (3)
Lösungsansatz Zweistufiges Verfahren der Kostenmodellierung Stufe 1: Bestimmung absoluter Kosten auf abstraktem Niveau Stufe 2: Gewichtung mit normalisierten Statistiken Receive o1 Translation o2 Invoke o3 Ps1 te(ol) |dsout| |dsin|+|dsout| Plan/ System Statistik o1 o2 o3 Summe Ps1 te(ol) 10 ms 150 ms 70 ms 230 ms C(ol) 1573 2918 1345 5836 NC(ol) 0.0064 0.0514 0.0420 0.1098 Ps2 140 ms 61 ms 211 ms 1105 2122 1017 4244 0.0091 0.0660 0.0599 0.1350 Plan/ System Statistik o1 o2 o3 Summe Ps1 te(ol) 10 ms 150 ms 70 ms 230 ms C(ol) 1573 2918 1345 5836 Ps2 140 ms 61 ms 211 ms 1105 2122 1017 4244 Plan/ System Statistik o1 o2 o3 Summe Ps1 C(ol) 1573 2918 1345 5836 Ps2 1105 2122 1017 4244

11 Kostenmodellierung (4)
Plattforminvariantes Kostenmodell Ausgelegt für Message Transformation Model (MTM) Interaktionsorientierte Operatoren Datenflussorientierte Operatoren (angelehnt an [Mak07]) Kontrollflussorientierte Operatoren Problembehebung Herstellung der Vergleichbarkeit bei disjunkten Prozessinstanzen Unterschiedliche Hardware wird modellinhärent berücksichtigt Im Papier: Vollständiges plattforminvariantes Kostenmodell Erhebung von Statistiken (Anforderungen, Vorgehensweise) [Mak07] Mazeyar E. Makoui. Anfrageoptimierung in objektrelationalen Datenbanken durch kostenbedingte Termersetzungen. Dissertation, Universität Hannover, 2007.

12 Gliederung Problemstellung und Herausforderungen
Plattforminvariante Kostenmodellierung Kostenmodell Erhebung von Verarbeitungsstatistiken Kostennormalisierung Grundnormalisierung Transformation der Semantik Statistische Korrektur Anwendungsszenario Plan- und Kostendiagramme Experimentelle Evaluierung Zusammenfassung

13 Kostennormalisierung
Überblick zur Kostennormalisierung Kostenmodell Systemübergreifende Vergleichbarkeit Unterschiedliche Hardware Plattforminvariantes Kostenmodell Aggregate Statistische Korrektur Aggregate Algorithmus StatisticalCorrection Fehlende Statistiken Inkonsistente Statistiken Statistischer Fehler Semantik Transformation Aggregate Algorithmus SemanticTransformation Semantik erhobener Statistiken Grundnormalisierung Algorithmus BaseNormalization Parallelität von Instanzen Ressourcenverwendung Unterschiedliche Verarbeitungsmodelle Detaillierte Verarbeitungsstatistiken

14 Grundnormalisierung Intuition zum Algorithmus BaseNormalization Idee
Problem: Parallelität von Instanzen verfälscht erhobene Statistiken ∆t ∆t / 2 ∆t / 3 ∆t / 2 ∆t Zeit t Prozess 1 p1 Prozess 2 p2 Prozess 3 p3 Idee Vertikale Unterteilung der Zeitachse in Abschnitte (Grenzen durch Beginn und Ende von Instanzen determiniert) Berechnung der normalisierten Abschnittszeiten Berechnung der normalisierten Statistiken (a.G. Abschnittszeiten)

15 Grundnormalisierung (2)
Am Beispiel te(P) Wiederverwendung von Abschnittsmengen möglich Ro(Pi)=0.10 Ro(o1)=0.60 Ro(o2)=0.85 Prozess 1 o1 o2 NC(o)= ∆t * Re(o)/ Ro(o) Prozess 2 o1 o2 Re(o)=min( 1/num, Ro(Pi) ) Prozess 3 o1 o2 Zeit t 20 40 te(P1)= /0.1 * 1.00ms PTID PID NID Start End 1 -1 0.0 18.0 1.0 7.0 2 7.5 17.5 8.0 25.0 8.5 16.0 16.5 24.0 3 26.0 40.0 27.0 33.0 33.5 39.5 Time 18.00 6.00 10.00 17.00 7.50 14.00 NC 14.09 6.00 6.09 15.13 6.25 6.88 14.00 NC 14.09 6.00 6.09 15.13 6.25 6.88 NC 14.09 6.00 6.09 Time = End - Start + te(o1) + 0.1/0.1 * 0.50ms + te(o2) + 0.1/0.1 * 0.50ms AVG P 14.42 o1 6.50 o2 6.32 Ohne Normalisierung: ms mit te(o1)= /0.6 * 6.00ms te(o2)= /0.85 * 0.50ms + 0.5/0.85 * 0.50ms + 0.5/0.85 * 7.50ms + 0.5/0.85 * 0.50ms + 0.5/0.85 * 1.00ms

16 Grundnormalisierung (3)
Problembehebung Parallelität von Instanzen Ressourcenverwendung Unterschiedliche Verarbeitungsmodelle (mit Einschränkungen) Im Papier: Algorithmus 1 BaseNormalization Formale Komplexitätsanalyse des Algorithmus: O(n2 m2) n … Anzahl Prozessinstanzen m … Anzahl Operatoren Problem Statistiken beziehen sich semantisch auf Integrationsaufgabe/Operationen des konkreten Integrationssystems

17 Semantik Transformation
Intuition zum Algorithmus SemanticTransformation Problem: Erhobene Statistiken beziehen sich semantisch auf Operatoren des Zielsystems (und nicht die zentrale Repräsentation) PETL o1 o2 o3 o4 o5 o6 1:1 N:1 1:N (1:1) N:M (N:1) PMTM o1‘ o2‘ o3‘ o4‘ o5‘ o6‘ o7‘ Idee Bestimmung des semantischen Bezugs (invers zur Generierung) Verwendung bidirektionaler Transformationsregel (falls vorhanden) Übernahme von Statistiken Direkte Übernahme falls verlustfrei möglich Andernfalls Gruppierung der Statistiken als Teilprozesse  Problem: Fehlende Statistiken

18 Semantik Transformation (2)
Problembehebung Semantik erhobener Statistiken Im Papier: Algorithmus 2 SemanticTransformation Formale Komplexitätsanalyse des Algorithmus: O(m2 + m´) m … Anzahl Operatoren (Quellsystem) m´… Anzahl Operatoren (Zielsystem) Problem Inkonsistente und fehlende Statistiken

19 Statistische Korrektur
Intuition zum Algorithmus StatisticalCorrection Problem: Inkonsistente und unvollständige Statistiken 1) Prüfung |dsout|(oi) == |dsin|(oi+1) 2) Interpolation PMTM o1 o2 o3 o4 o5 o6 o7 te(o1) |dsout| te(o2) |dsin| |dsout| te(o3) |dsin| |dsout| te(op1) |dsin| |dsout| te(o4) |dsin| |dsout| te(o5) |dsin| |dsout| te(o6) |dsin| |dsout| te(op2) |dsin| |dsout| te(o7) |dsin| |dsout| Idee Bestimmung von Inkonsistenzen zwischen Statistiken Löschung von inkonsistenten Statistiken Berechnung (Interpolation) fehlender Statistiken Statistiken welche nicht erhobenen werden konnten Statistiken welche aus 1:N / N:M Abbildungen hervorgegangen sind Statistiken welche im Zuge der Konsistenzanalyse gelöscht wurden

20 Statistische Korrektur (2)
Problembehebung Fehlende Statistiken Inkonsistente Statistiken Statistischer Fehler Im Papier: Algorithmus 3 StatisticalCorrection Formale Komplexitätsanalyse des Algorithmus: O(m) m … Anzahl Operatoren

21 Gliederung Problemstellung und Herausforderungen
Plattforminvariante Kostenmodellierung Kostenmodell Erhebung von Verarbeitungsstatistiken Kostennormalisierung Grundnormalisierung Transformation der Semantik Statistische Korrektur Anwendungsszenario Plan- und Kostendiagramme Experimentelle Evaluierung Zusammenfassung

22 Anwendungsszenario Plandiagramm Kostendiagramm
Zwei-Dimensionale Darstellung optimaler Pläne hinsichtlich zwei Variabilitätsparameter Kostendiagramm Drei-Dimensionale Darstellung der Plandiagramme, gewichtet mit normalisierten Kosten Hierarchie von Plan- und Kosten- diagrammen Systemtypdiagramme Systemdiagramme Plandiagramme

23 Anwendungsszenario (2)
Beispielprozess Variabilitäts parameter: Fork o1 Assign o2 Assign o5 VP1: dsout(o3) [0; ] --cardinality VP2: dsout(o6) [0; ] --cardinality Invoke o3 Invoke o6 VP3: dsout(o4)/ dsin(o4) [0; 1.0] --selectivity VP4: dsout(o7)/ dsin(o7) [0; 1.0] --selectivity Selection o4 Selection o7 Join o8 VP5: dsout(o8)/ max(dsin1(o8), dsin2(o8)) [0; 1.0] --selectivity Assign o9 Invoke o10

24 Anwendungsszenario (3)
Beispiel Systemtypdiagramme (FDBMS, ETL) Plan-diagramm x=VP1 y=VP3 Fork o1 Assign o2 Assign o5 VP1: dsout(o3) Invoke o3 Invoke o3 Invoke o6 VP3: dsout(o4)/ dsin(o4) Selection o4 Selection o4 Selection o7 Kosten-diagramm x=VP1 y=VP3 z=te(P) Join o8 TODO: Animation Assign o9 Invoke o10

25 Anwendungsszenario (4)
Beispiel Systemdiagramme (FDBMS x, FDBMS y) Plan- diagramm x=VP1 y=VP5 Fork o1 Assign o2 Assign o5 VP1: dsout(o3) Invoke o3 Invoke o3 Invoke o6 Selection o4 Selection o7 Kosten-diagramm x=VP1 y=VP5 z=te(P) VP5: dsout(o8)/ max(dsin1(o8), dsin2(o8)) Join o8 Join o8 Assign o9 Invoke o10

26 Gliederung Problemstellung und Herausforderungen
Plattforminvariante Kostenmodellierung Kostenmodell Erhebung von Verarbeitungsstatistiken Kostennormalisierung Grundnormalisierung Transformation der Semantik Statistische Korrektur Anwendungsszenario Plan- und Kostendiagramme Experimentelle Evaluierung Zusammenfassung

27 Experimentelle Evaluierung
Qualität der Kostennormalisierung Grad der Parallelität (variiert von p=1 bis p=4) Datenmenge i.S.v. Kardinalitäten* (variiert von d=0.001 bis d=0.004) *Skalierungsfaktor des DIPBench (Data-Intensive Integration Process Benchmark)

28 Experimentelle Evaluierung (2)
Problem „Unterschiedliche Verarbeitungsmodelle“ WFPE: Instanz-basierte Prozessverarbeitung VWFPE: Prozessverarbeitung entsprechend des Pipes&Filter-Modells Normalisierung für Extremfälle (hier n=250) ungenügend Ursache: Lange Wartezeiten in Warteschlangen einbezogen Einbeziehung des Durchsatzes bringt geringfügige Verbesserung  Ausweg: Wartezeiten müssten einbezogen werden (aber: systemübergreifend schwierig)

29 Experimentelle Evaluierung (3)
Effizienz der Kostennormalisierung Quadratische Zeitkomplexität experimentell nachgewiesen Effiziente Verarbeitung durch Partitionierung der Detailstatistiken möglich

30 Gliederung Problemstellung und Herausforderungen
Plattforminvariante Kostenmodellierung Kostenmodell Erhebung von Verarbeitungsstatistiken Kostennormalisierung Grundnormalisierung Transformation der Semantik Statistische Korrektur Anwendungsszenario Plan- und Kostendiagramme Experimentelle Evaluierung Zusammenfassung

31 Zusammenfassung Problem Überblick/Zusammenfassung
Vergleichbarkeit von Integrationssystemen  Voraussetzung für systemübergreifende Optimierung Überblick/Zusammenfassung Problemstellungen der Kostenmodellierung und -normalisierung Plattforminvariantes Kostenmodell für Integrationsprozesse Zweistufiges Kostenmodell Anforderungen an Statistikerhebung Algorithmen zur Kostennormalisierung Algorithmus BaseNormalization Algorithmus SemanticTransformation Algorithmus StatisticalCorrection Unterschiedliche Anwendungsgebiete ...

32 Schlussfolgerungen Wesentliche Beobachtungen
Effizienz hängt sehr stark von der dynamischen Workload- Charakteristik ab Break-even-points bei sich verändernder Charakteristik Mögliche Anwendungsgebiete What-If Schnittstelle für Integrationssysteme Plandiagramme Kostendiagramme Einsatz im Rahmen der modellgetriebenen Generierung Auswahl von Generierungszielen (Systemen) - z.B.: Orchid (Prof. Dessloch), GCIP (HTW, TUD), Verwaltung von ETL-Prozessen (Prof. Naumann) - Robustheitsentscheidungen (im Hinblick auf Statistiken) Lastbalancierung mit heterogenen Integrationssystemen

33 BTW 2009 Systemübergreifende Kostennormalisierung für Integrationsprozesse Matthias Böhm1,2 , Dirk Habich2, Wolfgang Lehner2, Uwe Wloka1 1 Hochschule für Technik und Wirtschaft Dresden (FH), Database Group 2 Technische Universität Dresden, Database Technology Group

34 Backup Plattform- invariantes Kostenmodell

35 Backup (2) Beispiel SemantischeTransformation* PETL PMTM
 Problem: Fehlende Statistiken Beispiel SemantischeTransformation* PETL o1 o2 o3 o4 o5 o6 te(o1) te(o2) te(o3) te(o4) te(o5) te(o6) 1:1 te(o1‘)= te(o1) N:1 te(o2‘)= te(o2)+ te(o3) N:M te(op2‘)= te(o5)+ te(o6) 1:N te(op1‘)= te(o4) PMTM o1‘ o2‘ o3‘ o4‘ o5‘ o6‘ o7‘ te(o1‘) te(o2‘) te(op1‘) te(op2‘) *Am Beispiel der Verarbeitungszeit von Operatoren te(oi)

36 Backup (3) Beispiel Statistische Korrektur PMTM PMTM‘
Allgemeine Interpolation dsin(oi‘)= dsin(o)-(i-1)*(dsin(o)-dsout(o))/|o‘| dsout(oi‘)= dsin(o)-(i)*(dsin(o)-dsout(o))/|o‘| te(oi‘)= te(o) * C(oi‘)/ ∑ C(oi‘) Beispiel Statistische Korrektur PMTM o1 o2 o3 o4 o5 o6 o7 te(o1) |dsout| te(o2) |dsin| |dsout| te(op1) |dsin| |dsout| te(op2) |dsin| |dsout| 2) Interpolation 1) Übernahme 1) Übernahme dsin(o3‘)= dsin(op1) dsout(o4‘)= dsout(op1) 2) Interpolation dsout(o3‘)= dsin(o4‘)= dsin(op1) (dsin(o)-dsout(o))/2 te(oi‘)= te(op1) * C(oi‘)/ ∑ C(oi‘) PMTM‘ o1‘ o2‘ o3‘ o4‘ o5‘ o6‘ o7‘ te(o1) |dsout| te(o2) |dsin| |dsout| |dsin| te(o3) |dsin| |dsout| te(o4) |dsin| |dsout| |dsout| te(o5) |dsin| |dsout| |dsin| te(o6) |dsin| |dsout| te(o7) |dsin| |dsout| |dsout|


Herunterladen ppt "BTW 2009 Systemübergreifende Kostennormalisierung für Integrationsprozesse Matthias Böhm1,2 , Dirk Habich2, Wolfgang Lehner2, Uwe Wloka1 1 Hochschule."

Ähnliche Präsentationen


Google-Anzeigen