Abstract

Soft error is a key challenge in computer systems. Without soft error mitigation, control flow error (CFE) can lead to system crash. Signature-based CFE monitoring scheme is a representative technique for detecting CFEs during runtime. However, most of the signature-based CFE monitoring schemes proposed thus far are based on a single thread. Currently, the widely used multi-threaded and multi-core environments have greatly improved the performance of the computing system, but, if the these schemes are applied in these environments, performance improvement is difficult to achieve, or rather performance degradation may occur. In this paper, we propose a separate signature-based CFE monitoring (SSCFM) scheme that separates the signature update and the signature verification on the thread level. The signature update is combined with application thread and signature verification and executed on separate monitor threads, so that we can expect performance improvements in multi-threaded or multi-core environments. Furthermore, the SSCFM scheme can fully cover inter-procedural CFE not covered by many signature-based CFE monitoring schemes by using inter-procedural control flow analysis. With the proposed SSCFM scheme, the execution time overhead is reduced by approximately 26.67% on average from the SEDSR scheme, and the average CFE detection rate with SSCFM is approximately 93.69%. In addition, this paper also introduces the LLVM compiler-based SSCFM generator that makes it easy to apply the SSCFM scheme to software applications.

Highlights

  • Transient fault, or soft error, is a key challenge in computer system

  • With the proposed signature-based CFE monitoring (SSCFM) scheme, the execution time overhead is reduced by approximately 26.67% on average from the SEDSR

  • We introduce the SSCFM scheme that enables performance enhancement in multi-threaded and multi-core environments by modifying the previously proposed signature-based control flow error (CFE) monitoring schemes

Read more

Summary

Introduction

Soft error, is a key challenge in computer system. Transient fault is caused by electromagnetic interferences, power glitches, or highly energized particles passing through a semiconductor device [1,2]. Many hardware-based CFE monitoring schemes and software-based CFE monitoring schemes have been proposed. The software-based CFE monitoring scheme has a problem that execution time overhead is very large because additional instructions or CFE detection code are required. CFE can occur in a wide variety of forms in inter-block CFEs and inter-procedural CFEs, and there is a trade-off between CFE detection rate and execution time overhead because more detection code is needed to handle more types of CFEs. In this paper, we propose a signature-based CFE monitoring scheme that fully covers the inter-procedural CFE that is not covered or partially covered in previous works and that is modified from the typical signature-based CFE monitoring scheme in order to take advantage of performance improvement of execution time reduction in multi-threaded or multi-core systems.

Signature-Based CFE Monitoring Schemes
Coverage of CFE Detection
Granularity of CFE Detection
Multi-Threading Technique and Multi-Core Environments
Separation of Signature Update and Signature Verification
Signature Queue
Signature Enqueue
Monitor Routine and Signature Verification
Inter-Procedural CFG
Function Stack Routine and Function Stack
Monitor Initialization
Monitoring Scenario with SSCFM Scheme
Performance Improvements in Multi-Core Environments
Delayed Monitoring
Code-Generation Framework for SSCFM
Clang and LLVM Parser
Monitoring Code Generator
Signature Code Implanter
Evaluation Environments and Benchmarks
Performance Evaluation Criteria and Comparison Target
Execution Time Overhead
Execution Time Overhead Analysis
CFE Detection Rate
Conclusions
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call