Fair K-Mutual Exclusion Algorithm for Peer to Peer Systems

Slides:



Advertisements
Similar presentations
CS 603 Process Synchronization: The Colored Ticket Algorithm February 13, 2002.
Advertisements

Mutual Exclusion – SW & HW By Oded Regev. Outline: Short review on the Bakery algorithm Short review on the Bakery algorithm Black & White Algorithm Black.
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
CS542 Topics in Distributed Systems Diganta Goswami.
Walter Binder University of Lugano, Switzerland Niranjan Suri IHMC, Florida, USA Green Computing: Energy Consumption Optimized Service Hosting.
CS 582 / CMPE 481 Distributed Systems
Beneficial Caching in Mobile Ad Hoc Networks Bin Tang, Samir Das, Himanshu Gupta Computer Science Department Stony Brook University.
Peer-to-Peer Based Multimedia Distribution Service Zhe Xiang, Qian Zhang, Wenwu Zhu, Zhensheng Zhang IEEE Transactions on Multimedia, Vol. 6, No. 2, April.
A Scalable and Load-Balanced Lookup Protocol for High Performance Peer-to-Peer Distributed System Jerry Chou and Tai-Yi Huang Embedded & Operating System.
CS603 Process Synchronization February 11, Synchronization: Basics Problem: Shared Resources –Generally data –But could be others Approaches: –Model.
Secure routing for structured peer-to-peer overlay networks (by Castro et al.) Shariq Rizvi CS 294-4: Peer-to-Peer Systems.
presented by Hasan SÖZER1 Scalable P2P Search Daniel A. Menascé George Mason University.
SCALLOP A Scalable and Load-Balanced Peer- to-Peer Lookup Protocol for High- Performance Distributed System Jerry Chou, Tai-Yi Huang & Kuang-Li Huang Embedded.
Object Naming & Content based Object Search 2/3/2003.
1 Lecture 24: Interconnection Networks Topics: communication latency, centralized and decentralized switches (Sections 8.1 – 8.5)
Computer Science Lecture 12, page 1 CS677: Distributed OS Last Class Vector timestamps Global state –Distributed Snapshot Election algorithms.
1 A Mutual Exclusion Algorithm for Ad Hoc Mobile networks Presentation by Sanjeev Verma For COEN th Nov, 2003 J. E. Walter, J. L. Welch and N. Vaidya.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Mutual Exclusion Steve Ko Computer Sciences and Engineering University at Buffalo.
Mar 1, 2004 Multi-path Routing CSE 525 Course Presentation Dhanashri Kelkar Department of Computer Science and Engineering OGI School of Science and Engineering.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Mutual Exclusion Steve Ko Computer Sciences and Engineering University at Buffalo.
Computer Science Lecture 12, page 1 CS677: Distributed OS Last Class Vector timestamps Global state –Distributed Snapshot Election algorithms –Bully algorithm.
CS425 /CSE424/ECE428 – Distributed Systems – Fall 2011 Material derived from slides by I. Gupta, M. Harandi, J. Hou, S. Mitra, K. Nahrstedt, N. Vaidya.
1 Distributed Process Management Chapter Distributed Global States Operating system cannot know the current state of all process in the distributed.
PROP: A Scalable and Reliable P2P Assisted Proxy Streaming System Computer Science Department College of William and Mary Lei Guo, Songqing Chen, and Xiaodong.
Lecture 10 – Mutual Exclusion Distributed Systems.
Physical clock synchronization Question 1. Why is physical clock synchronization important? Question 2. With the price of atomic clocks or GPS coming down,
Hwajung Lee. Mutual Exclusion CS p0 p1 p2 p3 Some applications are: 1. Resource sharing 2. Avoiding concurrent update on shared data 3. Controlling the.
Peer to Peer Network Design Discovery and Routing algorithms
A Torus Quorum Protocol for Distributed Mutual Exclusion A Torus Quorum Protocol for Distributed Mutual Exclusion S.D. Lang and L.J. Mao School of Computer.
Lecture 12-1 Computer Science 425 Distributed Systems CS 425 / CSE 424 / ECE 428 Fall 2012 Indranil Gupta (Indy) October 4, 2012 Lecture 12 Mutual Exclusion.
Lecture 7- 1 CS 425/ECE 428/CSE424 Distributed Systems (Fall 2009) Lecture 7 Distributed Mutual Exclusion Section 12.2 Klara Nahrstedt.
Distributed systems. distributed systems and protocols distributed systems: use components located at networked computers use message-passing to coordinate.
CIS 825 Review session. P1: Assume that processes are arranged in a ring topology. Consider the following modification of the Lamport’s mutual exclusion.
Mutual Exclusion Algorithms. Topics r Defining mutual exclusion r A centralized approach r A distributed approach r An approach assuming an organization.
Hwajung Lee. Mutual Exclusion CS p0 p1 p2 p3 Some applications are:  Resource sharing  Avoiding concurrent update on shared data  Controlling the.
Revisiting Logical Clocks: Mutual Exclusion Problem statement: Given a set of n processes, and a shared resource, it is required that: –Mutual exclusion.
CS 425 / ECE 428 Distributed Systems Fall 2015 Indranil Gupta (Indy) Oct 1, 2015 Lecture 12: Mutual Exclusion All slides © IG.
Ordering of Events in Distributed Systems UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 739 Distributed Systems Andrea C. Arpaci-Dusseau.
Peer-to-Peer Information Systems Week 12: Naming
William Stallings Data and Computer Communications
Lecture 18: Mutual Exclusion
Exercises for Chapter 11: COORDINATION AND AGREEMENT
Coordination and Agreement
4.5 Distributed Mutual Exclusion
Scaling Network Load Balancing Clusters
Guangxiang Du*, Indranil Gupta
A Study of Group-Tree Matching in Large Scale Group Communications
Network Load Balancing
VIRTUAL SERVERS Presented By: Ravi Joshi IV Year (IT)
Distributed Mutual Exclusion
CHAPTER 3 Architectures for Distributed Systems
CSE 486/586 Distributed Systems Time and Synchronization
Towards Next Generation Panel at SAINT 2002
Peer-to-Peer Information Systems Week 6: Performance
Mutual Exclusion Problem Specifications
ITEC452 Distributed Computing Lecture 7 Mutual Exclusion
Outline Distributed Mutual Exclusion Introduction Performance measures
Mutual Exclusion CS p0 CS p1 p2 CS CS p3.
Non-Distributed Excercises
Concurrency: Mutual Exclusion and Process Synchronization
CSE 486/586 Distributed Systems Mutual Exclusion
Physical clock synchronization
ITEC452 Distributed Computing Lecture 7 Mutual Exclusion
Combinatorial Optimization of Multicast Key Management
EE 122: Lecture 22 (Overlay Networks)
Distributed Systems and Concurrency: Synchronization in Distributed Systems Majeed Kassis.
Distributed Mutual eXclusion
Peer-to-Peer Information Systems Week 12: Naming
CSE 486/586 Distributed Systems Mutual Exclusion
CSE 486/586 Distributed Systems Time and Synchronization
Presentation transcript:

