foundations of communication on multiple-access channel dariusz kowalski

22
Foundations of Communication on Multiple-Access Channel Dariusz Kowalski

Upload: claribel-sullivan

Post on 03-Jan-2016

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Foundations of Communication on Multiple-Access Channel Dariusz Kowalski

Foundations of Communication on

Multiple-Access ChannelDariusz Kowalski

Page 2: Foundations of Communication on Multiple-Access Channel Dariusz Kowalski

Local Area Networks (LANs) ETHERNET

Synchronous communication assumed fast access and bounded delay for message

delivery Messages are sent in slots of known length

04/20/23Multiple Access Channel 2

Motivation

Page 3: Foundations of Communication on Multiple-Access Channel Dariusz Kowalski

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

04/20/23Multiple Access Channel 3

Model of Communication

Page 4: Foundations of Communication on Multiple-Access Channel Dariusz Kowalski

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

04/20/23Multiple Access Channel 4

Failures

Page 5: Foundations of Communication on Multiple-Access Channel Dariusz Kowalski

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

04/20/23Multiple Access Channel 5

Protocol and Correctness

Page 6: Foundations of Communication on Multiple-Access Channel Dariusz Kowalski

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

04/20/23Multiple Access Channel 6

Complexity measures

Page 7: Foundations of Communication on Multiple-Access Channel Dariusz Kowalski

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))

04/20/23Multiple Access Channel 7

Asymptotic notations

Page 8: Foundations of Communication on Multiple-Access Channel Dariusz Kowalski

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) ?

04/20/23Multiple Access Channel 8

Problems

Page 9: Foundations of Communication on Multiple-Access Channel Dariusz Kowalski

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 ?

04/20/23Multiple Access Channel 9

Problems (cont.)

Page 10: Foundations of Communication on Multiple-Access Channel Dariusz Kowalski

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 cases04/20/23Multiple Access Channel 10

Detecting collision - no failures

Page 11: Foundations of Communication on Multiple-Access Channel Dariusz Kowalski

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

04/20/23Multiple Access Channel 11

Detecting collision - failures case

Page 12: Foundations of Communication on Multiple-Access Channel Dariusz Kowalski

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)

04/20/23Multiple Access Channel 12

Solving collision - no failures

Page 13: Foundations of Communication on Multiple-Access Channel Dariusz Kowalski

Protocol DECAY(v,K) :counter is initially 0Repeat increase counter by 1 if v is in K then transmit set coin to 0 or 1 with equal probabilityuntil coin = 0 or counter = 2 log n

04/20/23Multiple Access Channel 13

Solving collision - failures case

Page 14: Foundations of Communication on Multiple-Access Channel Dariusz Kowalski

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.

04/20/23Multiple Access Channel 14

Solving collision - failures case (cont.)

Page 15: Foundations of Communication on Multiple-Access Channel Dariusz Kowalski

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)

04/20/23Multiple Access Channel 15

Do-All problem - no failures

ln

tl

n

t

,,11

Page 16: Foundations of Communication on Multiple-Access Channel Dariusz Kowalski

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

04/20/23Multiple Access Channel 16

Do-All problem - failures case

Page 17: Foundations of Communication on Multiple-Access Channel Dariusz Kowalski

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 : jth station on list STATION is assigned to jth task modulo #TASK on list TASK

04/20/23Multiple Access Channel 17

Do-All problem - failures case (cont.)

Page 18: Foundations of Communication on Multiple-Access Channel Dariusz Kowalski

Example

04/20/23Multiple Access Channel 18

s1 STATION

TASK

s2 sj s18

t1 t2tj t12

s12

Station

TaskTask

Shift = 36

Task

Page 19: Foundations of Communication on Multiple-Access Channel Dariusz Kowalski

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 objectsuntil list TASK(v) is empty

04/20/23Multiple Access Channel 19

Do-All problem - failures case (cont.)

Page 20: Foundations of Communication on Multiple-Access Channel Dariusz Kowalski

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

04/20/23Multiple Access Channel 20

Do-All problem - failures case (cont.)

Page 21: Foundations of Communication on Multiple-Access Channel Dariusz Kowalski

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})

04/20/23Multiple Access Channel 21

Do-All problem - failures case (cont.)

Page 22: Foundations of Communication on Multiple-Access Channel Dariusz Kowalski

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?

04/20/23Multiple Access Channel 22

References and open problems