Title: Efficient software checkpointing framework for speculative techniques
1Efficient software checkpointing framework for
speculative techniques
- ECE Connections 2006
- Co-Supervisors Prof. Greg. Steffan
- Prof. Cristiana Amza
- Chuck (Chengyan) Zhao
- Department of Computer Science
- University of Toronto
- Jun. 09, 2006
2Chip Multi-Processor (CMP) is now everywhere
- IBM
- Power 4
- Power 5
- Intel
- Montecito
- Smithfield
- AMD
- dual-core Opteron, Athlon X2
- Four-core Opteron
- Sun
- UltraSparc T1 32 cores
- UltraSparc T2 64 cores
- Sony, Toshiba, IBM
- Cell9 cores
-
Power 4
Dual-core Intel chip
Cell
Dual-core Opteron
use CMP for single-threaded applications through
parallelization
3Parallelization Techniques
- Automatic Parallelization
- conservative precise prove of non dependence
- limited domain
- Speculative Parallelization
- non-conservative
- has to recover from failures
focus speculative parallelization, use TLS
4Thread-Level Speculation (TLS) Parallelism
for ( ) p q
- difficult to parallelize automatically
- uncertain dependence between p and q
- might be runtime or user-input dependent
checkpointing scheme dependence testing
5How Thread-Level Speculation works
?
Exec. Time
exploit available thread-level parallelism
6Memory Checkpointing Compiler Transformations
- mark region of interest
- backup each memory write (store)
- generate buffer refresh calls
- generate recovery code
- remove region marking delimiters
start_instrument() setjmp(buf1) for()
refresh_ckpt() backup_mem(a) a
backup_mem(b) b if(error_spec())
ckp_restore()
longjmp(buf1) stop_instrument()
7Preliminary Results MCF in SPEC2KINT
index fname
1 refresh_potential()
2 bea_compute_red_cost()
3 primal_bea_mpp()
4 1 2
5 1 3
6 2 3
7 1 2 3
8Challenges and Future Work
- Challenges software overhead
- Proposed Solutions optimizations
- inlining
- optimal buffer sizing and refreshing placement
- memory optimizations
- Applications
- value prediction
- debugging support
- reliability enhancement
- TLS (long term)
- ...
9Questions and Answers