[发明专利]编译器支持下的推测多线程内存数据同步执行方法及装置无效
| 申请号: | 201010160536.1 | 申请日: | 2010-04-30 |
| 公开(公告)号: | CN101833440A | 公开(公告)日: | 2010-09-15 |
| 发明(设计)人: | 赵银亮;王旭昊;韦远科;宋少龙 | 申请(专利权)人: | 西安交通大学 |
| 主分类号: | G06F9/38 | 分类号: | G06F9/38 |
| 代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 陆万寿 |
| 地址: | 710049*** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 编译器 支持 推测 多线程 内存 数据 同步 执行 方法 装置 | ||
1.一种编译器支持下的推测多线程内存数据同步执行方法,其特征在于,多线程程序实现内存数据同步包括以下步骤:
1)程序由硬件线程划分器划分生成多线程汇编程序后,作为硬件程序剖析器的输入,并在其上运行;
2)硬件程序剖析器在运行程序时统计内存数据依赖违规情况,并将统计结果信息反馈给同步编译模块;
3)同步编译模块读取统计结果信息,通过计算同步代价获取进行多线程同步操作的候选读/写指令对;然后通过数据流分析之后,在读指令前添加一条stall指令,并将读指令替换为同步读指令synload,在写指令后添加一条或多条forward指令;在写指令所在线程的线程发起指令spawn后添加一条synset指令;最后经汇编链接生成可执行文件加载后在模拟器上运行;
当同步子线程执行到stall指令时,停止执行后续指令,等待一段时间;直至对应的同步父线程执行完相应的写指令和forward指令,收到同步父线程发送的含有内存地址和写入数据的同步消息,再根据接收到的同步信息和此前同步子线程对同一内存地址的写入情况,对Sbuffer中的use_flag进行置位或复位,根据该标志位决定是否使用同步父线程发送来的数据,而后停止等待,继续执行后续指令;
同步子线程在接收同步消息后的操作由synload指令的执行完成,同步父线程在写入数据后发送同步消息的操作由forward指令完成;
4)多线程程序以同步的方式推测执行,模拟器输出程序运行的结果。
2.如权利要求1所述的编译器支持下的推测多线程内存数据同步执行方法,其特征在于,所述的统计内存数据依赖违规情况包括:读/写指令被执行的次数及其PC值,读/写指令发生读后写内存数据依赖违规的次数,发生读后写内存数据依赖违规的读/写指令执行的间隔时间;统计结果信息被写入到一个文件中,反馈给同步编译模块。
3.如权利要求1所述的编译器支持下的推测多线程内存数据同步执行方法,其特征在于,所述的计算同步代价,是计算多线程的读/写指令对进行同步操作后带来加速比提高的潜力,获取加速比提高潜力大的候选读/写指令对。
4.如权利要求3所述的编译器支持下的推测多线程内存数据同步执行方法,其特征在于,所述的加速比提高潜力通过内存读/写指令对发生数据依赖的频率,线程体入口到读指令的代码距离以及读指令到写指令之间的代码距离来判定。
5.如权利要求1所述的编译器支持下的推测多线程内存数据同步执行方法,其特征在于,所述的数据流分析是在程序的控制流图上进行,以找到stall指令和forward指令的插入位置;其中,stall指令插入到需要同步的读指令前,forward指令插入到需要同步的写指令和和线程出口之间的每一条路径上。
6.如权利要求1所述的编译器支持下的推测多线程内存数据同步执行方法,其特征在于,所述的同步父线程发送同步消息的操作步骤为:
(1)在同步父线程发起同步子线程后,同步父线程执行synset指令,向同步子线程发送消息,将同步子线程Sbuffer的syn_flag位置位;
(2)执行store*p操作,常规的写内存操作;
(3)执行save_address(p)操作,将写入数据的内存地址p保存到发送地址缓冲区;
(4)执行receiver_id=get_immed_successor(),获取同步子线程的处理器编号;
(5)执行mesg.value=*p操作,将写内存操作写入的数据写入同步消息mesg的value域;
(6)执行mesg.addr=p操作,将写入数据的内存地址p写入同步消息的addr域;
(7)执行send(mesg,receiver_id)操作,将构造好的同步消息发送给同步子线程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010160536.1/1.html,转载请声明来源钻瓜专利网。





