z-logo
open-access-imgOpen Access
Two control-flow error recovery methods for multithreaded programs running on multi-core processors
Author(s) -
Navid Khoshavi,
Hamid R. Zarandi,
Mohammad Maghsoudloo
Publication year - 2015
Publication title -
facta universitatis. series electronics and energetics/facta universitatis. series: electronics and energetics
Language(s) - English
Resource type - Journals
eISSN - 2217-5997
pISSN - 0353-3670
DOI - 10.2298/fuee1503309k
Subject(s) - computer science , control flow , executable , thread (computing) , parallel computing , control flow graph , fault injection , compile time , dependency graph , data flow analysis , error detection and correction , graph , compiler , data flow diagram , algorithm , programming language , theoretical computer science , software , database
This paper presents two control-flow error recovery techniques, CFE Recovery using Data-flow graph Consideration and CFE Recovery using Macro block-level Check pointing. These techniques are proposed with regards to thread interactions in the programs. These techniques try to moderate the high memory and performance overheads of conventional control-flow checking techniques. The proposed recovery techniques are composed of two phases of control-flow error detection and recovery. These phases are designed by means of inserting additional instructions into program at compile time considering dependency graph, extracted from control-flow and data-flow dependencies among basic blocks and thread interactions in the programs. In order to evaluate the proposed techniques, five multithreaded benchmarks are utilized to run on a multi-core processor. Moreover, a total of 10000 transient faults have been injected into several executable points of each program. Fault injection experiments show that the proposed techniques recover the detected errors at-least for 91% of the cases.

The content you want is available to Zendy users.

Already have an account? Click here to sign in.
Having issues? You can contact us here