1. Towards Low Overhead Control Flow Checking Using Regular Structured Control
- Author
-
Zhiqi Zhu and Joseph Callenes-Sloan
- Subjects
010302 applied physics ,Low overhead ,business.industry ,Computer science ,Distributed computing ,02 engineering and technology ,01 natural sciences ,020202 computer hardware & architecture ,Software ,Control flow ,0103 physical sciences ,0202 electrical engineering, electronic engineering, information engineering ,Redundancy (engineering) ,business - Abstract
With process scaling and the adoption of post-CMOS technologies, reliability has been brought to the forefront of modern computer system design. Among the different ways that hardware faults can manifest in a system, errors related to the control flow of a program tend to be the most difficult to handle when ensuring reliable computing. Errors in the sequencing of instructions executed are usually catastrophic, resulting in system hangs, crashes, and/or corrupted data. For this reason, conventional approaches rely on some form of general redundancy for detecting or recovering from a control flow error. Due to the power constraints of emerging systems however, these types of conservative approaches are quickly becoming infeasible. Control Flow Checking by Software Signatures (CFCSS) is a software-based technique for detecting control flow errors [1] that using assigned signatures rather than by using general redundancy. Unfortunately, the performance overhead for CFCSS can still be as high as 80%–90% for many applications. In this paper, we propose a novel method for reducing the overhead of control flow checking by exploiting the regular control structure found in many applications. Specifically, we observe that the alternating sequence of conditional and unconditional based control allows for the full control signatures to be computed at alternating basic blocks. Based on experimental results of the proposed approach, we observe that the overheads of the traditional methods are reduced on average by 25.9%.
- Published
- 2016