Presentation is loading. Please wait.

Presentation is loading. Please wait.

Foundations of Communication on Multiple-Access Channel Dariusz Kowalski.

Similar presentations


Presentation on theme: "Foundations of Communication on Multiple-Access Channel Dariusz Kowalski."— Presentation transcript:

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


Download ppt "Foundations of Communication on Multiple-Access Channel Dariusz Kowalski."

Similar presentations


Ads by Google