Presentation is loading. Please wait.

Presentation is loading. Please wait.

SSGRR 20031 A Taxonomy of Execution Replay Systems Frank Cornelis Andy Georges Mark Christiaens Michiel Ronsse Tom Ghesquiere Koen De Bosschere Dept. ELIS.

Similar presentations


Presentation on theme: "SSGRR 20031 A Taxonomy of Execution Replay Systems Frank Cornelis Andy Georges Mark Christiaens Michiel Ronsse Tom Ghesquiere Koen De Bosschere Dept. ELIS."— Presentation transcript:

1 SSGRR 20031 A Taxonomy of Execution Replay Systems Frank Cornelis Andy Georges Mark Christiaens Michiel Ronsse Tom Ghesquiere Koen De Bosschere Dept. ELIS Ghent University

2 July 30, 2003SSGRR 20032 The Debugging Problem The debugging process is hard to automate Current tools are inadequate for debugging large scale, interactive, multi-threaded, and event-driven applications Hard to find bugs: Synchronization errors Memory leaks Data races Dangling pointers

3 July 30, 2003SSGRR 20033 Inadequate Tools Most common debugging technique: cyclic debugging Problem: there is no guarantee that the same behavior is observed during subsequent runs as many applications are non-deterministic Ideal situation: reverse execution…

4 July 30, 2003SSGRR 20034 Solution: Execution Replay Execution 1Execution 2 Trace file record replay

5 July 30, 2003SSGRR 20035 Requirements Record must have low intrusion Replay must be accurate Record phase must be space efficient Replay phase must be time efficient

6 July 30, 2003SSGRR 20036 Tornado RecPlay JaRec jRapture Interrupt Replay Scheduling Replay Compressed differences Instant Replay Input Replay Output Replay RSA DejaVu Igor Recap

7 July 30, 2003SSGRR 20037 Outline Introduction Content-based vs. ordering-based Dealing with input Dealing with timing Dealing with other processors Conclusion

8 July 30, 2003SSGRR 20038 Content-based Record input for every instruction … add r1,1 → r1 load 8(r1) → r2 store r2 → 12(r1) … r1 = 10 r1 = 11 r2 = 401 r1=11 + Instruction can be executed in isolation – Huge trace files

9 July 30, 2003SSGRR 20039 Ordering-based Record control flow of program from a given initial state C1; C2 + Smaller trace files – Reexecution required

10 July 30, 2003SSGRR 200310 Sources of non-determinism Input (e.g. a database, time, pixel coordinates) Timing (e.g. interrupts, scheduler actions) Interaction with other processors (processor, DMA, coprocessor)

11 July 30, 2003SSGRR 200311 Outline Introduction Content-based vs. ordering-based Dealing with input Dealing with timing Dealing with other processors Conclusion

12 July 30, 2003SSGRR 200312 Input instructions application kernel IO-instructions System calls  content-based  ordering-based  content-based Tornado jRapture

13 July 30, 2003SSGRR 200313 Outline Introduction Content-based vs. ordering-based Dealing with input Dealing with timing Dealing with other processors Conclusion

14 July 30, 2003SSGRR 200314 Dealing with timing Interrupts Input/output (timing aspect; not input aspect) Scheduling application other code  ordering-based

15 July 30, 2003SSGRR 200315 How to determine the ordering PC is not enough Need extra counter: SIC 1 - Instructions executed - No of backward jumps 1 Software Instruction Counter Interrupt replay Repeatable scheduling DejaVu

16 July 30, 2003SSGRR 200316 Outline Introduction Content-based vs. ordering-based Dealing with input Dealing with timing Dealing with other processors Conclusion

17 July 30, 2003SSGRR 200317 Dealing with other processors Multi-threading (multiple threads in one address space) Multi-processing (multiple processes sharing a common block of memory) A coprocessor (video, DMA, …) Code 1Code 2 data c1c1 c2c2 c1c1 c2c2

18 July 30, 2003SSGRR 200318 Many systems RecPlay Ordering-based up to the first data race JaRec Ordering-based up to the first data race IGOR Content-based: checkpointing Recap Content-based: reverse execution Instant Replay Ordering-based: version numbers Netzers’s approach Ordering-based: also replays data races

19 July 30, 2003SSGRR 200319 Overview DejaVu 1DejaVu 2 IGOR Instant Replay Interrupt Replay JaRec jRapture Recap RecPlay RSA Tornado Input System Calls Interrupts SM (content-based) SM (ordering-based)

20 July 30, 2003SSGRR 200320 Conclusion No execution replay system deals with all forms of non-determinism The more accurate the system gets, the more resources it needs (time, space), and hence becomes less useful There is a need for stable and platform-independent tools to further support debugging


Download ppt "SSGRR 20031 A Taxonomy of Execution Replay Systems Frank Cornelis Andy Georges Mark Christiaens Michiel Ronsse Tom Ghesquiere Koen De Bosschere Dept. ELIS."

Similar presentations


Ads by Google