Software-based register file vulnerability reduction for embedded processors

Jongeun Lee, Aviral Shrivastava

Research output: Contribution to journalArticle

3 Citations (Scopus)

Abstract

Register File (RF) is extremely vulnerable to soft errors, and traditional redundancy based schemes to protect the RF are prohibitive not only because RF is often in the timing critical path of the processor, but also since it is one of the hottest blocks on the chip. Software approaches would be ideal in this case, but previous approaches based on instruction scheduling are only moderately effective due to local scope. In this article we present a compiler approach, based on interprocedural program analysis, to reduce the vulnerability of registers by temporarily writing live variables to protected memory. We formulate the problem as an integer linear programming problem and also present a very efficient heuristic algorithm. Further we present an iterative optimization method based on Kernighan-Lin's graph partitioning algorithm. Our experiments demonstrate that our proposed techniques can reduce the vulnerability of a RF by 33 ~ 37% on average and up to 66%, with a small 2% increase in runtime. In addition, our overhead reduction optimization can effectively reduce the code size overhead, by more than 40% on average, to a mere 5 ~ 6%, compared to highly optimized binaries. Categories and Subject Descriptors: D.3.4 [Programming Languages]: Processors-Code generation, compilers, optimization; B.8.1 [Performance and Reliability]: Reliability, Testing, and Fault-Tolerance.

Original languageEnglish (US)
Article number38
JournalTransactions on Embedded Computing Systems
Volume13
Issue number1 SUPPL.
DOIs
StatePublished - Nov 2013
Externally publishedYes

Fingerprint

Heuristic algorithms
Fault tolerance
Computer programming languages
Linear programming
Program processors
Redundancy
Scheduling
Data storage equipment
Testing
Experiments
Code generation

Keywords

  • Compilation
  • Embedded system
  • Link-time optimization
  • Register file
  • Soft error
  • Static analysis
  • Vulnerability

ASJC Scopus subject areas

  • Hardware and Architecture
  • Software

Cite this

Software-based register file vulnerability reduction for embedded processors. / Lee, Jongeun; Shrivastava, Aviral.

In: Transactions on Embedded Computing Systems, Vol. 13, No. 1 SUPPL., 38, 11.2013.

Research output: Contribution to journalArticle

@article{624d5f2cb7e4412d9dd01cd7b99baf08,
title = "Software-based register file vulnerability reduction for embedded processors",
abstract = "Register File (RF) is extremely vulnerable to soft errors, and traditional redundancy based schemes to protect the RF are prohibitive not only because RF is often in the timing critical path of the processor, but also since it is one of the hottest blocks on the chip. Software approaches would be ideal in this case, but previous approaches based on instruction scheduling are only moderately effective due to local scope. In this article we present a compiler approach, based on interprocedural program analysis, to reduce the vulnerability of registers by temporarily writing live variables to protected memory. We formulate the problem as an integer linear programming problem and also present a very efficient heuristic algorithm. Further we present an iterative optimization method based on Kernighan-Lin's graph partitioning algorithm. Our experiments demonstrate that our proposed techniques can reduce the vulnerability of a RF by 33 ~ 37{\%} on average and up to 66{\%}, with a small 2{\%} increase in runtime. In addition, our overhead reduction optimization can effectively reduce the code size overhead, by more than 40{\%} on average, to a mere 5 ~ 6{\%}, compared to highly optimized binaries. Categories and Subject Descriptors: D.3.4 [Programming Languages]: Processors-Code generation, compilers, optimization; B.8.1 [Performance and Reliability]: Reliability, Testing, and Fault-Tolerance.",
keywords = "Compilation, Embedded system, Link-time optimization, Register file, Soft error, Static analysis, Vulnerability",
author = "Jongeun Lee and Aviral Shrivastava",
year = "2013",
month = "11",
doi = "10.1145/2536747.2536760",
language = "English (US)",
volume = "13",
journal = "ACM Transactions on Embedded Computing Systems",
issn = "1539-9087",
publisher = "Association for Computing Machinery (ACM)",
number = "1 SUPPL.",

}

TY - JOUR

T1 - Software-based register file vulnerability reduction for embedded processors

AU - Lee, Jongeun

AU - Shrivastava, Aviral

PY - 2013/11

Y1 - 2013/11

N2 - Register File (RF) is extremely vulnerable to soft errors, and traditional redundancy based schemes to protect the RF are prohibitive not only because RF is often in the timing critical path of the processor, but also since it is one of the hottest blocks on the chip. Software approaches would be ideal in this case, but previous approaches based on instruction scheduling are only moderately effective due to local scope. In this article we present a compiler approach, based on interprocedural program analysis, to reduce the vulnerability of registers by temporarily writing live variables to protected memory. We formulate the problem as an integer linear programming problem and also present a very efficient heuristic algorithm. Further we present an iterative optimization method based on Kernighan-Lin's graph partitioning algorithm. Our experiments demonstrate that our proposed techniques can reduce the vulnerability of a RF by 33 ~ 37% on average and up to 66%, with a small 2% increase in runtime. In addition, our overhead reduction optimization can effectively reduce the code size overhead, by more than 40% on average, to a mere 5 ~ 6%, compared to highly optimized binaries. Categories and Subject Descriptors: D.3.4 [Programming Languages]: Processors-Code generation, compilers, optimization; B.8.1 [Performance and Reliability]: Reliability, Testing, and Fault-Tolerance.

AB - Register File (RF) is extremely vulnerable to soft errors, and traditional redundancy based schemes to protect the RF are prohibitive not only because RF is often in the timing critical path of the processor, but also since it is one of the hottest blocks on the chip. Software approaches would be ideal in this case, but previous approaches based on instruction scheduling are only moderately effective due to local scope. In this article we present a compiler approach, based on interprocedural program analysis, to reduce the vulnerability of registers by temporarily writing live variables to protected memory. We formulate the problem as an integer linear programming problem and also present a very efficient heuristic algorithm. Further we present an iterative optimization method based on Kernighan-Lin's graph partitioning algorithm. Our experiments demonstrate that our proposed techniques can reduce the vulnerability of a RF by 33 ~ 37% on average and up to 66%, with a small 2% increase in runtime. In addition, our overhead reduction optimization can effectively reduce the code size overhead, by more than 40% on average, to a mere 5 ~ 6%, compared to highly optimized binaries. Categories and Subject Descriptors: D.3.4 [Programming Languages]: Processors-Code generation, compilers, optimization; B.8.1 [Performance and Reliability]: Reliability, Testing, and Fault-Tolerance.

KW - Compilation

KW - Embedded system

KW - Link-time optimization

KW - Register file

KW - Soft error

KW - Static analysis

KW - Vulnerability

UR - http://www.scopus.com/inward/record.url?scp=84890346874&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84890346874&partnerID=8YFLogxK

U2 - 10.1145/2536747.2536760

DO - 10.1145/2536747.2536760

M3 - Article

AN - SCOPUS:84890346874

VL - 13

JO - ACM Transactions on Embedded Computing Systems

JF - ACM Transactions on Embedded Computing Systems

SN - 1539-9087

IS - 1 SUPPL.

M1 - 38

ER -