Fair K-Mutual Exclusion Algorithm for Peer to Peer Systems Vijay Anand, Prateek Mittal and Indranil Gupta Department of Computer Science University of Illinois Urbana Champaign

A K-Mutual Exclusion Algorithm which provides Motivation Central statistics collection server (PlanetLab, Data Centers) [HP OpenView] [CoMon]. Control and Data logs. Limited bandwidth is a bottleneck. Timeliness of data collection is required. Control over bandwidth (by varying k). Services with limited computational resources. Downloading large multimedia file (Gridftp, CoBlitz). A K-Mutual Exclusion Algorithm which provides Fairness is required.

Definition k Mutual Exclusion problem involves a group of processes, each of which intermittently requires access to an identical resource called the critical section (CS). Safety means that at most k processes, 1≤ k ≤ n may be in CS at any given time. Liveness means that every request for critical section access is satisfied in finite time.

Prior Work & Fairness Prior works rarely accounted for Fairness Optimized the mean time to access the critical section [BV95] [SR92] [RA81]. Fairness [LK00] : FIFO ordering with respect to request timestamps. Access Time = Time to get CS – CS request time. spread = width of distribution across clients. Our Fairness Metric: The access time spread for the critical section should be small across requesting clients across multiple requests . Not a binary property (smaller the better). More practical. Generalization of the FIFO ordering.

Our Contributions Proposed a practical fair algorithm for k-mutual exclusion problem. Minimizes the difference between maximum and mean time to access the critical section. Proved that our algorithm satisfies both safety and liveness requirements. Proposed a fault tolerant methodology for our algorithm using Chord peer to peer system. Showed that it is resilient against churn.

