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