Title: Performance of Fair Distributed Mutual Exclusion Algorithms
1Performance of Fair Distributed Mutual Exclusion
Algorithms Kandarp Jani Ajay D.
Kshemkalyani University of Illinois at Chicago
2Presentation Plan
- Introduction to fair distributed mutual exclusion
- Previous fair algorithms
- Lamport 78 3(n-1) msgs/CS
- Ricart-Agrawala (RA) 81 2(n-1) msgs/CS
- Lodha-Kshemkalyani (LK) TPDS00 n, 2n-1
msgs/CS - Simulation expts study improvement of LK over RA
- Conclusion LK has fewer messages, lower
waiting time, w/o compromising message size or
other metrics
3Model and Metrics
- Asynchronous distributed message-passing system
- d time for a message hop
- Metrics for mutual exclusion algorithms
- number of messages/CS
- response time O(2dcss)
- synchronization delay O(d)
- waiting time O(2d)
- throughput 1/ response time
- fairness
- message size O(1)
- Single request outstanding at a time
4Relating CSS, ?, NCSS, wait time
5Fair Mutual Exclusion
- Popular definition of fairness requests must be
answered in the order of their causality-based
scalar clock values - If clk(Req1) lt clk(Req2)
- Req1 has higher priority
- If clk(Req1) clk(Req2)
- Use requestors PIDs as tie-breaker (i.e., define
a lexicographic order) - Only Lamport, RA, and LK algorithms are fair
6Ricart-Agrawala Algorithm (1983)
7LK Algorithm (messages)
- REQUEST, REPLY, FLUSH messages
- REQUEST contains timestamp of request
- REPLY, FLUSH contain timestamp of last completed
CS access by sender of message - Local Request Queue (LRQ) at each process, LRQ
tracks concurrent requests
8LK Algorithm (concurrency set)
- Message overhead 2n - Cset msgs/CS
- (n-1) REQUEST messages
- n - Cset REPLY messages
- 1 FLUSH message
9LK algorithm (REQUEST)
- Multiple uses of REQUEST
- to seek permission to enter CS
- if requesting concurrently, the REQUEST acts as
a REPLY from the lower priority requestor (i) to
the higher priority requester (j) - j remembers is request in its LRQ
- i remembers js request in its LRQ
- After j finishes CS, i will eventually get
logical permission from j via a chain of REPLY
and FLUSH messages
10LK algorithm (REPLY)
- REPLY message has timestamp of last completed CS
request of sender of REPLY - Multiple uses of REPLY
- Sender gives individual permission
- Sender gives collective permission on behalf of
all processes with higher priority requests - It acts as multiple logical reply messages
11LK algorithm (FLUSH)
- FLUSH sent after exiting CS, to the concurrently
requesting process with the next highest priority
- FLUSH timestamped w/timestamp of just completed
CS request of sender of FLUSH - Multiple uses of FLUSH
- Sender gives individual permission
- Sender gives collective permission on behalf of
all processes with higher priority requests - It acts as multiple logical reply messages
12Simulation Parameters (on OPNET)
- Input parameters
- Number of processes n (10-40)
- Inter-request time exp. Distributed, mean ?
- (0.1 ms to 10 s)
- Critical Section Sitting time exp. distributed,
mean CSS (0.1 microsec to 10 millisec) - Propagation delay D, implicitly modeled in CSS
- Output parameters
- Normalized message complexity M
- Waiting time T
13Experiments
- Experiment 1
- M f(?), for multiple settings of (n, CSS)
- Experiment 2
- M f(n), for multiple settings of (CSS, ?)
- Experiment 3
- T f(n), for multiple settings of (CSS, ?)
- compared LK and RA algorithms
14Impact of ? on Msg. Ovhd (Expt 1, n10)
15Impact of ? on Msg. Ovhd (Expt 1, n20)
16Impact of ? on Msg. Ovhd (Expt 1, n30)
17Impact of ? on Msg. Ovhd (Expt 1, n40)
18Impact of n on Msg. Ovhd (Expt 2, CSS0.1
microsec)
19Impact of n on Msg. Ovhd (Expt 2, CSS1 microsec)
20Impact of n on Msg. Ovhd (Expt 2, CSS0.1 ms)
21Impact of n on Msg. Ovhd (Expt 2, CSS1 ms)
22Impact of n on Wait Time (Expt 3, CSS1 microsec)
23Impact of n on Wait Time (Expt 3, CSS0.1
microsec)
24Conclusions
- LK is the best known fair mutex algorithm
- LK outperforms Ricart-Agrawala i.t.o.
- Number of messages/CS
- Waiting time/CS
- without compromising message size or any other
metric - Studied behaviour of LK using simulations under a
wide range of conditions