Compiler-Assisted Multiple Instruction Rollback Recovery Using a Read Buffer

نویسندگان

  • Neal J. Alewine
  • Shyh-Kwei Chen
  • W. Kent Fuchs
  • Wen-mei W. Hwu
چکیده

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. Compilerbased MIR designshave also been developed which remove rollbackdata hazards directlywith data-flowtransformations. This paper focuseson compiler-assisted techniquesto achievemultipleinstructionrollbackrecovery. We observe that some data hazards resultingfrom instructionrollbackcan be resolved efficiently b providingan operand read bufferwhile othersare resolvedmore efficiently with compilertransformations.A compiler-assisted multipleinstructionrollbackscheme isdeveloped which combines hardware-implemented data redundancy with compiler-drivenhazard removal transformations.Experimental performance evaluationsindicateimproved efficiency over previous hardware based and compiler-basedschemes. /ndez terr_: fault-tolerance, error recovery, instruction retry, compilers, hardware assisted retry. aInternationM Business Mschines Corporation, Boca ]Lston, FI. This research wu supported in part by the National Aeronautics and Space Administration (NASA) under grant NASA NAG 1-613, in cooperation with the Illinois Computer Laboratory for Aerospace Systems and Software (ICLASS), and in part by the Department of the Navy and managed by the Office of the Chief of Naval Research under Contract N00014-91-J-1283.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Compiler-assisted multiple instruction rollback recovery using a read buffer - Computers, IEEE Transactions on

Abstrucf-Multiple instruction rollback (MIR) is a technique that has been implemented in mainframe computers to provide rapid recovery from transient processor failures. Hardwarebased 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 tran...

متن کامل

Branch Recovery with Compiler-Assisted Multiple Instruction Retry

In processing systems where rapid recovery from transient faults is important, schemes for multiple instruction rollback recovery may be appropriate. Multiple instruction retry has been implemented in hardware by researchers and also in mainframe computers. This paper extends compiler-assisted instruction retry to a broad class of code execution failures [l]. Five benchmarks were used to measur...

متن کامل

Compiler-Assisted Multiple Instruction Retry

This paper describes a compiler-assisted approach to providing multiple instruction rollback capability for general purpose processor registers. The objective is achieved by having the compiler remove all forms of N -instruction anti-dependencies. Pseudo register anti-dependencies are removed by loop protection, node splitting, and loop expansion techniques; machine register antidependencies ar...

متن کامل

Compiler Support for Value-Based Indirect Branch Prediction

Indirect branch targets are hard to predict as there may be multiple targets corresponding to a single indirect branch instruction. Value Based BTB Indexing (VBBI), a recently proposed indirect branch prediction technique, utilizes the compiler to identify a ‘hint instruction’, whose output value strongly correlates with the target address of an indirect branch. At run time, multiple targets ar...

متن کامل

Robust and efficient malware analysis and host-based monitoring

variable binding identifies, for each memory read instruction of an execution trace, the program variable containing the address specifying the location from which the data should be read. Consider pseudo-code of an emulator that regularly fetches instructions pointed to by the VPC: instruction = bytecode[VPC] or instruction = ∗VPC (1) In these examples, the VPC is an index into an array of byt...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • IEEE Trans. Computers

دوره 44  شماره 

صفحات  -

تاریخ انتشار 1995