220 likes | 236 Views
Foundations of Communication on Multiple-Access Channel. Dariusz Kowalski. Motivation. Local Area Networks ( LANs ) ETHERNET Synchronous communication assumed fast access and bounded delay for message delivery Messages are sent in slots of known length. Model of Communication.
E N D
Foundations of Communication on Multiple-Access Channel Dariusz Kowalski
Motivation Multiple Access Channel • Local Area Networks (LANs) • ETHERNET • Synchronous communication assumed • fast access and bounded delay for message delivery • Messages are sent in slots of known length
Model of Communication Multiple Access Channel 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
Failures Multiple Access Channel • 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
Protocol and Correctness Multiple Access Channel • 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
Complexity measures Multiple Access Channel • 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 4th step, work is 9+4=13
Asymptotic notations Multiple Access Channel 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))
Problems Multiple Access Channel • 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) ?
Problems (cont.) Multiple Access Channel • 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 ?
Detecting collision - nofailures Multiple Access Channel 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 ormessage receivedonly in step 2 • 0 : in all other cases
Detecting collision - failures case Multiple Access Channel • 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 timeO(log n) with probability at least 1/2
Solving collision - no failures Multiple Access Channel Procedure BIN-SELECTION(L) : • Mis initialized as a subset of L that contains |L|/2 stations with the smallest label • ifECHO(M) = 0 thenBIN-SELECTION(L\M) • ifECHO(M) = 2+ thenBIN-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)
Solving collision - failures case Multiple Access Channel 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
Solving collision - failures case (cont.) Multiple Access Channel 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.
Do-All problem - no failures Multiple Access Channel 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)
Do-All problem - failures case Multiple Access Channel 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) pointeron 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
Do-All problem - failures case (cont.) Multiple Access Channel Task is a (global) pointer on list TASK denoting first unconfirmed task assigned to perform by Station Shiftis 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 :jth station on list STATION is assigned to jth task modulo #TASK on list TASK
Shift =36 Task Task Example Station STATION s1 s2 sj s12 s18 TASK t12 tj t1 t2 Task Multiple Access Channel
Do-All problem - failures case (cont.) Multiple Access Channel 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
Do-All problem - failures case (cont.) Multiple Access Channel Updating objects : Let w be the station thatStationpoints to; • move pointer Station by one position • if message from station w is received in the current step then TASK becomes TASK(w) else removestation wfrom the list STATION • if #TASK < Shift then Shift becomes Shift/2 • move pointer Task by square root of Shift positions
Do-All problem - failures case (cont.) Multiple Access Channel 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})
References and open problems Multiple Access Channel References : • B. Chlebus, D. Kowalski, A. LingasThe 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?