Rollback-Recovery p Σ Σ

Similar documents
Hypervisor-based Fault-tolerance. Where should RC be implemented? The Hypervisor as a State Machine. The Architecture. In hardware

Message Logging: Pessimistic, Optimistic, Causal, and Optimal

Three Models. 1. Time Order 2. Distributed Algorithms 3. Nature of Distributed Systems1. DEPT. OF Comp Sc. and Engg., IIT Delhi

Failure Models. Fault Tolerance. Failure Masking by Redundancy. Agreement in Faulty Systems

a resilient process in which the crash of a process is translated into intermittent unavailability of that process. All message-logging protocols requ

A Survey of Rollback-Recovery Protocols in Message-Passing Systems

Checkpointing HPC Applications

Today CSCI Recovery techniques. Recovery. Recovery CAP Theorem. Instructor: Abhishek Chandra

Fault Tolerance Part II. CS403/534 Distributed Systems Erkay Savas Sabanci University

Today: Fault Tolerance. Reliable One-One Communication

CSE 5306 Distributed Systems

CSE 5306 Distributed Systems. Fault Tolerance

Page 1 FAULT TOLERANT SYSTEMS. Coordinated Checkpointing. Time-Based Synchronization. A Coordinated Checkpointing Algorithm

Fault Tolerance. Distributed Systems IT332

Rollback-Recovery Protocols for Send-Deterministic Applications. Amina Guermouche, Thomas Ropars, Elisabeth Brunet, Marc Snir and Franck Cappello

David B. Johnson. Willy Zwaenepoel. Rice University. Houston, Texas. or the constraints of real-time applications [6, 7].

Fault-Tolerant Computer Systems ECE 60872/CS Recovery

Distributed Recovery with K-Optimistic Logging. Yi-Min Wang Om P. Damani Vijay K. Garg

FAULT TOLERANT SYSTEMS

Chapter 8 Fault Tolerance

Novel Log Management for Sender-based Message Logging

Nonblocking and Orphan-Free Message Logging. Cornell University Department of Computer Science. Ithaca NY USA. Abstract

A SURVEY AND PERFORMANCE ANALYSIS OF CHECKPOINTING AND RECOVERY SCHEMES FOR MOBILE COMPUTING SYSTEMS

MESSAGE INDUCED SOFT CHEKPOINTING FOR RECOVERY IN MOBILE ENVIRONMENTS

Distributed Systems Principles and Paradigms. Chapter 08: Fault Tolerance

A Review of Checkpointing Fault Tolerance Techniques in Distributed Mobile Systems

Distributed Systems Principles and Paradigms

CprE Fault Tolerance. Dr. Yong Guan. Department of Electrical and Computer Engineering & Information Assurance Center Iowa State University

The Cost of Recovery in Message Logging Protocols

Today: Fault Tolerance. Failure Masking by Redundancy

Fault Tolerance. Basic Concepts

Chapter 8 Fault Tolerance

Fault Tolerance. Goals: transparent: mask (i.e., completely recover from) all failures, or predictable: exhibit a well defined failure behavior

Lecture 21: Logging Schemes /645 Database Systems (Fall 2017) Carnegie Mellon University Prof. Andy Pavlo

Chapter 5: Distributed Systems: Fault Tolerance. Fall 2013 Jussi Kangasharju

Fault Tolerance. Distributed Systems. September 2002


MYE017 Distributed Systems. Kostas Magoutis

On the Relevance of Communication Costs of Rollback-Recovery Protocols

Fault Tolerance Causes of failure: process failure machine failure network failure Goals: transparent: mask (i.e., completely recover from) all

Failure Tolerance. Distributed Systems Santa Clara University

Parallel and Distributed Systems. Programming Models. Why Parallel or Distributed Computing? What is a parallel computer?

Distributed Systems Principles and Paradigms

Distributed Systems Principles and Paradigms

