Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dreams in a Nutshell Steven Sommer Microsoft Research Institute Department of Computing Macquarie University.

Similar presentations


Presentation on theme: "Dreams in a Nutshell Steven Sommer Microsoft Research Institute Department of Computing Macquarie University."— Presentation transcript:

1 Dreams in a Nutshell Steven Sommer steve@mpce.mq.edu.au Microsoft Research Institute Department of Computing Macquarie University

2 2 August 1997USENIX Windows NT Workshop Overview 1. Background 2. Dreams Model 3. Overrun 4. Implementation

3 3 August 1997USENIX Windows NT Workshop Dreams u Distributed Real-time Extensions with Application to Multimedia Systems u Extend conventional operating systems to support distributed real-time applications u Paradigm preserving

4 4 August 1997USENIX Windows NT Workshop Key Paradigm Differences u Multiple competing applications u Temporal protection u Absence of a priori knowledge u Different kinds of applications u Subsystems (servers) u Interrupts u Dynamic distribution

5 5 August 1997USENIX Windows NT Workshop 2. The Dreams Model u Transient Periodic Processes u Periodic Invocations u Specified F Period F Deadline F Execution Time

6 Application Create Real-Time Process Manager Reservations Manager Make Reservation System P1 P9 P5 Free Reserved 100% 0% Schedulability Test Yes / No Distribute Process Table P1 P5 P9 Create the Process Yes / No Real-Time Ready-to-Run Queue Add Process P1P5P9 CPU Allocate to CPU Scheduler 80486 Enforcer 6 The Dreams Model

7 7 August 1997USENIX Windows NT Workshop 3. Overrun Concepts u System guarantee: u A real-time task will receive its reserved resources between each invocation’s start-time and deadline u A task which consumes its reserved capacity without completing has overrun è Only overrun tasks can miss their deadlines u Task continues in overrun state u Overrun tasks receive refreshed resources at the start of their next period

8 Waiting Runnable Overrun Invocation’s Start Time Scheduled Thread Invocation Completion Invocation Overrun Overrun Leave Overrun Try Scheduling and Overrun 8

9 Sample Schedule 0 100 200 300 400 Time ID 01234567890123456789012345678901234567890123456789 ---- 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.R3333333R33333.........R3333R33 Legend:(S)tart(time) (R)un (scheduled) (C)ompleted (O)verrun Multiple Process Period Reservation Av. Execution Time first scheduled T1 100 20 20 ~70 T2 250 110 100 ~70 T3 1000 440 400 ~480. = 10ms

10 10 4. Implementation u Windows NT 3.51 implementation u Minimal impact on: u Non-real-time execution u Existing operating system code u Programming paradigm

11 Win32Subsystem POSIXSubsystem OS/2 ® Client Win32 ™ Client POSIXClient Protectedsubsystems(servers) User mode Kernel mode System Trap Message Passing / Shared Memory OS/2Subsystem DreamsSubsystem Applications DreamsClient System services I/O manager Kernel File systems Cache manager Device drivers Network drivers Hardware abstraction layer SecurityReferenceMonitor ObjectManagerProcessManager VirtualMemoryManager LocalProcedureCall Executive 11

12 Kernel Mode Dreams Window NT Kernel Dreams Subsystem Memory Space Dreams Client Application Memory Space Kernel Call Application Process Dreams DLL Real-Time Thread Dreams DLL Real-Time Scheduler + Enforcer Real-Time Thread Manager API Call Non real-time priority Real-time priority Procedure call via named pipes Shared Data Area Requests / Process Table Blocking Access Non blocking access Non blocking communication Shared Memory Periodic Invocation Reservation Manager Scheduling via NT Priority Control Create Thread 12

13 13 Implementation Experience u Dreams extensions in a subsystem u Meet implementation goals u Simpler development, modification, and testing u Priority inheritance u Useful in all operating systems (not just real-time) u Performance improvement u Two tiered scheduler (with priority inheritance) u Hides scheduling complexities u Simpler scheduling u Simpler schedulability model u Simpler timing and enforcement

14 14 August 1997USENIX Windows NT Workshop Summary u Background u Dreams Model u Overrun u Implementation

15 Sample Schedule 0 100 200 300 400 Time ID 01234567890123456789012345678901234567890123456789 ---- 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.R3333333R33333.........R3333R33 Legend:(S)tart(time) (R)un (scheduled) (C)ompleted (O)verrun Multiple Process Period Reservation Av. Execution Time first scheduled T1 100 20 20 ~70 T2 250 110 100 ~70 T3 1000 440 400 ~480. = 10ms


Download ppt "Dreams in a Nutshell Steven Sommer Microsoft Research Institute Department of Computing Macquarie University."

Similar presentations


Ads by Google