and what can be done about it. - pub.tik.ee.ethz.ch · Common Assumptions in Theory and Simulation...
Transcript of and what can be done about it. - pub.tik.ee.ethz.ch · Common Assumptions in Theory and Simulation...
23-Nov-05
Why today's sensor networks don't sell...… and what can be done about it.
Jan BeutelComputer Engineering and Networks Lab, ETH Zurich
2
Deployment-support networkOperational conceptJAWS Demo
Outline
Design and Development
Prototype and Pilot
Launch and Ramp Production Service and
SupportConcept/Theory
Experiences:Simulation caveats
Emulators and testbeds
Why today’s sensor networks don’t sell…Motivation: Evolution and History of SNs
Vision: Full life-cycle supportExample: Bluetooth multihop networking
3
Deployment-support networkOperational conceptJAWS Demo
Outline
Design and Development
Prototype and Pilot
Launch and Ramp Production Service and
SupportConcept/Theory
Experiences:Simulation caveats
Emulators and testbeds
Why today’s sensor networks don’t sell…Motivation: Evolution and History of SNs
Vision: Full life-cycle supportExample: Bluetooth multihop networking
4
Visions 1991 1999 20001996 20032001 2004
Wireless Sensor Networks
Applications 20042000 20032001
Military Surveillance
ZebraNetSensor Webs
Argo
Duck Island
Shooter LocalizationJames Reserve
UbiquitousVision
PicoRadioWireless Overlay
PaintableComputing
Scale FreeNetworks
Terminodes
Smart DustDirectedDiffusion COTS Dust
5
Visions 1991 1999 20001996 20032001 2004
Wireless Sensor Networks
Applications 20042000 20032001
Military Surveillance
ZebraNetSensor Webs
Argo
Duck Island
Shooter LocalizationJames Reserve
UbiquitousVision
PicoRadioWireless Overlay
PaintableComputing
Scale FreeNetworks
Terminodes
Smart DustDirectedDiffusion COTS Dust
Prototypes, Experiments and Research Demos
WSN Community
6
Visions 1991 1999 20001996 20032001 2004
Wireless Sensor Networks
Applications 20042000 20032001
Military Surveillance
ZebraNetSensor Webs
Argo
Duck Island
Shooter LocalizationJames Reserve
UbiquitousVision
PicoRadioWireless Overlay
PaintableComputing
Scale FreeNetworks
Terminodes
Smart DustDirectedDiffusion COTS Dust
ProductionApplications
Prototypes, Experiments and Research Demos
WSN CommunityOtherPeople
7
Argo – Global Ocean Observation StrategyGlobal array of temperature/salinity profiling floats
Satellite data relay to data centers on shoreOperational since 2000Developed and maintained mainly by oceanographers
8
Anti-Submarine Surveillance
Distributed acoustic monitoring and surveillanceAdvanced signal processingMostly wireline and analogFixed installations and mobile unitsMilitary development since the cold war
10
Sensor Netzworks – A new platform class
time
log
(# u
serp
er c
ompu
ter) $ 500’000
$ 100’000
$ 10’000
$ 0.1-10
$ 1’000
11
The WSN Evolution
“I have Motes.”Aka I write simulation papers.
“I have downloaded the TOS installer.”
“I checked out a demo example.”
“I changed a line of code.”“I use CVS and contribute.”
Peop
le/P
aper
s
13
WSN Development Reality
It is hard to deploy anywhere beyond 10-20 nodes today.
Coordinated methods and tools are missing today.
14
WSN Experiences
R. Szewczyk – GDI: [EWSN2004]
Nodes die at randomCalibration necessitates,secondary infrastructure
K. Langendoen – LOFAR [Dagstuhl2005]
Murphy’s law: everything that can go,wrong will go wrong…
G. Tolle – Redwoods [SenSys2005]
40% data yieldExtracting meaningful information……can be a challenging task.
Humidity vs. Time
35
45
55
65
75
85
95
Rel Hum
idity (%
)
101 104 109 110 111
Temperature vs. Time
81318232833
7/7/039:407/7/0313:417/7/0317:437/7/0321:458/7/031:478/7/035:498/7/039:518/7/0313:538/7/0317:558/7/0321:579/7/031:599/7/036:019/7/0310:03
Tem
pera
ture
(C
)
15
Visions 1991 1999 20001996 20032001 2004
Beyond the proof-of-concept of WSNs
Applications 20042000 20032001
Military Surveillance
ZebraNetSensor Webs
Argo
Duck Island
Shooter LocalizationJames Reserve
UbiquitousVision
PicoRadioWireless Overlay
PaintableComputing
Scale FreeNetworks
Terminodes
Smart DustDirectedDiffusion COTS Dust
Design, test, deployment and validationof WSNs are in their infancy
Metrics are non-existent
Designs are custom-fit
Development is hard, error-prone and repetitive
Functional validation and verification done in trial runs only
16
Vision: Full Life-Cycle Support for WSNs
Stepwise refinement
Feedback to DesignDevelopment
Monitoring of FunctionalityQuality
Validation and Verification
17
400 horses100 microprocessors
Exponential increase in software complexityIn some areas code size is doubling every 9 months [ST Microelectronics, Medea Workshop, Fall 2003]
... > 70% of the development cost for complex systems such as automotive electronics and communication systems are due to software development[A. Sangiovanni-Vincentelli, 1999]
Slide courtesy of T. Henzinger
18
$4 billion development effort40% system integration & validation cost
Slide courtesy of T. Henzinger
19
Mars, July 4, 1997Lost contact due to priority inversion bug
A few days into the mission, not long after
Pathfinder started gathering meteorological
data, the spacecraft began experiencing total
system resets, each resulting in losses of data.
Slide courtesy of P. Marwedel
20
Deployment-support networkOperational conceptJAWS Demo
Outline
Design and Development
Prototype and Pilot
Launch and Ramp Production Service and
SupportConcept/Theory
Experiences:Simulation caveats
Emulators and testbeds
Why today’s sensor networks don’t sell…Motivation: Evolution and History of SNs
Vision: Full life-cycle supportExample: Bluetooth multihop networking
21
The BTnode Platform
Prototype
IO/Peripherals
2nd Generation 3rd Generation
Communication Computation
22
Bluetooth Multihop Network Topologies
Initial experimentsTime-multiplexed, dumbbell-like connections
XHOPLarge, connected topologiesSimple, top-down tree-building
TreeNetDistributed tree topology formationRandom connection pointsStreaming data
DSNtrees
23
Simple Scatternet Tree Construction
Link layer connectivityRandom search and connect
Distributed coordinationInquiry() and connect() operations can exhibit long delaysNo a priori guarantee for successSerialization of parallel processes
loop {while (my_slaves < max_degree) dofound_nodes = inquiry();forall nodes in found_nodes doconnect();
}}
24
Making a Seven Line Algorithm Work
+ Adaptation to devicesRoot lockup, cycle elimination
+ Error handlingDeadlocks, timeouts
+ Robustness, performanceGreedy behavior, heuristics
loop {while (my_slaves < max_degree) do
found_nodes = inquiry();forall nodes in found_nodes do
connect();}
}
#define HEX2BYTE(c) ((u_char)(((c)<='9') ? (c)-'0' : tolower(c) - 'a' + 10))typedef struct _jaws_stack {
FILE *uart_terminal;HANDLE table_changed_event;bt_addr_t my_addr;struct btstack* bt_stack;bt_l2cap_stack_t *l2cap_stack;
} jaws_stack_t;jaws_stack_t* _jaws_stack;//int foo __attribute__ ((section (".noinit")));//int foo2 __attribute__ ((section (".eeprom")));void bt_print_bt_addr(bt_addr_t addr)
DEBUGT("%.2x:%.2x:%.2x:%.2x:%.2x:%.2x", addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]);const char *bt_addr_to_string( char *buf, bt_addr_t addr)
sprintf_P( buf, PSTR("%.2x:%.2x:%.2x:%.2x:%.2x:%.2x"),addr[5], addr[4], addr[3], addr[2], addr[1], addr[0]);
return buf;}u_char* string_to_bt_addr(u_char* str, u_char* addr){
char i;u_char *strp = str;// skip whitespacewhile(*strp == ' ')
strp++;for(i = BD_ADDR_LEN-1; i >= 0; i--){
if(isxdigit(strp[0]) && isxdigit(strp[1])){addr[(u_char) i] = HEX2BYTE(strp[0]) << 4 |
HEX2BYTE(strp[1]);strp+=2;
}else{break;
}// skip ':'if(i > 0){
if(*strp == ':')strp++;
elsebreak;
}}
u_char get_uart_errors(FILE* stream){u_long parameter;u_char errors;// check driver status_ioctl(_fileno(stream), UART_GETSTATUS, ¶meter);
if (parameter & UART_ERRORS) {errors = (u_char) (parameter & UART_ERRORS);// set error flags back to normalparameter = UART_ERRORS;_ioctl(_fileno(stream), UART_SETSTATUS, ¶meter);
Seven lines
2000 lines~87 kbyte + Application support
Basic OS functionsDebugging, visualization, monitoringStepwise testing + deployment
25
DSNtrees – Field Experiments
Deployment using 70+ nodes on an office floor
Largest connected Bluetooth Scatternet
26
XTC – Bluetooth Mesh Networking
Bluetooth Mesh Networking based on BTnode Spec
Paper-grade algorithm to robust implementation
Experiments, measurements and
evaluation are ongoing
[Wattenhofer2004]
27
Deployment-support networkOperational conceptJAWS Demo
Outline
Design and Development
Prototype and Pilot
Launch and Ramp Production Service and
SupportConcept/Theory
Experiences:Simulation caveats
Emulators and testbeds
Why today’s sensor networks don’t sell…Motivation: Evolution and History of SNs
Vision: Full life-cycle supportExample: Bluetooth multihop networking
28
Today's WSN Design and Development
Sca
le
Figure abridged from D. Estrin/J. ElsonReality
SimulationTOSSIM [Levis2003]
PowerTOSSIM [Shnayder2004]
Avrora [Titzer2005]
Specializedsimulation tools for
WSN applications
30
Problems of Theoretical Work and Simulation
Typical simulation papers use Flawed assumptions, simplifications, wrong models [Kotz03/04,Min2003,Heidemann2001,Ganesan2002]
Limited comparability/reproducibility [Cavin2002]
Theoreticians try to understand the fundamentals.Need to abstract away a few “technicalities”.This allows nice formulas.
Abstracting away too many “technicalities“ renders theory useless for practice!
Material courtesy of R. Wattenhofer
31
Common Assumptions in Theory and Simulation
Random, uniform node distribution
Circular radio propagation Unit disk graph model
Simplistic algorithmsMac layer already in placeGlobal time synchronization
Material courtesy of R. Wattenhofer
32
Deployment-support networkOperational conceptJAWS Demo
Outline
Design and Development
Prototype and Pilot
Launch and Ramp Production Service and
SupportConcept/Theory
Experiences:Simulation caveats
Emulators and testbeds
Why today’s sensor networks don’t sell…Motivation: Evolution and History of SNs
Vision: Full life-cycle supportExample: Bluetooth multihop networking
33
Virtualization and EmulationEmStar [Ganesan2004]
BEE [Chang2003,Kuusilinna2003]
Today's WSN Design and Development
Sca
le
Figure abridged from D. Estrin/J. ElsonReality
SimulationTOSSIM [Levis2003]
PowerTOSSIM [Shnayder2004]
Avrora [Titzer2005]
Fast-prototyping in a controlled
environment
34
BEE - Berkeley Emulation Engine
A real-time hardware emulation engine for lower-power digital communication/DSP system
35
EmStar – Emulation on Backend Servers
LEDs EEPROM UART
Unmodified NesC Application
ADC
TimerC
SenseToRFM
AM
RadioCRCPacketClockC
UnderlyingEmStar Services
EmTOS Wrapper Library
EmStatusServer EmPacketServer TOS status
motesens
sensor/adc
motenic
link/mote0
Transceiver (Mote)
tos/leds tos/eeprom tos/tasksUser definedUser defined
hostmote
mote/0
Implements TinyOS API and low-level components…
Enables NesC applications to provide new EmStar services
By connecting to existing EmStar services
This fairly small investment of effort -- the wrapper library and some TinyOS components that make up a new TinyOS platform -- simultaneously addresses both goals of heterogeneous simulation and integration!
Wraps an unmodified NesCapp into an EmStar module
Material courtesy of L. Girod
36
EmStar – Emulation Array
ESSMote
EssDse
ESSSink
Multihop
ESSMote
EssDse
ESSMote
EssDse
…ESSSink
Multihop
HostMote Serial Protocol
MotesMicroservers
Simulation Server Serial MUX
Emulation ArrayEmulation/Real/Hybrid Mode
Real motes installed in environment
Serial multiplexer connects server to real motes, replaces channel model
Limits scale – improves reality
Transceiver
Transceiver
Transceiver
Transceiver
Transceiver
Transceiver
Material courtesy of L. Girod
39
Virtualization and EmulationEmStar [Ganesan2004]
BEE [Chang2003,Kuusilinna2003]
Today's WSN Design and Development
Sca
le
Figure abridged from D. Estrin/J. ElsonReality
SimulationTOSSIM [Levis2003]
PowerTOSSIM [Shnayder2004]
Avrora [Titzer2005]
Test GridsmoteLab [Werner-Allen2005]
Emstar arrays [Cerpa03/04]
Kansei [Dutta2005]
Closing in on the“real” experience
41
SensorScope –Building Monitoring
Static deployment within a buildingNo wired/wireless backchannel
Experience:Fast initial setupHard to extend and adapt
42
Deployment-support networkOperational conceptJAWS Demo
Outline
Design and Development
Prototype and Pilot
Launch and Ramp Production Service and
SupportConcept/Theory
Experiences:Simulation caveats
Emulators and testbeds
Why today’s sensor networks don’t sell…Motivation: Evolution and History of SNs
Vision: Full life-cycle supportExample: Bluetooth multihop networking
43
Virtualization and EmulationEmStar [Ganesan2004]
BEE [Chang2003,Kuusilinna2003]
Today's WSN Design and Development
Sca
le
Figure abridged from D. Estrin/J. ElsonReality
SimulationTOSSIM [Levis2003]
PowerTOSSIM [Shnayder2004]
Avrora [Titzer2005]
Test GridsmoteLab [Werner-Allen2005]
Emstar arrays [Cerpa03/04]
Kansei [Dutta2005]
Closing in on the“real” experience
Specializedsimulation tools for WSN applications
Fast-prototyping in a controlled environment
44
Virtualization and EmulationEmStar [Ganesan2004]
BEE [Chang2003,Kuusilinna2003]
Today's WSN Design and Development
Sca
le
Figure abridged from D. Estrin/J. ElsonReality
SimulationTOSSIM [Levis2003]
PowerTOSSIM [Shnayder2004]
Avrora [Titzer2005]
Test GridsmoteLab [Werner-Allen2005]
Emstar arrays [Cerpa03/04]
Kansei [Dutta2005]
DeploymentIn-network reprogramming [Levis2004,Hui2004]
Calibration and Verification[Szewczyk2004]
Trial-and-error [Mainwaring2004,Hemingway2004,Cerpa2001]
Dependence on infrastructure[Szewczyk2004]
45
From Proof-of-concept to Real-world WSNs
Traditional test gridWiredImmobileNot scalable
In-network toolsUnreliable
Self-organizing backbone network
with deployment-support
services
Deployment-Support Network
46
Target Sensor Network
Next-Generation Deployment-Support
Developer Workstation
Deployment-Support NetworkTemporary, minimal invasiveVirtual connections to nodesReliable, wireless, scalable
47
WSN TargetApplication
JAWS Application Partitioning
JAWS ApplicationTopology Control
Connection Management
Data Transport
Caching
Node Management
Target AdapterTarget ControlProgrammingLogging
MonitorThreads/IRQsHigh level context
Codesize 100 kB
4 kB
2 kB
48
JAWS Application Example
Next steps: Distributed, time-synched, tracing
Test Setup: 20+ nodes Event TracingContext switchesInterrupts