26
New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

Embed Size (px)

DESCRIPTION

3 50-Node Testbed, Soda Hall GAME OVER Only 68.2% of node pairs connected!! What’s going on here?!

Citation preview

Page 1: New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

New and Improved Geographic Routing:

CLDPBrad Karp

UCL Computer Science

CS 4038 / GZ0616th January, 2008

Page 2: New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

2

GPSR: Making it Real• We implemented full GPSR for Berkeley

mote sensors [NSDI 2005]– 3750 lines of nesC code– also includes: simple link thresholding, ARQ

• Deployed on Mica 2 “dot” mote testbeds– 23-node, 50-node subsets of 100-node network

in office building (Soda Hall; office walls; 433 MHz)

– 40-node network in office building (Intel Research Berkeley; cubicles; 900 MHz)

• Delivery success workload: 50 packets between all node pairs, serially

Page 3: New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

3

50-Node Testbed, Soda Hall

GAME OVEROnly 68.2% of node pairs connected!!

What’s going on here?!

Page 4: New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

4

Outline

• Motivation• Analysis of GPSR Routing Pathologies• CLDP Algorithm

– Assumptions and Goals– Basic, Serialized CLDP– Lazy Locking for Concurrent Probing

• Evaluation in Simulation and Deployment• Geographic Routing Summary

Page 5: New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

5

Planar, but Partitioned

Output of GPSR’s Distributed GG(arrows denote unidirectional links)

Page 6: New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

6

Assumptions Redux

• Bi-directional radio links (unidirectional links may be blacklisted)

• Network nodes placed roughly in a plane• Radio propagation in free space;

distance from transmitter determines signal strength at receiver

• Fixed, uniform radio transmitter power

Absorption, reflection (multi-path), interference, antenna orientation differences, &c., lead to non-unit graphs.

Non-uniformity of radio ranges increasingly noted [Biswas, Morris 2003]; [Ganesan et al. 2002]; [Zhao, Govindan 2003]

Page 7: New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

7

Planarization Pathologies

u v

w

x?

Partitioned RNG

u v

w

?

RNG w/Unidirectional Link

Non-unit graphs produce:• partitioned RNG, GG• asymmetric links in RNG, GGLocalization errors produce:• non-planar RNG, GG• asymmetric links in RNG, GG

Page 8: New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

8

Outline

• Motivation• Analysis of GPSR Routing Pathologies• CLDP Algorithm

– Assumptions and Goals– Basic, Serialized CLDP– Lazy Locking for Concurrent Probing

• Evaluation in Simulation and Deployment• Geographic Routing Summary

Page 9: New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

9

Cross-Link Detection Protocol (CLDP): Assumptions and Goals

• Assumptions, revised:– nodes know their own positions in 2D coordinate

system– connected graph– bidirectional links (cf. blacklisting)– no assumption whatsoever about structure of graph

• Seek a “planarization” algorithm that:– never partitions graph– always produces a routable graph; one on which

GPSR routing never fails (may contain crossings!)

Page 10: New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

10

CLDP SketchNodes explicitly probe their own links to detect

crossings by other links• probe packet follows right-hand rule; carries

locations of candidate link endpoints• probe packet records first crossing link it

encounters en route• one of two crossing links “eliminated” when

probe returns to originator– originator may mark candidate link unroutable OR– request remote crossing link be marked unroutable

• probe packets only traverse routable links

Page 11: New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

11

CLDP: A Simple ExampleA B

DC

“crossings of (D, A)?”

“(B, C) crosses (D, A)!”

• All links initially marked “routable”• Detected crossings result in transitions

to “unroutable” (by D, or by B or C)

In a dense wireless network, most perimeters short (3 hops); most probes traverse short paths

Page 12: New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

12

CLDP and Cul-de-sacs

• Cul-de-sacs give rise to links that cannot be eliminated without partitioning graph

• Not all {edges, crossings} can be eliminated!

