Edinburgh Research Archive

Performance optimizations for compiler-based error detection

dc.contributor.advisor
Cintra, Marcelo
en
dc.contributor.advisor
Nagarajan, Vijayanand
en
dc.contributor.advisor
O'Boyle, Michael
en
dc.contributor.author
Mitropoulou, Konstantina
en
dc.date.accessioned
2015-07-09T14:36:50Z
dc.date.available
2015-07-09T14:36:50Z
dc.date.issued
2015-06-29
dc.description.abstract
The trend towards smaller transistor technologies and lower operating voltages stresses the hardware and makes transistors more susceptible to transient errors. In future systems, performance and power gains will come at the cost of unreliable areas on the chip. For this reason, there is an increased need for low-overhead highly-reliable error detection methodologies. In the last years, several techniques have been proposed. The majority of them are based on redundancy which can be implemented at several levels (e.g., hardware, instruction, thread, process, etc). In instruction-level error detection approaches, the compiler replicates the instructions of the program and inserts checks wherever they are needed. The checks evaluate code correctness and decide whether or not an error has occurred. This type of error detection is more flexible than the hardware alternatives. It allows the programmer to choose the protected area of the program and it can be applied without any hardware modifications. On the other hand, the replicated instructions and the checks cause a large slowdown making software techniques less appealing. In this thesis, we propose two techniques that aim at reducing the error detection overhead of compiler-based approaches and improving system’s performance without sacrificing the fault-coverage. The first technique, DRIFT, achieves this by decoupling the execution of the code (original and replicated) from the checks. The checks are compare and jump instructions. The latter ones tend to make the code sequential and prohibit the compiler from performing aggressive instruction scheduling optimizations. We call this phenomenon basic-block fragmentation. DRIFT reduces the impact of basic-block fragmentation by breaking the synchronized execute-check-confirm-execute cycle. In this way, DRIFT generates a scheduler-friendly code with more instruction-level parallelism (ILP). As a result, it reduces the performance overhead down to 1.29× (on average) and outperforms the state-of-the-art by up to 29.7% retaining the same fault-coverage. Next, CASTED focuses on reducing the impact of error detection overhead on single-chip scalable architectures that are composed of tightly-coupled cores. The proposed compiler methodology adaptively distributes the error detection overhead to the available resources across multiple cores, fully exploiting the abundant ILP of these architectures. CASTED adapts to a wide range of architecture configurations (issue-width, inter-core communication). The results show that CASTED matches the performance of, and often outperforms, sometimes by as mush as 21.2%, the best fixed state-of-the-art approach while maintaining the same fault coverage.
en
dc.identifier.uri
http://hdl.handle.net/1842/10473
dc.language.iso
en
dc.publisher
The University of Edinburgh
en
dc.relation.hasversion
“DRIFT: Decoupled compileR-based Instruction-level Fault-Tolerance” Konstantina Mitropoulou, Vasileios Porpodas and Marcelo Cintra International Workshop on Languages and Compilers for Parallel Computing (LCPC), 2013
en
dc.relation.hasversion
“CASTED: Core-Adaptive Software Transient Error Detection for Tightly Coupled Cores.” Konstantina Mitropoulou, Vasileios Porpodas and Marcelo Cintra International Parallel & Distributed Processing Symposium, 2013
en
dc.rights
Attribution-NonCommercial-ShareAlike 4.0 International
en
dc.rights.uri
http://creativecommons.org/licenses/by-nc-sa/4.0/
dc.subject
fault tolerance
en
dc.subject
compiler
en
dc.title
Performance optimizations for compiler-based error detection
en
dc.type
Thesis or Dissertation
en
dc.type.qualificationlevel
Doctoral
en
dc.type.qualificationname
PhD Doctor of Philosophy
en

Files

Original bundle

Now showing 1 - 1 of 1
Name:
Mitropoulou2015.pdf
Size:
778.96 KB
Format:
Adobe Portable Document Format

This item appears in the following Collection(s)