BTW 2009
This presentation is the property of its rightful owner.
Sponsored Links
1 / 36

BTW 2009 PowerPoint PPT Presentation


  • 70 Views
  • Uploaded on
  • Presentation posted in: General

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.

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Btw 2009

  • 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

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


Problemstellung1

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


Problemstellung2

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.


Problemstellung3

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

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

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

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

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

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

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.


Gliederung1

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

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

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

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

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

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

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

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

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


Gliederung2

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

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

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

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

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


Gliederung3

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

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

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

Experimentelle Evaluierung (3)

  • Effizienz der Kostennormalisierung

    • Quadratische Zeitkomplexität experimentell nachgewiesen

    • Effiziente Verarbeitung durch Partitionierung der Detailstatistiken möglich


Gliederung4

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

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

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

  • 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

Backup

  • Plattform-invariantesKostenmodell


Backup 2

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

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|


  • Login