Download presentation
Presentation is loading. Please wait.
Published byClaribel Sullivan Modified over 9 years ago
1
Foundations of Communication on Multiple-Access Channel Dariusz Kowalski
2
Local Area Networks (LANs) ETHERNET Synchronous communication assumed fast access and bounded delay for message delivery Messages are sent in slots of known length 10/27/2015Multiple Access Channel2 Motivation
3
Collection of n stations with known labels which communicate via global channel Global clock is provided to all stations Every station can transmit Every station receives a message M if exactly one station transmits message M in the current step Transmission is reliable, which means that either all stations receive message or none 10/27/2015Multiple Access Channel3 Model of Communication
4
Stations can stop theirs activity by crashing (crash- failures) Time of failures are not known by stations we say that failures are generated by adversary according to the worst-case pattern to achieve worst complexity Failures mean also unavailability 10/27/2015Multiple Access Channel4 Failures
5
Protocol : function in which inputs are sequences of messages outputs are one message (to transmit in the current step) empty message means no transmission (or no message received) Weak correctness : protocol is correct in the absence of failures Strong correctness : protocol is correct in the presence of any adversary 10/27/2015Multiple Access Channel5 Protocol and Correctness
6
Time : number of clock ticks (steps) since the beginning of protocol till the end Work : sum of steps, over all stations, taken by the end of protocol, e.g. if all stations do not fail, work is equal to Time multiplied by number of stations if there are two stations, first is working by 9 steps till the end of protocol, second has been failed after 4 th step, work is 9+4=13 10/27/2015Multiple Access Channel6 Complexity measures
7
Let f(n,k) and g(n,k) be mathematical formulas depending on variables n,k (some of these variables may not be represented in formulas). We use notations: f(n,k) = (g(n,k)) if there is a constant c > 0 and fixed parameters m,l such that for all n > m and k > l inequality f(n,k) > c ·g(n,k) holds f(n,k) = O(g(n,k)) if g(n,k) = (f(n,k)) f(n,k) = (g(n,k)) if g(n,k) = (f(n,k)) and f(n,k) = (g(n,k)) 10/27/2015Multiple Access Channel7 Asymptotic notations
8
Detecting collision some set K of k stations want to transmit; how to recognize if k >1 ? Solving collision some set K of k >1 stations want to transmit; how to select one of them to transmit successfully (without collision) ? 10/27/2015Multiple Access Channel8 Problems
9
Performing tasks (Do-All problem) set of t tasks is given to all stations; each task takes one step to perform; tasks may be performed many times (even in the same step or by the same stations) and in any order; how to complete all the tasks and stop simultaneously ? 10/27/2015Multiple Access Channel9 Problems (cont.)
10
Protocol ECHO(K) : STEP 1: all stations in K transmit concurrently together with the station with the smallest label STEP 2: all stations in K transmit Output : 2+ (collision, k >1) : if no message received in step 1 and step 2 1 : if k = 1 then either the same message received in step 1 and step 2 or message received only in step 2 0 : in all other cases 10/27/2015Multiple Access Channel10 Detecting collision - no failures
11
For every deterministic protocol detecting collision there is a set of stations K such that this protocol requires time (k log n / log k) to detect collision among stations in K. There is a randomized protocol DECAY (described later) detecting collision for every set K of stations in time O(log n) with probability at least 1/2 10/27/2015Multiple Access Channel11 Detecting collision - failures case
12
Procedure BIN-SELECTION(L) : M is initialized as a subset of L that contains |L|/2 stations with the smallest label if ECHO(M) = 0 then BIN-SELECTION(L\M) if ECHO(M) = 2+ then BIN-SELECTION(M) if ECHO(M) = 1 then stop (successful step) Protocol BIN-SELECTION : L is initialized as the set of all stations, |L|=n BIN-SELECTION(L) 10/27/2015Multiple Access Channel12 Solving collision - no failures
13
Protocol DECAY(v,K) : counter is initially 0 Repeat increase counter by 1 if v is in K then transmit set coin to 0 or 1 with equal probability until coin = 0 or counter = 2 log n 10/27/2015Multiple Access Channel13 Solving collision - failures case
14
For every set of stations K, protocol DECAY(v,K) solves collision among stations in K by step 2 log n with probability at least 1/2 For every deterministic protocol solving collision there is a set of stations K such that this protocol requires time (k log n / log k) to solve collision among stations in K. 10/27/2015Multiple Access Channel14 Solving collision - failures case (cont.)
15
Protocol LOAD-BALANCE(v) : Perform tasks in consecutive steps and stop; l is an order of label of v in the set of all stations Complexity of protocol LOAD-BALANCE : Time: (t/n + 1) Work: (t + n) 10/27/2015Multiple Access Channel15 Do-All problem - no failures
16
Preliminaries : Global means that, in any step, object is the same in all stations (which are not failed) STATION is a (global) list of stations which are not known to be failed Station is a (global) pointer on list STATION denoting station which transmits in the current step TASK is a (global) list of unconfirmed tasks, where task is confirmed if it is performed and sent by some station via channel 10/27/2015Multiple Access Channel16 Do-All problem - failures case
17
Task is a (global) pointer on list TASK denoting first unconfirmed task assigned to perform by Station Shift is a (global) number that states the positions that pointer Task has to jump on list TASK in order to update this pointer TASK(v) is a local (stored in station v) list of tasks unconfirmed or unperformed by station v Global assignment : j th station on list STATION is assigned to j th task modulo #TASK on list TASK 10/27/2015Multiple Access Channel17 Do-All problem - failures case (cont.)
18
Example 10/27/2015Multiple Access Channel18 s1s1 STATION TASK s2s2 sjsj s 18 t1t1 t2t2 tjtj t 12 s 12 Station Task Shift = 36 Task
19
Protocol TWO-LISTS(v) : Repeat perform first task from list TASK(v) perform task according to global assignment if the pointer Station is on v then transmit list TASK(v) update objects until list TASK(v) is empty 10/27/2015Multiple Access Channel19 Do-All problem - failures case (cont.)
20
Updating objects : Let w be the station that Station points to; move pointer Station by one position if message from station w is received in the current step then TASK becomes TASK(w) else remove station w from the list STATION if #TASK < Shift then Shift becomes Shift/2 move pointer Task by square root of Shift positions 10/27/2015Multiple Access Channel20 Do-All problem - failures case (cont.)
21
Strong correctness of protocol TWO-LISTS : task is confirmed if it has been performed by some station - proof by induction on number of steps station v stops after every task is performed by v or confirmed Complexity of protocol TWO-LISTS : Time : (t) Work : (t + n·min{n,t}) 10/27/2015Multiple Access Channel21 Do-All problem - failures case (cont.)
22
References : B. Chlebus, D. Kowalski, A. Lingas The Do-All problem in broadcast networks in Proc. of 20th ACM Symp. on Principles of Distr. Computing (PODC 2001), 117 - 127 Open problems : Considering these three problems in stronger models of failures, such as fail stop with restarts Does randomization help to perform tasks more efficiently? 10/27/2015Multiple Access Channel22 References and open problems
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.