西安交通大学计算机科学与技术系,西安,710049
网络首发:2010-12-10,
纸质出版:2010
移动端阅览
韦远科, 赵银亮, 宋少龙, 等. 面向片上多核处理器的推测多线程机制下的独立栈模型[J]. 西安交通大学学报, 2010,44(12):10-15.
A Separate Stack Model in Speculative Multithreading Based on Chip Multi-Processor[J]. 2010, 44(12): 10-15.
在推测多线程并行执行时
各线程中借助共享栈来实现函数调用的过程存在互斥访问问题
为此提出了一种采用片上多处理器(CMP)的推测多线程机制下的独立栈函数调用模型
核栈采用一对一方式
栈之间的有机配合支持推测多线程中的函数调用.通过在模拟器端添加两条指令实现栈空间的管理
从而消除了共享栈模型中的加锁问题.为了保证程序正常运行
编译器对生成的代码作相应的调整
模拟器方面则增添了get和update两条指令
以便管理相应的栈空间.因为独立栈函数调用方法消除了共享栈模型中的栈加锁问题
使得成功线程发起的数目有不同程度的提高
从而提高了程序的并行加速比.Olden基准程序的测试表明
独立栈模型相对于共享栈模型使程序的平均并行加速比提高了3.85%.但是
由于影响程序推测并行加速比的因素复杂
某些测试程序也出现了独立栈的加速比低于共享栈的情况.
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.
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.
宋少龙,赵银亮,韦远科,等.支持推测多线程的多核模拟器Prophet+[J].西安交通大学学报, 2010, 44(12):13-17.
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.
0
浏览量
4
下载量
1
CSCD
关联资源
相关文章
相关作者
相关机构
京公网安备11010802024621