+ All Categories
Home > Documents > Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal...

Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal...

Date post: 30-Dec-2015
Category:
Upload: osborne-stone
View: 213 times
Download: 0 times
Share this document with a friend
Popular Tags:
68
Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]
Transcript
Page 1: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Abstract MAC Layers

Nancy LynchMIT CSAILFebruary 24, 2010

Joint work with Fabian Kuhn and Cal Newport[DISC 2009]

Page 2: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

For many years, we have been working on: Algorithms, lower bounds, impossibility

results, for problems to be solved in distributed systems. Problems: Communication, consensus,

data management, resource allocation, synchronization,…

Distributed systems: Mainly, traditional wired networks.

Modeling and analysis methods for distributed algorithms and systems. I/O automata Timed I/O Automata Probabilistic I/O Automata

The theory is pretty well developed.

Page 3: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Distributed Algorithms for Wireless Networks We would like the same kind of theory for wireless

networks. Problems, algorithms, analysis, lower bounds,

impossibility results. And they should all fit together in a common theory. What kinds of problems?

Basic: Clock synchronization, localization. Communication: Network-wide broadcast, point-to-point

communication (message routing). Building and maintaining network structures: Spanning trees,

routes, clusters, leaders, dominating sets. Auxiliary services: Consensus, group membership, distributed

shared memory, resource allocation. Applications: Data management, control (robots, vehicles).

Page 4: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Problems for Wireless Networks Basic: Clock synchronization, localization. Communication: Network-wide broadcast,

point-to-point communication (message routing).

Building and maintaining network structures: Spanning trees, routes, clusters, leaders, dominating sets.

Auxiliary services: Consensus, group membership, distributed shared memory, resource allocation.

Applications: Data management, robot motion coordination, vehicle motion coordination.

We (and others) have results on many of these individual problems.

But no one has fit them all together.

Basic services

Network Structures

Communication

Auxiliary services

Applications

Page 5: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Some individual results Rambo reconfigurable distributed shared memory algorithm

[Gilbert, Lynch, Shvartsman 02, 04] Intruder tracking [Arora, Demirbas, Lynch, Nolte 04, 07] Gradient clock synchronization [Fan, Lynch 06],

[Kuhn, Locher, Oshman 09], [Kuhn, Oshman 09] Virtual nodes [Brown, Chockler, Demirbas, Dolev, Gilbert, Lahiani, Lynch, Mitra,

Newport, Nolte, Shvartsman, Spindel, Welch, 03-08] Consensus [Chockler, Demirbas, Gilbert, Lynch, Newport, Nolte 05, 08] Motion coordination [Gilbert, Lynch, Mitra, Nolte 05, 08] Connectivity of robot swarms

[Cornejo, Lynch 08], [Cornejo, Kuhn, Ley-Wild, Lynch 09]

Page 6: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

What’s different about wireless networks? Local broadcast communication: Message can reach many nodes.

Success of message delivery depends on distance between sender and receiver and on complex signal propagation patterns.

Contention: Different senders may send at the same time, leading to message collisions and loss.

Dynamic behavior: Nodes may fail, recover, join, leave. Mobility:

A good theory for wireless networks must take these complications into account.

Page 7: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Signal propagation patterns Can be complicated:

Unequal propagation in different directions. Multipath effects.

Existing theory assumes idealized models: Uniform propagation in all directions Unit disk:

Quasi-unit-disk

Page 8: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Contention

Contention management strategies: Binary Exponential Backoff. Send repeatedly, adjusting probabilities. ZigZag Decoding [Gollakota, Katabi 08]

Page 9: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Contention management in high-level algorithms Algorithms for high-level tasks that are designed to run in

collision-prone networks must manage contention, as well as performing high-level algorithmic work.

The combination can be very complicated. Often most of the complexity involves contention management! Example: Network-wide single-message broadcast

[Bar-Yehuda, Goldreich, Itai 92] Decay subroutine, decreases sending

