Function calls in threads adopt the shared stack model in speculative multithreading based on Chip Multi-Processor. A separate stack model is presented to eliminate the locking problem in the shared stack model
in which one core is associated with one stack on a one-to-one basis and the cooperation of those stacks supports the function calls in speculative multithreading. The stack memory management is achieved by means of adding two instructions to the speculative multithreading simulator so that the locking problem can be effectively eliminated. The compiler is modified to generate appropriate code to ensure the semantic correctness of the program
and the two instructions
get and update
are added to the simulator that supports speculative multithreading to manage the corresponding stack memory. Since the locking problem in the separate stack model is eliminated
the number of determinate threads spawned increases in various degrees and the parallel speedup of the program is increased. Experimental results show that the average speedup of the Olden benchmark suite is increased by 3.85%. However
since factors that affect the parallel speedup are complex
there are some cases that the parallel speedup decreases in the separate stack model.
关键词
Keywords
references
KRISHNAM V, TORRELLAS J. A chip-multiprocessor architecture with speculative multithreading[J]. IEEE Trans Comput, 1999, 48(9):866-880.
WANG Shengyue. Compiler techniques for thread-level speculation[D]. Minneapolis, Minnesota, USA: University of Minnesota, 2007.
HOGEN G, LOOGEN R. A new stack technique for the management of runtime structures in distributed implementations[R]. Aachen, Germany: RWTH Aachen University, 1993.
CHEN Zheng, ZHAO Yinliang, PAN Xiaoyu, et al. An overview of Prophet [C]∥Proceedings of the 9th International Conference on Algorithms and Architectures for Parallel Processing. Berlin, Germany: Springer, 2009:396-407.
PAN Xiaoyu, ZHAO Yinliang, CHEN Zheng, et al. A thread partitioning method for speculation multithreading∥Proceedings of the 8th International Conference on Embedded Computing. Piscataway, NJ, USA: IEEE, 2009:285-290.
DONG Zhaoyu, ZHAO Yinliang, WEI Yuanke, et al. Prophet: speculative multithreading execution model with architectural support based on CMP[C]∥International Conference on Embedded Computing. Piscataway, NJ, USA: IEEE, 2009:103-108.
SONG Shaolong, ZHAO Yinliang, WEI Yuanke, et al. Prophet: an extended multicore simulator for speculative multithreading[J]. Journal of Xi'an Jiaotong University, 2010, 44(12):13-17.
CARLISLE M C. Olden benchmark suite[EB/OL].(1996-06-15)[2007-06-30]. http:∥www.cs.princeton.edu/~mcc/olden.html.