Speculative Synchronization: Programmability and Performance for Parallel Codes

JoséF F. Martínez, Josep Torrellas

Research output: Contribution to journalReview articlepeer-review


The use of speculative synchronization for optimistically executing unanalyzable serial code in parallel applications is discussed. Speculative synchronization allows threads to speculatively execute past active barriers, busy locks and unset flags. The presence of one or more safe threads in every active synchronization point guarantees the application's forward progress, even in the presence of access conflicts or insufficient cache space for speculative data. Speculative synchronization can easily be transparent to application programmers and parallelizing compilers, and can coexist with uses of conventional synchronization in the same program.

Original languageEnglish (US)
Pages (from-to)126-134
Number of pages9
JournalIEEE Micro
Issue number6
StatePublished - Nov 2003

ASJC Scopus subject areas

  • Software
  • Hardware and Architecture
  • Electrical and Electronic Engineering


Dive into the research topics of 'Speculative Synchronization: Programmability and Performance for Parallel Codes'. Together they form a unique fingerprint.

Cite this