slide1 l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
The Importance of Being Opportunistic PowerPoint Presentation
Download Presentation
The Importance of Being Opportunistic

Loading in 2 Seconds...

play fullscreen
1 / 35

The Importance of Being Opportunistic - PowerPoint PPT Presentation


  • 280 Views
  • Uploaded on

The Importance of Being Opportunistic Sachin Katti Dina Katabi, Wenjun Hu, Hariharan Rahul, and Muriel Medard Bandwidth is scarce in wireless Can we send more while consuming less bandwidth? Alice Bob’s packet Bob’s packet Alice’s packet Alice’s packet Current Approach

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'The Importance of Being Opportunistic' - emily


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

The Importance of Being Opportunistic

Sachin Katti

Dina Katabi, Wenjun Hu, Hariharan Rahul, and Muriel Medard

bandwidth is scarce in wireless
Bandwidth is scarce in wireless

Can we send more while consuming less bandwidth?

current approach

Alice

Bob’s packet

Bob’s packet

Alice’s packet

Alice’s packet

Current Approach
  • Requires 4 transmissions
  • Can we do it in 3 transmissions?

Relay

Bob

a network coding approach

Alice

Bob’s packet

Bob’s packet

Alice’s packet

Alice’s packet

A Network Coding Approach

Relay

Bob

3 transmissions instead of 4  Save bandwidth

network coding
Network Coding
  • Routers mix bits in packets, potentially from different flows
  • Theoretically shown to achieve capacity for multicast
  • No concrete results for unicast case
how to apply network coding

Min-Cost Flow Optimization

Find the routing, which dictates the encoding

How to apply network coding?

State-of-the Art

R

  • Multicast

S

R

  • Given Sender & Receivers
  • Given Flow Rate & Capacities

R

how to apply network coding7
How to apply network coding?

In Practice

State-of-the Art

  • Unicast
  • Multicast
  • Many Unknown Changing Sender & Receivers
  • Given Sender & Receivers
  • Unknown and bursty flow rate
  • Given flow rate & capacities

Min-Cost Flow Optimization

?

Find the routing, which dictates the encoding

how to apply network coding8
How to apply network coding?

In Practice

State-of-the Art

  • Unicast
  • Multicast
  • Many Unknown Changing Sender & Receivers
  • Given Sender & Receivers
  • Unknown and bursty flow rate
  • Given flow rate & capacities

Min-Cost Flow Optimization

Opportunism

Find the routing, which dictates the encoding

opportunism 1
Opportunism (1)

Opportunistic Listening:

  • Every node listens to all packets
  • It stores all heard packets for a limited time
opportunism 110
Opportunism (1)

Opportunistic Listening:

  • Every node listens to all packets
  • It stores all heard packets for a limited time

A

D

B

opportunism 111
Opportunism (1)

Opportunistic Listening:

  • Every node listens to all packets
  • It stores all heard packets for a limited time
  • Node sends Reception Reports to tell its neighbors what packets it heard
    • Reports are annotations to packets
    • If no packets to send, periodically send reports
opportunism 2
Opportunism (2)

Opportunistic Coding:

  • Each node uses only local information
  • Use your favorite routing protocol
  • To send packet p to neighbor A, XOR p with packets already known to A
    • Thus, A can decode
  • But how to benefit multiple neighbors from a single transmission?
efficient coding
Efficient Coding

Arrows show next-hop

A

D

C

B

efficient coding14
Efficient Coding

Bad Coding

C will get RED pkt but A can’t get BLUE pkt

Arrows show next-hop

A

D

C

B

efficient coding15
Efficient Coding

Better Coding

Both A & C get a packet

Arrows show next-hop

A

D

C

B

efficient coding16
Efficient Coding

Best Coding

A, B, and C, each gets a packet

Arrows show next-hop

A

D

C

B

To XOR n packets, each next-hop should have the n-1 packets encoded with the packet it wants

but how does a node know what packets a neighbor has
But how does a node know what packets a neighbor has?
  • Reception Reports
  • But reception reports may get lost or arrive too late
  • Use Guessing
    • If I receive a packet I assume all nodes closer to sender have received it
putting it together20
Putting It Together

A

C

D

B

  • Don’t reorder packets in a flow  Keeps TCP happy
  • No scheduling  No packet is delayed
beyond fixed routes

B heard S’s transmission

Beyond Fixed Routes
  • Piggyback on reception report to learn whether next-hop has the packet
  • cancel unnecessary transmissions

D

A

B

S

No need for A transmission

S transmits

Route Chosen by Routing Protocol

Opportunistic Routing [BM05]

opportunism

A

E

F

B

C

D

O

K

G

N

M

Opportunism
  • Unicast
  • Flows arrive and leave at any time
  • No knowledge of rate
  • No assumption of smooth traffic

C

K

emulation environment
Emulation Environment
  • We use Emstar
    • “Real code” simulator
    • 802.11 radios
    • Power Level: 200mW
    • 11Mbps bit rate
    • Simulated radio channel
recall our simple experiment

Alice

Bob’s packet

Bob’s packet

Alice’s packet

Alice’s packet

Recall Our Simple Experiment

XOR

Relay

Bob

3 transmissions instead of 4  25% throughput increase

practical artifacts make network coding perform poorly

No Coding

XOR

Throughput (KB/s)

Practical artifacts make network coding perform poorly
  • Network coding requires broadcast
  • But 802.11 broadcast has no backoff  more collisions

330 KB/s

270 KB/s

pseudo broadcast

Ideally, design a back-off scheme for broadcast channels

  • In practice, we want a solution that works with off-the-shelf 802.11 drivers/cards
Pseudo Broadcast

Piggyback on 802.11 unicast which has synchronous Acks and backoff

  • Each XOR-ed packet is sent to the MAC address of one of the intended receivers

Our Solution:

xor with pseudo broadcast improves throughput
XOR with Pseudo-Broadcast Improves Throughput

XOR with Pseudo-Broadcast

Throughput (KB/s)

495 KB/s

No Coding

XOR

330 KB/s

270 KB/s

  • Improvement is more than 25% because 802.11 MAC gives nodes equal bandwidth shares
  • Without coding, relay needs twice as much bandwidth
  • With coding, all nodes need equal bandwidth
larger experiment
Larger experiment
  • 100 nodes
  • 800mx800m
  • Senders and receivers are chosen randomly
  • Metric:

Total Throughput of the Network

slide30

Opportunistic Coding vs. Current

Network Throughput (KB/s)

Opp. Coding

Our Scheme

Opp. Coding (no guessing)

No Coding

No Coding

A Unicast Network Coding scheme that works well in realistic situations

No. of flows

preliminary implementation results

Alice

Preliminary Implementation Results
  • Linux Kernel
  • 802.11 MAC
  • Click Elements (part of Roofnet)
  • Only Opportunistic Coding & Pseudo Broadcast (No opportunistic Listening)

Relay

Bob

implementation results
Implementation Results

Ratio of throughput with coding to without coding

Network Coding Doubles the Throughput

conclusion
Conclusion
  • First implementation of network coding in a wireless network
  • Learned Lessons
    • Be opportunistic (greed is good!)
    • Can do a good job with multiple unicast
    • 5x higher throughput in congested networks
    • Preliminary implementation results show throughput doubles
the wireless environment
The Wireless Environment

Multi-hop wireless networks (e.g., Roofnet)

slide35

Opportunistic Coding vs. Current

Network Throughput (KB/s)

Our Scheme

No Coding

A Unicast Network Coding scheme that works well in realistic situations

No. of flows