Presentation is loading. Please wait.

Presentation is loading. Please wait.

Impala: A Middleware System for Managing Autonomic, Parallel Sensor Systems Ting Liu and Margaret Martonosi Princeton University.

Similar presentations


Presentation on theme: "Impala: A Middleware System for Managing Autonomic, Parallel Sensor Systems Ting Liu and Margaret Martonosi Princeton University."— Presentation transcript:

1 Impala: A Middleware System for Managing Autonomic, Parallel Sensor Systems Ting Liu and Margaret Martonosi Princeton University

2 Sensor Networks: An Emerging Style of Parallel Computing Comprised of many distributed sensor nodes Long-running distributed environments Data aggregation Distributed queries Need for loosely-coordinated parallelism on low- capability nodes Base Station query data Sensor query data

3 ZebraNet Wireless Sensor Network Data Base Station (car or plane) Data Peer-to-Peer communication Protocol CPU, Memory, Wireless Transceiver GPS Current applications = protocols Future applications more complex

4 Long-Term Sensor Deployment: Needs Effective Middleware Adaptive application software  To handle parameters  To handle device failures Automatic software updates  Software updates inevitable  Manual updates impractical Device Hardware Device Software Impala Applications AdaptUpdate Middleware adapts and updates apps, protocols dynamically New protocols can be plugged in at any time Switches between protocols can be performed at will External Updates

5 Roadmap Middleware Architecture Overview: Modularity Application Adapter: Adaptivity Application Updater: Repairability Evaluation Conclusions

6 CB B C Motivation: Middleware Support for Application/Protocol Modularity AD Impala Layer Monolithic Approach Layered Approach A B D Modularity: applications independent, specialized Correctness: individual apps vs. super-application Ease of Updates: local changes vs. global changes Energy Efficiency: transmit smaller program modules A B D Individual Protocols Aggregate Protocol

7 Terminate System Architecture and Programming Model Application AApplication BApplication C Application Updater Application Adapter Application D Send Done Event Filter Device Event Send Done Event Packet Event Timer Event Data Event Timer Data PacketInitializeQuery

8 Timeline Example of Event-based Application Programming Model Node A: Data SenderNode B: Data Receiver Time ApplicationImpala Application Timer Event Send a peer discovery message Timer Event Send a peer discovery message Packet Event Receive B’s peer discovery message Packet Event Receive A’s peer discovery message Send Done Event Timer Event Send a data packet to B Timer Event Packet Event Receive A’s data packet Packet Event Receive A’s data packet Send Done Event Timer Event Application query Timer Event Check status Timer Event Send a peer discovery message Timer Event Send a peer discovery message Send Done Event Be notified previous packet is sent Application query Application terminate Application initialize Check status/switch Be notified previous message is sent No data packet should send Be notified previous packet is sent Be notified previous message is sent Send another data packet to B

9 Timer Event: Send a peer discovery message Packet Event: Receive B’s peer discovery message Packet Event: Receive A’s peer discovery message Send Done Event: Be notified previous message is sent Timer Event: Send a data packet to B Timer Event: No data packet should send Node A: Data SenderNode B: Data Receiver Time ApplicationImpala Application Timer Event Send a peer discovery message Timer Event Send a peer discovery message Packet Event Receive B’s peer discovery message Packet Event Receive A’s peer discovery message Send Done Event Timer Event Send a data packet to B Timer Event Packet Event Receive A’s data packet Packet Event Receive A’s data packet Send Done Event Timer Event Application query Timer Event Check status Timer Event Send a peer discovery message Timer Event Send a peer discovery message Send Done Event Be notified previous packet is sent Application query Application terminate Application initialize Check status/switch Be notified previous message is sent No data packet should send Be notified previous packet is sent Be notified previous message is sent Send another data packet to B Timer Event: Check status and switch Timer Event: Check status but no switch Timer Event: Send a peer discovery message

10 Impala: Adaptivity Adaptation scenarios  Adapt to sensitive changes in parameter values  Adapt to device failures Adaptation mechanisms  Parameter tracking  Device failure detection Event-based adaptation  Timer event triggers parameter query  Device event triggers failure check  Both can eventually cause application switch App A Adapter App B TerminateInitiate

11 D B Impala: Repairability High Node Mobility Constrained Bandwidth Wide Range of Updates Incomplete Updates Updates vs. Execution Out of order Updates ZebraNet CharacteristicsDesign Implications Updater Update AC Node On a single sensor node Full network

12 Software Modules Each application is divided into several modules Module version number vs. app version number Allows selective software transmission Module 1: Version 1 Module 2: Version 1 Module 3: Version 1 Module 4: Version 1 Module 5: Version 1 Module 6: Version 1 Application A: Version 1 Module 1: Version 1 Module 2: Version 1 Module 3: Version 2 Module 4: Version 1 Module 5: Version 1 Module 6: Version 2 Application A: Version 2 Upgrade

13 On-demand Software Transmission for Remote Software Update Node A Complete Version: 3.0 Incomplete Version: Node B Complete Version: 1.0 Incomplete Version: 2.0 I have Version 3.0 I have Version 1.0 Stage 1 Node A Complete Version: 3.0 Incomplete Version: Node B Complete Version: 1.0 Incomplete Version: 2.0 and 3.0 Stage 2 I want Module 5 from Version 3.0 Node A Complete Version: 3.0 Incomplete Version: Node B Complete Version: 3.0 Incomplete Version: Stage 3 Module 5 from Version 3.0 Repeat as needed … Repeat interval backs off if frequent updates not needed

14 Roadmap Middleware Architecture Overview: Modularity Application Adapter: Adaptivity Application Updater: Repairability Evaluation Conclusions

15 Impala Prototype Implementation Prototyped on HP/Compaq iPAQ Pocket PC Handhelds System configuration  206MHz CPU, 32MB flash RAM, 16MB flash ROM  Linux Familiar 5.3 and Xipaq GUI Implementation includes  Impala layer: Adapter, Updater, Event Filter  Application layer: two application protocols

16 Prototype Implementation: Application Protocols Flooding: Send to all neighbors found History-based: Send only to neighbor with best “score” at delivering data to base

17 Event Processing Time Measurements Impala events require less time than app events except for receiving a code packet Send peer msg Send data pkt App query&switch Send software info Send software req Send code pkt Receive code pkt Install update Application Events Adaptation Event Update Events

18 Efficient Network Reprogramming Probabilistic broadcasting broadcasts to all neighbors with a probability Impala’s on-demand transmission retains infection rate of high-probability broadcast

19 Efficient Network Reprogramming Probabilistic broadcast continues to send useless updates On-demand transmission caps transmissions to number of nodes

20 Adaptation Example: Improving Routing Performance Impala adaptation achieves equal/better data homing success rate at any given radio range

21 Adaptation Example: Improving Routing Performance Adaptation switches are infrequent even in intermediate ranges where adaptation has highest payoff

22 Conclusions Impala: A middleware architecture for application ……  Modularity  Adaptivity  Repairability Prototype implementation and simulations demonstrate:  Low overhead  Efficient network reprogramming  System Improvements


Download ppt "Impala: A Middleware System for Managing Autonomic, Parallel Sensor Systems Ting Liu and Margaret Martonosi Princeton University."

Similar presentations


Ads by Google