Hardware instruction counting for log-based rollback recovery on x86-family processors

  • Authors:
  • Daniel Stodden;Hubert Eichner;Max Walter;Carsten Trinitis

  • Affiliations:
  • Technische Universität München;Technische Universität München;Technische Universität München;Technische Universität München

  • Venue:
  • ISAS'06 Proceedings of the Third international conference on Service Availability
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Log-based recovery protocols enable process replicas in distributed systems to replay a computation up to the point where a previous computation failed. One fundamental assumption underlying these protocols is the piecewise deterministic (PWD) execution model, stating that recovery must not execute, but simulate the execution of nondeterministic events in order to maintain consistency. One such source of nondeterminism are asynchronous events triggering software signal handlers, an issue known to be solved by instruction counters. Efficient implementations in software have been shown to be practical, but require significant changes to applications and system software. Hardware counters, in contrast, allow running software unmodified. A number of processors implementing the Intel x86 instruction set architecture provide monitoring registers with properties similar to a true instruction counter. Designed for application profiling, these facilities reveal a number issues to be resolved when utilized for applications like the PWD model, which demands for a maximum in precision during replay. We discuss some of the most prominent problems faced when using performance counters for protocols satisfying the PWD model. We present additional hardware mechanisms, eliminating inconsistencies in counter interrupt delivery, based on standard processor debugging facilities, and at the expense of a small number of additionally generated exceptions.