The Dynamic Behavior of a Data Dissemination Protocol for Network - - PowerPoint PPT Presentation

the dynamic behavior of a data dissemination protocol for
SMART_READER_LITE
LIVE PREVIEW

The Dynamic Behavior of a Data Dissemination Protocol for Network - - PowerPoint PPT Presentation

The Dynamic Behavior of a Data Dissemination Protocol for Network Programming at Scale Jonathan W. Hui, David Culler Presented by: Thomas Repantis trep@cs.ucr.edu CS263-Seminar in Distributed Systems, Winter 2005 p.1/31 Overview Deluge,


slide-1
SLIDE 1

The Dynamic Behavior of a Data Dissemination Protocol for Network Programming at Scale

Jonathan W. Hui, David Culler

Presented by: Thomas Repantis

trep@cs.ucr.edu

CS263-Seminar in Distributed Systems, Winter 2005 – p.1/31

slide-2
SLIDE 2

Overview

Deluge, a reliable data dissemination protocol for propagating large data objects from one or more source nodes to many other nodes over a multihop, wireless sensor network.

  • 1. Introduction
  • 2. Protocol Description
  • 3. Experimental Evaluation
  • 4. Conclusions
  • 5. Comparison with P2P

CS263-Seminar in Distributed Systems, Winter 2005 – p.2/31

slide-3
SLIDE 3

Network Programming

Deluge’s goal is the propagation of complete binary images to the nodes of the network. Network programming (the programming of nodes by disseminating code over the network) is useful: Application requirements can change. Thousands of nodes embedded. Also useful for debugging and testing.

CS263-Seminar in Distributed Systems, Winter 2005 – p.3/31

slide-4
SLIDE 4

Requirements

Issues in reliable dissemination of large data objects from few to many nodes of a multi-hop WSN: Large data objects vs constrained storage hierarchy: Packet (32 bytes) « RAM (4K) « program (128K) < external flash (512K) High node density (hinders transmission). Complete reliability required, even with highly lossy links. All nodes need to receive the newest code version. Fast propagation is desired.

CS263-Seminar in Distributed Systems, Winter 2005 – p.4/31

slide-5
SLIDE 5

Deluge Protocol Overview

Nodes follow strictly local rules: Advertise Request data Broadcast

Maintain Request Transmit

CS263-Seminar in Distributed Systems, Winter 2005 – p.5/31

slide-6
SLIDE 6

Epidemic Protocol

Each node occasionally advertises (by broadcasting) the most recent version of the data object it has available. If a node receives an advertisement from an older node, it responds with its object profile. The older node determines from the object profile which portions of its data need updating and requests them from any neighbor that advertises the availability of the needed data. Nodes receiving the request then broadcast any requested data. Nodes then advertise newly received data in order to propagate it further.

CS263-Seminar in Distributed Systems, Winter 2005 – p.6/31

slide-7
SLIDE 7

Protocol Properties

Density-aware (redundant advertisements and requests are suppressed). Robust to asymmetric links (three-phase handshaking). Switches between quick propagation and quite phases (dynamically adjustable advertisement rate). Minimizes the set of nodes concurrently broadcasting data within a cell. Allows parallel transfers of data (spatial multiplexing).

CS263-Seminar in Distributed Systems, Winter 2005 – p.7/31

slide-8
SLIDE 8

Data Representation 1/2

CRCs at page and packet level ensure correct transmission.

CS263-Seminar in Distributed Systems, Winter 2005 – p.8/31

slide-9
SLIDE 9

Data Representation 2/2

Advantages of fixed-size pages: Reduced memory requirements for maintaining state about which packets are needed. Enables efficient incremental updates using: A monotonically increasing version number v for every update. An age vector a describes how old a page is. An object profile is defined by the tuple (v,a). Allows for spatial multiplexing.

CS263-Seminar in Distributed Systems, Winter 2005 – p.9/31

slide-10
SLIDE 10

Spatial Multiplexing

Propagation in “waves” (pipelining the page transfers). Exploits the limited range of radio to allow for concurrent broadcasts. Reduces the completion time from o(d*Sobj) to

  • (d+Sobj).

Page 0 Page 1

CS263-Seminar in Distributed Systems, Winter 2005 – p.10/31

slide-11
SLIDE 11

Maintain State

Advertise version and fraction of image that is complete (version number and highest page available, since nodes request pages sequentially). Deluge uses Trickle to control the advertisement broadcasts. Uses suppression to decrease the advertisement rate as neighbors increase. Bounds advertisement rate independent of node density (by suppressing the transmission of redundant advertisements). Allows for quick propagation during an upgrade and low resource consumption in the steady state by decreasing and increasing the advertisement rate respectively.

CS263-Seminar in Distributed Systems, Winter 2005 – p.11/31

slide-12
SLIDE 12

Maintain State Transitions

Transition to Transmit: When receiving a request. Transition to Request: When receiving an advertisement with newer data, unless a request or data packet was recently

  • verheard.

