Harmonizing Speculative and Non-Speculative Execution in Architectures for Ordered Parallelism

© 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/...

Full description

Bibliographic Details
Main Authors: Jeffrey, Mark C., Ying, Victor A., Subramanian, Suvinay, Lee, Hyun Ryong, Emer, Joel, Sanchez, Daniel
Other Authors: Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Format: Article
Language:English
Published: IEEE 2021
Online Access:https://hdl.handle.net/1721.1/137096
_version_ 1811091439189229568
author Jeffrey, Mark C.
Ying, Victor A.
Subramanian, Suvinay
Lee, Hyun Ryong
Emer, Joel
Sanchez, Daniel
author2 Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
author_facet Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Jeffrey, Mark C.
Ying, Victor A.
Subramanian, Suvinay
Lee, Hyun Ryong
Emer, Joel
Sanchez, Daniel
author_sort Jeffrey, Mark C.
collection MIT
description © 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.
first_indexed 2024-09-23T15:02:26Z
format Article
id mit-1721.1/137096
institution Massachusetts Institute of Technology
language English
last_indexed 2024-09-23T15:02:26Z
publishDate 2021
publisher IEEE
record_format dspace
spelling mit-1721.1/1370962023-06-12T18:02:52Z Harmonizing Speculative and Non-Speculative Execution in Architectures for Ordered Parallelism Jeffrey, Mark C. Ying, Victor A. Subramanian, Suvinay Lee, Hyun Ryong Emer, Joel Sanchez, Daniel Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory © 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. 2021-11-02T14:30:41Z 2021-11-02T14:30:41Z 2018-10 2019-07-03T13:31:24Z Article http://purl.org/eprint/type/ConferencePaper https://hdl.handle.net/1721.1/137096 Jeffrey, 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." en 10.1109/micro.2018.00026 Creative Commons Attribution-Noncommercial-Share Alike http://creativecommons.org/licenses/by-nc-sa/4.0/ application/pdf IEEE MIT web domain
spellingShingle Jeffrey, Mark C.
Ying, Victor A.
Subramanian, Suvinay
Lee, Hyun Ryong
Emer, Joel
Sanchez, Daniel
Harmonizing Speculative and Non-Speculative Execution in Architectures for Ordered Parallelism
title Harmonizing Speculative and Non-Speculative Execution in Architectures for Ordered Parallelism
title_full Harmonizing Speculative and Non-Speculative Execution in Architectures for Ordered Parallelism
title_fullStr Harmonizing Speculative and Non-Speculative Execution in Architectures for Ordered Parallelism
title_full_unstemmed Harmonizing Speculative and Non-Speculative Execution in Architectures for Ordered Parallelism
title_short Harmonizing Speculative and Non-Speculative Execution in Architectures for Ordered Parallelism
title_sort harmonizing speculative and non speculative execution in architectures for ordered parallelism
url https://hdl.handle.net/1721.1/137096
work_keys_str_mv AT jeffreymarkc harmonizingspeculativeandnonspeculativeexecutioninarchitecturesfororderedparallelism
AT yingvictora harmonizingspeculativeandnonspeculativeexecutioninarchitecturesfororderedparallelism
AT subramaniansuvinay harmonizingspeculativeandnonspeculativeexecutioninarchitecturesfororderedparallelism
AT leehyunryong harmonizingspeculativeandnonspeculativeexecutioninarchitecturesfororderedparallelism
AT emerjoel harmonizingspeculativeandnonspeculativeexecutioninarchitecturesfororderedparallelism
AT sanchezdaniel harmonizingspeculativeandnonspeculativeexecutioninarchitecturesfororderedparallelism