1 Prioritized h-out of-k Resource Allocation for Mobile Ad Hoc Networks and Distributed Systems Jehn-Ruey Jiang Hsuan Chuang University HsinChu, Taiwan.

Slides:



Advertisements
Similar presentations
CS542 Topics in Distributed Systems Diganta Goswami.
Advertisements

CS3771 Today: deadlock detection and election algorithms  Previous class Event ordering in distributed systems Various approaches for Mutual Exclusion.
Token-Dased DMX Algorithms n LeLann’s token ring n Suzuki-Kasami’s broadcast n Raymond’s tree.
Deadlocks in Distributed Systems Ryan Clemens, Thomas Levy, Daniel Salloum, Tagore Kolluru, Mike DeMauro.
Lecture 4: Elections, Reset Anish Arora CSE 763 Notes include material from Dr. Jeff Brumfield.
Ranveer Chandra , Kenneth P. Birman Department of Computer Science
Multiple Processor Systems
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
1/14 Ad Hoc Networking, Eli M. Gafni and Dimitri P. Bertsekas Distributed Algorithm for Generating Loop-free Routes in Networks With Frequently.
1 Complexity of Network Synchronization Raeda Naamnieh.
CS 582 / CMPE 481 Distributed Systems
What we will cover…  Distributed Coordination 1-1.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #4 Mobile Ad-Hoc Networks AODV Routing.
Internet Networking Spring 2006 Tutorial 12 Web Caching Protocols ICP, CARP.
Highly Concurrent and Fault-Tolerant h-out of-k Mutual Exclusion Using Cohorts Coteries for Distributed Systems.
Concurrent Processes Lecture 5. Introduction Modern operating systems can handle more than one process at a time System scheduler manages processes and.
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
Module 2.4: Distributed Systems
20101 Synchronization in distributed systems A collection of independent computers that appears to its users as a single coherent system.
A Fault-Tolerant h-out of-k Mutual Exclusion Algorithm Using Cohorts Coteries for Distributed Systems Presented by Jehn-Ruey Jiang National Central University.
A Fault-Tolerant h-out of-k Mutual Exclusion Algorithm Using Cohorts Coteries for Distributed Systems Presented by Jehn-Ruey Jiang National Central University.
Performance Comparison of Existing Leader Election Algorithms for Dynamic Networks Mobile Ad Hoc (Dynamic) Networks: Collection of potentially mobile computing.
Chapter 18: Distributed Coordination (Chapter 18.1 – 18.5)
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #5 Mobile Ad-Hoc Networks TBRPF.
Distributed Mutual Exclusion Béat Hirsbrunner References G. Coulouris, J. Dollimore and T. Kindberg "Distributed Systems: Concepts and Design", Ed. 4,
A Distributed Group k-Exclusion Algorithm Using k-Write-Read Coteries Presented by Jehn-Ruey Jiang National Central University Taiwan, R. O. C.
Chapter 18.3: Distributed Coordination Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 18 Distributed Coordination Chapter.
1 Lecture 20: Protocols and Synchronization Topics: distributed shared-memory multiprocessors, synchronization (Sections )
Ad Hoc Wireless Routing COS 461: Computer Networks
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed Mutual Exclusion.
Mobile IP Performance Issues in Practice. Introduction What is Mobile IP? –Mobile IP is a technology that allows a "mobile node" (MN) to change its point.
MOBILE AD-HOC NETWORK(MANET) SECURITY VAMSI KRISHNA KANURI NAGA SWETHA DASARI RESHMA ARAVAPALLI.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Chapter 6 Synchronization.
CH2 System models.
1 Spring Semester 2009, Dept. of Computer Science, Technion Internet Networking recitation #3 Mobile Ad-Hoc Networks AODV Routing.
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.
Leader Election Algorithms for Mobile Ad Hoc Networks Presented by: Joseph Gunawan.
4.5 DISTRIBUTED MUTUAL EXCLUSION MOSES RENTAPALLI.
Multiprossesors Systems.. What are Distributed Databases ? “ A Logically interrelated collection of shared data ( and a description of this data) physically.
Lecture 4: Sun: 23/4/1435 Distributed Operating Systems Lecturer/ Kawther Abas CS- 492 : Distributed system & Parallel Processing.
1 Distributed Process Management Chapter Distributed Global States Operating system cannot know the current state of all process in the distributed.
Presenter: Long Ma Advisor: Dr. Zhang 4.5 DISTRIBUTED MUTUAL EXCLUSION.
Systems II San Pham CS /20/03. Topics Operating Systems Resource Management – Process Management – CPU Scheduling – Deadlock Protection/Security.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 February 10, 2005 Session 9.
1 Chapter 10 Distributed Algorithms. 2 Chapter Content This and the next two chapters present algorithms designed for loosely-connected distributed systems.
Leader Election and Mutual Exclusion Algorithms for Wireless Ad Hoc Networks. CPSC 661 Distributed Algorithms Abhishek Gaurav Alok Madhukar.
WIRELESS AD-HOC NETWORKS Dr. Razi Iqbal Lecture 6.
Agenda Fail Stop Processors –Problem Definition –Implementation with reliable stable storage –Implementation without reliable stable storage Failure Detection.
SRL: A Bidirectional Abstraction for Unidirectional Ad Hoc Networks. Venugopalan Ramasubramanian Ranveer Chandra Daniel Mosse.
Studying Different Problems from Distributed Computing Several of these problems are motivated by trying to use solutiions used in `centralized computing’
1 Lecture 19: Scalable Protocols & Synch Topics: coherence protocols for distributed shared-memory multiprocessors and synchronization (Sections )
Localized Low-Power Topology Control Algorithms in IEEE based Sensor Networks Jian Ma *, Min Gao *, Qian Zhang +, L. M. Ni *, and Wenwu Zhu +
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Page 1 Mutual Exclusion & Election Algorithms Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content.
Lecture 7- 1 CS 425/ECE 428/CSE424 Distributed Systems (Fall 2009) Lecture 7 Distributed Mutual Exclusion Section 12.2 Klara Nahrstedt.
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
Mutual Exclusion Algorithms. Topics r Defining mutual exclusion r A centralized approach r A distributed approach r An approach assuming an organization.
CS3771 Today: Distributed Coordination  Previous class: Distributed File Systems Issues: Naming Strategies: Absolute Names, Mount Points (logical connection.
GeoTORA: A Protocol for Geocasting in Mobile Ad Hoc Networks
Author:Zarei.M.;Faez.K. ;Nya.J.M.
Mutual Exclusion Continued
A Mutual Exclusion Algorithm for Ad Hoc Mobile Networks
任課教授:陳朝鈞 教授 學生:王志嘉、馬敏修
Outline Distributed Mutual Exclusion Distributed Deadlock Detection
Raymond'S Tree DMX Algorithm
Raymond Exclusive Algorithm
Outline Distributed Mutual Exclusion Introduction Performance measures
Lecture 18: Coherence and Synchronization
Distributed Systems and Concurrency: Synchronization in Distributed Systems Majeed Kassis.
Presentation transcript:

1 Prioritized h-out of-k Resource Allocation for Mobile Ad Hoc Networks and Distributed Systems Jehn-Ruey Jiang Hsuan Chuang University HsinChu, Taiwan

2 Outline Mobile Ad hoc Network Distributed System Prioritized h-out of-k Mutual Exclusion Proposed Algorithm Concluding Remarks

3 Outline Mobile Ad hoc Network Distributed System Prioritized h-out of-k Mutual Exclusion Proposed Algorithm Concluding Remarks

4 Mobile Ad hoc Network MANET (by IETF) No Infrastructure, an anytime, anywhere network Multi-hop communication Link formations occur when nodes move within transmission range Link failures occur when nodes move out of transmission range Frequent and unpredictable topology changes

5

6 Outline Mobile Ad hoc Network Distributed System Prioritized h-out of-k Mutual Exclusion Proposed Algorithm Concluding Remarks

7 Distributed System A set of stationary, autonomous sites Connected by wired links Communicated by message passing A collection of independent computers that appear to the users as a single computer (by Andrew Tannenbaun)

8 Source: Prof. Harondi

9 Merits of Distributed System Resource Sharing: data, service, devices Computation Speedup: PVM, Grid, MetaComputer CPUs, each running at 50 MIPS, yields MIPS → instruction to be executed in nsec → equivalent to light distance of 0.6 mm → any processor chip of that size would melt immediately Fault-tolerance to resist failures or to recover when failures occur

10 Outline Mobile Ad hoc Network Distributed System Prioritized h-out of-k Mutual Exclusion Proposed Algorithm Concluding Remarks

11 h-out of-k Mutual Exclusion (1/3) There are k (k  1) identical shared resources. The node may require to access h (1  h  k) copies out of the k shared resources at a time. The total number of resources simultaneously accessed by nodes should not exceed k.

12 h-out of-k Mutual Exclusion (2/3) Application: CSCW (Computer Supported Cooperative Work) Examples: Multi-pen E-whiteboard Mutual driving group Cooperative robotics and nanorobotics

13 h-out of-k Mutual Exclusion (3/3) Application: IPAD (Inter-Personal Awareness Devices) Examples: Hummingbirds System Generalized Hummingbirds System Hocman System

14 Prioritized h-out of-k ME Using HPFS (highest priority first serve) instead of FCFS (first come first serve) Can be applied to systems with real time or prioritized applications, where each node is associated with a deadline or a priority

15 MANET and Distributed Primitives (1/2) General approach to implement distributed primitives ( such as mutual exclusion mechanism) User Applications Distributed Primitives Routing Protocol Mobile Ad Hoc Network

16 Our approach to implement distributed primitives ( such as mutual exclusion mechanism) User Applications Distributed PrimitivesRouting Protocol Mobile Ad Hoc Network MANET and Distributed Primitives (2/2)

17 Outline Mobile Ad hoc Network Distributed System Prioritized h-out of-k Mutual Exclusion Proposed Algorithm Concluding Remarks

18 Proposed Algorithm Overview Each node has 3 states: ES, CS, NCS Token-based: to maintains a token-oriented DAG (directed acyclic graph) where the token holder is the sink the node holding token to check whether t  h to enter the CS (Critical Section) The counter in TOKEN storing the number of available resources The number of requested resources

19 Data Structure state: Indicates node’s state( ES, CS, or NCS) N: The set of all neighbors. height: A triplet (h1, h2, i). hVector: An array of triplets representing node i's view of height of node j, j  N. next: Indicates the location of the token from node i's viewpoint. tokenHolder: Indicates whether or not node i holds the token. Q: a queue which contains requests of neighbors.

20 An Example A 5-node system (i.e., n=5), where each node is labeled 0,…,4. There are 3 resources (i.e., k=3). The TOKEN is held by node 0 initially. The height values form a DAG initially.

3 height=(0, 2, 3) h= height=(0, 1, 1) h=0 height= (0, 2, 4) h=0 height= (0, 1, 2) h=0 height= (0, 0, 0) h=0 next varibale direct link (from higher height to lower height) k=3 TOKEN(3) Q:Q: Q:Q: Q:Q: Q:Q: Q:Q: Initially

3 height=(0, 2, 3) h= height=(0, 1, 1) h=2 height= (0, 2, 4) h=0 height= (0, 1, 2) h=0 height= (0, 0, 0) h=0 next varibale direct link (from higher height to lower height) k=3 TOKEN(3) Q:Q: Q:Q: Q:Q: Q:Q: Q:Q: Node 1 requests 2 resources (1,2)

3 height=(0, 2, 3) h= height=(0, 1, 1) h=2 height= (0, 2, 4) h=0 height= (0, 1, 2) h=0 height= (0, 0, 0) h=0 next varibale direct link (from higher height to lower height) k=3 TOKEN(3) Q:Q: Q:Q: Q:Q: Q:Q: Q:Q: Node 3 requests 1 resource Node 1’s request is sent to node 0 (1,2) (3,1)

3 height=(0, 2, 3) h= height=(0, 1, 1) h=2 height= (0, 2, 4) h=2 height= (0, 1, 2) h=0 height= (0, 0, 0) h=0 next varibale direct link (from higher height to lower height) k=3 TOKEN(3) Q:Q: Q:Q: Q:Q: Q:Q: Q:Q: Node 3’s request is sent to node 1 Node 0 sends token to node 1 Node 4 requests 2 resources (3,1) (1,2) (3,1) (4,2)

3 height=(0, 2, 3) h= height=(0, -1, 1) h=2 height= (0, 2, 4) h=2 height= (0, 1, 2) h=0 height= (0, 0, 0) h=0 next varibale direct link (from higher height to lower height) k=3 Q:Q: Q:Q: Q:Q: Q:Q: Q:Q: Node 1 sends token to node 3 Node 4’s request is sent to nodes 2, 0, 1 (1,2) (4,2) (3,1) (1,2) TOKEN(3) (4,2)

3 height=(0,-2, 3) h= height=(0, -1, 1) h=2 height= (0, 2, 4) h=2 height= (0, 1, 2) h=0 height= (0, 0, 0) h=0 next varibale direct link (from higher height to lower height) k=3 Q:Q: Q:Q: Q:Q: Q:Q: Q:Q: Node 3 enters the CS (1,2) (4,2) (1,2) TOKEN(2) CS (4,2)

3 height=(0, -2, 3) h= height=(0, -3, 1) h=2 height= (0, 2, 4) h=2 height= (0, 1, 2) h=0 height= (0, 0, 0) h=0 next varibale direct link (from higher height to lower height) k=3 Q:Q: Q:Q: Q:Q: Q:Q: Q:Q: Node 3 sends token to node 1 (1,2) (4,2) TOKEN(2) CS (4,2)

3 height=(0, -2, 3) h= height=(0, -3, 1) h=2 height= (0, 2, 4) h=2 height= (0, 1, 2) h=0 height= (0, 0, 0) h=0 next varibale direct link (from higher height to lower height) k=3 Q:Q: Q:Q: Q:Q: Q:Q: Q:Q: Node 1 enters the CS TOKEN(0) CS (4,2)

3 height=(0, -2, 3) h= height=(0, -3, 1) h=2 height= (0, -6, 4) h=2 height= (0, -5, 2) h=0 height= (0, -4, 0) h=0 next varibale direct link (from higher height to lower height) k=3 Q:Q: Q:Q: Q:Q: Q:Q: Q:Q: Node 1 sends token to nodes 0, 2, 4 TOKEN(0) CS (4,2)

3 height=(0, -2, 3) h= height=(0, -3, 1) h=2 height= (0, -6, 4) h=2 height= (0, -5, 2) h=0 height= (0, -4, 0) h=0 next varibale direct link (from higher height to lower height) k=3 Q:Q: Q:Q: Q:Q: Q:Q: Q:Q: Node 3 leaves the CS Node 3 sends release msg to node 4 TOKEN(1) CS (4,2)

3 height=(0, -2, 3) h= height=(0, -3, 1) h=0 height= (0, -6, 4) h=2 height= (0, -5, 2) h=0 height= (0, -4, 0) h=0 next varibale direct link (from higher height to lower height) k=3 Q:Q: Q:Q: Q:Q: Q:Q: Q:Q: Node 1 leaves the CS Node 1 sends release msg to node 4 via node 2 TOKEN(3) (4,2)

3 height=(0, -2, 3) h= height=(0, -3, 1) h=0 height= (0, -6, 4) h=2 height= (0, -5, 2) h=0 height= (0, -4, 0) h=0 next varibale direct link (from higher height to lower height) k=3 Q:Q: Q:Q: Q:Q: Q:Q: Q:Q: Node 2 enters the CS TOKEN(1) CS

33 (cont. 1) 3 (0, 2, 3) h= (0, 1, 1) h=1 (0, 2, 4) h=0 (0, 1, 2) h=0 1 (0, 0, 0) h=0 k=3 TOKEN(3)

34 (cont. 2) 3 (0, 2, 3) h= (0, 1, 1) h=1 4 (0, 2, 4) h=1 4 (0, 1, 2) h= (0, 0, 0) h=0 k=3 TOKEN(3)

35 (cont. 3) 3 3 (0, 2, 3) h= (0, 1, 1) h=1 4 (0, 2, 4) h=1 4 (0, 1, 2) h= (0, 0, 0) h=0 k=3 TOKEN(3)

36 (cont. 4) 3 (0, 2, 3) h= (0, 1, 1) h=1 4 (0, 2, 4) h=1 4 (0, 1, 2) h= (0, 0, 0) h=0 k=3 TOKEN(3) 4 3

37 (cont. 5) (0, 2, 3) h= (0, 1, 1) h=1 4 (0, 2, 4) h=1 4 (0, 1, 2) h= (0, 0, 0) h=0 k=3 TOKEN(3) 4 =

38 (cont. 6) (0, 2, 3) h= (0, 1, 1) h=1 4 (0, 2, 4) h=1 (0, 1, 2) h= (0, 0, 0) h=0 k=3 TOKEN(3) 4

39 (cont. 7) (0, 2, 3) h= (0, -1, 1) h=1 4 (0, 2, 4) h=1 (0, 1, 2) h= (0, 0, 0) h=0 k=3 TOKEN(3) 4 =

40 (cont. 8) (0, 2, 3) h= (0, -1, 1) h=1 4 (0, 2, 4) h=1 (0, 1, 2) h=0 2 (0, 0, 0) h=0 k=3 TOKEN(3) 4

41 (cont. 9) (0, 2, 3) h= (0, -1, 1) h=1 4 (0, 2, 4) h=1 (0, 1, 2) h=0 2 (0, 0, 0) h=0 k=3 TOKEN(2) 4 CS

42 (cont. 10) (0, -2, 3) h= (0, -1, 1) h=1 4 (0, 2, 4) h=1 (0, 1, 2) h=0 2 (0, 0, 0) h=0 k=3 TOKEN(2) 4 CS =

43 (cont. 11) (0, -2, 3) h= (0, -1, 1) h=1 4 (0, 2, 4) h=1 (0, 1, 2) h=0 2 (0, 0, 0) h=0 k=3 TOKEN(2) 4 CS

44 (cont. 12) (0, -2, 3) h= (0, -1, 1) h=1 4 (0, 2, 4) h=1 (0, 1, 2) h=0 2 (0, 0, 0) h=0 k=3 TOKEN(0) 4 CS

45 (cont. 13) 3 1 (0, -2, 3) h= (0, -1, 1) h= (0, -3, 4) h=1 (0, 1, 2) h=0 2 (0, 0, 0) h=0 k=3 TOKEN(0) 4 CS node 4 can’t enter CS since h(=1) > k (=0)

46 (cont. 14) 3 1 (0, -2, 3) h= (0, -1, 1) h= (0, -3, 4) h=1 (0, 1, 2) h=0 2 (0, 0, 0) h=0 k=3 TOKEN(0) 4 CS RELEASE(1)

47 (cont. 15) 3 1 (0, -2, 3) h= (0, -1, 1) h= (0, -3, 4) h=1 (0, 1, 2) h=0 2 (0, 0, 0) h=0 k=3 TOKEN(0) 4 CS RELEASE(1)

48 (cont. 16) 3 1 (0, -2, 3) h= (0, -1, 1) h= (0, -3, 4) h=1 (0, 1, 2) h=0 2 (0, 0, 0) h=0 k=3 TOKEN(1) 4 CS RELEASE(1) node 4 can enter CS since h(=1)  k (=1)

49 (cont. 17) 3 1 (0, -2, 3) h= (0, -1, 1) h= (0, -3, 4) h=1 (0, 1, 2) h=0 2 (0, 0, 0) h=0 k=3 TOKEN(0) 4 CS =

50 (cont. 18) 3 1 (0, -2, 3) h= (0, -1, 1) h=0 3 (0, -3, 4) h=1 (0, 1, 2) h=0 2 (0, 0, 0) h=0 k=3 TOKEN(0) 4 CS

51 Concluding Remarks Initially, there is a token holder node i with height=(0, 0, i). All nodes will eventually form a token-oriented DAG. The algorithm is sensitive to link forming and link breaking. If h is always chosen to be 1  k-Mutual Exclusion If h and k are both chosen to be 1  Mutual Exclusion

52 Concluding Remarks (cont.) Restrictions No node failure is allowed (It can be loosed to be that the token holder and nodes in CS cannot fail.) The field of height may be unbounded (the breaking and forming of links may help readjust the height value). No partition is allowed.

53 Concluding Remarks (cont.) Future Work Compare to the Mutual Exclusion Algorithm [Walter et. al. 1998] and the k-Mutual Exclusion Algorithm [Walter et. al. 2001]. Develop prioritized h-out of-k mutual exclusion algorithm. Make use of the concept of self-stabilizing.

54 The End