西安交通大学学报
西安交通大學學報
서안교통대학학보
JOURNAL OF XI'AN JIAOTONG UNIVERSITY
2010年
12期
10-15
,共6页
韦远科%赵银亮%宋少龙%王旭昊%阴培培%李挺
韋遠科%趙銀亮%宋少龍%王旭昊%陰培培%李挺
위원과%조은량%송소룡%왕욱호%음배배%리정
推测多线程%函数调用栈%代码生成%存储管理
推測多線程%函數調用棧%代碼生成%存儲管理
추측다선정%함수조용잔%대마생성%존저관리
在推测多线程并行执行时,各线程中借助共享栈来实现函数调用的过程存在互斥访问问题,为此提出了一种采用片上多处理器(CMP)的推测多线程机制下的独立栈函数调用模型,核栈采用一对一方式,栈之间的有机配合支持推测多线程中的函数调用.通过在模拟器端添加两条指令实现栈空间的管理,从而消除了共享栈模型中的加锁问题.为了保证程序正常运行,编译器对生成的代码作相应的调整,模拟器方面则增添了get和update两条指令,以便管理相应的栈空间.因为独立栈函数调用方法消除了共享栈模型中的栈加锁问题,使得成功线程发起的数目有不同程度的提高,从而提高了程序的并行加速比.Olden基准程序的测试表明,独立栈模型相对于共享栈模型使程序的平均并行加速比提高了3.85%.但是,由于影响程序推测并行加速比的因素复杂,某些测试程序也出现了独立栈的加速比低于共享栈的情况.
在推測多線程併行執行時,各線程中藉助共享棧來實現函數調用的過程存在互斥訪問問題,為此提齣瞭一種採用片上多處理器(CMP)的推測多線程機製下的獨立棧函數調用模型,覈棧採用一對一方式,棧之間的有機配閤支持推測多線程中的函數調用.通過在模擬器耑添加兩條指令實現棧空間的管理,從而消除瞭共享棧模型中的加鎖問題.為瞭保證程序正常運行,編譯器對生成的代碼作相應的調整,模擬器方麵則增添瞭get和update兩條指令,以便管理相應的棧空間.因為獨立棧函數調用方法消除瞭共享棧模型中的棧加鎖問題,使得成功線程髮起的數目有不同程度的提高,從而提高瞭程序的併行加速比.Olden基準程序的測試錶明,獨立棧模型相對于共享棧模型使程序的平均併行加速比提高瞭3.85%.但是,由于影響程序推測併行加速比的因素複雜,某些測試程序也齣現瞭獨立棧的加速比低于共享棧的情況.
재추측다선정병행집행시,각선정중차조공향잔래실현함수조용적과정존재호척방문문제,위차제출료일충채용편상다처리기(CMP)적추측다선정궤제하적독립잔함수조용모형,핵잔채용일대일방식,잔지간적유궤배합지지추측다선정중적함수조용.통과재모의기단첨가량조지령실현잔공간적관리,종이소제료공향잔모형중적가쇄문제.위료보증정서정상운행,편역기대생성적대마작상응적조정,모의기방면칙증첨료get화update량조지령,이편관리상응적잔공간.인위독립잔함수조용방법소제료공향잔모형중적잔가쇄문제,사득성공선정발기적수목유불동정도적제고,종이제고료정서적병행가속비.Olden기준정서적측시표명,독립잔모형상대우공향잔모형사정서적평균병행가속비제고료3.85%.단시,유우영향정서추측병행가속비적인소복잡,모사측시정서야출현료독립잔적가속비저우공향잔적정황.