Data-centric execution of speculative parallel programs
Author(s)
Jeffrey, Mark Christopher; Subramanian, Suvinay; Abeydeera, Maleen Hasanka; Sanchez Martin, Daniel; Emer, Joel S
DownloadSanchez_Data-centric.pdf (1.031Mb)
OPEN_ACCESS_POLICY
Open Access Policy
Creative Commons Attribution-Noncommercial-Share Alike
Terms of use
Metadata
Show full item recordAbstract
Multicore systems must exploit locality to scale, scheduling tasks to minimize data movement. While locality-aware parallelism is well studied in non-speculative systems, it has received little attention in speculative systems (e.g., HTM or TLS), which hinders their scalability. We present spatial hints, a technique that leverages program knowledge to reveal and exploit locality in speculative parallel programs. A hint is an abstract integer, given when a speculative task is created, that denotes the data that the task is likely to access. We show it is easy to modify programs to convey locality through hints. We design simple hardware techniques that allow a state-of-the-art, tiled speculative architecture to exploit hints by: (i) running tasks likely to access the same data on the same tile, (ii) serializing tasks likely to conflict, and (iii) balancing tasks across tiles in a locality-aware fashion. We also show that programs can often be restructured to make hints more effective. Together, these techniques make speculative parallelism practical on large-scale systems: at 256 cores, hints achieve near-linear scalability on nine challenging applications, improving performance over hint-oblivious scheduling by 3.3× gmean and by up to 16×. Hints also make speculation far more efficient, reducing wasted work by 6.4× and traffic by 3.5× on average.
Date issued
2016-12Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer ScienceJournal
2016 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO)
Publisher
Institute of Electrical and Electronics Engineers (IEEE)
Citation
Jeffrey, Mark C., et al. "Data-Centric Execution of Speculative Parallel Programs." 49th Annual IEEE/ACM International Symposium on Microarchitecture, (MICRO), 15-19 October, 2016, Taipei, Taiwan, IEEE, 2016, pp. 1–13, Taipei, Taiwan, 2016.
Version: Author's final manuscript
ISBN
978-1-5090-3508-3
ISSN
978-1-5090-3509-0