Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dependable computing needs pervasive debugging Tim Harris

Similar presentations


Presentation on theme: "Dependable computing needs pervasive debugging Tim Harris"— Presentation transcript:

1 Dependable computing needs pervasive debugging Tim Harris tim.harris@cl.cam.ac.uk

2 Outline  Motivation  Problems with existing debuggers  Pervasive debugging  System architecture  Demo

3 Motivation  One of the projects we’ve been working on is building lock-free data structures  Safe for multi-threaded use, but don’t use locks  Built from atomic read, write and CAS – lots of subtle interactions  Algorithms are short, but formal methods hard to apply here

4 Debugger problems  Usually only forward execution  Probe effects / heisenbugs  e.g. relaxed memory orderings or genuine-parallelism versus time-sliced  Support for concurrency  e.g. deterministic re-execution  Support for distribution  usually one debugger needed for each process  sometimes support for tracing across RPCs  network monitoring software, tcpdump, nProbe

5 Pervasive debugging  Present the user with a single interface to the entire system  All of the processes involved  All of the threads within them  All of the communication links  Execute the application in a virtualized and completely deterministic environment  At least we’d have bohrbugs rather than heisen- ones  Challenges  Correspondence between the real and virtual environments  Design of internal interfaces  Implementation efficiency

6 System architecture Currently GDB Remote stub Execution driver Instruction virtualizer Scheduler definition Instruction annotations Virtualized libraries Pervasive debugger User interface Program files

7 Demo CPU Write buffer Shared memory CPU Write buffer


Download ppt "Dependable computing needs pervasive debugging Tim Harris"

Similar presentations


Ads by Google