1 / 23

Causal Logging : Manetho

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

bryga
Download Presentation

Causal Logging : Manetho

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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+1p) is a proper subgraph of AG(ip) • Process q communicates to p max j such that jp is in q’s AG • P sends AG (ip ) - AG (jp )

  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(pc) // 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 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

  17. Recovery Example

  18. Available Antecedence Graphs

  19. Application Characteristics

  20. Performance Overhead

  21. Coordinated vs. Uncoordinated

More Related