Trading Coordination For Randomness Szymon Chachulski Mike Jennings

  • Slides: 37
Download presentation
Trading Coordination For Randomness Szymon Chachulski Mike Jennings, Sachin Katti, and Dina Katabi

Trading Coordination For Randomness Szymon Chachulski Mike Jennings, Sachin Katti, and Dina Katabi

Wireless mesh networks have high loss rates Roofnet Avg. 30% loss Objective: High throughput

Wireless mesh networks have high loss rates Roofnet Avg. 30% loss Objective: High throughput despite lossy links

Use Opportunistic Routing

Use Opportunistic Routing

Use Opportunistic Routing R 1 50% src 50% 50% R 2 R 3 0%

Use Opportunistic Routing R 1 50% src 50% 50% R 2 R 3 0% 0% R 4 • Best single path loss prob. 50% dst

Use Opportunistic Routing R 1 50% src 50% 50% R 2 R 3 0%

Use Opportunistic Routing R 1 50% src 50% 50% R 2 R 3 0% 0% 0% dst 0% R 4 • Best single path loss prob. 50% Opportunistic routing promises large • In opp. routing [Ex. OR’ 05], any router that hears increase in throughput 4 the packet can forward it loss prob. 0. 5 = 6%

But Overlap in received packets Routers forward duplicates

But Overlap in received packets Routers forward duplicates

But Overlap in received packets Routers forward duplicates P 1 R 1 P 2

But Overlap in received packets Routers forward duplicates P 1 R 1 P 2 P 10 P 2 src dst R 2 P 1 P 2

But Overlap in received packets Routers forward duplicates R 1 P 2 P 10

But Overlap in received packets Routers forward duplicates R 1 P 2 P 10 src P 1 dst R 2 P 1 P 2 State-of-the-art opp. routing, Ex. OR imposes a global scheduler: - Requires full coordination; every node must know who received what - Only one node transmits at a time, others listen

Global Scheduling? dst src • Global coordination is too hard • One transmitter

Global Scheduling? dst src • Global coordination is too hard • One transmitter

Global Scheduling? dst src • Global coordination is too hard Does opportunistic routing •

Global Scheduling? dst src • Global coordination is too hard Does opportunistic routing • One transmitter lost spatial reuse! have to be so. You complicated?

Our Contributions • Opportunistic routing with no global scheduler and no coordination • We

Our Contributions • Opportunistic routing with no global scheduler and no coordination • We use random network coding • Experiments show that randomness outperforms both current routing and Ex. OR

Go Random Each router forwards random combinations of packets

Go Random Each router forwards random combinations of packets

Go Random Each router forwards random combinations of packets P 1 P 2 R

Go Random Each router forwards random combinations of packets P 1 P 2 R 1 α P 1+ ß P 2 src dst P 1 P 2 R 2 γ P 1+ δ P 2 Randomness prevents duplicates No scheduler; No coordination Simple and exploits spatial reuse

Random Coding Benefits Multicast P 1 P 2 P 3 P 4 src dst

Random Coding Benefits Multicast P 1 P 2 P 3 P 4 src dst 1 dst 2 dst 3 P 1 P 2 P 3 P 4 P 2 P 4 P 3 P 4 Without coding source retransmits all 4 packets

Random Coding Benefits Multicast P 1 P 2 P 3 P 4 Random combinations

Random Coding Benefits Multicast P 1 P 2 P 3 P 4 Random combinations src 8 P 1+5 P 2+ P 3+3 P 4 7 P 1+3 P 2+6 P 3+ P 4 dst 1 dst 2 dst 3 P 1 P 2 P 3 P 4 P 2 P 4 P 3 P 4 Without coding source retransmits all 4 packets Random coding is more efficient than With random coding coordination 2 packets are sufficient global

MORE

MORE

MORE • Source sends packets in batches • Forwarders keep all heard packets in

MORE • Source sends packets in batches • Forwarders keep all heard packets in a buffer • Nodes transmit linear combinations of buffered packets a P 1 + b src P 2 + c A P 3 = a, b, c B dst P 1 4, 1, 3 Can compute linear combinations and 0, 2, 1 P 2 sustain high throughput! P 3 4 P 1 + 2 1 0 3 P 2 + 1 P 3 = 4, 1, 3 0, 2, 1

MORE • Source sends packets in batches • Forwarders keep all heard packets in

MORE • Source sends packets in batches • Forwarders keep all heard packets in a buffer • Nodes transmit linear combinations of buffered packets a P 1 + b P 2 + c P 3 = a, b, c src A B dst P 1 4, 1, 3 8, 4, 7 P 2 0, 2, 1 8, 4, 7 P 3 2 4, 1, 3 + 1 0, 2, 1 = 8, 4, 7

MORE • Source sends packets in batches • Forwarders keep all heard packets in

