150 likes | 470 Views
Nano-RK: An Energy-Aware Resource Centric RTOS for Sensor Networks. Anand Eswaran, Anthony Rowe and Raj Rajkumar Presented by: Ravi Ramaseshan. Motivation Architecture Implementation Sample Application Future Work Contributions. Small Footprint Battery Lifetime Requirements
E N D
Nano-RK: An Energy-Aware Resource Centric RTOS for Sensor Networks Anand Eswaran, Anthony Rowe and Raj Rajkumar Presented by: Ravi Ramaseshan
Motivation Architecture Implementation Sample Application Future Work Contributions Small Footprint Battery Lifetime Requirements Networking Stack Support Classical OS Multitasking Unified Sensor Interface Abstraction Priority-based Preemptive Scheduling Timeliness and Schedulability Enforcement of Resource Usage Limits Design Goals Nano-RK: An Energy-Aware Resource Centric RTOS for Sensor Networks
Motivation Architecture Implementation Sample Application Future Work Contributions Static Approach OS & application co-located in a single address space. Admission control and schedulability analysis tests done offline. The Nano-RK Architecture Nano-RK: An Energy-Aware Resource Centric RTOS for Sensor Networks
Motivation Architecture Implementation Sample Application Future Work Contributions The Reservation Paradigm The following are specified per task: CPU Reservations Sender/Receiver Bandwidth Reservations Sensor/Actuator Reservations The Nano-RK Architecture Nano-RK: An Energy-Aware Resource Centric RTOS for Sensor Networks
Motivation Architecture Implementation Sample Application Future Work Contributions Power Awareness Support Energy consumed by a task is the sum of: CPU energy Radio energy Sensor/Actuator energy Virtual Energy Reservations (CPU, Network, Sensor) Tweak parameters at pre-deployment stage. The Nano-RK Architecture Nano-RK: An Energy-Aware Resource Centric RTOS for Sensor Networks
Motivation Architecture Implementation Sample Application Future Work Contributions Socket Abstraction and Support High-level socket like abstraction Following are handled by Nano-RK: Populating application buffers on receipt of packets Routing table data structures Destination look-up functions One-hop transmission of packets Aggregate packets The Nano-RK Architecture Nano-RK: An Energy-Aware Resource Centric RTOS for Sensor Networks
Motivation Architecture Implementation Sample Application Future Work Contributions Hardware and Sensor Support Atmel ATMEGA128-based sensor node called Firefly build at CMU. Provides sensor system calls reading raw sensor data and converting it to meaningful units. Functions are atomic and reservations are updated on calls. The Nano-RK Implementation Nano-RK: An Energy-Aware Resource Centric RTOS for Sensor Networks
Motivation Architecture Implementation Sample Application Future Work Contributions Task Management and Scheduling Task Control Block (TCB) Register context, priority, period, (CPU, Network, Sensor) reservation-tuple, port identifiers Semaphores and mutexes for task synchronization Priority ceilings for mutexes Priority-based preemptive solution PCEP protocol resource allocation protocol The Nano-RK Implementation Nano-RK: An Energy-Aware Resource Centric RTOS for Sensor Networks
Motivation Architecture Implementation Sample Application Future Work Contributions Reservation Support Reservation Policy Hard Soft CPU: Cycles used by task Network: Bytes sent / received Sensors: Number of reads Reservation Replenished Reservation Replenished Next Period Resource reservation exhausted Task suspended Task Suspended Slack Slack Slack The Nano-RK Implementation Nano-RK: An Energy-Aware Resource Centric RTOS for Sensor Networks
Motivation Architecture Implementation Sample Application Future Work Contributions Network Stack Lightweight network protocol Allows port based communication Tightly integrated with OS allowing: Automatic packet aggregation Network reservation Buffer management policies The Nano-RK Implementation Nano-RK: An Energy-Aware Resource Centric RTOS for Sensor Networks
nrk_task_type Task1 Task1.task = Sound_Task; Task1.TaskID = 1; Task1.priority = 3; Task1.Period = 10; Task1.set_cpu_reserve = 5; Task1.set_network_reserve = 3; Task1.set_sensor_reserve = 3; nrk_activate_task (Task1); Application using Nano-RK APIs void Sound_Task () { int prev_sound, sound; char tx_buff[1]; nrk_port_des my_port; port_des = nrk_port (tx_buff, 1, 0); nrk_connect (port_des, -1); while (1) { sound = read_sensor (MIC); tx_buff[0] = sound; nrk_port_send (my_port); wait_until_send (); prev_sound = sound nrk_suspend_task (); } } Motivation Architecture Implementation Sample Application Future Work Contributions Nano-RK: An Energy-Aware Resource Centric RTOS for Sensor Networks
Motivation Architecture Implementation Sample Application Future Work Contributions Support end-to-end deadline guarantees for packet delivery Routing based on TDMA using global time synchronization Dynamic Energy-efficient routing schemes Future Work Nano-RK: An Energy-Aware Resource Centric RTOS for Sensor Networks
Motivation Architecture Implementation Sample Application Future Work Contributions Classical structured multitasking OS Allows sensor application developers to work in a familiar paradigm resulting in short learning curves and quicker application development times. API support for: Task management Synchronization IPC and high level network abstractions Reservation based approach to provide bounds on timeliness & QoS of node life. Contributions Nano-RK: An Energy-Aware Resource Centric RTOS for Sensor Networks
The TinyOS is less intuitive for application developers. TinyOS has a smaller memory footprint. Tasks cannot be preempted in TinyOS. Real Time Embedded Operating System? No priority based scheduling policy No resource allocation policy Design objective: Flexibility and accelerate innovation. Comparison with TinyOS Motivation Architecture Implementation Sample Application Future Work Contributions Comparison Nano-RK: An Energy-Aware Resource Centric RTOS for Sensor Networks