System Model Communication channel is reliable and does not duplicate messages. Message delivery to the destination is time bounded. No Joins and failures: We handle failures by relying on chord DHT. Constant critical section (CS) time. Generalizes to varying but known CS times.

First Cut Algorithm 1 2 3 4 Token Based Algorithm (K Tokens). Obtained from a real world scenario : Cinema hall with K ticket counters. Customer has no idea about the length of the queues and picks the queue randomly. 1 2 3 4 This approach gives good average time to get the ticket (token). No load balancing, thus access time spread is very high.

Algorithm(2): Coordinator Coordinator guides customers to the ticket counters in a round robin manner. Presence of coordinator leads to centralized solution (single point of failure). 1 2 3 4 2 3

Algorithm(3): Distributed Approach Every customer entering the hall acts as a coordinator and guides the next customer to the round robin ticket counter. It provides load balancing of requests for tickets among the counters. 1 2 3 4 2 This scenario exactly maps to our k-mutual exclusion Algorithm. 3 4

Algorithm(3): Distributed Approach Every customer entering the hall acts as a coordinator and guides the next customer to the round robin ticket counter. It provides load balancing of requests for tickets among the counters. 1 2 3 4 3 4 1 This scenario exactly maps to our k-mutual exclusion Algorithm.

Distributed Data Structures in Algorithm Entry in to the cinema hall – Single mutual exclusion. Dynamic tree is used to represent the queue (O (log N)) Tree is based on the path reversal technique by [NTA96]. K- Counter queues – K distributed token queues Coordinator Node Has addresses of the tails of the k token queues, and Counter variable – Incremented in round robin way. Passes both to the next element in the queue (DY Tree).

Initial Configuration: Node 3 is the coordinator Example N = 8, K =3 Node With Token 1 2 3 1 Coordinator Node 1 2 3 Father Pointer 8 Child Pointer 7 4 6 5 Initial Configuration: Node 3 is the coordinator

Coordinator/root Node Example Node With Token 1 2 3 1 Coordinator/root Node 1 2 3 Father Pointer 8 Child Pointer Message_Child 7 Message_Request 4 6 5 Message_Token_ Locations 4 2 3 2 Node 4 Requests CS

Example 4 2 3 2 4 5 3 3 Node With Token Coordinator Node 1 2 3 Father Pointer 8 Child Pointer Message_Child 7 4 Message_Request 6 5 Message_Token_ Locations 4 2 3 2 4 5 3 3 Node 5 Requests CS

Node 5 has been appended to the Child queue Example Node With Token Coordinator Node 1 2 3 Father Pointer 8 Child Pointer 4 5 7 6 4 5 3 3 Node 5 has been appended to the Child queue

Example 7 5 6 2 Node With Token Coordinator Node 1 2 3 Father Pointer 8 Child Pointer 6 4 5 7 7 5 6 2 Node 6 and 7 Request CS (Not showing the formation of privileged queue)

Example 7 5 6 2 Node With Token Coordinator Node 1 2 3 Father Pointer 8 Child Pointer 6 4 5 7 7 5 6 2 Node 1 Exits CS

Experiment Methodology Critical Section duration = 10s Number of nodes = 100 Number of tokens = 3 Latencies LAN Setting : Normalized 1 sec between every pair of nodes WAN Setting : King Data Set (Highly Heterogeneous) (average RTT = 182ms , Maximum RTT = 800 ms) Compared with BV95[Best known algorithm] Remaining algorithms have worse mean access times.

MTTT: Mean Time to get the Token Our Algorithm and BV95 in LAN Setting Our Algorithm and BV95 in WAN Setting Our algorithm is comparable to BV95 (similar MTTT values under both settings)

Results: Fairness Globally Maximum Time to get the token Vs Request rate More than1600s BV95 in LAN Setting Our Algorithm in LAN Setting 370s Access time spread (Maximum - Mean) for our algorithm is less than15s, whereas for BV95 it is more than1250s.

Trade off Average Messages Vs Request Rate Message Complexity Our Algorithm in LAN Setting Message Complexity is same in both the algorithms (O (log N)) BV95 in LAN Setting This Increase in Average message is due to 1) Additional constant number of messages (message_child etc). 2) Unlike BV95 our algorithm does not cache requests for CS to preserve fairness.

Conclusion A Practical Fairness Metric: Access Time Spread. A New Distributed Fair Mutual Exclusion Algorithm Similar performance for MTTT values compared to BV95. An order of magnitude performance Improvement in fairness metric (15s Vs 1250s). Trade off: Additional constant number of messages.