Causal Logging : Manetho
description
Transcript of Causal Logging : Manetho
![Page 1: Causal Logging : Manetho](https://reader035.fdocuments.us/reader035/viewer/2022062315/56815a64550346895dc7aad6/html5/thumbnails/1.jpg)
Causal Logging : Manetho
Rohit C Fernandes10/25/01
![Page 2: Causal Logging : Manetho](https://reader035.fdocuments.us/reader035/viewer/2022062315/56815a64550346895dc7aad6/html5/thumbnails/2.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062315/56815a64550346895dc7aad6/html5/thumbnails/3.jpg)
Manetho properties Tolerate any number of
simultaneous failures Low failure-free overhead Only failed processes roll back
![Page 4: Causal Logging : Manetho](https://reader035.fdocuments.us/reader035/viewer/2022062315/56815a64550346895dc7aad6/html5/thumbnails/4.jpg)
Example Manetho Execution
![Page 5: Causal Logging : Manetho](https://reader035.fdocuments.us/reader035/viewer/2022062315/56815a64550346895dc7aad6/html5/thumbnails/5.jpg)
Causal Logging : Intuition Piggyback determinant of non-
deterministic event on outgoing messages
Determinant? Piggyback Antecedence Graphs
![Page 6: Causal Logging : Manetho](https://reader035.fdocuments.us/reader035/viewer/2022062315/56815a64550346895dc7aad6/html5/thumbnails/6.jpg)
Antecedence Graph Directed acyclic graph Nodes : State Intervals Edges : Happened
before(immediate)
![Page 7: Causal Logging : Manetho](https://reader035.fdocuments.us/reader035/viewer/2022062315/56815a64550346895dc7aad6/html5/thumbnails/7.jpg)
Antecedence Graph
![Page 8: Causal Logging : Manetho](https://reader035.fdocuments.us/reader035/viewer/2022062315/56815a64550346895dc7aad6/html5/thumbnails/8.jpg)
Receive Node Two incoming edges Fields
Receiver ID Sender ID Index of created state interval Unique identifier of message
![Page 9: Causal Logging : Manetho](https://reader035.fdocuments.us/reader035/viewer/2022062315/56815a64550346895dc7aad6/html5/thumbnails/9.jpg)
Internal Event Node One incoming edge Fields
Type of event Replay information
![Page 10: Causal Logging : Manetho](https://reader035.fdocuments.us/reader035/viewer/2022062315/56815a64550346895dc7aad6/html5/thumbnails/10.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062315/56815a64550346895dc7aad6/html5/thumbnails/11.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062315/56815a64550346895dc7aad6/html5/thumbnails/12.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062315/56815a64550346895dc7aad6/html5/thumbnails/13.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062315/56815a64550346895dc7aad6/html5/thumbnails/14.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062315/56815a64550346895dc7aad6/html5/thumbnails/15.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062315/56815a64550346895dc7aad6/html5/thumbnails/16.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062315/56815a64550346895dc7aad6/html5/thumbnails/17.jpg)
Recovery Example
![Page 18: Causal Logging : Manetho](https://reader035.fdocuments.us/reader035/viewer/2022062315/56815a64550346895dc7aad6/html5/thumbnails/18.jpg)
Available Antecedence Graphs
![Page 19: Causal Logging : Manetho](https://reader035.fdocuments.us/reader035/viewer/2022062315/56815a64550346895dc7aad6/html5/thumbnails/19.jpg)
Application Characteristics
![Page 20: Causal Logging : Manetho](https://reader035.fdocuments.us/reader035/viewer/2022062315/56815a64550346895dc7aad6/html5/thumbnails/20.jpg)
Performance Overhead
![Page 21: Causal Logging : Manetho](https://reader035.fdocuments.us/reader035/viewer/2022062315/56815a64550346895dc7aad6/html5/thumbnails/21.jpg)
![Page 22: Causal Logging : Manetho](https://reader035.fdocuments.us/reader035/viewer/2022062315/56815a64550346895dc7aad6/html5/thumbnails/22.jpg)
Coordinated vs. Uncoordinated
![Page 23: Causal Logging : Manetho](https://reader035.fdocuments.us/reader035/viewer/2022062315/56815a64550346895dc7aad6/html5/thumbnails/23.jpg)