Set-Congruence Dynamic Analysis for Thread-Level Speculation (TLS)

  • Authors:
  • Cosmin E. Oancea;Alan Mycroft

  • Affiliations:
  • Computer Laboratory, Cambridge University, Cambridge, UK CB3 0FD;Computer Laboratory, Cambridge University, Cambridge, UK CB3 0FD

  • Venue:
  • Languages and Compilers for Parallel Computing
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

The move to multi-core has increased interest in parallelizing sequential programs. Classical dependency-based techniques, although successful for some classes of programs, often fail due to the one-sided (conservative) approximation of program behavior. Thread-level speculation enables increased parallelism by allowing out-of-order execution: correct dependences are ensured by run-time monitoring and possible rollbacks. Two-sided approximations of program behavior are now acceptable if the rollback ratio is kept small. We describe dynamic analyses, based on representing dependencies as modular congruences, which can be employed on-line or off-line. One, thread partitioning , efficiently enables loop iterations to be allocated to threads (and calculates the maximum effective concurrency); the other, fine-grain memory partitioning , calculates a hash function that reduces space overhead and performance loss due to TLS-metadata-based and cache-based task interference.