• DocumentCode
    3515919
  • Title

    Emμcode: Masking hard faults in complex functional units

  • Author

    Weaver, Nicholas ; Kelm, John H. ; Frank, Matthew I.

  • Author_Institution
    Coordinated Sci. Lab., Univ. of Illinois at Urbana-Champaign, Urbana, IL, USA
  • fYear
    2009
  • fDate
    June 29 2009-July 2 2009
  • Firstpage
    458
  • Lastpage
    467
  • Abstract
    This paper presents Emmucode, a technique for masking hard faults in modern microprocessors that provides graceful performance degradation. Emmucode employs microcode traces with control flow that replace an original instruction once a fault is detected. Emmucode adds lightweight microarchitectural hardware to assist in correcting hard faults in larger structures, such as SIMD execution units found in contemporary microprocessors, where replication is infeasible. Key challenges in implementing microcode traces include maintaining proper architectural state and the optimization of trace code. We are able to significantly optimize traces by exploiting dynamic trace behavior and by performing minor modifications to the microarchitecture. We find that removing hard to predict branches is important for optimizing traces. Emmucode uses partial predication, new microcode operations, and the full use of the microcode´s flexibility and visibility to create fast traces. This paper studies the viability of implementing SIMD floating point arithmetic operations found in modern x86 processors using Emmucode traces. Our results show that for programs with 1 to 5 percent of the dynamic instructions replaced by Emmucode, a graceful performance degradation of only 1.3times to 4times is achievable.
  • Keywords
    fault diagnosis; floating point arithmetic; multiprocessing systems; parallel processing; program diagnostics; Emmucode; SIMD execution units; SIMD floating point arithmetic operations; architectural state maintenance; complex functional units; control flow; fault detection; hard fault correction; hard fault masking; lightweight microarchitectural hardware; microcode traces; modern microprocessors; modern x86 processors; partial predication; trace code optimization; Degradation; Fabrication; Fault detection; Floating-point arithmetic; High performance computing; Microarchitecture; Microprocessors; Pipelines; Protection; Redundancy;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Dependable Systems & Networks, 2009. DSN '09. IEEE/IFIP International Conference on
  • Conference_Location
    Lisbon
  • Print_ISBN
    978-1-4244-4422-9
  • Electronic_ISBN
    978-1-4244-4421-2
  • Type

    conf

  • DOI
    10.1109/DSN.2009.5270304
  • Filename
    5270304