Download presentation
Presentation is loading. Please wait.
Published byImogene Joseph Modified over 9 years ago
1
Justin
2
Outline Introduction The Challenge of Preemption TOSThreads Architecture Implementation Evaluation
3
Introduction Operating System for WSNs Support multiple concurrent execution ○ Network protocol, storage and data filter…etc Event-driven execution ○ TinyOS Disadvantage Develop higher-level services and application ○ Compression
4
The Challenge of Preemption Challenge: Ability to call kernel code (code interact with hardware) Common techniques Cooperative threading – using yield Kernel locking – using mutex Message passing
5
TOSThreads Architecture TinyOS – two classes of execution Synchronous (tasks) Asynchronous (interrupts) TOSThreads – third class User-level application threads Goals Minimun TinyOS kernel modification
6
TOSThreads Architecture Original TinyOS
7
Implementation Platform independent Thread scheduler Thread and system call structure Dynamic linking and loading Platform dependent Context switch (assembly language) Post-amble for interrupt handler
8
Flexible User/Kernel Boundary Blocking system call API Dynamic Linker and Loader System Call Task Application-level thread 1,2,3… SendRecv SenseFile Kernel-level thread TinyOS Original code
9
Kernel-level thread TinyOS Original code App-level thread 1 App-level thread 2 App-level thread 3 Thread Scheduler TinyOS Modification Boot sequence Hardware Initialize Task Scheduler
10
Evaluation - Microbenchmark Overhead can be tolerated
11
Evaluation - Energy analysis SSF application (Sense, Store and Forward) Sense and write to flash per 5 mins Send via radio per 12hours
12
Evaluation - Tenet A linear dataflow programs consisting of a sequence of tasklets. Repeat(1000ms) > Sample(ADC1,T) > LEQ(A,T,50) > DeleteDataIf(A) > Send()
13
Evaluation - Tenet Tenet – C Implement in TOSThread and TinyLD
14
Evaluation - Tenet Tenet – C Implement in TOSThread and TinyLD Repeat(100ms) > ReadBlock(A,1024) > Avg(B,A) > MeanDev(C,A) > Send() Repeat(50ms) > TimeStamp(A) > Sample(ADC5,V) > Send() TaskLong TaskSample
15
Evaluation - Tenet
16
Conclusion TOSThread Thread-safe Non-invasive Overhead is less Dynamic linking and loading is less – 0.92%
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.