Prophet: A Speculative Multi-threading Execution Model with Architectural Support Based on CMP
Abstract
Speculative multi-threading (SpMT) has been proposed as a perspective method to exploit Chip Multiprocessors (CMP) hardware potential. It is a thread level speculation (TLS) model mainly depending on software and hardware co-design. This paper researches speculative thread-level parallelism of general purpose programs and a speculative multi-threading execution model called Prophet is presented. The architectural support for Prophet execution model is designed based on CMP. In Prophet the inter-thread data dependency are predicted by pre-computation slice (p-slice) to reduce RAW violation. Prophet multi-versioning Cache system along with thread state control mechanism in architectural support are utilized for buffering the speculative data, and a snooping bus based cache coherence protocol is used to detect data dependence violation. The simulation-based evaluation shows that the Prophet system could achieve significant speedup for general-purpose programs.
Keywords
Cite
@article{arxiv.1412.3224,
title = {Prophet: A Speculative Multi-threading Execution Model with Architectural Support Based on CMP},
author = {Dong Zhaoyu and Gao Bing and Zhao Yinliang and Song Shaolong and Du Yanning},
journal= {arXiv preprint arXiv:1412.3224},
year = {2015}
}
Comments
9 pages