1 / 36

BTW 2009

BTW 2009. Systemübergreifende Kostennormalisierung für Integrationsprozesse Matthias Böhm 1,2 , Dirk Habich 2 , Wolfgang Lehner 2 , Uwe Wloka 1 1 Hochschule für Technik und Wirtschaft Dresden (FH), Database Group 2 Technische Universität Dresden, Database Technology Group.

dacian
Download Presentation

BTW 2009

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BTW 2009 SystemübergreifendeKostennormalisierungfürIntegrationsprozesseMatthias Böhm1,2 , Dirk Habich2, Wolfgang Lehner2, Uwe Wloka11 HochschulefürTechnik und Wirtschaft Dresden (FH), Database Group2 TechnischeUniversität Dresden, Database Technology Group

  2. Problemstellung b) Zeitbasierter Integrationsprozess • Einführung Integrationsprozesse Fork o1 a) Datengetriebener Integrationsprozess Receive o1 SAP R/3 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 Invoke o7 JDBC Assign o9 Assign o8 Invoke o10 Web Service Web Service Invoke o9

  3. Problemstellung • Kontext • Modellgetriebene Generierung von Integrationsprozessen • GCIP (Generation ofComplexIntegration Processes) • Problem • Vergleichbarkeit vonIntegrationssystemen  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 • 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 viceversa).

  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 • Systemübergreifender Charakter des Anwendungsgebietes • Beispiel Receive o1 Translation o2 Invoke o3 |dsout| |dsin|+|dsout| |dsin|+|dsout| Ps2 ??? • Abstrakter Kostenvergleich (z.B. auf Ebene der Kardinalitäten) schlägt fehl, da unterschiedliche Arbeitslast

  9. Kostenmodellierung (2) • Hauptproblem • Systemübergreifender Charakter des Anwendungsgebietes • Beispiel Receive o1 Translation o2 Invoke o3 te(ol) te(ol) te(ol) Ps2 ??? Vergleich normalisierter Verarbeitungsstatistiken (Ausführungszeit) schlägt ebenfalls fehlt, da keine Aussage über Arbeitslast

  10. Kostenmodellierung (3) • Lösungsansatz • Zweistufiges Verfahren der Kostenmodellierung • Stufe 1: Bestimmung absoluter Kosten auf abstraktem Niveau • Stufe 2: Gewichtung mit normalisierten Statistiken te(ol) |dsout| te(ol) |dsin|+|dsout| te(ol) |dsin|+|dsout| Receive o1 Translation o2 Invoke o3 Ps1

  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 • Algorithmus StatisticalCorrection • Fehlende Statistiken • Inkonsistente Statistiken • Statistischer Fehler Statistische Korrektur Aggregate Semantik Transformation • Algorithmus SemanticTransformation • Semantik erhobener Statistiken Aggregate • Algorithmus BaseNormalization • Parallelität von Instanzen • Ressourcenverwendung • Unterschiedliche Verarbeitungsmodelle Grundnormalisierung Detaillierte Verarbeitungsstatistiken

  14. Grundnormalisierung • Intuition zum Algorithmus BaseNormalization • Problem: Parallelität von Instanzen verfälscht erhobene Statistiken Zeit t Prozess 1 p1 Prozess 2 p2 Prozess 3 p3 ∆t ∆t / 2 ∆t / 3 ∆t / 2 ∆t • 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) Ro(Pi)=0.10 Ro(o1)=0.60 Ro(o2)=0.85 Wiederverwendung von Abschnittsmengen möglich • Am Beispiel te(P) 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 0 20 40 te(P1)= 0.1/0.1 * 1.00ms Time = End - Start + te(o1) + 0.1/0.1 * 0.50ms + te(o2) + 0.1/0.1 * 0.50ms mitte(o1)= 0.6/0.6 * 6.00ms te(o2)= 0.85/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 o7‘ o1‘ o2‘ o3‘ o4‘ o5‘ o6‘ • 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 o7 o1 o2 o3 o4 o5 o6 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 • Zwei-Dimensionale Darstellung optimaler Pläne hinsichtlich zwei Variabilitätsparameter • Kostendiagramm • Drei-Dimensionale Darstellung der Plandiagramme, gewichtetmit normalisierten Kosten • Hierarchie von Plan- und Kosten-diagrammen • Systemtypdiagramme • Systemdiagramme • Plandiagramme

  23. Anwendungsszenario (2) • Beispielprozess • Variabilitätsparameter: Fork o1 Assign o2 Assign o5 VP2: dsout(o6) [0; 1.000.000] --cardinality VP1: dsout(o3) [0; 1.000.000] --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=VP1y=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=VP1y=VP3 z=te(P) Join o8 Assign o9 Invoke o10

  25. Anwendungsszenario (4) • Beispiel Systemdiagramme (FDBMS x, FDBMS y) Plan- diagramm x=VP1y=VP5 Fork o1 Assign o2 Assign o5 VP1: dsout(o3) Invoke o3 Invoke o3 Invoke o6 Selection o4 Selection o7 Kosten-diagramm x=VP1y=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 • 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übergreifendeKostennormalisierungfürIntegrationsprozesseMatthias Böhm1,2 , Dirk Habich2, Wolfgang Lehner2, Uwe Wloka11 HochschulefürTechnik und Wirtschaft Dresden (FH), Database Group2 TechnischeUniversität Dresden, Database Technology Group

  34. Backup • Plattform-invariantesKostenmodell

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

  36. Backup (3) 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 o7 o1 o2 o3 o4 o5 o6 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‘ o7‘ o1‘ o2‘ o3‘ o4‘ o5‘ o6‘ |dsout| te(o4) |dsin| |dsout| |dsin| te(o5) |dsin| |dsout| |dsout| te(o7) |dsin| |dsout| te(o1) |dsout| te(o2) |dsin| |dsout| |dsin| te(o3) |dsin| |dsout| te(o6) |dsin| |dsout|

More Related