[发明专利]用签名实现的多核程序内存竞争记录及重演方法无效
申请号: | 201210593408.5 | 申请日: | 2012-12-31 |
公开(公告)号: | CN103019829A | 公开(公告)日: | 2013-04-03 |
发明(设计)人: | 朱素霞;季振洲;陈志刚;吴昊;王庆;王晖;李聪 | 申请(专利权)人: | 哈尔滨工业大学 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/50 |
代理公司: | 哈尔滨市松花江专利商标事务所 23109 | 代理人: | 牟永林 |
地址: | 150001 黑龙*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 签名 实现 多核 程序 内存 竞争 记录 重演 方法 | ||
技术领域
本发明涉及多核程序内存竞争记录的方法,具体涉及用签名实现的多核程序内存竞争记录及重演方法。
背景技术
内存竞争的记录和重演是实现多核程序确定性重演的关键。当前多核程序确定性重演方法中只注重内存竞争记录的性能而忽略内存竞争重演的性能,导致重演时效率低下的问题。
发明内容
本发明解决了现有基于硬件的多核程序确定性重演方法中只注重内存竞争记录的性能而忽略内存竞争重演的性能,导致重演时效率低下的问题。
本发明所述的用签名实现的多核程序内存竞争记录及重演方法包括如下步骤:
步骤一、在多核程序原始执行阶段,开启内存竞争记录功能,每个处理器核开始内存竞争记录;
步骤二、当所有的处理器核的内存竞争记录完成后,进入多核程序重演阶段,开启内存竞争重演功能。
在多核程序原始执行阶段,开启内存竞争记录功能,每个处理器核开始内存竞争记录操作步骤如下:
A、请求方发出指令,若该指令是读内存操作指令,则IC的值加1,所述的IC的值为指令计数值,将所读的内存块的地址添加到所有的读签名寄存器中,同时请求方发出共享内存请求消息到每个处理器的一致性协议机构,执行步骤B;
若该指令是写内存操作指令,则将要写的内存块的地址添加到所有的写签名寄存器中,同时请求方发出共享内存请求消息到每个处理器的一致性协议机构,执行步骤B;
B、一致性机构收到共享内存请求消息后,将共享内存请求消息转发给其他处理器核,即应答方,执行步骤C;
C、应答方根据接收到的共享内存请求消息的地址到读签名寄存器或写签名寄存器中查找,判断是否有内存竞争发生,
若发生内存竞争,则将一个记录标志位和当前指令计数值连同内存块的内容一起发送给请求方,清空对应请求方的写签名寄存器和读签名寄存器;并将伪依赖关系记录到运行在该处理器核上的线程的内存竞争日志中,执行步骤D;
若没有发生内存竞争,则只将内存块的内容发送给请求方,执行步骤A;
D、请求方接收到应答消息后,检测内存竞争记录模块记录的标志位是否为真,若为真,则记录内存竞争依赖关系到内存竞争日志;否则不记录。
当所有的处理器核的内存竞争记录完成后,进入多核程序重演阶段,开启内存竞争重演功能,每个处理器核操作步骤如下:
E、处理器核开始运行时,从运行在该处理器上的线程的内存竞争日志中读取一个记录,并存储到该内存竞争记录过程中使用的寄存器中,执行步骤F;
F、处理器核检测该记录依赖关系,若该记录为伪依赖关系,则当执行完它所对应的指令后,创建唤醒消息、并通过一致性协议发送给对应的处理器,执行步骤G;
若该记录为内存竞争依赖关系,则暂不执行该指令,当接收到唤醒消息时,执行步骤H;所述的唤醒消息为内存竞争的先发生方所在的处理器核创建并发送的,
G、处理器发送完唤醒消息后,该处理器核从内存竞争日志中读取下一条记录,再执行步骤F;
H、处理器接收到合适的唤醒消息后,处理器核从内存竞争日志中读取下一条记录,执行步骤F。
本发明为基于目录的高速缓存(Cache)一致性协议的多核处理器系统,用较少的硬件资源实现了多核程序运行时内存竞争的记录以及重演时内存竞争的重放。该内存竞争记录及重演方法为每个线程记录一个内存竞争日志,在记录阶段,采用签名实现内存竞争的检测,硬件开销小;在重演阶段,能够主动创建唤醒消息,提高了重演的效率。本发明既实现了内存竞争的记录,又能实现高效的内存竞争重演的目的。
本发明应用在多核程序调试、入侵检测、容错等领域。
附图说明
图1为本发明所述用签名实现的多核程序内存竞争记录及重演方法的流程图;
图2为每个处理器核开始内存竞争记录操作的流程图;
图3为进入多核程序重演阶段,开启内存竞争重演功能每个处理器核操作的流程图;
图4为内存竞争日志样式图;
图5为内存竞争记录硬件实现结构图。
具体实施方式
具体实施方式一、结合图1具体说明本实施方式,本实施方式所述的用签名实现的多核程序内存竞争记录及重演方法包括如下步骤:
步骤一、在多核程序原始执行阶段,开启内存竞争记录功能,每个处理器核开始内存竞争记录;
步骤二、当所有的处理器核的内存竞争记录完成后,进入多核程序重演阶段,开启内存竞争重演功能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨工业大学,未经哈尔滨工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210593408.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种物联网供电装置
- 下一篇:基于模糊控制的无刷直流电机位置跟踪控制器