Affiliation:
1. Kyoto Institute of Technology, Kyoto, Japan
2. Kyoto College of Graduate Studies for Informatics, Kyoto, Japan
Abstract
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.
Subject
Artificial Intelligence,Computer Graphics and Computer-Aided Design,Computer Networks and Communications,Computer Science Applications,Software
Reference16 articles.
1. A dynamic multithreading processor
2. Corp, I. B. M. (2016). POWER8 processor user’s manual for the single-chip module, version 1.3. Retrieved March 25, 2016, from https://www.setphaserstostun.org/power8/POWER8_UM_v1.3_16MAR2016_pub.pdf
3. GNU. (2017). GCC, the GNU compiler collection. Retrieved July 12, 2017, from https://gcc.gnu.org/
4. The Stanford Hydra CMP
5. Runtime automatic speculative parallelization
Cited by
2 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献