Dreams in a Nutshell - PowerPoint PPT Presentation

1 / 14
About This Presentation
Title:

Dreams in a Nutshell

Description:

... task will receive its reserved resources between each invocation's start-time and deadline. A task which consumes its reserved capacity without completing has ... – PowerPoint PPT presentation

Number of Views:18
Avg rating:3.0/5.0
Slides: 15
Provided by: steven411
Category:

less

Transcript and Presenter's Notes

Title: Dreams in a Nutshell


1
Dreams in a Nutshell
  • Steven Sommer
  • steve_at_mpce.mq.edu.au

Microsoft Research Institute Department of
Computing Macquarie University
2
Overview
  • 1. Background
  • 2. Dreams Model
  • 3. Overrun
  • 4. Implementation

3
Dreams
  • Distributed Real-time Extensions with Application
    to Multimedia Systems
  • Extend conventional operating systems to support
    distributed real-time applications
  • Paradigm preserving

4
Key Paradigm Differences
  • Multiple competing applications
  • Temporal protection
  • Absence of a priori knowledge
  • Different kinds of applications
  • Subsystems (servers)
  • Interrupts
  • Dynamic distribution

5
2. The Dreams Model
  • Transient Periodic Processes
  • Periodic Invocations
  • Specified
  • Period
  • Deadline
  • Execution Time

6
The Dreams Model
6
7
3. Overrun Concepts
  • System guarantee
  • A real-time task will receive its reserved
    resources between each invocations start-time
    and deadline
  • A task which consumes its reserved capacity
    without completing has overrun
  • Only overrun tasks can miss their deadlines
  • Task continues in overrun state
  • Overrun tasks receive refreshed resources at the
    start of their next period

8
Scheduling and Overrun
Waiting
Invocation Completion
Invocations Start Time
Scheduled Thread
Runnable
Invocation Overrun
Overrun Try
Overrun
Overrun Leave
8
9
Sample Schedule
Process Period Reservation Av. Execution
Time first scheduled T1 100 20
20 70 T2 250 110
100 70 T3 1000 440
400 480
. 10ms
0 100 200 300
400 Time ID 01234567890123456789012345678901234567
890123456789 ---- 4500 1 .......RC........RC.....
...RC........RC........R1O 4500 2
.......SR2222222C...............R22222R22C........
4500 3 33333333........R3R333333333R3333........
R333333.R 5000 1 .......C.........R1O..RC...R1C.
......R1O..C....R1O 5000 2 .......R2222222C......
..........R22222.R22C....... 5000 3
33333333.......R33.R33C.........................SR
5500 1 .......C.........R1O.......C.........R1O
.......C.. 5500 2 .......R2222222C...............
.R22222.R22C....... 5500 3 33333333.......R33.R33
33333R33333.........R3333R33
Legend(S)tart(time) (R)un (scheduled)
(C)ompleted (O)verrun Multiple
10
4. Implementation
  • Windows NT 3.51 implementation
  • Minimal impact on
  • Non-real-time execution
  • Existing operating system code
  • Programming paradigm

11
Dreams Client
Win32 Client
Applications
Protected subsystems (servers)
Dreams Subsystem
Win32 Subsystem
User mode
Kernel mode
Executive
System services
I/O manager
Virtual Memory Manager
Security Reference Monitor
Local Procedure Call
Object Manager
Process Manager
File systems
Cache manager
Device drivers
Kernel
Network drivers
Hardware abstraction layer
Message Passing / Shared Memory
System Trap
11
12
Dreams Subsystem Memory Space
Dreams Client Application Memory Space
Reservation Manager
Application Process
Real-Time Thread Manager
API Call
Dreams DLL
Procedure call via named pipes
Blocking Access
Non real-time priority
Shared Data Area Requests / Process Table
Create Thread
Real-time priority
Non blocking access
Real-Time Thread
Real-Time Scheduler Enforcer
Non blocking communication
API Call
Periodic Invocation
Dreams DLL
Shared Memory
Kernel Call
Window NT Kernel
Scheduling via NT Priority Control
Kernel Mode Dreams
12
13
Implementation Experience
  • Dreams extensions in a subsystem
  • Meet implementation goals
  • Simpler development, modification, and testing
  • Priority inheritance
  • Useful in all operating systems (not just
    real-time)
  • Performance improvement
  • Two tiered scheduler (with priority inheritance)
  • Hides scheduling complexities
  • Simpler scheduling
  • Simpler schedulability model
  • Simpler timing and enforcement

14
Summary
  • Background
  • Dreams Model
  • Overrun
  • Implementation

15
Sample Schedule
Process Period Reservation Av. Execution
Time first scheduled T1 100 20
20 70 T2 250 110
100 70 T3 1000 440
400 480
. 10ms
0 100 200 300
400 Time ID 01234567890123456789012345678901234567
890123456789 ---- 4500 1 .......RC........RC.....
...RC........RC........R1O 4500 2
.......SR2222222C...............R22222R22C........
4500 3 33333333........R3R333333333R3333........
R333333.R 5000 1 .......C.........R1O..RC...R1C.
......R1O..C....R1O 5000 2 .......R2222222C......
..........R22222.R22C....... 5000 3
33333333.......R33.R33C.........................SR
5500 1 .......C.........R1O.......C.........R1O
.......C.. 5500 2 .......R2222222C...............
.R22222.R22C....... 5500 3 33333333.......R33.R33
33333R33333.........R3333R33
Legend(S)tart(time) (R)un (scheduled)
(C)ompleted (O)verrun Multiple
Write a Comment
User Comments (0)
About PowerShow.com