HydEE: Failure Containment without Event Logging for Large Scale Send-Deterministic MPI Applications

A Hierarchical Checkpointing Protocol for Parallel Applications in Cluster Federations

International Journal of Distributed and Parallel systems (IJDPS) Vol.1, No.1, September

NFSv4 as the Building Block for Fault Tolerant Applications

Fault Tolerance 1/64

Last Class Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications

MYE017 Distributed Systems. Kostas Magoutis

Outline. Purpose of this paper. Purpose of this paper. Transaction Review. Outline. Aries: A Transaction Recovery Method

Consistent Logical Checkpointing. Nitin H. Vaidya. Texas A&M University. Phone: Fax:

Uncoordinated Checkpointing Without Domino Effect for Send-Deterministic MPI Applications

Distributed recovery for senddeterministic. Tatiana V. Martsinkevich, Thomas Ropars, Amina Guermouche, Franck Cappello

Today: Fault Tolerance. Replica Management

Parallel & Distributed Systems group

Uncoordinated Checkpointing Without Domino Effect for Send-Deterministic MPI Applications

Novel low-overhead roll-forward recovery scheme for distributed systems

tolerance. In any system of thousands or millions of computers, the likelihood of multiple failures is high. Many of the current applications that uti

Scalable Replay with Partial-Order Dependencies for Message-Logging Fault Tolerance

0 0 % Department of Computer Science Rice University P.O. Box 1892 Houston, Texas

What is checkpoint. Checkpoint libraries. Where to checkpoint? Why we need it? When to checkpoint? Who need checkpoint?

Recoverability. Kathleen Durant PhD CS3200

Optimistic Recovery in Distributed Systems

DATABASE DESIGN I - 1DL300

arxiv:cs/ v1 [cs.dc] 1 Jan 2005

Clock and Time. THOAI NAM Faculty of Information Technology HCMC University of Technology

Kevin Skadron. 18 April Abstract. higher rate of failure requires eective fault-tolerance. Asynchronous consistent checkpointing oers a

Fault Tolerance. o Basic Concepts o Process Resilience o Reliable Client-Server Communication o Reliable Group Communication. o Distributed Commit

Checkpointing and Rollback Recovery in Distributed Systems: Existing Solutions, Open Issues and Proposed Solutions

Recovering from a Crash. Three-Phase Commit

Lightweight Logging for Lazy Release Consistent Distributed Shared Memory

The Performance of Coordinated and Independent Checkpointing

Process groups and message ordering

FAULT TOLERANT SYSTEMS

Some Thoughts on Distributed Recovery. (preliminary version) Nitin H. Vaidya. Texas A&M University. Phone:

Fault Tolerance. Chapter 7

Introduction. Storage Failure Recovery Logging Undo Logging Redo Logging ARIES

A Consensus-based Fault-Tolerant Event Logger for High Performance Applications

APPLICATION-TRANSPARENT ERROR-RECOVERY TECHNIQUES FOR MULTICOMPUTERS

CS 541 Database Systems. Recovery Managers

Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications. Last Class. Today s Class. Faloutsos/Pavlo CMU /615

Basic concepts in fault tolerance Masking failure by redundancy Process resilience Reliable communication. Distributed commit.

Low-overhead Protocols for Fault-tolerant File Sharing

Chapter 17: Recovery System

Failure Classification. Chapter 17: Recovery System. Recovery Algorithms. Storage Structure

Fault Tolerance. Fall 2008 Jussi Kangasharju

Impact of Event Logger on Causal Message Logging Protocols for Fault Tolerant MPI

Outline. Failure Types

CS 4604: Introduc0on to Database Management Systems. B. Aditya Prakash Lecture #19: Logging and Recovery 1

Transaction Management. Pearson Education Limited 1995, 2005

Heckaton. SQL Server's Memory Optimized OLTP Engine

Optimistic Concurrency Control. April 18, 2018

