System Architecture Directions for Networked Sensors (J. Hill, et al)What are Networked Sensors?Networked Sensor CharacteristicsSample Hardware DesignTinyOS OverviewTinyOS Design – ComponentsAd hoc Routing ApplicationHow Does TinyOS Perform?Slide 9Slide 10Related WorkArchitectural ImplicationsConclusions/QuestionsEE249 Discussion1System Architecture Directions for Networked Sensors (J. Hill, et al)Presented By: Sarah BergbreiterEE249 Discussion SectionOctober 15, 2002EE249 Discussion2What are Networked Sensors?•Cheap, plentiful, low-power, small, communication-enabled (radio, optical, etc)Mica MoteSmart Dust1mmEE249 Discussion3Networked Sensor Characteristics •Small physical size and low power consumption•Concurrency Intensive Operation –sensing data, forwarding packets, etc.•Limited Physical Parallelism and Controller Hierarchy–can’t have one processor per sensor•Diversity in Design and Usage–modular components allow for application specific design•Robust Operation–numerous and unattendedEE249 Discussion4Sample Hardware Design Radio - 1J/bit - real time constraints Coprocessor - reprogramming Atmel AVR - power save modes - memory constrained SensorsEE249 Discussion5TinyOS Overview•Small size and power limitations decided by the hardware platform•Two-Level Scheduling–long running tasks (processing data)–hardware events (radio, sensors, etc.)•Event-Driven Design–better concurrency–power savings•Modular Component-Based DesignEE249 Discussion6TinyOS Design – Components•Commands•Events•Frame–static, fixed•Tasks–simulate concurrency•Type depends on hardware connectionINITPOWERSEND_MSGINITPOWERTX_PACKETMSG_RECMSG_SEND _DONERX_PACKET _DONETX_PACKET _DONEMESSAGING COMPONENTINTERNALSTATE(FRAME)SEND_MSGTHREADEE249 Discussion7Ad hoc Routing Application124567 1234567893EE249 Discussion8How Does TinyOS Perform?•Small Physical Size–scheduler uses 178 bytes program memory, 16 bytes data memory–application ~3k program memory, 226 bytes data memory•Concurrency-intensive Operations–context switching relatively cheap (equivalent to writing 6 bytes in memory)–interrupt handling more expensive in softwareEE249 Discussion9How Does TinyOS Perform?•Efficient Modularity–using function calls to propagate events and commands keeps costs low40s90sEE249 Discussion10How Does TinyOS Perform?•Limited Physical Parallelism and Controller Hierarchy–make design choices about parallelism based on data•Diversity in Usage and Robust Operation–reconfigurable for node failureEE249 Discussion11Related Work•Other Operating Systems–These operating systems address embedded PCs–Control v. dataflow (context switching difficult)•FSM Description Language•New Hardware Platforms and ApplicationsEE249 Discussion12Architectural Implications•Physical parallelism is optional•Deciding where to draw the hardware/software boundary line may improve performance and/or power usage•Quantified effect of additional hardware support (early benchmarks)EE249 Discussion13Conclusions/Questions•Sample hardware/software architecture presented for networked sensors•Bigger is no longer better•Platform-based design?•Complexity
View Full Document