Sciweavers

SPAA
2009
ACM

A lightweight in-place implementation for software thread-level speculation

14 years 5 months ago
A lightweight in-place implementation for software thread-level speculation
Thread-level speculation (TLS) is a technique that allows parts of a sequential program to be executed in parallel. TLS ensures the parallel program's behaviour remains true to the language's original sequential semantics; for example, allowing multiple iterations of a loop to run in parallel if there are no conflicts between them. Conventional software-TLS algorithms detect conflicts dynamically. They suffer from a number of problems. TLS implementations can impose large storage overheads caused by buffering speculative work. TLS implementations can offer disappointing scalability, if threads can only commit speculative work back to the "real" heap sequentially. TLS implementations can be slow because speculative reads must consult look-aside tables to see earlier speculative writes, or because speculative operations replace normal reads and writes with expensive synchronisation primitives (e.g. CAS or memory fences). We present a streamlined software-TLS algorith...
Cosmin E. Oancea, Alan Mycroft, Tim Harris
Added 25 Nov 2009
Updated 25 Nov 2009
Type Conference
Year 2009
Where SPAA
Authors Cosmin E. Oancea, Alan Mycroft, Tim Harris
Comments (0)