Efficient software checkpointing framework for speculative techniques - PowerPoint PPT Presentation

About This Presentation
Title:

Efficient software checkpointing framework for speculative techniques

Description:

dual-core Opteron, Athlon X2. Four-core Opteron. Sun: UltraSparc T1: 32 cores ... Dual-core Opteron. use CMP for single-threaded applications through parallelization ... – PowerPoint PPT presentation

Number of Views:20
Avg rating:3.0/5.0
Slides: 10
Provided by: Kar9283
Category:

less

Transcript and Presenter's Notes

Title: Efficient software checkpointing framework for speculative techniques


1
Efficient 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

2
Chip 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
3
Parallelization 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
4
Thread-Level Speculation (TLS) Parallelism
  • Code example

for ( ) p q
  • difficult to parallelize automatically
  • uncertain dependence between p and q
  • might be runtime or user-input dependent

checkpointing scheme dependence testing
5
How Thread-Level Speculation works
?
Exec. Time
exploit available thread-level parallelism
6
Memory 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()
7
Preliminary 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
8
Challenges 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)
  • ...

9
Questions and Answers
Write a Comment
User Comments (0)
About PowerShow.com