面向片上多核处理器的推测多线程机制下的独立栈模型  被引量:1

A Separate Stack Model in Speculative Multithreading Based on Chip Multi-Processor

在线阅读下载全文

作  者:韦远科[1] 赵银亮[1] 宋少龙[1] 王旭昊[1] 阴培培[1] 李挺[1] 

机构地区:[1]西安交通大学计算机科学与技术系,西安710049

出  处:《西安交通大学学报》2010年第12期10-15,共6页Journal of Xi'an Jiaotong University

基  金:国家高技术研究发展计划资助项目(2008AA01Z136)

摘  要:在推测多线程并行执行时,各线程中借助共享栈来实现函数调用的过程存在互斥访问问题,为此提出了一种采用片上多处理器(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.

关 键 词:推测多线程 函数调用栈 代码生成 存储管理 

分 类 号:TP302[自动化与计算机技术—计算机系统结构]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象