CS263-Seminar in Distributed Systems, Winter 2005 – p.12/31

slide-13
SLIDE 13

Request State

Transmit a request after random backoff time. Suppress if any similar requests of data packets are

  • verheard during the backoff period.

Minimize senders by unicasting requests to the node that advertised. Transition to maintain after receiving all packets of a page or after k requests (to protect against asymmetric lossy links).

CS263-Seminar in Distributed Systems, Winter 2005 – p.13/31

slide-14
SLIDE 14

Transmit State

Transmit all requested packets. Packets are sent in round-robin order to provide fairness among requesters. Transition to maintain after all requested packets have been transmitted and no new packets have been requested.

CS263-Seminar in Distributed Systems, Winter 2005 – p.14/31

slide-15
SLIDE 15

Experimental Evaluation

Real-world deployment (77 Mica2-dot nodes, in a building). Simulation (TOSSIM, up to 800 nodes, in a square grid). Metrics: Complete Reliability Completion Time RAM Usage Energy Consumption

CS263-Seminar in Distributed Systems, Winter 2005 – p.15/31

slide-16
SLIDE 16

Real World Completion Time

Completion time is linear with the object size.

CS263-Seminar in Distributed Systems, Winter 2005 – p.16/31

slide-17
SLIDE 17

Real World Advertisement Rate

Without suppression it would have been ten times more.

CS263-Seminar in Distributed Systems, Winter 2005 – p.17/31

slide-18
SLIDE 18

Real World Transmitted Requests

Many nodes took advantage of the broadcast channel and did not need to transmit requests to receive entire pages.

CS263-Seminar in Distributed Systems, Winter 2005 – p.18/31

slide-19
SLIDE 19

Real World Data Redundancy

On average a node receives about 3.35 times the minimum number of required data packets, due to the single-channel, broadcast network.

CS263-Seminar in Distributed Systems, Winter 2005 – p.19/31

slide-20
SLIDE 20

Simulated Completion Time for Varying Network Diameter

Spatial multiplexing is effective (propagation time is the sum of the network diameter and object size).

CS263-Seminar in Distributed Systems, Winter 2005 – p.20/31

slide-21
SLIDE 21

Simulated Completion Time for Varying Object Size

Completion time is linear with the object size.

CS263-Seminar in Distributed Systems, Winter 2005 – p.21/31

slide-22
SLIDE 22

Simulated Completion Time for Varying Density

Completion time increases with density.

CS263-Seminar in Distributed Systems, Winter 2005 – p.22/31

slide-23
SLIDE 23

Simulated Propagation Time for a Sparse Network

Constant rate, wavefront pattern.

CS263-Seminar in Distributed Systems, Winter 2005 – p.23/31

slide-24
SLIDE 24

Simulated Propagation Time for a Dense Network

Propagation fast on the edges, slow in the middle.

CS263-Seminar in Distributed Systems, Winter 2005 – p.24/31

slide-25
SLIDE 25

The Culprit is the Hidden Terminal Problem

Nodes in the center have more neighbors and are more prone to collisions.

CS263-Seminar in Distributed Systems, Winter 2005 – p.25/31

slide-26
SLIDE 26

Lower Bound on Dissemination Rate

Dissemination is slower than routing a single message across the network. Spatial multiplexing provides great improvement. Empirically data redundancy ratio is usually less than 5.

CS263-Seminar in Distributed Systems, Winter 2005 – p.26/31

slide-27
SLIDE 27

Conclusions

Deluge, a reliable data dissemination protocol for propagating large data objects from a few nodes to many nodes of a multi-hop WSN. Epidemic protocol, achieves 90 bytes/second dissemination rate. Part of TinyOS 1.1.8.

CS263-Seminar in Distributed Systems, Winter 2005 – p.27/31

slide-28
SLIDE 28

Mobile P2P vs WSNs

Mobile peer-to-peer networks differ from WSNs in a number of ways: Built for different purposes. Nodes are more powerful, allowing for more complicated protocols. Direct connections between the nodes are possible.

CS263-Seminar in Distributed Systems, Winter 2005 – p.28/31

slide-29
SLIDE 29

Data Dissemination in Mobile P2P

Nodes build content synopses of their data based on Bloom Filters. Adaptively disseminate them to the most appropriate nodes of the network. Based on the synopses they forward queries to the nodes with the highest probability of providing the desired results.

CS263-Seminar in Distributed Systems, Winter 2005 – p.29/31

slide-30
SLIDE 30

Dissemination Strategies

CS263-Seminar in Distributed Systems, Winter 2005 – p.30/31

slide-31
SLIDE 31

Thank you!

Questions/comments? References: The Dynamic Behavior of a Data Dissemination Protocol for Network Programming at Scale, Sensys 2004 Trickle: A Self-Regulating Algorithm for Code Propagation and Maintenance in Wireless Sensor Networks, NSDI 2004 Data Dissemination in Mobile Peer-to-Peer Networks, MDM 2005

CS263-Seminar in Distributed Systems, Winter 2005 – p.31/31