Institutional Repository

Detecting Errors in Instructions with Bloom Filters

Show simple item record

dc.contributor.author Atamaner, Mert
dc.contributor.author Ergin, Oğuz
dc.contributor.author Ottavi, Marco
dc.contributor.author Reviriego, Pedro
dc.date.accessioned 2019-07-10T14:42:43Z
dc.date.available 2019-07-10T14:42:43Z
dc.date.issued 2017
dc.identifier.citation Atamaner, M., Ergin, O., Ottavi, M., & Reviriego, P. (2017, October). Detecting errors in instructions with bloom filters. In 2017 IEEE International Symposium on Defect and Fault Tolerance in VLSI and Nanotechnology Systems (DFT) (pp. 1-4). IEEE. en_US
dc.identifier.isbn 978-1-5386-0362-8
dc.identifier.issn 1550-5774
dc.identifier.uri https://ieeexplore.ieee.org/document/8244458
dc.identifier.uri http://hdl.handle.net/20.500.11851/1975
dc.description IEEE International Symposium on Defect and Fault Tolerance in VLSI and Nanotechnology Systems (DFT) (2017 : Cambridge, ENGLAND)
dc.description.abstract Bit flips on instructions may affect the execution of the processor depending on the Instruction Set Architecture (ISA) and the location of the flipped bits. Intrinsically, ISAs may detect bit upsets if the errors on the instructions produce exceptions that halt the execution. Previous works exploit this fact to improve the error detection capabilities of ISAs with an addition of simple encoding/decoding scheme to propagate any single bit error to the "most vulnerable bit" of the instructions in order to detect the error by crashing the system. Although it was proven that this approach significantly reduces the Silent Data Corruptions (SDC), as an error detection scheme, it is not practical since detection causes system crash. In this paper, we propose using a Bloom Filter (BF) along with the encode/decode scheme to detect soft errors without executing the erroneous instruction and thus avoiding system crash. The contents of the BF are those obtained by inserting the valid program instructions and can be computed at compile time. Then prior to execution, the contents are loaded into the BF. During execution, instructions are first checked on the BF and on a negative an error is detected as the instruction is not any of the ones in the program. A small number of false positives can occur for erroneous instructions (due to the nature of the BF) and may still be detected with the system crash as in previous works. Our approach has two main benefits. The first one is an increase in the error detection rate as the set of valid instructions is restricted to those used in the program allowing the detection of invalid instructions even if they do not lead to a system crash. The second one is that errors are detected before the crash. This is done at the cost of adding a small memory for the BF and some control logic that requires a low overhead. We evaluated this approach on binary files of the ARM Cortex M0 core. According to our findings, the BF is able to significantly improve the error detection rate. en_US
dc.language.iso eng en_US
dc.publisher IEEE en_US
dc.rights info:eu-repo/semantics/closedAccess
dc.subject fault tolerance en_US
dc.subject radiation hardening en_US
dc.subject transient faults en_US
dc.title Detecting Errors in Instructions with Bloom Filters en_US
dc.type conferenceObject en_US
dc.contributor.department TOBB ETU, Faculty of Engineering, Department of Computer Engineering en_US
dc.contributor.department TOBB ETÜ, Mühendislik Fakültesi, Bilgisayar Mühendisliği Bölümü tr_TR
dc.identifier.startpage 143
dc.identifier.endpage 146
dc.contributor.orcid https://orcid.org/0000-0003-2701-3787
dc.identifier.wos WOS:000426958300031
dc.identifier.scopus 2-s2.0-85046007908
dc.contributor.tobbetuauthor Ergin, Oğuz
dc.contributor.YOKid 143001
dc.identifier.doi 10.1109/DFT.2017.8244458
dc.contributor.wosresearcherID E-5717-2010
dc.contributor.ScopusAuthorID 6603141208
dc.relation.publicationcategory Uluslararası yayın tr_TR


Files in this item

Files Size Format View

There are no files associated with this item.

This item appears in the following Collection(s)

Show simple item record