Leveraging the Potential of Control-Flow Error Resilient Techniques in Multithreaded Programs
Navid Khoshavi, Mohammad Maghsoudloo, Hamid R. Zarandi

TL;DR
This paper introduces a compile-time software-based method for recovering control-flow errors in multithreaded programs, utilizing dependency graphs to detect and correct faults with high accuracy and manageable overhead.
Contribution
It proposes a novel technique that leverages dependency graphs to recover control-flow errors in multithreaded programs, demonstrating high fault coverage and efficiency.
Findings
Detects and corrects 91.9% to 93.8% of injected faults
Effective in multithreaded benchmarks like quick sort and matrix multiplication
Maintains acceptable performance and memory overheads
Abstract
This paper presents a software-based technique to recover control-flow errors in multithreaded programs. Control-flow error recovery is achieved through inserting additional instructions into multithreaded program at compile time regarding to two dependency graphs. These graphs are extracted to model control-flow and data dependencies among basic blocks and thread interactions between different threads of a program. In order to evaluate the proposed technique, three multithreaded benchmarks quick sort, matrix multiplication and linked list utilized to run on a multi-core processor, and a total of 5000 transient faults has been injected into several executable points of each program. The results show that this technique detects and corrects between 91.9% and 93.8% of the injected faults with acceptable performance and memory overheads.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsRadiation Effects in Electronics · Real-Time Systems Scheduling · Software Reliability and Analysis Research
