SLIDE 1
Marek Olszew ski Saman Amarasinghe MIT CSAIL Commit Group
SLIDE 2 2
? ? ? ? ? ? ? ?
Deterministic Multithreading
[ Vasudevan and Edwards]
Always-on Race Detection
[ Hans Boehm]
P L D I ` 9 F I T
SLIDE 3
3 Architectures Operating Systems
Tackling these ambitious challenges:
Applications
SLIDE 4
4
SLIDE 5
5
Where we want to be
SLIDE 6
6
Greatest invention since the transistor:
SLIDE 7
7
SLIDE 8
8
OS-Top Boxes Application-Top Boxes
DynamoRIO Pin Valgrind
SLIDE 9
9
Aikido VM
Adds per-thread page protection support to threads running in single address space Duplicates shadow pages: Makes it possible to cheaply detect which data each thread accesses
Page tables:
SLIDE 10 10
Aikido VM
- Good for systems that instrument
accesses to shared data:
- Race Detectors
- Deterministic Multithreading
- STMs, TLS, etc…
- Currently conservative:
- Instrument all instructions that
m ight access shared memory
- Instead:
- Dynamically detect which
instructions definitely access shared pages, and instrument
SLIDE 11
11
Questions?
Aikido VM
http:/ / groups.csail.m it.edu/ com m it/
SLIDE 12
12
Backup Slides
SLIDE 13
13
Originally inspired by: Overshadow by Chen et al. ASPLOS ’0 8
SLIDE 14
14
PetraVM Jinx
Uses a VM to transparently checkpoint and explore different interleavings of shared memory communication to try to trigger bugs.