Abstract

Thread level speculation (TLS) is an emerging parallel computing paradigm to enable parallelization with minimal programmer interaction on state-of-the-art multi-core systems. However, when applied indiscriminately, thread squashing and re-execution can incur significant overhead and TLS may result in performance degradation compared to sequential code. A thorough analysis of code for potentially available parallelism is crucial for choosing between speculative or non-speculative execution. In this paper, we present the outcome of an empirical study on a collection of sequential applications to determine what type of parallelism is available and whether it is beneficial to use TLS. We developed a tool, named SeekBin, which observes Java classes at load time for opportunities of parallelism in the bytecode. SeekBin uses profiler feedback and emits data about actually called methods only, which can be used to determine suitability of applying TLS.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call