39
1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

Embed Size (px)

Citation preview

Page 1: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

1

Reprogramming/Re-tasking in Wireless Sensor Networks

Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

Reprogramming/Re-tasking in Wireless Sensor Networks

Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

Page 2: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

2

OverviewOverview

Background and motivations for Deluge

Deluge Design

Evaluation

Limitation of Deluge

Conclusion and sources

Page 3: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

3

Worst Case Scenario Worst Case Scenario

10,000 nodes are deployed in the mushy field with 10 meters apart

Start the network. NO data is coming !!!! ;(

A graduate student finds out that a small bug in the code that only shows up when a network scales up?

The demonstration shall start in two hours.

Option one: A quick calculation reveals that it taks 2.7 hours to

just collect motes with 10 students.Plan B???

Avon Park, FL, Deployment Site

Page 4: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

4

Network Tasking is EssentialNetwork Tasking is Essential

Why network tasking is needed?

Application requirement would change

A necessity in debugging and testing cycle

Code would be upgraded to a better & newer version.

Retasking over wireless is crucial

Embedded nature of sensor networks

Network scales reaching thousands of nodes

Inaccessibility of hostile environments

Page 5: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

5

Discussion: Techniques for RetaskingDiscussion: Techniques for Retasking

Page 6: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

6

Techniques for ReTasking (1)Techniques for ReTasking (1)

1. Parameter reconfiguration

2. Wired Reprogramming: Uisp

3. Single-hop Network Reprogramming : XNP

4. Multi-hop network Reprogramming : Deluge, MOAP

5. Incremental network programming: Reijers / Kapur

6. Virtual machine programming: Maté / Trickle

Page 7: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

7

Techniques for Reprogramming (2)Techniques for Reprogramming (2)

In System Programming

Most Common.

Programming time is in proportion to # nodes.

Network Programming

Sending whole code over radio still takes time.

Either single hop or multiples hopes

HostMachine

ProgramCode

Sensor nodeSerial orparallel

port

In system programming

Network programming

HostMachine

ProgramCode

RadioChannel

Sensor nodes

Page 8: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

8

Techniques for Reprogramming (3)Techniques for Reprogramming (3)

IEEE SECON 2004 “Incremental Network Programming for Wireless Sensors”

Program source code is changed in small amounts.

Reduce programming time by sending the difference.

Incremental Network programming

HostMachine

Program CodeVersion 1

Radio Channel

Sensor nodes

Program CodeVersion 2+

Difference

Page 9: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

9

Techniques for Reprogramming (4)Techniques for Reprogramming (4)

Stack based architecture

Single shared variable

gets/sets

Three events:

Clock timer

Message reception

Message send

Hides asynchrony

Simplifies programming

Less prone to bugs

0 1 2 3

SubroutinesC

lock

Sen

d

Receiv

e

Events

gets/sets

0 1 2 3

SubroutinesC

lock

Sen

d

Receiv

e

Events

gets/sets

Co

de

OperandStack

ReturnStack

PC

Co

de

OperandStack

ReturnStack

PC

Page 10: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

10

Comparison Comparison

Cost Flexibility Energy Speed

Reconfiguraton

Single Hop

Multi-Hop

Incremental

VM

The need for a high flexible and generic solution

Page 11: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

11

Comparison Comparison

Cost Flexibility Energy Speed

Reconfiguraton Low Low Low Fast

Single Hop High High- High- Median

Multi-Hop High High+ High+ Slow

Incremental High Median + Low Fast

VM Median Median - Median Median

The need for a high flexible and generic solution

Page 12: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

12

What is Deluge?What is Deluge?

A reliable data dissemination protocol for large data objects over a multi-hop network.

Combined with a bootloader (TOSBoot)

Network Programming

“Your nodes can communicate wirelessly, so why don't you? “ ---- Jonathan Hui

Page 13: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

13

Design Issues for the Deluge Protocol

Discussion

Design Issues for the Deluge Protocol

Discussion

Page 14: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

14

Deluge OverviewDeluge Overview

Maintain

Request

Transmit

Epidemic

State-machine strictly local rules

Nodes advertise, request data, and broadcast

Considers many subtle issues

Density-awareness

Robust to asymmetric links

Dynamic adjustment of advertisements

Minimize set of concurrent data broadcasts

Spatial multiplexing

Page 15: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

15

How Does Deluge Work?(Glossing over many details)

How Does Deluge Work?(Glossing over many details)

Nodes periodically advertise

Version 2 here.

I only have version 1.

I only have version 1.

Page 16: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

16

How Does Deluge Work?(Glossing over many details)

How Does Deluge Work?(Glossing over many details)

Neighboring nodes request data

Send me page 1!

Send me page 1!

suppressed

Page 17: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

17

How Does Deluge Work?(Glossing over many details)

How Does Deluge Work?(Glossing over many details)

Requested data is sent

Packet 12of page 1!

unicast

overhear

Page 18: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

18

How Does Deluge Work?(Glossing over many details)

How Does Deluge Work?(Glossing over many details)

Dropped packets are NACKed

Repeat packet 4 of page 1!

Repeat packet 32 of page 1!

Page 19: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

19

How Does Deluge Work?(Glossing over many details)

How Does Deluge Work?(Glossing over many details)

Dropped packets are sent again

Packet 4 of page 1!

Page 20: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

20

How Does Deluge Work?(Glossing over many details)

How Does Deluge Work?(Glossing over many details)

Advertise for propagation to next hop

Version 2 here.

I only have version 1.

Page 21: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

21

Each version has a unique version number

Program image divided into contiguous pages, each consisting of N packets.

Page structure advantages

Reduced RAM requirements for maintaining state of which packets are needed

Allows for spatial multiplexing

Data RepresentationData Representation

Program Image

Packets

1234 N

Page 22: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

22

Data RepresentationsData Representations

1. Serialized version numbers: V

2. Aging Schedules: a=<a0,a1,…,ap-1>

Calculating the version when a page last changed: (V-ai)

A nibble (4 bits) is used to store the age of each page.

3. Object profiles: (V, a)

Example: (V, a) = (23, <1,2,3,0,1,0,5,1>)

First page version is 22 = 23-1 Fourth page

version is 23

Six page version is 18

8 Pages program

Version 23

Page 23: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

23

An ExampleAn Example

1. Node A: (23, <1,2,3,0,1,0,5,1>)

2. Node B: (23, <1,2,3,0,1,0,0,1>)

3. Node C: (23, <1,2,3,0,1,2,5,1>)

4. Node D: (22, <0,1,2,4,0,1,4,0>)

5. Node E: (20, <3,7,0,2,1,3,2,3>)

6. Node F: ( 6, <3,5,4,2,1,0,2,0>)

7. Node G: (23, <1,2,3,0,1,0,0,0>)

Question: Which node has the latest version?

Page 24: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

24

An ExampleAn Example

1. Node A: (23, <1,2,3,0,1,0,5,1>)

2. Node B: (23, <1,2,3,0,1,0,0,1>)

3. Node C: (23, <1,2,3,0,1,2,5,1>)

4. Node D: (22, <0,1,2,4,0,1,4,0>)

5. Node E: (20, <3,7,0,2,1,3,2,3>)

6. Node F: ( 6, <3,5,4,2,1,0,2,0>)

7. Node G: (23, <1,2,3,0,1,0,0,0>)

Page 25: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

25

Something About TrickleSomething About Trickle

1. Trickle is a self-regulating, epidemic maintenance, polite gossip protocol.

2. The algorithm controls the send rate so that each node hears only a small trickle of packets, just enough to stay up to date.

3. Nodes periodically broadcast a code summary to neighbors but stay quiet if they have recently heard a summary identical to theirs.

4. When a node hears a summary older than its own, it broadcasts an update.

Page 26: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

26

MaintainMaintain Request

Transmit

Maintain Advertise

Contains version and fraction of image complete• Nodes request pages in sequential order

Use Trickle • Duplicate suppression

• Dynamically adjust advertisement rate

Transition to:

Transmit on receiving a request

Request on receiving an advertisement with newer data (i.e. from a node with a larger fraction of the complete image)• Unless a request or data packet was recently overheard

Page 27: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

27

RequestRequest

Maintain

Transmit

Request

Transmit a request

Using a random backoff

Suppress if any similar requests are overheard during backoff period

Not receiving a data packet for some time

Minimize senders by unicasting requests to the node that advertised

Transition to Maintain

After receiving all packets of a page

After k requests to protect against asymmetric links

Page 28: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

28

TransmitTransmit

Transmit all requested packets

May receive requests when transmitting

Round Robin schedule to provide fairness

Transition to Maintain when all requested packets are transmitted

Maintain

Request

Transmit

Page 29: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

29

Other DetailsOther Details

Page level CRCs

Redundant data integrity checks at packet and page level

Multiple image support

Not limited to the dissemination of a single object

Allows multiple programs to exist in the network• Great for debugging!

O

1

Exte

rnal Fl

ash

Page 30: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

30

MethodologyMethodology

Simulation (TOSSIM)

Up to 400 nodes

Empirically derived loss rates

Very pessimistic in interference model

Highly sensitive to simulation parameters, but helps in guiding development

Real world deployment in office building (mica2dots)

Up to 77 nodes

Limited in scale

Not able to see effects shown in simulation

Page 31: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

31

Simulation AnalysisSimulation Analysis

Pipelining improves performance

Linear with size

Time increases with density

Tim

e T

o

com

ple

tio

n

Network Size Object Size

Node Density

Page 32: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

32

Hidden Terminal ProblemHidden Terminal Problem

Page 33: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

33

Hidden Terminal ProblemHidden Terminal Problem

Node(2,2)

Node(5,5)

Edge

Center

Page 34: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

34

Slow Down PropagationSlow Down Propagation

Slowing down traffic reduces contention

But also slows down overall!Original

Quarter Request Rate

Half Request Rate

Slowing down traffic reduces contention

But also slows down overall!

Page 35: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

35

Discussion: Issues with DelugeDiscussion: Issues with Deluge

Page 36: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

36

Weaknesses in the Deluge DesignWeaknesses in the Deluge Design

High Cost

No selective dissemination

The entire network must remain powered on to get the full benefit of spatial multiplexing.

It takes a long time to converge into a network-wide stable state. Especially when a node has weak connectivity

Advertise messages are needed even all nodes have latest version

Slower propagation in central areas of a network because of hidden terminal collisions. CSMA cannot prevent all of these.

Page 37: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

37

ConclusionConclusion

Deluge = polite gossip with ear dropping

Deluge is very flexible but has a very high cost (compared with reconfiguration etc)

Deluge involves many design choice trade-offs, e.g. CRC v. FEC, nibble sized age cells, suppression values and rules and the use of CSMA

Breaking objects into pages has benefits such as spatial multiplexing.

Page 38: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

38

Sources and WebsitesSources and Websites

A. Chlipala et al., “Deluge: Data Dissemination for Network Programming at Scale”

J. Hui et al., “Data Dissemination with Geometric Structure”

J. Hui et al., “The Dynamic Behavior of a Data Dissemination Protocol for Network Programming at Scale”

P. Levis, et al., “Trickle: A Self-Regulating Algorithm for Code Propagation and Maintenance in Wireless Sensor Networks”

www.cs.berkeley.edu/~jwhui/research/deluge

Page 39: 1 Reprogramming/Re-tasking in Wireless Sensor Networks Part of slides are from Jonathon Hui, David A. Olsen and Jaein Jeong

39

Q&A and DiscussionQ&A and Discussion