Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Ilse Acker Geändert vor über 9 Jahren
1
Ablaufbeobachtung in einer opensource virtual machine
Diplomarbeitsthema von David Lauterbach
2
Gliederung Einführung ins Thema Aktuelle Techniken / Algorithmen
Beispiel Ziel der Diplomarbeit Implementierungsidee Auswertung / Evaluation
3
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
4
Aktuelle Techniken Fehlersuchetools: Profiler:
Finden von Speicherlecks Optimierung der Performance Vertex-Profiling Edge-Profiling
5
Aktuelle Techniken Debugger: Coredump:
Anzeige der letzten Befehle/Variablenwerte vor der fehlerhaftenTerminierung Stacktrace Coredump: Anzeige der Registerwerte vor Absturz des Systems
6
Algorithmen Vertex – Profiling : Edge – Profiling : Program-Tracing:
Knuth und Stevenson (1973) Edge – Profiling : minimaler Spannbaum Program-Tracing: Ramamoorthy, Kim und Chen (1975) Sergej Alekseev (2006) Ramamoorthy, Kim und Chen (1975) -> Edge – Tracing wobei der Quellcode modifiziert wird Sergej Alekseev (2006) -> Vertex – Tracing ohne Codeänderung
7
Ablaufgraph (graphisch)
8
Rekonstruktion (Knuth-Stevenson)
Instrumentieren des Programmablaufgraphen:
9
Rekonstruktion (Knuth-Stevenson)
Instrumentieren des Programmablaufgraphen:
10
Rekonstruktion (Knuth-Stevenson)
Instrumentieren des Programmablaufgraphen:
11
Rekonstruktion (Knuth-Stevenson)
Instrumentieren des Programmablaufgraphen:
12
Rekonstruktion (SetEvents)
Instrumentieren des Programmablaufgraphen:
13
Rekonstruktion (SetEvents)
Instrumentieren des Programmablaufgraphen:
14
Rekonstruktion (SetEvents)
Instrumentieren des Programmablaufgraphen:
15
Rekonstruktion (SetEvents)
Instrumentieren des Programmablaufgraphen:
16
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
17
Nachweis durch Implementierung
Graph ist gegeben durch java bytecode Erweitern oder modifizieren des Instruktionssets von openjdk ( Programmiersprache C/C++ Versionskontrollsystem subversion (
18
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 -Eventhandler an den Bytecode anbinen
19
Performanzauswertung
Benchmark durch Zeitvergleich: Benötigte Zeit des Klassenladers : ohne Markierung mit Knuth-Stevenson Algorithmus mit SetEvents Algorithmus
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.