A B

DC

“(B, C) crosses (D, A), but cannot be

removed!”

A B

DC

“(B, C), (D, A) cannot be removed!”

“(B, C) crosses (D, A),

but cannot

be removed!

Routable graphs produced by CLDP may contain crossings

These crossings never cause GPSR to fail

Page 13: New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

13

Summary: CLDP Protocol

• If link L probed, crossing link L’ found:– both L and L’ removable: remove L– L removable, L’ not removable: remove L– L not removable, L’ removable: remove L’– neither L nor L’ removable: remove no link

• Links reprobed periodically, to maintain correct graph under network dynamics

• Locking protocol supports concurrent probes

Given any static, connected graph, CLDP always produces a graph on which GPSR succeeds, for all node pairs

GPSR+CLDP: provably correct geographic routing for any network, wired or wireless

Page 14: New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

14

Concurrent Probes: Lazy Locking

• Phase 1: Probe– If link not crossed, done– If link not removable, done

• Phase 2: Commit (lock)– Locked links drop probes– Only one commit can cross a locked link– Upon return to originator

• Phase 3: Unlock– Mark link unroutable

Page 15: New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

15

Outline

• Motivation• Analysis of GPSR Routing Pathologies• CLDP Algorithm

– Assumptions and Goals– Basic, Serialized CLDP– Lazy Locking for Concurrent Probing

• Evaluation in Simulation and Deployment• Geographic Routing Summary

Page 16: New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

16

Meanwhile, Back in Soda Hall…

GG CLDP

CLDP mote implementation: ~750 lines nesCDeployed on same three mote testbeds

Broader evaluation in simulation (Bernoulli graphs, wireless networks with obstacles, &c.)

Page 17: New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

17

CLDP: Packet Delivery Success Rate

(200 Nodes; 200 Obstacles)

Page 18: New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

18

CLDP: Packet Delivery Success Rate

(200 Nodes)

Page 19: New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

19

CLDP: Path Stretch(200 Nodes; 200 Obstacles)

Page 20: New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

20

CLDP: Stretch Distribution(200 Nodes; 200 Obstacles)

Page 21: New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

21

CLDP: Stretch(Mote Testbeds; CDF)

Page 22: New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

22

CLDP: Per-Link Overhead(Mote Testbeds; 15 s; CDF)

Page 23: New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

23

CLDP: Convergence Time(Mote Testbeds; CDF)

Page 24: New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

24

Geographic Routing:A History

• Greedy routing with flooding [Finn, 1987]• GPSR [MobiCom 2000]• Planar Graph Pathologies [DIMACS 2001]• Restricted Delaunay Graph for shorter paths [Gao, Guibas,

et al., 2001]• GHT [HotNets 2002, WSNA 2002, MONET 2003]• GEM: Query-by-name on trees [Newsome and Song, 2003]• DIM: Range queries on GPSR routing [Li et al., 2003]• NoGeo: GPSR’s greedy routing on synthetic coordinates

[Rao et al., 2003]• CLDP [NSDI 2005]• GLIDER: hierarchy/greedy hybrid [Fang, Gao, et al., 2005]

Page 25: New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

25

An Aside: Geographic Routing for the Wired Internet?

• GPSR+CLDP route correctly on all connected graphs

• What might they offer the Internet?– tiny forwarding tables at core routers– but greedy forwarding seems at odds with

• Intra-domain traffic engineering• Inter-domain policy routing

• First sketch of the possibilities [HotNets 2004]

Page 26: New and Improved Geographic Routing: CLDP Brad Karp UCL Computer Science CS 4038 / GZ06 16 th January, 2008

26

ConclusionResource constraints, failures, and scale of deployment make design of sensor network systems hardYoung area; primitives for building applications as yet undefinedAny-to-any routing, with GPSR and CLDP

– O(density) state per node, correct on all networks

Geographic routing demonstrates difference between paper designs and building real systems!