19
Ablaufbeobachtung in einer opensource virtual machine Diplomarbeitsthema von David Lauterbach

Ablaufbeobachtung in einer opensource virtual machine Diplomarbeitsthema von David Lauterbach

Embed Size (px)

Citation preview

Page 1: Ablaufbeobachtung in einer opensource virtual machine Diplomarbeitsthema von David Lauterbach

Ablaufbeobachtung in einer opensource virtual machine

Diplomarbeitsthema von David Lauterbach

Page 2: Ablaufbeobachtung in einer opensource virtual machine Diplomarbeitsthema von David Lauterbach

Gliederung

1. Einführung ins Thema2. Aktuelle Techniken / Algorithmen 3. Beispiel4. Ziel der Diplomarbeit5. Implementierungsidee6. Auswertung / Evaluation

Page 3: Ablaufbeobachtung in einer opensource virtual machine Diplomarbeitsthema von David Lauterbach

Einführung ins Thema

• IT-Firmen immer mehr unter Zeitdruck– > Qualitätseinbußen durch Quantitätsdruck

• Applikationen immer größer/komplexer– > Fehlersuche immer schwieriger

• Zeit für Fehlersuche kostet Geld– Ausgleichzahlungen/Strafe für Ausfall

Page 4: Ablaufbeobachtung in einer opensource virtual machine Diplomarbeitsthema von David Lauterbach

Aktuelle Techniken

• Fehlersuchetools:– Profiler:

• Finden von Speicherlecks• Optimierung der Performance• Vertex-Profiling• Edge-Profiling

Page 5: Ablaufbeobachtung in einer opensource virtual machine Diplomarbeitsthema von David Lauterbach

Aktuelle Techniken

– Debugger:• Anzeige der letzten Befehle/Variablenwerte

vor der fehlerhaftenTerminierung• Stacktrace

– Coredump:• Anzeige der Registerwerte vor Absturz des

Systems

Page 6: Ablaufbeobachtung in einer opensource virtual machine Diplomarbeitsthema von David Lauterbach

Algorithmen

• Vertex – Profiling :– Knuth und Stevenson (1973)

• Edge – Profiling : – minimaler Spannbaum

• Program-Tracing:– Ramamoorthy, Kim und Chen (1975) – Sergej Alekseev (2006)

Page 7: Ablaufbeobachtung in einer opensource virtual machine Diplomarbeitsthema von David Lauterbach

Ablaufgraph (graphisch)S

1

E

2

4

7

3

5

6

Page 8: Ablaufbeobachtung in einer opensource virtual machine Diplomarbeitsthema von David Lauterbach

Rekonstruktion (Knuth-Stevenson)• Instrumentieren des Programmablaufgraphen:

S

1

E

2;5;7

4

3

6

Page 9: Ablaufbeobachtung in einer opensource virtual machine Diplomarbeitsthema von David Lauterbach

Rekonstruktion (Knuth-Stevenson)• Instrumentieren des Programmablaufgraphen:

S

1

E

2;5;7

4

3

6

Page 10: Ablaufbeobachtung in einer opensource virtual machine Diplomarbeitsthema von David Lauterbach

Rekonstruktion (Knuth-Stevenson)• Instrumentieren des Programmablaufgraphen:

S

1

E

2;5;7

4

3

6

Page 11: Ablaufbeobachtung in einer opensource virtual machine Diplomarbeitsthema von David Lauterbach

Rekonstruktion (Knuth-Stevenson)• Instrumentieren des Programmablaufgraphen:

S

1

E

2

4

7

3

5

6

Page 12: Ablaufbeobachtung in einer opensource virtual machine Diplomarbeitsthema von David Lauterbach

Rekonstruktion (SetEvents)• Instrumentieren des Programmablaufgraphen:

S

1

E

2

4

7

3

5

6

Page 13: Ablaufbeobachtung in einer opensource virtual machine Diplomarbeitsthema von David Lauterbach

Rekonstruktion (SetEvents)• Instrumentieren des Programmablaufgraphen:

2

4

3

Page 14: Ablaufbeobachtung in einer opensource virtual machine Diplomarbeitsthema von David Lauterbach

Rekonstruktion (SetEvents)• Instrumentieren des Programmablaufgraphen:

S

1

E

2

4

7

3

5

6

Page 15: Ablaufbeobachtung in einer opensource virtual machine Diplomarbeitsthema von David Lauterbach

Rekonstruktion (SetEvents)• Instrumentieren des Programmablaufgraphen:

S

1

E

2

4

7

3

5

6

Page 16: Ablaufbeobachtung in einer opensource virtual machine Diplomarbeitsthema von David Lauterbach

Ziel der Diplomarbeit

• Neues Verfahren für automatische Ablaufprotokollierung in einer Laufzeitumgebung– kompletten Rekonstruktion des Programmablaufes – Ohne Verwendung von Zusatzprogrammen– Zur Laufzeit– Anspruch:

• keine Änderung des Quellcode• Laufzeit nicht stark beeinflußt

Page 17: Ablaufbeobachtung in einer opensource virtual machine Diplomarbeitsthema von David Lauterbach

Nachweis durch Implementierung

• Graph ist gegeben durch java bytecode• Erweitern oder modifizieren des

Instruktionssets von openjdk (https://openjdk.dev.java.net/)

• Programmiersprache C/C++• Versionskontrollsystem subversion (

https://openjdk.dev.java.net/svn/openjdk/)

Page 18: Ablaufbeobachtung in einer opensource virtual machine Diplomarbeitsthema von David Lauterbach

Integration des neuen stack trace• Auszug aus

hotspot/src/share/vm/interpreter/bytecodes.hpp„class Bytecodes: AllStatic {

public: enum Code { _illegal = -1, // Java bytecodes

_breakpoint = 202, // 0xca“

• Nachhaltige Änderung des Bytecodes– Z.B. durch Änderung bestehender BCs oder Hinzufügen

eines neuen BCs

Page 19: Ablaufbeobachtung in einer opensource virtual machine Diplomarbeitsthema von David Lauterbach

Performanzauswertung

• Benchmark durch Zeitvergleich:• Benötigte Zeit des Klassenladers :

– ohne Markierung– mit Knuth-Stevenson Algorithmus – mit SetEvents Algorithmus