Handling Emergent Nondeterminism in Replicated Services

  • Authors:
  • Joseph Slember;Priya Narasimhan

  • Affiliations:
  • Carnegie Mellon University, Pittsburgh, USA PA 15213;Carnegie Mellon University, Pittsburgh, USA PA 15213

  • Venue:
  • Architecting Dependable Systems V
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

When distributed applications are replicated for fault tolerance, the presence of even a single nondeterministic service can lead to emergent system-wide nondeterminism that compromises replica consistency. Our approach, Midas identifies and addresses multiple sources of nondeterminism (including system calls, multithreading, etc.) in a multi-service replicated distributed architecture. Midas involves a synergistic combination of compile-time dependency, concurrency and nondeterminism analyses, followed by the performance-sensitive compensation of nondeterminism at runtime. This approach upholds existing application semantics and allows services to continue to be nondeterministic, while yet maintaining their replicas consistent. We demonstrate Midas' scalability through a microbenchmark that shows the underlying tradeoffs under different kinds of dependencies between clients, services and invocations in a distributed system. We also validate our claims by modeling a representative multi-service application using Java Pathfinder.