Title: Nano-RK: An Energy-Aware Resource Centric RTOS for Sensor Networks
1Nano-RK An Energy-Aware Resource Centric RTOS
for Sensor Networks
- Anand Eswaran, Anthony Rowe and Raj Rajkumar
- Presented by Ravi Ramaseshan
2Design Goals
- 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
3The Nano-RK Architecture
- 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.
4The Nano-RK Architecture
- 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
5The Nano-RK Architecture
- 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.
6The Nano-RK Architecture
- 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
7The Nano-RK Implementation
- 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.
8The Nano-RK Implementation
- 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
9The Nano-RK Implementation
- 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
10The Nano-RK Implementation
- 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
11Application using Nano-RK APIs
void Sound_Task () int prev_sound,
sound char tx_buff1 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_buff0
sound nrk_port_send (my_port) wait_until_sen
d () prev_sound sound nrk_suspend_task
()
- 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)
Motivation Architecture Implementation Sample
Application Future Work Contributions
12Future Work
- 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
13Contributions
- 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.
14Comparison with TinyOS
- 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.
Motivation Architecture Implementation Sample
Application Future Work Contributions Comparison