Ablaufbeobachtung in einer opensource virtual machine Diplomarbeitsthema von David Lauterbach.

19
Ablaufbeobachtung in einer opensource virtual machine Diplomarbeitsthema von David Lauterbach

Transcript of Ablaufbeobachtung in einer opensource virtual machine Diplomarbeitsthema von David Lauterbach.

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