causal logging : manetho

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

Upload: bryga

Post on 05-Feb-2016

37 views

Category:

Documents


0 download

DESCRIPTION

Causal Logging : Manetho. Rohit C Fernandes 10/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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Causal Logging : Manetho

Causal Logging : Manetho

Rohit C Fernandes10/25/01

Page 2: Causal Logging : Manetho

Manetho System Model Non determinististic events

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

Output Commit Stable Storage + Volatile Memory

Page 3: Causal Logging : Manetho

Manetho properties Tolerate any number of

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

Page 4: Causal Logging : Manetho

Example Manetho Execution

Page 5: Causal Logging : Manetho

Causal Logging : Intuition Piggyback determinant of non-

deterministic event on outgoing messages

Determinant? Piggyback Antecedence Graphs

Page 6: Causal Logging : Manetho

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

before(immediate)

Page 7: Causal Logging : Manetho

Antecedence Graph

Page 8: Causal Logging : Manetho

Receive Node Two incoming edges Fields

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

Page 9: Causal Logging : Manetho

Internal Event Node One incoming edge Fields

Type of event Replay information

Page 10: Causal Logging : Manetho

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

Page 11: Causal Logging : Manetho

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 )

Page 12: Causal Logging : Manetho

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

piggyback part of AG which is in disk

Output commit: Save AG to disk

Page 13: Causal Logging : Manetho

Incarnation Numbers Each process starts a new

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

discarded

Page 14: Causal Logging : Manetho

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

INCNUM INCNUM+1 ; save INCNUM

INCVEC[p] INCNUM G AG(p

c) // stable storage

Page 15: Causal Logging : Manetho

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)

Page 16: Causal Logging : Manetho

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

Page 17: Causal Logging : Manetho

Recovery Example

Page 18: Causal Logging : Manetho

Available Antecedence Graphs

Page 19: Causal Logging : Manetho

Application Characteristics

Page 20: Causal Logging : Manetho

Performance Overhead

Page 21: Causal Logging : Manetho
Page 22: Causal Logging : Manetho

Coordinated vs. Uncoordinated

Page 23: Causal Logging : Manetho