Toward Thread-Level Speculation for Coarse-Grained Parallelism With Regular Access Patterns
Source: North Carolina State University
Recent work on Transactional Memory (TM) bears promise to exploit multicore capabilities. TM extensions for Thread-Level Speculative parallelism (TLS) have predominantly focused on integer benchmarks with short critical sections and exploit limited on-chip buffering space to store shadow values needed to potentially abort transactions. In contrast, scientific codes generally provide coarse-grained parallel regions with potentially shared memory accesses, which do not fit into size-limited shadow buffers. Hence, such codes represent a mismatch for TM-TLS. This work contributes mechanisms to speculatively parallelize scientific codes with dense, non-scalar data references exploiting compilation techniques and runtime enhancements coupled with minor hardware enhancements to transparently support TLS.