probabilities exponentially, repeats many times.

Main broadcast protocol: When a node first receives the message, it retransmits it using Decay.

Page 10: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Contention management in high-level algorithms There has been considerable follow-on work. Repetitious:

Different algorithms for network-wide broadcast and related problems perform similar work of managing contention.

Complicated: Combination of high-level algorithm + contention management is

pretty complicated. Limits the complexity of algorithms that can be studied.

Unclear how results depend on assumptions: Hard to trace dependence of algorithms on particular

assumptions about signal patterns, collisions, failures,... So must reprove results for different models.

Page 11: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Contention management in high-level algorithms Repetitious. Complicated. Unclear how results depend on

assumptions. So, not an adequate approach

for a general theory for wireless algorithms.

We need something better…

Basic services

Network Structures

Communication

Auxiliary services

Applications

Page 12: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

We need good abstractions! In particular, at the lowest level, to mask some of the

complexities of the physical networks, such as signal patterns and collisions.

[Walter, Welch, Vaidya]: Dynamic graph model. Ignore contention; assume reliable, fast local communication. Study many high-level problems. Simple, but unrealistically optimistic.

[Gilbert, Newport,…]: Use abstract collision detection, contention management services More realistic, but complicated.

We need abstractions that are realistic, yet not too complicated.

Page 13: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Need Abstractions

Realistic, but not too complicated…

bcastabort

rcvack

Abstract MAC

bcastabort

rcvack

New approach: Abstract MAC service Reliable local message broadcast communication, with time bounds

that depend on the amount of local contention. Expressed in terms of delay functions, which are bounds on:

Time for a message to reach a particular neighboring node, Time for sender to know a message has been received by all

neighbors, and Time for a receiver to receive some message when some

neighbor is sending.

Page 14: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Abstract MAC Service

bcastabort

rcvack

Abstract MAC

bcastabort

rcvack

Reliable local message broadcast communication, with time bounds that depend on the amount of local contention.

Delay functions, bounds on: Time for message to reach a particular neighboring node, Time for sender to know message has been received by all nbrs, Time for receiver to receive some message when some neighbor is

sending.

Stated as simple worst-case bounds, but sometimes consider that they may be achieved with high probability.

Usual contention-management strategies are designed to achieve such guarantees.

Page 15: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Multi-Message Broadcast Algorithms using Abstract MAC Layers Studied problem of Multi-Message Broadcast, broadcasting many messages throughout a network.

Algorithm 1: Simple greedy algorithm over Abstract MAC layer, global delivery time for message m bounded by

O( (D + k) Fprog + (k-1) Fack ), where: D = network diameter k bounds the number of messages whose broadcast overlaps m, Fprog bounds receiver’s time to receive something, Fack bounds sender’s time to complete a local broadcast.

Algorithm 2: Uses regional leaders, O( D + k + bFprog + Fack), b bounds the length of a node id. Extends to dynamic networks.

Page 16: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Work in progress

We are: Demonstrating how our Abstract MAC Layer can be

implemented using existing methods of probabilistic transmission and network coding. 

Showing how one can use such layers to simplify the analysis of existing algorithms, by splitting the algorithms and their analysis into smaller pieces. 

Showing how our layer can be used to solve other problems, such as Neighbor Discovery.

And there is much more to be done…

Page 17: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Talk Outline

Introduction Abstract MAC layers Using Abstract MAC layers for broadcast in static

networks Using Abstract MAC layers for broadcast in dynamic

networks Current work:

Decomposing the analysis of complex broadcast algorithms Neighbor discovery Zig-zag decoding implementations

Conclusions and future work

Page 18: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Abstract MAC Layers

Page 19: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Abstract MAC Service

bcastabort

rcvack

Abstract MAC

bcastabort

rcvack

Reliable local message broadcast communication, with time bounds that depend on the amount of local contention.

