[发明专利]一种基于异构平台的多种并行错误检测系统有效
申请号: | 201510468604.3 | 申请日: | 2015-08-04 |
公开(公告)号: | CN105117369B | 公开(公告)日: | 2017-11-10 |
发明(设计)人: | 张为华;余时强 | 申请(专利权)人: | 复旦大学 |
主分类号: | G06F15/163 | 分类号: | G06F15/163;G06F15/167 |
代理公司: | 上海正旦专利代理有限公司31200 | 代理人: | 陆飞,盛志范 |
地址: | 200433 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 平台 多种 并行 错误 检测 体系 架构 | ||
1.一种基于异构平台的多种并行错误检测系统,其特征在于:是在当前主流的异构平台体系架构基础上添加两个简易硬件模块:访存收集模块和访存预处理模块,从而建立整个并行错误检测的系统;其中,所述访存收集模块在检测流程的上游,位于每个处理器内,负责访存收集;所述访存预处理模块接收访存收集模块收集的访存信息,经预处理后将它们记录成为历史信息,然后发送至通用图形处理器进行错误检测;通用图形处理器在检测流程下游,接收访存预处理模块发送来的访存信息并进行相应算法的检测;
此外, 还引入了三种优化策略:一、地址过滤,过滤不可能引发并行错误的私有地址,以提高处理效率;二、避免共享内存被替换即避免历史记录中的共享访存被替换,以提高检测精确度;三、判断并标识“最后写”访存,利用happens-before算法的传递性性质,减少检测负载,以提高处理效率;其中:
所述地址过滤,是使用计数布隆过滤器,通过该计数布隆过滤器,在访存被发送到通用图形处理器前,首先将它与其它核或线程的布隆过滤器进行比较,判断该访存是否在其它核或线程中出现;如果是,则该访存是共享访存,需要进行后续的比较处理;否则,该访存是私有访存,不会引发数据竞争;
所述避免共享内存被替换,其措施是在历史访存缓冲区中为每个记录添加了一个共享标识位,以此表明该访存记录是否是共享的;当历史缓冲区发生替换时,优先替换非共享的访存记录;
所述“最后写”策略,一方面,对于同一线程的所有访存,后续的访存发生在先前访存之后,因此,对于同一地址,使用后续访存替换先前访存;另一方面,通过通用图形处理器的反馈happens-before关系,识别线程间同一地址访存的“最后写”,使用后续访存替换先前访存。
2.根据权利要求1所述的基于异构平台的多种并行错误检测系统,其特征在于:所述访存收集模块位于每个中央处理器核内,它从重排序缓冲区中收集标识的操作或是访存指令;每条指令都通过旁路发送到访存收集模块;访存收集模块判断该指令是否是标识的操作或者访存指令,如果是,则将它保存至访存收集模块的访存收集缓冲区;
每条收集的访存包含以下三个部分:(1)访存的程序计数器;(2)访存地址;(3)访存类型,包括读取、存储或者是顺序违背中的操作类型;当访存收集模块的收集缓冲区满,访存收集模块便将收集缓冲区内的访存通过片上网络发送至访存预处理模块;
所述访存预处理模块位于片上,中央处理器与通用图形处理器之间,与片上总线互联;由于检测数据竞争和顺序违背所使用的happens-before算法需要访存的时间戳信息、检测原子性违背的ColorSafe算法需要颜色签名赋值信息;同时,这些检测算法都需要维护历史访存,以供检测时比较分析;因此,访存预处理模块的主要作用在于为错误检测生成必要的信息;首先,汇总访存收集模块收集的访存;然后,进行必要的预处理,包括:时间戳赋值,颜色签名赋值,历史信息维护;最后,将访存发送至通用图形处理器进行检测。
3.根据权利要求1所述的基于异构平台的多种并行错误检测系统,其特征在于:所述通用图形处理器上的并行错误检测:当访存由访存预处理模块发送至通用图形处理器后,通用图形处理器将根据所需要检测的错误类型,应用相应的检测算法进行检测;每条待检测访存都被发送至通用图形处理器端,通用图形处理器端将待检测访存的地址与历史信息中其它核或线程的访存进行比较,以此确定是否存在并行错误。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于复旦大学,未经复旦大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510468604.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种文本信息的显示方法及终端
- 下一篇:连接AC-耦合系统和DC-耦合系统