Foundations of Communication on Multiple-Access Channel Dariusz Kowalski.

Slides:



Advertisements
Similar presentations
Foundations of Cryptography Lecture 3 Lecturer: Moni Naor.
Advertisements

ON THE COMPLEXITY OF ASYNCHRONOUS GOSSIP Presented by: Tamar Aizikowitz, Spring 2009 C. Georgiou, S. Gilbert, R. Guerraoui, D. R. Kowalski.
Impossibility of Distributed Consensus with One Faulty Process
CS 542: Topics in Distributed Systems Diganta Goswami.
Chapter 6 - Convergence in the Presence of Faults1-1 Chapter 6 Self-Stabilization Self-Stabilization Shlomi Dolev MIT Press, 2000 Shlomi Dolev, All Rights.
12.1 Chapter 12 Multiple Access Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Gillat Kol (IAS) joint work with Ran Raz (Weizmann + IAS) Interactive Channel Capacity.
Lectures on Recursive Algorithms1 COMP 523: Advanced Algorithmic Techniques Lecturer: Dariusz Kowalski.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Broadcasting Protocol for an Amorphous Computer Lukáš Petrů MFF UK, Prague Jiří Wiedermann ICS AS CR.
1 Complexity of Network Synchronization Raeda Naamnieh.
CSC401 – Analysis of Algorithms Lecture Notes 1 Introduction
Fast Distributed Algorithm for Convergecast in Ad Hoc Geometric Radio Networks Alex Kesselman, Darek Kowalski MPI Informatik.
ENGS Lecture 8 ENGS 4 - Lecture 8 Technology of Cyberspace Winter 2004 Thayer School of Engineering Dartmouth College Instructor: George Cybenko,
CPSC 689: Discrete Algorithms for Mobile and Wireless Systems Spring 2009 Prof. Jennifer Welch.
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 3 – Distributed Systems.
CPSC 668Set 16: Distributed Shared Memory1 CPSC 668 Distributed Algorithms and Systems Fall 2006 Prof. Jennifer Welch.
CPSC 668Set 12: Causality1 CPSC 668 Distributed Algorithms and Systems Fall 2009 Prof. Jennifer Welch.
Co-operative Private Equality Test(CPET) Ronghua Li and Chuan-Kun Wu (received June 21, 2005; revised and accepted July 4, 2005) International Journal.
1 Fault-Tolerant Consensus. 2 Failures in Distributed Systems Link failure: A link fails and remains inactive; the network may get partitioned Crash:
Dariusz Kowalski University of Connecticut & Warsaw University Andrzej Pelc University of Quebec en Outaouais Broadcasting in Undirected Ad hoc Radio Networks.
Adaptiveness vs. obliviousness and randomization vs. determinism Dariusz Kowalski University of Connecticut & Warsaw University Andrzej Pelc University.
DANSS Colloquium By Prof. Danny Dolev Presented by Rica Gonen
On the Cost of Fault-Tolerant Consensus When There are no Faults Idit Keidar & Sergio Rajsbaum Appears in SIGACT News; MIT Tech. Report.
Composition Model and its code. bound:=bound+1.
Cs/ee 143 Communication Networks Chapter 3 Ethernet Text: Walrand & Parakh, 2010 Steven Low CMS, EE, Caltech.
Distributed Consensus Reaching agreement is a fundamental problem in distributed computing. Some examples are Leader election / Mutual Exclusion Commit.
Distributed Consensus Reaching agreement is a fundamental problem in distributed computing. Some examples are Leader election / Mutual Exclusion Commit.
Analysis of Ethernet-like protocols Andrey Lukyanenko University of Kuopio.
1 Computer Communication & Networks Lecture 12 Datalink Layer: Multiple Access Waleed Ejaz
Ragesh Jaiswal Indian Institute of Technology Delhi Threshold Direct Product Theorems: a survey.
Chi-Cheng Lin, Winona State University CS412 Introduction to Computer Networking & Telecommunication Medium Access Control Sublayer.
جلسه دهم شبکه های کامپیوتری به نــــــــــــام خدا.
Why do we need models? There are many dimensions of variability in distributed systems. Examples: interprocess communication mechanisms, failure classes,
Propagation Delay and Receiver Collision Analysis in WDMA Protocols I.E. Pountourakis, P.A. Baziana and G. Panagiotopoulos School of Electrical and Computer.
Chapter 14 Randomized algorithms Introduction Las Vegas and Monte Carlo algorithms Randomized Quicksort Randomized selection Testing String Equality Pattern.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 10 Instructor: Haifeng YU.
1 Lectures on Parallel and Distributed Algorithms COMP 523: Advanced Algorithmic Techniques Lecturer: Dariusz Kowalski Lectures on Parallel and Distributed.
Byzantine fault-tolerance COMP 413 Fall Overview Models –Synchronous vs. asynchronous systems –Byzantine failure model Secure storage with self-certifying.
An Efficient Decentralized Algorithm for the Distributed Trigger Counting (DTC) Problem Venkatesan T. Chakravarthy (IBM Research-India) Anamitra Roy Choudhury.
CS603 Clock Synchronization February 4, What is the best we can do? Lundelius and Lynch ‘84 Assumptions: –No failures –No drift –Fully connected.
Medium Access Control Sub Layer
7-1 Introduction to Queueing Theory l Components of a queueing system n probability density function (pdf) of interarrival times n pdf of service times.
Basic Principles (continuation) 1. A Quantitative Measure of Information As we already have realized, when a statistical experiment has n eqiuprobable.
The Cost of Fault Tolerance in Multi-Party Communication Complexity Binbin Chen Advanced Digital Sciences Center Haifeng Yu National University of Singapore.
Sliding window protocol The sender continues the send action without receiving the acknowledgements of at most w messages (w > 0), w is called the window.
CS3502: Data and Computer Networks Local Area Networks - 1 introduction and early broadcast protocols.
Chap 15. Agreement. Problem Processes need to agree on a single bit No link failures A process can fail by crashing (no malicious behavior) Messages take.
SysRép / 2.5A. SchiperEté The consensus problem.
CS3502: Data and Computer Networks Local Area Networks - 1 introduction and early broadcast protocols.
CprE 458/558: Real-Time Systems
Asynchronous Exclusive Selection Bogdan Chlebus, U. Colorado Darek Kowalski, U. Liverpool.
Chapter 21 Asynchronous Network Computing with Process Failures By Sindhu Karthikeyan.
Alternating Bit Protocol S R ABP is a link layer protocol. Works on FIFO channels only. Guarantees reliable message delivery with a 1-bit sequence number.
Andrea CLEMENTI Radio Networks The Model Broadcast.
Fault Tolerance (2). Topics r Reliable Group Communication.
1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Christian Schindelhauer Algorithms for Radio Networks Winter Term 2005/2006.
Tel Hai Academic College Department of Computer Science Prof. Reuven Aviv Markov Models for Access Control in Computer Networks Resource: Fayez Gebali,
Section Recursion 2  Recursion – defining an object (or function, algorithm, etc.) in terms of itself.  Recursion can be used to define sequences.
1 Distributed Hash tables. 2 Overview r Objective  A distributed lookup service  Data items are distributed among n parties  Anyone in the network.
EEC 688/788 Secure and Dependable Computing Lecture 10 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Probabilistic Algorithms
Services of DLL Framing Link access Reliable delivery
Alternating Bit Protocol
Distributed Consensus
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Discrete Mathematics 7th edition, 2009
Presentation transcript:

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 10/27/2015Multiple Access Channel2 Motivation

 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

 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

 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

 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

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

 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

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

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

 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

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

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

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

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

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

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

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

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

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

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

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