360 likes | 518 Views
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.
E N D
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
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
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
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.
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, …)
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).
Gliederung • Problemstellung und Herausforderungen • Plattforminvariante Kostenmodellierung • Kostenmodell • Erhebung von Verarbeitungsstatistiken • Kostennormalisierung • Grundnormalisierung • Transformation der Semantik • Statistische Korrektur • Anwendungsszenario Plan- und Kostendiagramme • Experimentelle Evaluierung • Zusammenfassung
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
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
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
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.
Gliederung • Problemstellung und Herausforderungen • Plattforminvariante Kostenmodellierung • Kostenmodell • Erhebung von Verarbeitungsstatistiken • Kostennormalisierung • Grundnormalisierung • Transformation der Semantik • Statistische Korrektur • Anwendungsszenario Plan- und Kostendiagramme • Experimentelle Evaluierung • Zusammenfassung
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
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)
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
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
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
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
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
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
Gliederung • Problemstellung und Herausforderungen • Plattforminvariante Kostenmodellierung • Kostenmodell • Erhebung von Verarbeitungsstatistiken • Kostennormalisierung • Grundnormalisierung • Transformation der Semantik • Statistische Korrektur • Anwendungsszenario Plan- und Kostendiagramme • Experimentelle Evaluierung • Zusammenfassung
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
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
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
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
Gliederung • Problemstellung und Herausforderungen • Plattforminvariante Kostenmodellierung • Kostenmodell • Erhebung von Verarbeitungsstatistiken • Kostennormalisierung • Grundnormalisierung • Transformation der Semantik • Statistische Korrektur • Anwendungsszenario Plan- und Kostendiagramme • Experimentelle Evaluierung • Zusammenfassung
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)
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)
Experimentelle Evaluierung (3) • Effizienz der Kostennormalisierung • Quadratische Zeitkomplexität experimentell nachgewiesen • Effiziente Verarbeitung durch Partitionierung der Detailstatistiken möglich
Gliederung • Problemstellung und Herausforderungen • Plattforminvariante Kostenmodellierung • Kostenmodell • Erhebung von Verarbeitungsstatistiken • Kostennormalisierung • Grundnormalisierung • Transformation der Semantik • Statistische Korrektur • Anwendungsszenario Plan- und Kostendiagramme • Experimentelle Evaluierung • Zusammenfassung
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 ...
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
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
Backup • Plattform-invariantesKostenmodell
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)
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|