CSCE 221 Culture Assignment 2
« previous | Friday, April 15, 2011 | next »
Haibo Chen: Parallel Processing Institute, Fudan University, China
Topic: ORDER: Object entRic DEterministic Replay for Java
Deterministic Replay
Keep logs of program execution. Logging stops at system crash, so playing back logs can help identify where bugs are in program.
Java Observations:
- Runtime moves objects within garbage collection engine to maintain free space (happens frequently)
- This changes the address of certain objects
ORDER record and replay at object-level
- Store identifier, current accessing thread, and an access counter on each object
Debugging multi-threaded programs Sample bug: One thread accesses a method on an object while another thread is updating that method.
ORDER keeps track of which threads access which methods for more detailed replay logs.
- ORDER does not keep enough information?
Goal is to be able to reconstruct the machine EXACTLY as it was before the program crashed.
Optimization? Reduce the amount of information in the logs...
The goal is to speed up the rate at which the computer is played back