Design Space Exploration for Implementing a Software-Based Speculative Memory System
To enlarge the opportunities for parallelizing a sequentially coded program, the authors have previously proposed speculative memory (SM). With SM, they can start the parallel execution of a program by assuming that it does not violate the data dependencies in the program. When the SM system detects a violation, it recovers the computational state of the program and restarts the execution. In this article, the authors explore the design space for implementing a software-based SM system. They compared the possible choices in the following three viewpoints: (1) which waiting system of suspending or busy-waiting should be used, (2) when a speculative thread should be committed, and (3) which version of data a speculative thread should read. Consequently, the performance of the busy-waiting system which makes speculative threads commit early and read non-speculative values is better than that of others.
Year of publication: |
2018
|
---|---|
Authors: | Fujisawa, Kohei ; Nunome, Atsushi ; Shibayama, Kiyoshi ; Hirata, Hiroaki |
Published in: |
International Journal of Software Innovation (IJSI). - IGI Global, ISSN 2166-7179, ZDB-ID 2754488-6. - Vol. 6.2018, 2 (01.04.), p. 37-49
|
Publisher: |
IGI Global |
Subject: | Multithreaded Programming | Parallel Architecture | Speculative Multithreading (SpMT) | Thread-Level Speculation (TLS) |
Saved in:
Saved in favorites
Similar items by person