Programmable Temporal Isolation in RealTime and Embedded

advertisement
Programmable Temporal Isolation in Real­Time and Embedded Execution Environments
Silviu S. Crăciunaş, Christoph M. Kirsch, Hannes Payer,
Harald Röck, Ana Sokolova
University of Salzburg, Austria
Outline

RTOS

Virtualization

Microkernels

Tiptoe design

Scheduler

Compact­fit memory management

I/O Channels
2 / 13
RTOS


Scheduling

Static time slicing 
Priorities

EDF
No temporal isolation
Protection

single address space

Co­located OS

POSIX API or non standard API?

Heterogeneous applications No spatial isolation
3 / 13
Virtualization


Benefits

Legacy software support

Device driver

Strict isolation Spatial isolation
Embedded systems are highly integrated

System VM is a black box – no control over threads

Interdomain communication
No temporal isolation
4 / 13
Microkernels


Minimal software layer on top of hardware

Fast IPC message passing

Manages light­weight isolated components
OS services and sensitive applications as servers


Spatial isolation
Protection
Microkernel as hypervisor

Type I hypervisor and paravirtualization

L4Linux, OK­Wombat, ...
No temporal isolation
5 / 13
tiptoe.cs.uni­salzburg.at
6 / 13
Temporal Isolation


Process model

Action is a piece of program code

Process as sequence of actions
Execution of an action is temporally isolated if the response time is determined by the code itself and its inputs independent of any concurrent activity
7 / 13
Scheduler



Variable bandwidth servers (VBS) for individual process actions

Generalization of constant bandwidth servers (CBS)

Bandwidth cap (U) as percentage of CPU time Virtual periodic resource (,)

Limit () 
Period () Processes dynamically adjust (,)


U
8 / 13
Scheduler


Process adjusts (,) to control its execution speed

Programmable temporal isolation

Response time variation (jitter) is at most 
Example: Controller loop with two actions

Read Sensors, calculate, and update actuators low latency

Update status, log state, send to terminal
less stringent
9 / 13
Experiment
1=320, 3550 , 2=500,5340 
10 / 13
Memory Management

Compact­fit (CF) memory management [ATC'08]

Allocator for object­based memory model

Predictable in time and space 
Integration goal

Processes specify allocation rate instead of CPU time

Controlled by VBS scheduler
11 / 13
I/O Channels



Communication link between two processes with a bandwidth cap
Data transfer is like an action

Data
– workload

Chunk size – limit

Rate
– period
Integration goal

Processes specify transfer rate of a data transfer

Controlled by VBS scheduler
12 / 13
Q&A
Thank you!
13 / 13
Download