A Taxonomy of Execution Replay Systems - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

A Taxonomy of Execution Replay Systems

Description:

Multi-processing (multiple processes sharing a common block of memory) A coprocessor ... the system gets, the more resources it needs (time, space), and ... – PowerPoint PPT presentation

Number of Views:43
Avg rating:3.0/5.0
Slides: 21
Provided by: KoenDeBo7
Category:

less

Transcript and Presenter's Notes

Title: A Taxonomy of Execution Replay Systems


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

2
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
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
Solution Execution Replay
Execution 1
Execution 2
Trace file
record
replay
5
Requirements
  • Record must have low intrusion
  • Replay must be accurate
  • Record phase must be space efficient
  • Replay phase must be time efficient

6
Instant Replay
Compressed differences
JaRec
Tornado
Igor
RSA
Output Replay
jRapture
Recap
Input Replay
RecPlay
Scheduling Replay
DejaVu
Interrupt Replay
7
Outline
  • Introduction
  • Content-based vs. ordering-based
  • Dealing with input
  • Dealing with timing
  • Dealing with other processors
  • Conclusion

8
Content-based
  • Record input for every instruction

r1 10 r1 11 r2 401 r111
add r1,1 ? r1 load 8(r1) ? r2 store r2 ?
12(r1)
Instruction can be executed in isolation Huge
trace files
9
Ordering-based
  • Record control flow of program from a given
    initial state

C1 C2
Smaller trace files Reexecution required
10
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
Outline
  • Introduction
  • Content-based vs. ordering-based
  • Dealing with input
  • Dealing with timing
  • Dealing with other processors
  • Conclusion

12
Input instructions
application
Tornado jRapture
IO-instructions
? content-based
  • content-based
  • ordering-based

System calls
kernel
13
Outline
  • Introduction
  • Content-based vs. ordering-based
  • Dealing with input
  • Dealing with timing
  • Dealing with other processors
  • Conclusion

14
Dealing with timing
  • Interrupts
  • Input/output (timing aspect not input aspect)
  • Scheduling

application
?ordering-based
other code
15
How to determine the ordering
  • PC is not enough
  • Need extra counter SIC1
  • Instructions executed
  • No of backward jumps

Interrupt replay Repeatable scheduling DejaVu
1 Software Instruction Counter
16
Outline
  • Introduction
  • Content-based vs. ordering-based
  • Dealing with input
  • Dealing with timing
  • Dealing with other processors
  • Conclusion

17
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, )

c2
c1
c2
c1
Code 1
Code 2
data
18
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
  • Netzerss approach
  • Ordering-based also replays data races

19
Overview
20
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-independen
    t tools to further support debugging
Write a Comment
User Comments (0)
About PowerShow.com