DOC PREVIEW
CMU CS 15744 - Lecture

This preview shows page 1-2-3 out of 10 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 10 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 10 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 10 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 10 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

115-744: Computer NetworkingL-12 Wireless BroadcastTaking Advantage of Broadcast• Opportunistic forwarding• Network codingg• Assigned reading• XORs In The Air: Practical Wireless Network Coding• ExOR: Opportunistic Multi-Hop Routing for Wireless NetworksWireless Networks2Outline• Opportunistic forwarding (ExOR)pp g ( )• Network coding (COPE)•Combining the two (MORE)Combining the two (MORE)3packet packetInitial Approach: Traditional RoutingA Bpacketsrc dstC• Identify a route, forward over links• Abstract radio to look like a wired linkC42Radios Aren’t WiresA B123456123 63 5142345612 456src dstC• Every packet is broadcast• Reception is probabilisticC5packetExploiting Probabilistic BroadcastA Bpacketpacketpacketpacketpacketpacketpacketpacketsrc dstCC• Decide who forwards after reception• Goal: only closest receiver should forward• Challenge: agree efficiently and avoid duplicate transmissions6Why ExOR Might Increase Throughputsrc dstN1 N2 N3 N475%50%N525%• Best traditional route over 50% hops: 3(1/0.5) = 6 tx• Throughput ≅1/# transmissions• ExOR exploits lucky long receptions: 4 transmissions• Assumes probability falls off gradually with distance7Why ExOR Might Increase ThroughputN1src dstN2N3N4• Traditional routing: 1/0.25+ 1 = 5 tx• ExOR: 1/(1 – (1 – 0.25)4) + 1 = 2.5 transmissions• Assumes independent losses83ExOR BatchingN4tx: 57 -23tx: 100rx: 57rx: 0rx: 0tx: 0tx: ≅ 9rx: 85rx: 40rx: 22N2• Challenge: finding the closest node to have rx’d •Send batches of packets for efficiencysrcN3dsttx: 23≅ 24tx:≅ 8rx: 23rx: 88rx: 53rx: 99N1Send batches of packets for efficiency• Node closest to the dst sends first• Other nodes listen, send remaining packets in turn• Repeat schedule until dst has whole batch9Reliable SummariesN2N4tx: {2, 4, 10 ... 97, 98}summary: {1,2,6, ... 97, 98, 99}RiidksrcN1N2N3dstN4tx: {1, 6, 7 ... 91, 96, 99}summary: {1, 6, 7 ... 91, 96, 99}•Repeat summaries in every data packet• Cumulative: what all previous nodes rx’d• This is a gossip mechanism for summaries10Priority OrderingN2N4• Goal: nodes “closest” to the destination send first•Sort by ETX metric to dstsrcN1N2N3dstN4y• Nodes periodically flood ETX “link state” measurements• Path ETX is weighted shortest path (Dijkstra’s algorithm)• Source sorts, includes list in ExOR header11Using ExOR with TCPClient PCWeb ServerTCPTCPNodeProxyExORGatewayWeb ProxyExOR Batches (not TCP)• Batching requires more packets than typical TCP window124Summary• ExOR achieves 2x throughput improvement• ExOR implemented on Roofnet• Exploits radio properties, instead of hiding them13Outline•Opportunistic forwarding (ExOR)pp g ( )• Network coding (COPE)•Combining the two (MORE)Combining the two (MORE)14Background• Famous butterfly example:All li k d it f•All links can send one message per unit of time• Coding increases overall throughput15Background• Bob and AliceRelayRequire 4 transmissions165Background• Bob and AliceRelayXORXORXORRequire 3 transmissions17Coding Gain• Coding gain = 4/311+3318Throughput Improvement• UDP throughput improvement ~ a factor 2 > 4/3 coding gain11+3319Coding Gain: more examples52131+2+3+4+541With opportunistic listening, coding gain=2N/(1+N) Æ 2.With opportunistic listening, coding gain + MAC gain Æ ∞206COPE (Coding Opportunistically)• Overhear neighbors’ transmissions• Store these packets in a Packet Pool for a pshort time• Report the packet pool info. to neighbors• Determine what packets to code based on the info.• Send encoded packets 21Opportunistic CodingB’s queue Next hopP1 AP2CP4 P1P2CP3 CP4 DCoding Is it good?P1 P2Bd ( l C BCDP4 P3 P2 P1P1+P2Bad (only C can decode)P1+P3 Better coding (Both A and C can decode)P1+P3+P4 Best coding (A, C, D can decode)ADP4 P3P3 P1Packet Coding Algorithm• When to send?• Option 1: delay packets till enough packets to code withOti 2 dl i kthth’•Option 2: never delaying packets -- when there’s a transmission opportunity, send packet right away• Which packets to use for XOR?• Prefer XOR-ing packets of similar lengths• Never code together packets headed to the same next hophop• Limit packet re-ordering• XORing a packet as long as all its nexthops can decode it with a high enough probability23Packet Decoding• Where to decode?• Decode at each intermediate hop• How to decode?• Upon receiving a packet encoded with n native packetsfi d1ti ktf it•find n-1 native packets from its queue• XOR these n-1 native packets with the received packet to extract the new packet 247Prevent Packet Reordering• Packet reordering due to async acks degrade TCP performance• Ordering agent• Deliver in-sequence packets immediately• Order the packets until the gap in seq. no is fill d ti ifilled or timer expires25Summary of Results• Improve UDP throughput by a factor of 3-4 •Improve TCP by• wo/ hidden terminal: up to 38% improvement• w/ hidden terminal and high loss: little improvement• Improvement is largest when uplink to downlink has similar traffic• Interesting follow-on work using analog coding26Reasons for Lower Improvement in TCP• COPE introduces packet re-ordering • Router queue is small Î smaller coding qgopportunity• TCP congestion window does not sufficiently open up due to wireless losses• TCP doesn’t provide fair allocation across different flowsdifferent flows27Outline•Opportunistic forwarding (ExOR)pp g ( )• Network coding (COPE)•Combining the two (MORE)Combining the two (MORE)288Use Opportunistic RoutingR1srcdstR4R2R350%• Best single path Æ loss prob. 50% • In opp. routing [ExOR’05], any router that hears the packet can forward it Æ loss prob. 0.54= 6%Opportunistic routing promises large increase in throughputOpportunistic routing promises large increase in throughputR429But• Overlap in received packets Æ Routers forward duplicatessrcR1dstP1P2P1P2R2P10P1P230ExOR• State-of-the-art opp. routing, ExOR imposesa global scheduler:• Requires full coordination; every node must know who received what• Only one node transmits at a time, others listen31Global Scheduling?srcdst• Global coordination is too hard • One transmitter329Global Scheduling?srcdst• Global coordination is too hard • One transmitter Æ You lost spatial reuse!Does opportunistic routing have to be so complicated? Does opportunistic routing have to be so complicated? 33MORE (Sigcomm07)• Opportunistic