Today: Fault Tolerance. Fault Tolerance

Concurrency Control & Recovery

ARIES (& Logging) April 2-4, 2018

Chapter 14: Recovery System

Advanced Memory Management

Distributed Systems Fault Tolerance

Transcription:

Uncoordinated Checkpointing Rollback-Recovery p Σ Σ Easy to understand No synchronization overhead Flexible can choose when to checkpoint To recover from a crash: go back to last checkpoint restart m 8 m 8

m 8

How to Avoid the Domino Effect Coordinated Checkpointing No independence Synchronization Overhead Easy Garbage Collection Communication Induced Checkpointing : detect dangerous communication patterns and checkpoint appropriately Less synchronization Less independence Complex

Coordinated checkpoint for every output commit High overhead if frequent I/O with external environment

Distributed Checkpointing at a Glance Message Logging Can avoid domino effect Works with coordinated checkpoint Independent + Simplicity + Autonomy + Scalability - Domino effect Coordinated + Consistent states + Good performance + Garbage Collection - Scalability Communicationinduced + Consistent states + Autonomy + Scalability - None is true Works with uncoordinated checkpoint Can reduce cost of output commit How Message Logging Works Logging Message Determinants To tolerate crash failures: periodically checkpoint application state; log on stable storage determinants of non-deterministic events executed after checkpointed state. Determinants for message delivery events: message m = <m.dest, m.rsn, m.data> receive sequence number Recovery: restore latest checkpointed state; replay non-deterministic events according to determinants

Logging Message Determinants Pessimistic Logging Determinants for message delivery events: message m = <m.dest, m.rsn, m.data> logs synchronously to stable storage the determinants of and receive sequence number before sending. Or alternatively: message m = <m.dest, m.rsn, m.source, m.ssn> Never creates orphans pointer to the message data may incur blocking straightforward recovery Sender Based Logging Optimistic Logging (Johnson and Zwaenepoel, FTCS 87) 2 sends Message log is maintained in volatile storage at the sender. A message m is logged in two steps: logging determinants. If fails before logging the i) before sending m, the sender logs its content: m is partially logged determinants of and, ii) the receiver tells the sender the receive sequence number of m, and the sender adds this information to its log: m is fully logged. becomes an orphan. q p m partially logged (m.data, m.ssn) m fully logged (ACK, m.rsn) (m.ssn, m.rsn) q blocks? Eliminates orphans during recovery non-blocking during failure-free executions rollback of correct processes complex recovery q knows m is fully logged

Causal Logging No blocking in failure-free executions No orphans No additional messages Tolerates multiple concurrent failures Keeps determinant in volatile memory Localized output commit Given a message m sent from m.source to m.dest, Depend(m): Log(m): { p P (p = m.dest) and p delivered m ( e p :(deliver m.dest (m) e p )) set of processes with a copy of the determinant of m in their volatile memory p orphan of a set C of crashed processes: (p C) m :(Log(m) C p Depend(m)) } The No-Orphans Consistency Condition No orphans after crash C if: m :(Log(m) C) (Depend(m) C) No orphans after any C if: m :(Depend(m) Log(m)) The Consistency Condition m :( stable(m) (Depend(m) Log(m))) Optimistic and Pessimistic No orphans after crash C if: m :(Log(m) C) (Depend(m) C) Optimistic weakens it to: m :(Log(m) C) (Depend(m) C) No orphans after any crash if: m :( stable(m) (Depend(m) Log(m))) Pessimistic strengthens it to: m :( stable(m) Depend(m) 1)

Causal Message Logging No orphans after any crash of size at most f if: m :( stable(m) (Depend(m) Log(m))) An Example Causal Logging: m :( stable(m) (Depend(m) Log(m))) If f = 1, stable(m) Log(m) 2 Causal strengthens it to: m : ( stable(m) ( (Depend(m) Log(m)) (Depend(m) =Log(m)) )) <#,# > <# >