Previous work
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 10.7k
- Forks
- 662
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 2
Description
Hi there,
I've been doing record/replay mechanism for a while on the Linux kernel. Judging by https://github.com/mozilla/rr/wiki/Kernel-API-wishlist it might be useful to take some of the code from the Scribe's kernel implementation.
While Scribe does not rely on performance counters, the ideas are similar. There is a major difference with shared memory as Scribe modifies the page table mechanism to track memory access ordering.
Here's how it works (screencast included):
http://velvetpulse.com/2012/11/27/scribe-the-deterministic-transparent-record-replay-engine/
Papers:
http://viennot.biz/sigmetrics2010_scribe.pdf
http://viennot.biz/sosp2011_racepro.pdf
http://viennot.biz/asplos2013_dora.pdf
Sources:
https://github.com/nviennot/linux-2.6-scribe
https://github.com/columbia/mreplay (mutable replay)
VM to play with Scribe:
http://velvetpulse.s3.amazonaws.com/vm/scribe-ubuntu-1204.tar.bz2
Let me know if there is some interest to salvage some of Scribe's code.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the rr Kernel API wishlist and the linked Scribe implementation at github.com/nviennot/linux-2.6-scribe. Read the referenced Scribe papers and compare its shared-memory and page-table approach with rr. The issue does not define a specific change or completion criteria, so the intended outcome would need maintainer agreement.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, linux
- Domain
- operating-systems, reverse-engineering
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100