Speculative multithreading(SpMT)technology is an effective mechanism for automatic parallelization of irregular programs. However
just generating speculative threads based on the control flow graph which only contains branch probability information
it is inevitable that there may be excessive constraints resulting from control and data dependence in practice. Therefore
it is very important to understand the trade-offs between different speculative paths. In this paper
by introducing the data dependence model and discussing the trade-offs between different speculative paths
we propose a novel cost estimation based speculative path prediction method which comprehensively takes account of control-and data-dependence. By this method
we attempt to seek a speculative path which has the minimum cost overhead. The experimental results show that there are interesting trade-offs between different speculative paths and we can indeed get better performance. On average
we achieve 2.43% performance improvement.
关键词
Keywords
references
BHOWMIK A, FRANKLIN M. A general compiler framework for speculative multithreaded processors[J]. IEEE Trans on Parallel and Distributed Systems, 2004, 15(8):713-724.
MARCUELLO P, GONZÁLEZ A, TUBELLA J. Thread partitioning and value prediction for exploiting speculative thread-level parallelism[J]. IEEE Transactions on Computer, 2004,53(2):114-125.
LIU Wei, JAMES T, LUIS C, et al. POSH: a TLS compiler that exploit program structure[C]∥Proceedings of The ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. New York, USA: ACM Press, 2006:158-167.
JAYANTH G. Branch prediction in multi-threaded processors[C]∥Proceedings of the 2000 International Conference on Parallel Architectures and Compilation Techniques. Piscataway, NJ, USA: IEEE, 2000:179-188.
CARLOS M, CARLOS G Q, JESS S, et al. Mitosis: a speculative multithreaded processor based on precomputation slices[J]. IEEE Trans on Parallel and Distributed Systems, 2008,19(7): 914-925.
JIMÉNEZ D A. Fast path-based neural branch prediction[C]∥Proceedings of the 36th Annual IEEE/ACM International Symposium on Microarchitecture. New York, USA: ACM, 2003:243-252.
CHEN Zheng, ZHAO Yinliang, PAN Xiaoyu,et al. An overview of Prophet [C]∥LNCS 5574. Berlin, Germany: Springer,2009:396-407.
AHO A V, SETHI R, ULLMAN J D. Compilers: principles, techniques, and tools[M]. Reading, Massachusetts, USA: Addison-Wesley Publishing Company, 1986.
SHARIR M. Structural analysis: a new approach to flow analysis in optimizing compilers[J].Computer Languages, 1980,5(3/4):141-153.
MUCHNICK S, Advanced compiler design and implementation[M]. San Francisco, USA: Morgan Kauffmann Publishers, 1997.
HALL M W, ANDERSON J M, AMARASINGHE S P, et al. Maximizing multiprocessor performance with the SUIF compiler[J]. Computer, 1996,29:84-89.
DONG Zhaoyu, ZHAO Yinliang, WEI Yuanke, et al. Prophet: a speculative multi-threading execution model with architectural support based on CMP[C]∥International Conference on Embedded Computing. Piscataway, NJ, USA: IEEE, 2009:103-108.
CARLISLE M C. Olden Benchmark Suite[EB/OL].(1995-01-03)[2007-06-30]. http:∥www.cs.princeton.edu/~mcc/olden.html.
PAN Xiaoyu, ZHAO Yinliang,CHEN Zheng,et al. A thread partitioning method for speculation multithreading[C]∥Proceedings of the 9th International Conference on Algorithms and Architectures for Parallel Processing. Piscataway, NJ, USA: IEEE, 2009:285-290.