Delay functions, bounds on: Time for message to reach a particular neighboring node, Time for sender to know message has been received by all nbrs, Time for receiver to receive some message when some neighbor is

sending.

Stated as simple worst-case bounds, but sometimes consider that they may be achieved with high probability.

Usual contention-management strategies are designed to achieve such guarantees.

Page 20: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Abstract MAC layer interface

bcast(m): Send message m. rcv(m): Deliver message m to a particular node. ack(m): Tell sender of m that “everyone who should”

has received the message. abort(m): Stop processing on behalf of currently-active

message m.

bcastabort

rcvack

Abstract MAC

bcastabort

rcvack

Page 21: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Delivery and ack guarantees Message delivery and ack guarantees depend on the

underlying physical network. We specify this abstractly in terms of two dynamic

(directed or undirected) graphs, G and G. G: Messages must be delivered, guaranteed communication G: Messages may be delivered, possible communication or

interference. G and G defined in terms of node locations and signal

patterns. Dynamic: As nodes move, or the physical environment

changes, the graphs G and G change accordingly.

G = (V, E) G = (V, E),E E

Page 22: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Delivery and ack guarantees Local broadcast (to all neighbors). A message reaches all G-neighbors and no non-G-

neighbors. It might reach some G-neighbors that aren’t G-neighbors. If G and G change, requirements become weaker:

Required to reach only those nodes connected in G for the entire broadcast interval.

Allowed to reach only those nodes connected in G at some point in the broadcast interval.

Page 23: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Delivery and ack guarantees Termination: If the sender doesn’t abort a message, the

MAC will eventually ack it. Ack correctness: An ack is preceded by rcvs at all

nodes that remain G-connected to sender. Well-formedness: Each sender must wait until its

previous message is acked before bcasting another one.

Time bound guarantees: Time for local broadcast depends on local contention.

Page 24: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

How do we measure contention? Contention c at a node i is the number of G-

neighbors with active local broadcasts.

Node i

Contention = 2

Page 25: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Receive bound

frcv(c) If a node i does a bcast(m) that is received by j, then the

time until rcv(m) at j is at most frcv(c), where c is the contention at the receiver j.

frcv(c) must be at least linear in c.

bcastabort

rcvack

Abstract MAC

bcastabort

rcvack

Page 26: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Acknowledgement bound

fack(c) If a node i does a bcast(m) that results in an ack(m),

then the time until ack(m) is at most fack(c), where c is the total contention at the sender and all of its G-neighbors.

fack(c) is even larger than frcv(c).

bcastabort

rcvack

Abstract MAC

bcastabort

rcvack

Page 27: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Progress bound

frcv, fack: Guaranteed bounds for all messages.

Most messages take a long time, so frcv and fack

are large. Some messages will be much faster. Progress bound: Guarantees some messages

are fast.

Page 28: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Progress bound

fprog(c) If a node j has at least one G-neighbor with an active

local bcast, then the time until j receives some message from some G-neighbor is at most fprog(c), where c is the contention at j.

frcv(c) can be much smaller than frcv and fack, e.g., poly-logarithmic in c.

bcastabort

rcvack

Abstract MAC

bcastabort

rcvack

Page 29: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Why is a small progress bound interesting? Consider global broadcast of a message m.

At some point, some nodes have received m, others haven’t.

Receiving m from any neighbor is good enough!

Page 30: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Abstract MAC time bounds (summary) frcv(c): Upper bound on time from sending to receipt of a

message, when the contention at the receiver is bounded by c.

fack(c): Upper bound on time from sending to ack at sender, when the total contention at the sender and all its receivers is bounded by c.

fprog(c): Upper bound on time for a receiver to receive some message from among a collection of messages by contending senders, when contention at the receiver is bounded by c.

bcastabort

rcvack

Abstract MAC

bcastabort

rcvack

Page 31: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

What Abstract MAC does not provide: Neighborhood knowledge:

