Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Causal Logging : Manetho Rohit C Fernandes 10/25/01."— Presentation transcript:

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

2 Manetho System Model Non determinististic events Message Receive Internal event(Kernel call) Creation of a new process Output Commit Stable Storage + Volatile Memory

3 Manetho properties Tolerate any number of simultaneous failures Low failure-free overhead Only failed processes roll back

4 Example Manetho Execution

5 Causal Logging : Intuition Piggyback determinant of non- deterministic event on outgoing messages Determinant? Piggyback Antecedence Graphs

6 Antecedence Graph Directed acyclic graph Nodes : State Intervals Edges : Happened before(immediate)

7 Antecedence Graph

8 Receive Node Two incoming edges Fields Receiver ID Sender ID Index of created state interval Unique identifier of message

9 Internal Event Node One incoming edge Fields Type of event Replay information

10 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

11 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  j p is in q’s AG P sends AG (  i p ) - AG (  j p )

12 Information on Stable Storage Checkpoints AG (asynchronously) : Need not piggyback part of AG which is in disk Output commit: Save AG to disk

13 Incarnation Numbers Each process starts a new incarnation after recovery Integer stored in stable storage Tagged on outgoing messages Messages from old incarnations discarded

14 Recovery Protocol Recover(p,c,INCNUM,S) Step 1 INCNUM  INCNUM+1 ; save INCNUM INCVEC[p]  INCNUM G  AG(  p c ) // stable storage

15 Recovery Protocol Step 2 For all q  S, q  p (INQ,AGQ)  remote call at q:GET_AG(p) G  G  AGQ INCVEC[q]  INQ For all q  S, q  p Remote call at q: SEND_INC(p,INCVEC)

16 Recovery Protocol Step 3 m  max j such that  p j  G Recover upto  p m Don’t send out application messages but log them For receive, request message from sender’s log Replay internal event

17 Recovery Example

18 Available Antecedence Graphs

19 Application Characteristics

20 Performance Overhead

21

22 Coordinated vs. Uncoordinated

23


Download ppt "Causal Logging : Manetho Rohit C Fernandes 10/25/01."

Similar presentations


Ads by Google