View Full Document

CMU CS 15744 - Lecture

Documents in this Course
Lecture

Lecture

25 pages

Lecture

Lecture

10 pages

Lecture

Lecture

45 pages

Lecture

Lecture

48 pages

Lecture

Lecture

19 pages

Lecture

Lecture

97 pages

Lecture

Lecture

39 pages

Lecture

Lecture

49 pages

Lecture

Lecture

33 pages

Lecture

Lecture

21 pages

Lecture

Lecture

52 pages

Problem

Problem

9 pages

Lecture

Lecture

6 pages

03-BGP

03-BGP

13 pages

Lecture

Lecture

42 pages

lecture

lecture

54 pages

lecture

lecture

21 pages

Lecture

Lecture

18 pages

Lecture

Lecture

18 pages

Lecture

Lecture

58 pages

lecture

lecture

17 pages

lecture

lecture

46 pages

Lecture

Lecture

72 pages

Lecture

Lecture

44 pages

Lecture

Lecture

13 pages

Lecture

Lecture

22 pages

Lecture

Lecture

48 pages

lecture

lecture

73 pages

17-DNS

17-DNS

52 pages

Lecture

Lecture

10 pages

lecture

lecture

53 pages

lecture

lecture

51 pages

Wireless

Wireless

27 pages

lecture

lecture

14 pages

lecture

lecture

18 pages

Lecture

Lecture

16 pages

Lecture

Lecture

14 pages

lecture

lecture

16 pages

Lecture

Lecture

16 pages

Lecture

Lecture

37 pages

Lecture

Lecture

44 pages

Lecture

Lecture

11 pages

Lecture

Lecture

61 pages

Multicast

Multicast

61 pages

Lecture

Lecture

19 pages

Lecture

Lecture

8 pages

Lecture

Lecture

81 pages

Lecture

Lecture

9 pages

Lecture

Lecture

6 pages

Lecture

Lecture

63 pages

Lecture

Lecture

13 pages

Lecture

Lecture

63 pages

Lecture

Lecture

50 pages

lecture

lecture

35 pages

Lecture

Lecture

47 pages

Lecture

Lecture

29 pages

Lecture

Lecture

92 pages

Load more
Download Lecture
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?