| dc.contributor.author | Jeffrey, Mark Christopher | |
| dc.contributor.author | Subramanian, Suvinay | |
| dc.contributor.author | Abeydeera, Maleen Hasanka | |
| dc.contributor.author | Sanchez Martin, Daniel | |
| dc.contributor.author | Emer, Joel S | |
| dc.date.accessioned | 2018-04-27T20:24:12Z | |
| dc.date.available | 2018-04-27T20:24:12Z | |
| dc.date.issued | 2016-12 | |
| dc.date.submitted | 2016-10 | |
| dc.identifier.isbn | 978-1-5090-3508-3 | |
| dc.identifier.issn | 978-1-5090-3509-0 | |
| dc.identifier.uri | http://hdl.handle.net/1721.1/115066 | |
| dc.description.abstract | 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. | en_US |
| dc.description.sponsorship | Natural Sciences and Engineering Research Council of Canada (Postgraduate Scholarship) | en_US |
| dc.description.sponsorship | National Science Foundation (U.S.) (Grant CAREER-1452994) | en_US |
| dc.description.sponsorship | National Science Foundation (U.S.) (Grant CCF1318384) | en_US |
| dc.description.sponsorship | United States. Defense Advanced Research Projects Agency. Cyber Fault-tolerant Attack Recovery (CFAR) | en_US |
| dc.language.iso | en_US | |
| dc.publisher | Institute of Electrical and Electronics Engineers (IEEE) | en_US |
| dc.relation.isversionof | http://dx.doi.org/10.1109/MICRO.2016.7783708 | en_US |
| dc.rights | Creative Commons Attribution-Noncommercial-Share Alike | en_US |
| dc.rights.uri | http://creativecommons.org/licenses/by-nc-sa/4.0/ | en_US |
| dc.source | MIT Web Domain | en_US |
| dc.title | Data-centric execution of speculative parallel programs | en_US |
| dc.type | Article | en_US |
| dc.identifier.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. | en_US |
| dc.contributor.department | Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science | en_US |
| dc.contributor.mitauthor | Jeffrey, Mark Christopher | |
| dc.contributor.mitauthor | Subramanian, Suvinay | |
| dc.contributor.mitauthor | Abeydeera, Maleen Hasanka | |
| dc.contributor.mitauthor | Sanchez Martin, Daniel | |
| dc.contributor.mitauthor | Emer, Joel S | |
| dc.relation.journal | 2016 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO) | en_US |
| dc.eprint.version | Author's final manuscript | en_US |
| dc.type.uri | http://purl.org/eprint/type/ConferencePaper | en_US |
| eprint.status | http://purl.org/eprint/status/NonPeerReviewed | en_US |
| dspace.orderedauthors | Jeffrey, Mark C.; Subramanian, Suvinay; Abeydeera, Maleen; Emer, Joel; Sanchez, Daniel | en_US |
| dspace.embargo.terms | N | en_US |
| dc.identifier.orcid | https://orcid.org/0000-0003-4816-0356 | |
| dc.identifier.orcid | https://orcid.org/0000-0001-7701-8303 | |
| dc.identifier.orcid | https://orcid.org/0000-0002-9247-9236 | |
| dc.identifier.orcid | https://orcid.org/0000-0002-2453-2904 | |
| dc.identifier.orcid | https://orcid.org/0000-0002-3459-5466 | |
| mit.license | OPEN_ACCESS_POLICY | en_US |