libspmt: A library for speculative multithreading (2007)
| Citations: | 5 - 3 self |
BibTeX
@TECHREPORT{Pickett07libspmt:a,
author = {Christopher J. F. Pickett and Clark Verbrugge and Allan Kielstra},
title = {libspmt: A library for speculative multithreading},
institution = {},
year = {2007}
}
OpenURL
Abstract
Speculative multithreading (SpMT), or thread level speculation (TLS), is a dynamic parallelisation technique that uses out-of-order execution and memory buffering to achieve speedup. The complexity of implementing software SpMT results in long development lead times, and the lack of reuse between different software SpMT systems makes comparisons difficult. In order to address these problems we have created libspmt, a new language independent library for speculative multithreading. It provides a virtualization of speculative execution components that are unavailable in commercial multiprocessors, and enables method level speculation when fully integrated. We have isolated a clean and minimal library interface, and the corresponding implementation is highly modular. It can accommodate hosts that implement garbage collection, exceptions, and non-speculative multithreading. We created libspmt by refactoring a previous implementation of software SpMT for Java, and by aiming for modularity have exposed several new opportunities for optimization. 1







