Unformatted text preview: Tm to everyone 2) if get request, put Tm on local queue, ack (so now request is on everyone’s queue) 3) to release, remove request from local queue, send release to everyone 4) if get release, remove that request from local queue 5) Process i gets lock if its request is before (=>) everyone else’s, and none earlier can arrive (have a later timestamp from everyone) Example of state machine; everyone operates on the same information, so everyone stays in synch. Example: start with set of processes, each with a request queue. P0 starts with lock, at T0. In everyone’s request queue. P1 asks for lock, at T1. P2 asks for lock, at T2. P0 releases lock, at T2. Any problems? What if there are failures? We’ll see how to generalize this to handle failures with paxos. Suppose I only want to avoid causality anomalies, but I don’t need a total order. That’s all that’s needed for the lunch example – that no message that depends on a past event is delivered before that event. Might need to ping neighbors to...
View Full Document
This document was uploaded on 04/04/2014.
- Spring '14