causal logging : manetho rohit c fernandes 10/25/01

23
Causal Logging : Manetho Rohit C Fernandes 10/25/01

Post on 22-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Causal Logging : Manetho

Rohit C Fernandes10/25/01

Manetho System Model Non determinististic events

Message Receive Internal event(Kernel call) Creation of a new process

Output Commit Stable Storage + Volatile Memory

Manetho properties Tolerate any number of

simultaneous failures Low failure-free overhead Only failed processes roll back

Example Manetho Execution

Causal Logging : Intuition Piggyback determinant of non-

deterministic event on outgoing messages

Determinant? Piggyback Antecedence Graphs

Antecedence Graph Directed acyclic graph Nodes : State Intervals Edges : Happened

before(immediate)

Antecedence Graph

Receive Node Two incoming edges Fields

Receiver ID Sender ID Index of created state interval Unique identifier of message

Internal Event Node One incoming edge Fields

Type of event Replay information

Failure Free Operation Each process maintains

AG of its current interval Log that contains data and ID of each

message sent Message Send : Piggyback AG of

current state interval

Optimization Need not send complete AG Incremental piggybacking AG(i+1

p) is a proper subgraph of AG(i

p) Process q communicates to p max j

such that jp is in q’s AG

P sends AG (ip ) - AG (j

p )

Information on Stable Storage Checkpoints AG (asynchronously) : Need not

piggyback part of AG which is in disk

Output commit: Save AG to disk

Incarnation Numbers Each process starts a new

incarnation after recovery Integer stored in stable storage Tagged on outgoing messages Messages from old incarnations

discarded

Recovery Protocol Recover(p,c,INCNUM,S) Step 1

INCNUM INCNUM+1 ; save INCNUM

INCVEC[p] INCNUM G AG(p

c) // stable storage

Recovery Protocol Step 2

For all q S, qp (INQ,AGQ)remote call at q:GET_AG(p) GGAGQ INCVEC[q]INQ

For all q S, qp Remote call at q: SEND_INC(p,INCVEC)

Recovery Protocol Step 3

mmax j such that pj G

Recover upto pm

Don’t send out application messages but log them

For receive, request message from sender’s log

Replay internal event

Recovery Example

Available Antecedence Graphs

Application Characteristics

Performance Overhead

Coordinated vs. Uncoordinated