Guarantees nearby nodes receive a message, distant nodes don’t. But the sender doesn’t know who is nearby, nor who receives the

message. To gain such information, nodes must do more, e.g., run a

Neighbor Discovery protocol over the MAC layer. Unicast/ack

Can implement this over the MAC layer.

bcastabort

rcvack

Abstract MAC

bcastabort

rcvack

Page 32: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

What can we do with Abstract MAC layers? Solve higher-level problems over the layers. Describe and analyze algorithms to implement the layers

over physical network models. Combine the analyses to get overall bounds for high-

level algorithms over physical network models.

Page 33: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Using Abstract MAC Layers for Broadcast, in Static Networks

Page 34: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Single-Message Broadcast Assume static, undirected graphs G and G. Theorem: Broadcasting a message m to all nodes takes

time at most D Fprog, where: D = diameter of G, and Fprog = f prog(+1), where is the maximum degree in G.

Proof: Easy (because we don’t have to analyze contention). Consider source i, path of length d from i to receiver j.

Time for m to progress one hop along the path is at most Fprog.

i

j

Page 35: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Multi-Message Broadcast (MMB) Messages originate anywhere, at any times. Everyone should receive every message. Basic Multi-Message Broadcast (BMMB) algorithm:

Simple greedy algorithm. Each process maintains a local queue of messages it has

received. Sends messages from its queue in order, using Abstract MAC,

waiting for an ack for the previous message before sending the next.

Handles each message only once.

Messages can delay other messages all along the way. Nevertheless, we obtain:…

Page 36: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Multi-Message Broadcast using BMMB Assume G = G. Theorem: Broadcasting a message m to all nodes takes

time at most O((D + k) Fprog + (k-1) Fack), where: D, , Fprog as before, k number of messages whose broadcast overlaps m, Fack = f ack((+1)2).

Diameter is multiplied only by (small) Fprog, not by Fack. Captures the effect of pipelining. Proof: Not so easy, but still tractable (because we don’t

worry about contention). Double induction, on the number k of messages, and on the

distance d to a receiver. Although messages can block other messages, some messages

always make progress. “Either m gets through quickly, or a lot of other messages do.”

Page 37: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Multi-Message Broadcast using BMMB Theorem: Broadcasting a message m to all nodes takes

time at most O( (D + k) Fprog + (k-1) Fack ).

Proof: Double induction, on the number k of messages, and on the

distance d to a receiver. Key idea: Once a particular set M of k-1 messages is completely

finished along a G-path from i to j, and i has another message not in M, then some message not in M reaches j quickly, in time dist(i,j) Fprog.

i

j

Page 38: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Can we do better? Idea:

Use geographical information. Divide the plane into regions. Elect leaders in regions and let

them handle the message transmission.

Page 39: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Can we do better? Idea:

Use geographical information. Divide the plane into regions. Elect leaders in regions and let

them handle the message transmission.

Page 40: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Regional Leader Election Elect a leader in each region. Assume regions are all occupied. Basic algorithm: Within each

region, everyone sends their identifiers, elect max.

Time complexity: O(Fack) Better algorithm: Selects leader

based on bit representations of node identifiers.

Time complexity: O( b Fprog), where b = number of bits in a node identifier.

Page 41: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Region-Based Multi-Message Broadcast Algorithm: Broadcast as in

BMMB, but on the network of leaders.

Good enough, because other nodes hear messages from their region’s leader.

Uses a Collect sub-algorithm to transfer arriving messages from individual nodes to their leaders.

Assumes a bound on arrival rates sufficient to avoid queue overflow (1 / Fack).

Page 42: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Region-Based Multi-Message Broadcast Theorem: Broadcasting a message m to all nodes takes

time O(D + k + b Fprog + Fack).

Which is better than the previous bound,

O((D + k) Fprog + (k-1) Fack). Savings arises because, when only leaders broadcast,

the contention is constant-bounded.

