Compiler-Assisted Multiple Instruction Rollback Recovery Using a Read Buffer

Neal J. Alewine, Shyh Kwei Chen, W. Kent Fuchs, Wen-Mei W Hwu

Research output: Contribution to journalArticle

Abstract

Multiple instruction rollback (MIR) is a technique that has been implemented in mainframe computers to provide rapid recovery from transient processor failures. Hardware-based MIR designs eliminate rollback data hazards by providing data redundancy implemented in hardware. Compiler-based MIR designs have also been developed which remove rollback data hazards directly with data-flow transformations. This paper describes compiler-assisted techniques to achieve multiple instruction rollback recovery. We observe that some data hazards resulting from instruction rollback can be resolved efficiently by providing an operand read buffer while others are resolved more efficiently with compiler transformations. The compiler-assisted scheme presented consists of hardware that is less complex than shadow files, history files, history buffers, or delayed write buffers, while experimental evaluation indicates performance improvement over compiler-based schemes.

Original languageEnglish (US)
Pages (from-to)1096-1107
Number of pages12
JournalIEEE Transactions on Computers
Volume44
Issue number9
DOIs
StatePublished - Sep 1995

Fingerprint

Rollback Recovery
Compiler
Buffer
Hazards
Hardware
Recovery
Hazard
Redundancy
Data Flow
Experimental Evaluation
Eliminate

Keywords

  • Fault-tolerance
  • compilers
  • error recovery
  • instruction retry

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computational Theory and Mathematics

Cite this

Compiler-Assisted Multiple Instruction Rollback Recovery Using a Read Buffer. / Alewine, Neal J.; Chen, Shyh Kwei; Fuchs, W. Kent; Hwu, Wen-Mei W.

In: IEEE Transactions on Computers, Vol. 44, No. 9, 09.1995, p. 1096-1107.

Research output: Contribution to journalArticle

Alewine, Neal J. ; Chen, Shyh Kwei ; Fuchs, W. Kent ; Hwu, Wen-Mei W. / Compiler-Assisted Multiple Instruction Rollback Recovery Using a Read Buffer. In: IEEE Transactions on Computers. 1995 ; Vol. 44, No. 9. pp. 1096-1107.
@article{96a7651515bd473ebc40bc075c19a2b5,
title = "Compiler-Assisted Multiple Instruction Rollback Recovery Using a Read Buffer",
abstract = "Multiple instruction rollback (MIR) is a technique that has been implemented in mainframe computers to provide rapid recovery from transient processor failures. Hardware-based MIR designs eliminate rollback data hazards by providing data redundancy implemented in hardware. Compiler-based MIR designs have also been developed which remove rollback data hazards directly with data-flow transformations. This paper describes compiler-assisted techniques to achieve multiple instruction rollback recovery. We observe that some data hazards resulting from instruction rollback can be resolved efficiently by providing an operand read buffer while others are resolved more efficiently with compiler transformations. The compiler-assisted scheme presented consists of hardware that is less complex than shadow files, history files, history buffers, or delayed write buffers, while experimental evaluation indicates performance improvement over compiler-based schemes.",
keywords = "Fault-tolerance, compilers, error recovery, instruction retry",
author = "Alewine, {Neal J.} and Chen, {Shyh Kwei} and Fuchs, {W. Kent} and Hwu, {Wen-Mei W}",
year = "1995",
month = "9",
doi = "10.1109/12.464388",
language = "English (US)",
volume = "44",
pages = "1096--1107",
journal = "IEEE Transactions on Computers",
issn = "0018-9340",
publisher = "IEEE Computer Society",
number = "9",

}

TY - JOUR

T1 - Compiler-Assisted Multiple Instruction Rollback Recovery Using a Read Buffer

AU - Alewine, Neal J.

AU - Chen, Shyh Kwei

AU - Fuchs, W. Kent

AU - Hwu, Wen-Mei W

PY - 1995/9

Y1 - 1995/9

N2 - Multiple instruction rollback (MIR) is a technique that has been implemented in mainframe computers to provide rapid recovery from transient processor failures. Hardware-based MIR designs eliminate rollback data hazards by providing data redundancy implemented in hardware. Compiler-based MIR designs have also been developed which remove rollback data hazards directly with data-flow transformations. This paper describes compiler-assisted techniques to achieve multiple instruction rollback recovery. We observe that some data hazards resulting from instruction rollback can be resolved efficiently by providing an operand read buffer while others are resolved more efficiently with compiler transformations. The compiler-assisted scheme presented consists of hardware that is less complex than shadow files, history files, history buffers, or delayed write buffers, while experimental evaluation indicates performance improvement over compiler-based schemes.

AB - Multiple instruction rollback (MIR) is a technique that has been implemented in mainframe computers to provide rapid recovery from transient processor failures. Hardware-based MIR designs eliminate rollback data hazards by providing data redundancy implemented in hardware. Compiler-based MIR designs have also been developed which remove rollback data hazards directly with data-flow transformations. This paper describes compiler-assisted techniques to achieve multiple instruction rollback recovery. We observe that some data hazards resulting from instruction rollback can be resolved efficiently by providing an operand read buffer while others are resolved more efficiently with compiler transformations. The compiler-assisted scheme presented consists of hardware that is less complex than shadow files, history files, history buffers, or delayed write buffers, while experimental evaluation indicates performance improvement over compiler-based schemes.

KW - Fault-tolerance

KW - compilers

KW - error recovery

KW - instruction retry

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

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

U2 - 10.1109/12.464388

DO - 10.1109/12.464388

M3 - Article

AN - SCOPUS:0007934730

VL - 44

SP - 1096

EP - 1107

JO - IEEE Transactions on Computers

JF - IEEE Transactions on Computers

SN - 0018-9340

IS - 9

ER -