Thread-Level Speculation with Kernel Support
by Clemens Hammacher, Kevin Streit, Andreas Zeller, Sebastian Hack

Proc. 25th International Conference on Compiler Construction (CC), Pages 1-11, March 2016.

Digital Library via DOI: 10.1145/2892208.2892221 - Local copy: Download as PDF file.

See also

More information is available at https://github.com/hammacher/k-tls.

Abstract

Runtime systems for speculative parallelization can be substantially sped up by implementing them with kernel support. We describe a novel implementation of a thread-level speculation (TLS) system using virtual memory to isolate speculative state, implemented in a Linux kernel module. This design choice not only maximizes performance, but also allows to guarantee soundness in the presence of system calls, such as I/O. Its ability to maintain speedups even on programs with frequent mis-speculation, significantly extends its usability, for instance in speculative parallelization. We demonstrate the advantage of kernel-based TLS on a number of programs from the Cilk suite, where this approach is superior to the state of the art in each single case (7.28x on average). All systems described in this paper are made available as open source.

BibTeX Entry

@inproceedings{hammacher-cc16,
    title = "Thread-Level Speculation with Kernel Support",
    author = "Clemens Hammacher and Kevin Streit and Andreas Zeller and Sebastian Hack",
    year = "2016",
    month = mar,
    booktitle = "Proc. 25th International Conference on Compiler Construction (CC)",
    pages = "1--11",
    doi = "10.1145/2892208.2892221",
}

Show all publications of the Software Engineering Chair.