Interesting, not-so-simple broadcast algorithm. Tractable analysis, because we don’t worry about

contention. Can extend to G G.

Page 43: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Using Abstract MAC layers for Broadcast, in Dynamic Networks

Page 44: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Multi-Message Broadcast in Dynamic Networks

Now suppose the nodes can move in the plane. We can adapt the region-based broadcast algorithm. Dynamic algorithm consists of:

Dynamic Leader Election Dynamic Collect Dynamic Broadcast on Leader Network

Ensures that messages are delivered everywhere even though nodes move between regions.

Assumption: When a process enters a region, it records a region exit time bound, and promises to remain in the region at least until this time.

Page 45: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Dynamic Leader Election Leader election runs concurrently

with Collect and Broadcast. Maintains regional leaders as

nodes move, choosing new leaders when necessary.

Algorithm: Runs static leader election algorithm

repeatedly. Each time:

If there is a current leader, and its exit bound is not too soon, then retain the leader.

Otherwise, choose the node with the largest exit bound.

Page 46: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Dynamic Leader Election Leader election runs concurrently

with Collect and Broadcast. Maintains regional leaders as

nodes move, choosing new leaders when necessary.

Algorithm: Runs static leader election algorithm

repeatedly. Each time:

If there is a current leader, and its exit bound is not too soon, then retain the leader.

Otherwise, choose the node with the largest exit bound.

Page 47: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Dynamic Leader Election Leader election runs concurrently

with Collect and Broadcast. Maintains regional leaders as

nodes move, choosing new leaders when necessary.

Algorithm: Runs static leader election algorithm

repeatedly. Each time:

If there is a current leader, and its exit bound is not too soon, then retain the leader.

Otherwise, choose the node with the largest exit bound.

Page 48: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Dynamic Collect Transfers arriving messages from the front of a non-

leader node i’s arrival queue to its leader j’s broadcast queue, provided that: i and j remain in their region, and j remains a leader,

for sufficiently long after the message arrival.

Algorithm: Uses a broadcast from i to j and an ack from j to i, both sent over the MAC layer.

Page 49: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Dynamic Broadcast on Leader Network Propagates message m from

broadcast queue of a leader i in a region r to broadcast queues of leaders in all adjacent regions.

Algorithm: Broadcasts on the leader network as in

BMMB. If a leader becomes a non-leader, it

empties its broadcast queue into its arrival queue.

Page 50: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Dynamic Broadcast on Leader Network Propagates message m from

broadcast queue of a leader i in a region r to broadcast queues of leaders in all adjacent regions.

Algorithm: Broadcasts on the leader network as in

BMMB. If a leader becomes a non-leader, it

empties its broadcast queue into its arrival queue.

Page 51: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Dynamic Broadcast on Leader Network Propagates message m from

broadcast queue of a leader i in a region r to broadcast queues of leaders in all adjacent regions.

Algorithm: Broadcasts on the leader network as in

BMMB. If a leader becomes a non-leader, it

empties its broadcast queue into its arrival queue.

If a non-leader becomes a leader, it empties its arrival queue into its broadcast queue.

Page 52: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Dynamic Broadcast on Leader Network Propagates message m from

broadcast queue of a leader i in a region r to broadcast queues of leaders in all adjacent regions.

Algorithm: Broadcasts on the leader network as in

BMMB. If a leader becomes a non-leader, it

empties its broadcast queue into its arrival queue.

If a non-leader becomes a leader, it empties its arrival queue into its broadcast queue.

Page 53: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Putting the pieces together Complete algorithm uses

Dynamic Leader Election, to maintain leaders. Dynamic Collect, to pass arriving messages to local leaders, Dynamic Broadcast, to propagate messages on the leader

network.

As leaders change, move messages between arrival and broadcast queues.

Ensures that messages are delivered everywhere even though nodes move between regions.

Relies on some assumptions: Regions remain occupied. Nodes remain within regions long enough. Message arrival is bounded.

