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/...
Main Authors: | , , , , , |
---|---|
Other Authors: | |
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 |