Presentation on theme: "System Design Issues In Sensor Databases Qiong Luo and Hejun Wu Department of Computer Science and Engineering The Hong Kong University of Science & Technology."— Presentation transcript:
System Design Issues In Sensor Databases Qiong Luo and Hejun Wu Department of Computer Science and Engineering The Hong Kong University of Science & Technology
SIGMOD07 TutorialSensorDB System Design Issues2 Wireless Sensor Networks (WSNs) Energy efficiency is the most crucial performance factor. Limited on-node resource Multi-hop communication
SIGMOD07 TutorialSensorDB System Design Issues4 Two Representative SensorDBs Cougar [BGS01, YG03] Model sensor network data as sequences Declarative query interface with UDFs Cross-layer optimization in later versions TinyDB [MF+02, 03] Declarative query interface Efficient and extensible framework Open-source implementation on real nodes
SIGMOD07 TutorialSensorDB System Design Issues5 Advantages of Sensor Databases Flexibility Declarative SQL style queries Dynamic query injection and removal Efficiency Cross-layer optimization E.g., in-network filtering and aggregation
SIGMOD07 TutorialSensorDB System Design Issues6 Challenges in Sensor Databases Dynamic data streams Hardware resource limitations Limited per-node computing power and storage Unreliable wireless communication Battery power supply Complex, networked, embedded software Blurred boundaries between components Plenty of cross-layer optimization opportunities
SIGMOD07 TutorialSensorDB System Design Issues7 Focus of this Tutorial System design issues in sensor databases Software architecture Operating system support Media Access Control (MAC) Routing Scheduling These issues often dominate the overall performance.
SIGMOD07 TutorialSensorDB System Design Issues8 Outline Introduction WSN hardware Computing, sensing, communication, and power supply Software architecture Operating system support MAC protocols Routing Scheduling Summary and future directions
SIGMOD07 TutorialSensorDB System Design Issues9 Current Sensor Node Hardware: Computing and Storage Low-power microcontroller (CPU of a node) E.g., Atmega128 (MICA series), MSP430 (Telos series), ARM/THUMB (XYZ sensor), and the latest 180MHz ARM920 (SunSpot). Limited memory RAM ≤ 10KB SRAM (Static RAM) ROM Usually ≤ 1MB flash memory
SIGMOD07 TutorialSensorDB System Design Issues10 Current Sensor Node Hardware: Sensing and Radio Sensing devices Electronic, mechanic, bio-chemical, … Radio transceiver Fixed radio frequency Omni-direction radio signal Transmission rate ≤ 200 kbps Transmission range ≤ 50 meters
SIGMOD07 TutorialSensorDB System Design Issues11 Current Sensor Node Hardware: Power Supply and Consumption Power supply Batteries, usually <= 2000 mAh Electric currents in a node Sleep µA Radio on Idle mA, compute mA Radio off Idle 1-5 mA, compute 5-10 mA Sleeping is the most effective means to save energy.
SIGMOD07 TutorialSensorDB System Design Issues12 Outline Introduction WSN hardware Software architecture Operating system support MAC protocols Routing Scheduling Summary and future directions
SIGMOD07 TutorialSensorDB System Design Issues13 Common Software Architecture of Sensor Databases Scheduling Operating System Kernel Boundaries between components in a sensorDB are blurred.
SIGMOD07 TutorialSensorDB System Design Issues14 Outline Introduction WSN hardware Common SensorDB software architecture Operating system support Hardware management Application code development and deployment MAC protocols Routing Scheduling Summary and future directions
SIGMOD07 TutorialSensorDB System Design Issues15 TinyOS (http://www.tinyos.net/) De facto OS for sensor nodes Early research effort Open source development Wide presence in commercial products Component-based architecture Adaptive to hardware changes Lightweight for various applications Event-driven processing Responsive to sensor signals and radio messages
SIGMOD07 TutorialSensorDB System Design Issues16 TinyOS Application Sensor devices Mote main board Hardware manipulation components Abstraction: Hardware: Core system components Lib componentsTinyOS interface components CommandsEvents Kernel: Application TinyOS startup (“Main”) Runable image of a TinyOS application A TinyOS application is compiled with TinyOS components.
SIGMOD07 TutorialSensorDB System Design Issues17 Some Limitations of TinyOS Static code and memory No virtual memory No dynamic memory allocation No dynamic code update Task execution without priorities Single thread Global Free Stack TinyOS memory allocation
SIGMOD07 TutorialSensorDB System Design Issues18 Contiki [DGV04] Multi-threading Lightweight program loading Lightweight communication stacks uIP A micro-version of RFC- compliant TCP/IP Rime A lightweight communication stack for low-power radio core #1 #2 #3 #n … Multi-threading in Contiki
SIGMOD07 TutorialSensorDB System Design Issues19 SOS [HK+05] Dynamic module loading Allows incremental update of binary code Runtime safety mechanisms Memory monitoring Watchdog Restart when system hangs … Module #1 Module #2 Module #N SOS Kernel Jump table 1 2 System function call Actual function to call
SIGMOD07 TutorialSensorDB System Design Issues20 MANTIS [BC+05] Multi-threading Remote testing Scheduler for duty- cycle sleeping Small code size Uses less than 500B RAM and 14KB flash memory Device driver Communication Layer Kernel / Scheduler Sensor Node Hardware MANTIS System API #1 User threads #n … Network Stack Command Server
SIGMOD07 TutorialSensorDB System Design Issues21 Load t-kernel [GS06] OS protection Separates OS/app space Virtual memory Extends the limited SRAM Preemptive scheduling Allows priorities Fault tolerance Prevents system hang-up from application errors Application binary code Naturalization Run Running an app. in t-kernel
SIGMOD07 TutorialSensorDB System Design Issues22 On-Node Virtual Machines SunSPOT A compact Java language Java VM directly runs in on-node flash memory SwissQM [MAK07] Combines a powerful gateway with a virtual machine at the sensors Query Machine (QM) Bytecode interpreter QM programs Sensors Operand stack Query synopsis Transmission buffer
SIGMOD07 TutorialSensorDB System Design Issues23 Declarative Sensor Networks [CP+07] Snlog language Datalog-like, declarative Suitable for polynomial-time programs Useful in a variety of apps Snlog compiler Translate Snlog into NesC Runtime system Components of user provided rules No on-node interpreter Snlog program nesC Templates DSN runtime components Generated NesC program NesC Compiler Snlog front-end Execution planner NesC backend Snlog compiler Binary code to be executed
SIGMOD07 TutorialSensorDB System Design Issues24 Summary on OS Support Support app. development and deployment Programming interfaces Code compilation and generation Runtime loading and modification Provide hardware resource management Sensor signals, radio messages Memory allocation and virtualization Scheduling and system safety
SIGMOD07 TutorialSensorDB System Design Issues25 OS and Sensor Databases Desirable OS features for sensor databases Multiple applications Multi-threading Virtual memory Priority scheduling Reliability and fault tolerance
SIGMOD07 TutorialSensorDB System Design Issues26 Outline Introduction WSN hardware Common SensorDB software architecture Operating system support MAC protocols CSMA, STEM, S-MAC, and T-MAC Routing Scheduling Summary and future directions
SIGMOD07 TutorialSensorDB System Design Issues27 CSMA (Carrier Sense Multiple Access) Random delay before transmission attempt Node needs to keep idle listening before its communication done Wireless collision remains a major problem Reason: no effective coordination between nodes Sender 1 Sender 2 transmitting Collision
SIGMOD07 TutorialSensorDB System Design Issues28 Sparse Topology and Energy Management (STEM) [STS02] Periodic wake up and listen Sleep when no packet to send and receive Transmit Sleep Power Listening time
SIGMOD07 TutorialSensorDB System Design Issues29 S-MAC (Sensor-MAC) [YHE02] Schedules nodes to periodically sleep Coordinates the sleeping time of neighbors for reliable transmission Listen SYNCRTS Receiver Sender Sleep
SIGMOD07 TutorialSensorDB System Design Issues30 T-MAC [DL03] Contention based protocol Dynamically ends an active period Adapts to the needs for computation and communication Aha, no more to do!, zzz~ S-MAC T-MAC Active timeSleep time Active time TA
SIGMOD07 TutorialSensorDB System Design Issues31 Summary on MAC Important for performance Communication quality Signal errors Noise Communication energy Sleeping nodes Retransmission Communication delay Negotiation for channels Wireless signal transmission delay Significant to data quality, energy efficiency and response time in query processing!
SIGMOD07 TutorialSensorDB System Design Issues32 MAC and Sensor Databases MAC behavior of sensor databases Mostly converge-cast Periodic data flows Opportunities of sensor databases for MAC Sleep scheduling that suits the data flows
SIGMOD07 TutorialSensorDB System Design Issues33 Outline Introduction WSN hardware Common SensorDB software architecture Operating system support MAC protocols Routing MintRoute, TinyAODV, and Directed Diffusion Scheduling Summary and future directions
SIGMOD07 TutorialSensorDB System Design Issues34 Location-Based Routing Requires location information Usually finds the shortest, reliable path using location information of each node Energy aware Suitable for queries with spatial predicates Can route queries to some specific regions S D Transmission range of S Shortest path
SIGMOD07 TutorialSensorDB System Design Issues35 Flooding Every node broadcasts received data Broadcast can be reduced by hop count Advantage Simple Problems Message implosion Many duplicates Resource inefficiency Most nodes busy No sleeping
SIGMOD07 TutorialSensorDB System Design Issues36 Directed Diffusion [IG+00] Queries are defined as interests. Sink nodes post interests. Source nodes generate sensory data. Source nodes select reliable and efficient routes to the sink nodes to forward data.
SIGMOD07 TutorialSensorDB System Design Issues37 Illustration of Directed Diffusion Sink node Source node Sink node Source node Sink node Step 3: Reinforce one path Step 1: Sink node propagates Interest (query) Step 2: Set up gradients
SIGMOD07 TutorialSensorDB System Design Issues38 MintRoute [WTC03] Implemented in TinyOS Can be used in TinyDB More than simple shortest-path routing Monitors link connectivity Decides a route based on both link quality and distance Unreliable, high loss rate
SIGMOD07 TutorialSensorDB System Design Issues39 TinyAODV (Tiny Ad-hoc On- Demand Distance Vector) Builds paths only when needed Uses sequence number in RREQ to avoid cycles RREQ RREQ: Route Request RREP: Route Reply RERR: Route ERRRREP DATA X RERR … SourceDestination …
SIGMOD07 TutorialSensorDB System Design Issues40 Summary on Routing Focus of current routing protocols Efficient forwarding Shortest path or least retransmission Load balancing Avoid hot spots of heavy traffic Open issues Reliability Node failure Noise Communication delay Find the path of the minimal delay
SIGMOD07 TutorialSensorDB System Design Issues41 Routing and Sensor Databases Routing characteristics of sensor databases Mainly converge-casting Not all nodes satisfy a query all the time. Opportunities of sensorDBs for routing Data flow aware routing Busy nodes get better routes. Busy queries get better routes. Query type aware routing Aggregation, duplicate-sensitivity, join
SIGMOD07 TutorialSensorDB System Design Issues42 Outline Introduction WSN hardware Common SensorDB software architecture Operating system support MAC protocols Routing Scheduling FPS, Sichitiu’s Scheme, and DCS Summary and future directions
SIGMOD07 TutorialSensorDB System Design Issues43 Goal of Scheduling Communication efficiency and reliability Coordinate nodes in communication Wireless collisions among neighbors No receiving on sleeping nodes Sending… zzz… Done! Data Lost!
SIGMOD07 TutorialSensorDB System Design Issues44 Centralized Scheduling The base station specifies schedules for all nodes. The base station must be aware of the workload and the network topology Hard to scale Hard to adapt to changes … Sink Schedule
SIGMOD07 TutorialSensorDB System Design Issues45 Distributed Scheduling Scheduling in TinyDB (query layer) A node keeps active for 4 seconds and sleeps in the remaining time in a sample interval. Sichitiu’s Scheduling Scheme [Sic04] Schedules at the MAC and routing layers Sets up both routing paths and schedules Schedule construction is time consuming and unreliable because it needs the sink to confirm.
SIGMOD07 TutorialSensorDB System Design Issues46 FPS (Flexible Power Scheduling) [HDB04] Routing-layer distributed scheduling A parent node assigns transmission slots to its children to avoid collision between siblings. Collisions among non-sibling neighbors are possible. sleep computetransmit … Slots: Time
SIGMOD07 TutorialSensorDB System Design Issues47 DCS (Distributed Cross-Layer Scheduling) [WLX06] Slot based Takes query processing cycles into account Receiving, computing, transmission, and sleep Not only parents assign schedules to children, but neighbors also negotiate. Able to avoid the collisions at the receiving nodes Attempts to assign consecutive transmission slots to each node
SIGMOD07 TutorialSensorDB System Design Issues48 DCS Components Routing Layer Query Layer MAC Layer Route Maintenance Selection / Projection / Join / Aggregation Transmission / Receiving Route Selection Collision Detection Scheduling Module Schedule Construction Time Synchronization Query Scheduling Schedule Execution
SIGMOD07 TutorialSensorDB System Design Issues49 Slot in a Schedule A slot is a time period of fixed length. Transmission, Sleeping, PL/R (Processing, Listening / Receiving), and Q/M (Query injection / route Maintenance) Slot number s at t: The length of a slot is ls. The schedule start time is t0. A sample interval has m slots.
SIGMOD07 TutorialSensorDB System Design Issues50 An Example Schedule Time Leaf Leaf Sink 0 Transmission PL/R Q/M Active (sink only) Sleeping 2 Routing tree Node 1 Node2 Node3 Hop 0 Hop 1 Hop 2
SIGMOD07 TutorialSensorDB System Design Issues51 Energy Efficiency DCS achieves 50-60% energy saving.
SIGMOD07 TutorialSensorDB System Design Issues52 Summary on Scheduling Scheduling is done on one or more layers. Scheduling is crucial for performance. Communication reliability Coordination of nodes Energy consumption Sleep scheduling Response time Different transmission timings of neighboring nodes result in different delays.
SIGMOD07 TutorialSensorDB System Design Issues53 Scheduling and Sensor Databases SensorDBs are complex to schedule. Opportunities in scheduling for sensorDBs On-node multi-query scheduling Limited resources Changing sensor environments Query-aware transmission scheduling Interaction between scheduling and query execution
SIGMOD07 TutorialSensorDB System Design Issues54 Outline Introduction WSN hardware Common SensorDB software architecture Operating system support MAC protocols Routing Scheduling Summary and future directions
SIGMOD07 TutorialSensorDB System Design Issues55 Tutorial Summary System design issues have a significant impact on the overall performance of sensor databases. A holistic sensor database system requires considerations on all layers – from OS kernel, MAC, routing to query processing. Cross-layer design is necessary, especially in scheduling.
SIGMOD07 TutorialSensorDB System Design Issues56 Future Directions Multi-query processing in sensor networks Query optimization Sharing, caching, and pipelining Scheduling Queries, operators, and transmission In-network joins among different nodes Fine-grained scheduling for node cooperation Query processing in multi-sink networks Cross-layer design is necessary for an efficient, holistic sensor database.
SIGMOD07 TutorialSensorDB System Design Issues57 References: Sensor Databases and Runtime Support [BGS01] Philippe Bonnet, Johannes Gehrke, and Praveen Seshadri. Towards Sensor Database Systems. MDM, [MF+02] Samuel Madden, Michael J. Franklin, Joseph M. Hellerstein, and Wei Hong. TAG: a Tiny AGgregation Service for Ad-Hoc Sensor Networks. OSDI, [MF+03] Samuel Madden, Michael J. Franklin, Joseph M. Hellerstein, and Wei Hong. The Design of an Acquisitional Query Processor for Sensor Networks. SIGMOD, [YG03] Yong Yao and Johannes Gehrke. Query Processing for Sensor Networks. CIDR, [MAK07] Rene Muller, Gustavo Alonso, and Donald Kossman. SwissQM: Next Generation Data Processing in Sensor Networks. CIDR, [CP+07] David Chu, Lucian Popa, Arsalan Tavakoli, Joseph M. Hellerstein, Philip Levis, Scott Shenker, and Ion Stoica. The Design and Implementation of A Declarative Sensor Network System. Submitted for publication, 2007.
SIGMOD07 TutorialSensorDB System Design Issues58 References: OS Support [DGV04] Adam Dunkels, Bj ö rn Gr ö nvall, and Thiemo Voigt. Contiki - A Lightweight and Flexible Operating System for Tiny Networked Sensors. The 29th Annual IEEE Conference on Local Computer Networks, [HK+05] Chih-Chieh Han, Ram Kumar, Roy Shea, Eddie Kohler and Mani Srivastava. A Dynamic Operating System for Sensor Nodes. International Conference on Mobile Systems, Applications, and Services, [BC+05] Shah Bhatti, James Carlson, Hui Dai, Jing Deng, Jeff Rose, Anmol Sheth, Brian Shucker, Charles Gruenwald, Adam Torgerson, and Richard Han. MANTIS OS: An Embedded Multithreaded Operating System For Wireless Micro Sensor Platforms. ACM/Kluwer Mobile Networks and Applications (MONET), Special Issue on Wireless Sensor Networks, vol. 10, no. 4, pp.563 – 579, Aug [GS06] Lin Gu and John A. Stankovic. t-kernel: Providing Reliable OS Support for Wireless Sensor Networks. SenSys, 2006.
SIGMOD07 TutorialSensorDB System Design Issues59 References: MAC and Routing [STS02] Curt Schurgers, Vlasios Tsiatsis, and Mani B. Srivastava. STEM: Topology Management for Energy Efficient Sensor Networks. IEEE Aerospace Conference, [YHE02] Wei Ye, John Heidemann, and Deborah Estrin. An Energy- Efficient MAC Protocol for Wireless Sensor Networks. INFOCOM, [DL03] Tijs van Dam and Koen Langendoen. An Adaptive Energy- Efficient MAC Protocol for Wireless Sensor Networks. SenSys, [IGE00] Chalermek Intanagonwiwat, Ramesh Govindan, and Deborah Estrin. Directed Diffusion: A Scalable and Robust Communication Paradigm for Sensor Networks. MobiCom, [WTC03] Alec Woo, Ternence Tony, and David Culler. Taming the Underlying Challenges of Reliable Multihop Routing in Sensor Networks. SenSys, 2003.
SIGMOD07 TutorialSensorDB System Design Issues60 References: Scheduling [HDB04] Barbara Hohlt, Lance Doherty, and Eric Brewer. Flexible Power Scheduling for Sensor Networks. IPSN, [Sic04] Mihail L. Sichitiu. Cross-Layer Scheduling for Power Efficiency in Wireless Sensor Networks. INFOCOM, [WLX06] Hejun Wu, Qiong Luo, and Wenwei Xue. Distributed Cross- Layer Scheduling for In-Network Sensor Query Processing. PerCom, 2006.