Page 54: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Summary We defined an Abstract MAC layer, which guarantees

reliable local broadcast communication, with delay bounds that depend on the local contention. Allows communication uncertainty, expressed by graphs G and G. Allows mobility.

We studied algorithms for Multi-Message Broadcast over the Abstract MAC layer, including uncertainty and mobility. Problem has not been widely studied in theory community. Would be very hard to study in terms of physical network model. But tractable over Abstract MAC.

Shows that one can carry out interesting high-level algorithm design and analysis using Abstract MAC layers.

Page 55: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Summary However, this work addresses only part of the problem:

implementing network-wide multi-message broadcast in terms of the Abstract MAC layer.

Need to combine this with algorithms to implement Abstract MAC over the physical layer.

E.g., in special case of static graphs, with G = G, can use probabilistic transmission methods like the Decay strategy of [Bar-Yehuda, Goldreich, Itai 92].

Implements Abstract MAC where: Frcv, Fack = O( log ).

Fprog = O(log ).

Probabilistic considerations arise. More work needed.

Page 56: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Summary

These algorithms and implementations are just examples…

Much more work is needed! We would like to use Abstract

MAC layers as building blocks for a general theory of wireless networks, from physical layer up to data-management and control applications.

Basic services

Network Structures

Communication

Auxiliary services

Applications

Page 57: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Newer Work on Abstract MAC Layers

Page 58: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Newer Work on Abstract MAC Layers Splitting up complex algorithms and their analysis:

[Khabbazian, Kowalski, Kuhn, Lynch; TR, submitted to PODC, 2010] Analyze network broadcast algorithms over a physical network model,

using abstract MAC as an intermediate layer. Neighbor Discovery:

[Cornejo, Lynch, Viqar, Welch, Allerton 09] Solve ND over abstract MAC, analyze. Use this to implement the traditional [Vaidya, Walter, Welch] dynamic

graph model, which is used to solve many higher-level problems (leader election, mutual exclusion, resource allocation, token circulation…)

Zig-Zag Decoding implementations: [Khabbazian, Lynch, Medard, Parandeh-Gheibi, in progress] Design and analyze Zig-Zag Decoding implementations of abstract MAC

layer, compare costs with probabilistic transmission implementations. Dual graph model, G vs. G:

[Kuhn, Lynch, Newport, Oshman, Richa, submitted to PODC, 2010] Study the impact of communication uncertainty on the

possibility/impossibility/costs of basic wireless network problems.

Page 59: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Splitting up algorithms and their analysis [Khabbazian, Kowalski, Kuhn, Lynch, 10] Assume static graphs, G = G. Show that an algorithm using the Decay strategy of [Bar-Yehuda,

Goldreich, Itai 92] implements our basic Abstract MAC layer over the physical network, with high probability.

Combine this with Basic Multi-Message Broadcast, which solves the MMB problem over the Abstract MAC layer.

Obtain an algorithm that solves Multi-Message Broadcast over the physical network, with high probability 1 - .

Time to deliver a message everywhere, in the presence of at most k concurrent messages, is

O( (D + k ) log (n / ) log() ).

But we can do better!

Page 60: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Splitting up algorithms and their analysis Define a new Probabilistic Abstract MAC layer:

For receive and ack: Each bcast(m) results in an ack(m) within a reasonable amount of time, and the ack(m) is preceded by rcv(m) at all nearby nodes, all with high probability.

For progress: From any point when a receiver j has contending senders, and j has not yet received any of their messages, j receives some message within a short time, with high probability.

Prove that the Decay-based algorithm implements the probabilistic Abstract MAC layer exactly. That is, it guarantees all of its probabilistic requirements.

Analyze BMMB in terms of probabilistic Abstract MAC. Using an interesting lemma about guaranteed progress under a certain

condition. Obtain an algorithm that solves Multi-Message Broadcast over the