MORE • Source sends packets in batches • Forwarders keep all heard packets in a buffer • Nodes transmit linear combinations of buffered packets • Destination decodes once it receives enough combinations o Say batch is 3 packets 1 P 1 + 3 P 2 + 2 P 3 = 1, 3, 2 5 P 1 + 4 P 2 + 5 P 3 = 5, 4, 5 4 P 1 + 5 P 2 + 5 P 3 = 4, 5, 5 • Destination acks batch, and source moves to next batch

But How Do We Get the Most Throughput? • Naïve approach transmits whenever 802.

But How Do We Get the Most Throughput? • Naïve approach transmits whenever 802. 11 allows A dst If A and B have same information, it is more efficient for B to send it B Need a Method to Our Madness

Probabilistic Forwarding A dst B

Probabilistic Forwarding A dst B

Probabilistic Forwarding e 1 e 2 A dst Loss rate 0% Src P 1

Probabilistic Forwarding e 1 e 2 A dst Loss rate 0% Src P 1 P 2 B Loss rate 50% e 1

Probabilistic Forwarding How many packets should I forward? e 1 e 2 Src P

Probabilistic Forwarding How many packets should I forward? e 1 e 2 Src P 1 P 2 50% of buffer A dst B e 1 ?

Probabilistic Forwarding Pr = 0. 5 e 1 e 2 A dst 0% Src

Probabilistic Forwarding Pr = 0. 5 e 1 e 2 A dst 0% Src P 1 P 2 Pr = 1 50% B e 1 Compute forwarding probabilities without coordination using loss rates

Can Ex. OR Use Probabilistic Forwarding To Remove Coordination? Pr = 0. 5 P

Can Ex. OR Use Probabilistic Forwarding To Remove Coordination? Pr = 0. 5 P 1 P 2 A Probability of duplicates is 50% P 1 dst Pr = 1 B • Without random coding need to know the P 1 exact packets to forward every time • With random coding need to know only the average amount of overlap

Long-term averages are great, but… Wireless is unpredictable over short time-scales There are knowns.

Long-term averages are great, but… Wireless is unpredictable over short time-scales There are knowns. These are things we know that we know. There are known unknowns. That is to say, there are things that we know we don't know. But there also unknowns. MORE needs to adapt to short-term dynamics

Adapting to Short-term Dynamics • Need to balance sent information with received information •

Adapting to Short-term Dynamics • Need to balance sent information with received information • MORE triggers transmission by receptions • A node has a credit counter Upon reception, increment the counter using forwarding probabilities o Upon transmission, decrement the counter o • Source stops No triggers Flow is done

Performance

Performance

Experimental Setup • We implemented MORE in Linux • 20 -node testbed • Compare

Experimental Setup • We implemented MORE in Linux • 20 -node testbed • Compare MORE with: Current Routing (Single Best Path) o Ex. OR (State-of-the-art Opportunitic Routing) o • Experiment Random source-destination pairs o Transmit 5 MB file o

Testbed • 20 -node testbed over three floors

Testbed • 20 -node testbed over three floors

Testbed • 20 -node testbed over three floors Avg. loss 27%

Testbed • 20 -node testbed over three floors Avg. loss 27%

Does MORE Improve Wireless Throughput? Avg. Throughput over 180 src-dst pairs [pkts/s] MORE 80

Does MORE Improve Wireless Throughput? Avg. Throughput over 180 src-dst pairs [pkts/s] MORE 80 Ex. OR 40 Current MORE’s throughput is • 2 x better than current routing • 22% better than Ex. OR

Throughput of All Source-Destination Pairs CDF of 180 source-destination pairs Current Ex. OR MORE

Throughput of All Source-Destination Pairs CDF of 180 source-destination pairs Current Ex. OR MORE Throughput [packets/s]

Zoom in on the worst 10% 4 x Current Ex. OR MORE addresses dead

Zoom in on the worst 10% 4 x Current Ex. OR MORE addresses dead spots Throughput [packets/s]

Sensitivity to Batch Size Ex. OR CDF Batch = 8 pkts Batch = 128

Sensitivity to Batch Size Ex. OR CDF Batch = 8 pkts Batch = 128 pkts Throughput [packets/s] MORE works for short flows

What About Multicast? Avg. Throughput Per Destination [pkts/s] +200% +260% 100 Current MORE +320%

What About Multicast? Avg. Throughput Per Destination [pkts/s] +200% +260% 100 Current MORE +320% 50 MORE improves both multicast and unicast 3 destinations 4 destinations 2 destinations throughput

MORE for Less! • Lesser coordination and lesser rigidity o No scheduler • More

MORE for Less! • Lesser coordination and lesser rigidity o No scheduler • More flexibility Works on top of 802. 11 enjoy spatial reuse o One framework for unicast and multicast o • More throughput 22% better than Ex. OR o 2 x better than current routing o