SCRIBE: Application Execution Replay on Commodity Multiprocessor Operating Systems
Lead Inventors: Jason Nieh, Ph.D.Problem or Unmet Need:With the increasing complexity of computer programs fixing bugs is becoming increasingly difficult and expensive. Industry analysts estimate that developers spend only about 20 percent of their time designing and coding and the bulk of their time spent resolving application problems. A record/replay tool would help software developers pin point these specific bugs and find fixes faster and more effectively. In addition, record/replay tools can be set to detect intrusions and malicious code. Being able to repeat their execution and behavior is useful in determining how to block security holes. SCRIBE is the first low-overhead software system to provide transparent, deterministic execution record and replay of multi-threaded and multi-process applications on commodity multiprocessor operating systems. SCRIBE operates in the well-defined interface between applications and operating systems and utilizes standard interfaces which enable transparency. At its core, SCRIBE introduces two new lightweight mechanisms, rendezvous and sync points. Rendezvous points to ensure correct partial ordering of execution based on system call dependencies, and sync points to convert asynchronous interactions that can occur at arbitrary times into synchronous events that are much easier to record and replay. Both of these enable SCRIBE to efficiently record nondeterministic interactions such as related system calls, signals, and shared memory accesses. With this technology, recording overhead is less than 2.5% for server applications including Apache and MySQL, and less than 15%for desktop applications including Firefox, Acrobat, OpenOffice, parallel kernel compilation, and movie playback.
Multi-threaded application record/replay works on commodity multiprocessor hardware and operating systems Uses high-level interface it avoids the need to track low-level hardware yet still maintains transparency to applications Recording overhead is less than 2.5% for server applications including Apache and MySQL, and less than 15%for desktop applications including Firefox, Acrobat, OpenOffice, parallel kernel compilation, and movie playback
Diagnosing and debugging applications by capturing and reproducing hard to find bugs Intrusion analysis by capturing intrusions involving non-deterministic effects Fault-tolerance by providing replicas that replay execution and at the occurrence of a fault
SCRIBE is the first low-overhead software system to provide transparent, deterministic execution record and replay of multi-threaded and multi-process applications on commodity multiprocessor operating systems. SCRIBE operates in the well-defin...
美国