physical network, with high probability 1 - . Time to deliver a message everywhere, in the presence of at most k

concurrent messages, is O( (D + k log (n / )) log()).

Page 61: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Neighbor discovery[Cornejo, Lynch, Viqar, Welch, Allerton 09] Inspired by work by [Welch, Walter, Vaidya,…]. Dynamic graph model [WWV…]

Based on a (single) dynamic graph G. G may change as a result of node mobility. Nodes know their current neighbors in G. Nodes connected in G are can communicate reliably.

[WWV] use the dynamic graph model to design/analyze many high-level algorithms.

Q: How to connect this work with physical network models?

Our approach: Implement the dynamic graph model over an Abstract MAC layer. Key problem is Neighbor Discovery.

Page 62: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Neighbor discovery algorithm Based on geographical regions. Each node does a local broadcast

when it enters a region; includes a region exit bound.

Each node does a local broadcast when it leaves a region. Nodes use this information to add and remove neighbor

edges. Maintain an edge only when region exit bounds for both

endpoints guarantee that they can communicate. Assumes:

Nodes can communicate with other nodes in the same or neighboring regions.

Region exit bounds are sufficiently high.

Page 63: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Zig-Zag Decoding implementations[Khabbazian, Lynch, Medard, Parandeh-Gheibi] Designing an algorithm to implement the basic

abstract MAC layer, based on Zig-Zag Decoding methods [Gollakota, Katabi 08], which allow information to be extracted from collisions.

Analyze costs, compare with implementations based on probabilistic transmissions.

Page 64: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Zig-Zag Decoding implementations Let c be a positive integer; If a node is reached by k messages at

some slot s, 1<k<c+1, and it does not transmit at slot s, then the collision can be considered as a a linear combination of the messages involved.

Special case: if a node is reached by k copies of the same message at slot s, it can decode the message at the end of slot s.

Using ZigZag decoding, for single message broadcast, time to deliver the message everywhere is

Time to deliver multiple messages can also be reduced using ZigZag decoding (work in progress)

))log(

)log()

)/log(((

cc

nDO

Page 65: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Dual Graph model, (G, G) G = reliable communication, G = possible communication or

interference. A simple basis for studying the costs of solving problems in slot-

based physical networks with collisions, in the presence of communication uncertainty.

[Kuhn, Lynch, Newport PODC 09, BA] (n) lower bound for randomized algorithms to guarantee, with high

probability, that a particular receiver receives some message, if at least one G-neighbor is sending. Allows collision detection. Allows nodes to send spontaneously (without first receiving something). Graph G has diameter D = 2.

Implies lower bounds for: Fprog in implementing abstract MAC layer Point-to-point communication Network-wide broadcast

Page 66: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Dual Graph model, (G, G) [Kuhn, Lynch, Newport, Oshman, Richa 10] Studying algorithms for network-wide single-message

broadcast from a particular source node, in dual graph model.

(n log n) lower bound for deterministic algorithms Allows collision detection Allows nodes to send spontaneously. Uses new techniques of adversarially placing nodes in the graph.

O( n3/2 log1/2(n) ) deterministic algorithm Sends using a collection of selector families.

O( n log3/2(n) ) randomized algorithm Sends according to a harmonic series of probabilities.

Much more to do!

Page 67: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Future Work Devise and analyze new

implementations of Abstract MAC: Using probabilistic transmission, backoff. Using coding techniques. With G vs. G uncertainty, and mobility. Study inherent limitations (lower bounds).

Study many high-level problems and algorithms over these layers. Algorithms and lower bounds.

Build a general theory for wireless network algorithms: Algorithms and lower bounds With uncertainty and mobility. From physical network to applications.

Basic services

Network Structures

Communication

Auxiliary services

Applications

Page 68: Abstract MAC Layers Nancy Lynch MIT CSAIL February 24, 2010 Joint work with Fabian Kuhn and Cal Newport [DISC 2009]

Thank you!


Recommended