360 likes | 459 Views
Fast Geometric Routing with Concurrent Face Traversal. Tom Clouser Mark Miyashita Mikhail Nesterenko Kent State University OPODIS December 17, 2008. ?. Geometric Routing: Routing without Overhead. static nodes, each node knows its global coordinates, source knows coords of destination
E N D
Fast Geometric Routing with Concurrent Face Traversal Tom ClouserMark MiyashitaMikhail Nesterenko Kent State University OPODISDecember 17, 2008
? Geometric Routing: Routing without Overhead • static nodes, each node knows its global coordinates, source knows coords of destination • little overhead • no routing tables – each node only knows coords of neighors • no memory – no info kept at node after message is routed • no message overhead – messages of constant size • no global knowledge • simple approaches • flooding – expensive • greedy routing • message carries coords of dest. • each node forwards to neighbor closer todestination • problem: local minimum • what if no closer neighbor? b a e c f d s h g i j k
Outline • terms & assumptions • planar graph routing • sequential face routing • concurrent face routing (CFR) • motivation & description • example operation • correctness & optimality • performance evaluation • non-planar routing • motivation & description • performance evaluation
face – area where any two points can be connected by a line non-intersecting graph edges • single infinite external face Graph Terms • unit disk graph – two vertices are adjacent iff they are within unit distance • approximates radio model • planar (embedding) graph – can be effectively constructed from a unit disk graph • source (s), destination (d) vertices, sd-line • coords assumed carried by message b H a e c f G F d s h g i j k
Routing Terms and Assumptions • right-hand-rule – if node receives left message, node forwards message to next clockwise from sender node • traverses internal face clockwise • similar left-hand-rule • juncture – vertex adjacent to edge intersecting sd-line • adjacent faces – intersecting sd-line and sharing a juncture • message cost – # of messages sent • path stretch – ratio to shortest path • assumptions • reliable transmission • asynchronous communication • zero channel capacity • single send queue per vertex • atomic message sent/receipt b H a e c f G F d s h g i j k
Outline • terms & assumptions • planar graph routing • sequential face routing • concurrent face routing (CFR) • motivation & description • example operation • correctness & optimality • performance evaluation • non-planar routing • motivation & description • performance evaluation
b a e c f d s h g i k j COMPASS [KSU99] traverse entire face, find furthest adjacent face, switch to it H F G • message cost O(|E|) • path stretch ?
FACE [BMSU01,DSW02] traverse face, switch as soon as juncture is found (cross sd-line and change traversal direction) b a H e c f F G d s h g i k j • message cost O(|V|2) • path stretch ?
GPSR [KK00] variant: traverse face, switch as soon as juncture is found (do not cross sd-line keep traversal direction) b a H e c f F G d s h g i k j • message cost O(|V|2) • path stretch ?
OAFR [KWZ03a] traverse in one direction, if found bounding ellipse, change direction, if bounded in both directions, double ellipse size b H e a c f F G d s h g bounding ellipseE i k j • message cost: outperforms others on average • path stretch: O(ρ2) – optimal • - where ρ is shortest path
greedy greedy face Combination of Greedy and Face Routing • guarantees delivery while shortening the path • go greedy until local minimum is encountered • in local minimum – switch to face routing • switch back to greedy if closer to destination than this local minimum • adding greedy generates combined geometric algorithms • GFG [BMSU01,DSW02] • GPSR [KK00] • GOAFR+ [KWZZ03] b a H e c f F G d s h g i k j
What Is Wrong with Sequential Face Routing? b • traversing a face in one direction may be significantly longer than the other • esp. external face • idea: send messages in all directions concurrently • issues • have to handle multiple messages in the same face • what to do when one of the messages reaches junction vertex? H e a c f F G d h s g i short k long j
CFR Description & Operation • source injects left and right msgs in each face intersecting sd-line H b a e f c G F d 1 h s 2 g i k j
CFR Description & Operation • source injects left and right msgs in each face intersecting sd-line • when juncture receives msg, it forwards the msg and injects left/right pair in each adjacent face H b a e f c 1 G F d h s 2 3 4 g i k j
CFR Description & Operation • source injects left and right msgs in each face intersecting sd-line • when juncture receives msg, it forwards the msg and injects left/right pair in each adjacent face • matching – left/right messages at a vertex and at least one is not originated at this vertex • matching messages are destroyed H b a e 1 f c 8 7 G F d 5 h 6 s 2 3 g 4 i k j
CFR Description & Operation • source injects left and right msgs in each face intersecting sd-line • when juncture receives msg, it forwards the msg and injects left/right pair in each adjacent face • matching – left/right messages at a vertex and at least one is not originated at this vertex • matching messages are destroyed H b a e 1 8 f c 7 G F d 5 h 6 s 2 3 9 10 g 4 i k j
CFR Description & Operation • source injects left and right msgs in each face intersecting sd-line • when juncture receives msg, it forwards the msg and injects left/right pair in each adjacent face • matching – left/right messages at a vertex and at least one is not originated at this vertex • matching messages are destroyed H b a e 1 8 f c 7 G F d 5 12 h 6 s 11 2 3 9 10 g 4 i k j
CFR Description & Operation • source injects left and right msgs in each face intersecting sd-line • when juncture receives msg, it forwards the msg and injects left/right pair in each adjacent face • matching – left/right messages at a vertex and at least one is not originated at this vertex • matching messages are destroyed • destination delivers and forwards the message, but still forwards it H b a e 1 8 f c 14 7 G F 13 d 5 12 h 6 s 11 2 3 9 10 g 4 i k j
CFR Description & Operation • source injects left and right msgs in each face intersecting sd-line • when juncturedestination delivers the message, but still forwards it • receives msg, it forwards the msg and injects left/right pair in each adjacent face • matching – left/right messages at a vertex and at least one is not originated at this vertex • matching messages are destroyed H b a e 1 8 f c 14 7 G F 13 d 5 12 h 6 s 11 2 3 9 10 g 4 i k j
CVR 2 6 1 5 4 3 GCFR: Greedy + CFR • can start in greedy mode and then switch to CFR in local minimum • cannot switch back due to multiple concurrent messages H b a e f c F G d h s greedy g i k j
CFR Correctness & Optimality • correctness proof: every edge of the face is visited exactly once Corollary:The message cost of CFR is in O(|E|). • latency path is in O(ρ2) • latency for any such algorithmis inO(ρ2) CFR latency path is optimal H b a e 1 8 f c 14 7 G F d 5 h 6 s 2 g i k j
Model Description • replicated [KWZ03a] • implemented CFR and others • 20x20 units square field • uniformly distributed nodes according to density • edges according to unit-disk graph • 21 density levels • each experiment – a new graph and a source destination pair • 2,000 experiments per level s d example graph, latency path of CFR,density is 5,
Model Observations [KWZ03a] observed too densepath is straight greedy succeeds too sparse s and dare either disconnected or adjacent critical density region
~ 5 timesbetter thanbest serial alg Pure Face Routing, Path Stretch path stretch = latency path/shortest path
~ 2.5 timesbetter Face+Greedy, Path Stretch path stretch = latency path/shortest path
Outline • terms & assumptions • planar graph routing • sequential face routing • concurrent face routing (CFR) • motivation & description • example operation • correctness & optimality • performance evaluation • non-planar routing • motivation & description • performance evaluation
Radio Networks are Not Unit-Disk • realistic radio message propagation patterns are highly irregular • unit-disk graph model is inadequate [Culler, D., UCB]
Traversing Non-Planar Graphs edge_selection idea: follow the segment of the edge that borders the void [VN05] • nodes have to store info on edges intersecting each adjacent edge two parts • edge_changemessage sent to node adjacent to next segment edge, node selects beginning of next segment (next intersecting edge)the selection minimizes the currentedge segment • sends edge_selectionmessage to the other adjacent node to confirm selection and forward message to node adjacent tonext segment edge • algorithms • VOID • GVG • CVR • GCVR a c b g e f h d traversaldirection edge_change edge_change i void k j s V d X W
Non-Planar Model quasi-unit-disk graph [BFNO03, KWZ03b] u and v are • adjacent if |uv|≤0.75 • adjacent with probability 0.5 if 0.75 <|uv| ≤ 1 • not adjacent if |uv| > 1 21 density levels 3000 experiments at each
Related Literature [BFNO03] Barrière, L., Fraignaud, P., Narayannan, L., Opatrny, J., “Robust Position-Based Routing in Wireless Ad Hoc Networks with Irregular Transmission Ranges”, Wireless Communication and Mobile Computing 3(2), pp. 141-153, 2003 [BMSU01] Bose, P., Mortin, P., Stojmenovic, I., Urrutia,. “Routing with guaranteed Delivery in Ad Hoc Wireless Networks”, The Journal of Mobile Communication, Computation and Information7(6), pp. 48-55, 2001 [DSW02] Datta, S., Stojmenovic, I., Wu, J., “Internal Node and Shortcut Based Routing with Guaranteed Delivery in Wireless Networks, Cluster Computing, 5(2), pp. 169-178, 2002 [KK00] Karp, B., Kung, H., “GPSR: Greey Perimeter Stateless Routing for Wireless Networks”, MobiCom, pp. 243-254, August 2000 [KSU99] Kranakis, E., Singh, H., Urrutia, J. “Compass Routing on Geometric Networks”, Canadian Conference on Computational Geometry, pp. 51-54,August 1999, Vancouver, Canada [KWZ02] Kuhn, F., Wattenhofer, R., Zollinger, A., “Asymptotically Optimal Geometric Mobil Ad-Hoc Routing, Dial-M, September 2002, Atlanta, GA [KWZ03a] Kuhn, F., Wattenhofer, R., Zollinger, A., “Worst-Case Optimal and Average-Case Efficient Geometric Ad-Hoc Routing”, MobiHoc, pp. 267-278, Annapoils, MD, July 2003 [KWZ03b] Kuhn, F., Wattenhofer, R., Zollinger, A., “Ad-Hoc Networks Beyond Unit Disk Graphs”, DialM-POMC, pp. 69-78, September 2003, San Diego, CA [KWZZ03] Kuhn, F., Wattenhofer, R., Zhang,Y., Zollinger, A., “Geometric Ad-Hoc Routing: Of Theory and Practice”, PODC, July 2003 [VN05] Vora, A., Nesterenko, M., “Void Traversal for Guaranteed Delivery in Geometric Routing”, MASS, pp. 63-67, Washington, DC, November 2005.
Fast Geometric Routing withConcurrent Face Traversal • summary • presented CFR • matches theoretical performance bounds • significantly speeds up delivery in both planar and non-planar face traversal • modest message cost increase Thomas Clouser Mark MiyashitaMikhail Nesterenko thank you