Show simple item record

dc.contributor.authorJeffrey, Mark C.
dc.contributor.authorYing, Victor A.
dc.contributor.authorSubramanian, Suvinay
dc.contributor.authorLee, Hyun Ryong
dc.contributor.authorEmer, Joel
dc.contributor.authorSanchez, Daniel
dc.date.accessioned2021-11-02T14:30:41Z
dc.date.available2021-11-02T14:30:41Z
dc.date.issued2018-10
dc.identifier.urihttps://hdl.handle.net/1721.1/137096
dc.description.abstract© 2018 IEEE. Multicore systems should support both speculative and non-speculative parallelism. Speculative parallelism is easy to use and is crucial to scale many challenging applications, while non-speculative parallelism is more efficient and allows parallel irrevocable actions (e.g., parallel I/O). Unfortunately, prior techniques are far from this goal. Hardware transactional memory (HTM) systems support speculative (transactional) and non-speculative (non-Transactional) work, but lack coordination mechanisms between the two, and are limited to unordered parallelism. Prior work has extended HTMs to avoid the limitations of speculative execution, e.g., through escape actions and open-nested transactions. But these mechanisms are incompatible with systems that exploit ordered parallelism, which parallelize a broader range of applications and are easier to use. We contribute two techniques that enable seamlessly composing and coordinating speculative and non-speculative work in the context of ordered parallelism: (i) a task-based execution model that efficiently coordinates concurrent speculative and non-speculative ordered tasks, allowing them to create tasks of either kind and to operate on shared data; and (ii) a safe way for speculative tasks to invoke software-managed speculative actions that avoid hardware version management and conflict detection. These contributions improve efficiency and enable new capabilities. Across several benchmarks, they allow the system to dynamically choose whether to execute tasks speculatively or non-speculatively, avoid needless conflicts among speculative tasks, and allow speculative tasks to safely invoke irrevocable actions.en_US
dc.language.isoen
dc.publisherIEEEen_US
dc.relation.isversionof10.1109/micro.2018.00026en_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alikeen_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/4.0/en_US
dc.sourceMIT web domainen_US
dc.titleHarmonizing Speculative and Non-Speculative Execution in Architectures for Ordered Parallelismen_US
dc.typeArticleen_US
dc.identifier.citationJeffrey, Mark C., Ying, Victor A., Subramanian, Suvinay, Lee, Hyun Ryong, Emer, Joel et al. 2018. "Harmonizing Speculative and Non-Speculative Execution in Architectures for Ordered Parallelism."
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
dc.eprint.versionAuthor's final manuscripten_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
eprint.statushttp://purl.org/eprint/status/NonPeerRevieweden_US
dc.date.updated2019-07-03T13:31:24Z
dspace.date.submission2019-07-03T13:31:24Z
mit.licenseOPEN_ACCESS_POLICY
mit.metadata.statusAuthority Work and Publication Information Neededen_US


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record