logging in or signing up Dreams in a Nutshell aSGuest1393 Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINT lite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 30 Category: Others/ Misc License: All Rights Reserved Like it (0) Dislike it (0) Added: October 20, 2008 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript Dreams in a Nutshell : Dreams in a Nutshell Steven Sommer steve@mpce.mq.edu.au Microsoft Research Institute Department of Computing Macquarie University Overview : August 1997 USENIX Windows NT Workshop Overview 1. Background 2. Dreams Model 3. Overrun 4. Implementation Dreams : August 1997 USENIX Windows NT Workshop Dreams Distributed Real-time Extensions with Application to Multimedia Systems Extend conventional operating systems to support distributed real-time applications Paradigm preserving Key Paradigm Differences : August 1997 USENIX Windows NT Workshop Key Paradigm Differences Multiple competing applications Temporal protection Absence of a priori knowledge Different kinds of applications Subsystems (servers) Interrupts Dynamic distribution 2. The Dreams Model : August 1997 USENIX Windows NT Workshop 2. The Dreams Model Transient Periodic Processes Periodic Invocations Specified Period Deadline Execution Time The Dreams Model : 6 The Dreams Model 3. Overrun Concepts : August 1997 USENIX Windows NT Workshop 3. Overrun Concepts System guarantee: A real-time task will receive its reserved resources between each invocation’s 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 Slide 8: Waiting Runnable Overrun Invocation’s Start Time Scheduled Thread Invocation Completion Invocation Overrun Overrun Leave Overrun Try Scheduling and Overrun 8 Sample Schedule : 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 4. Implementation : 4. Implementation Windows NT 3.51 implementation Minimal impact on: Non-real-time execution Existing operating system code Programming paradigm Slide 11: Win32 Subsystem Win32™ Client Protected subsystems (servers) User mode Kernel mode System Trap Message Passing / Shared Memory Dreams Subsystem Applications Dreams Client System services I/O manager Kernel File systems Cache manager Device drivers Network drivers Hardware abstraction layer Security Reference Monitor Object Manager Process Manager Virtual Memory Manager Local Procedure Call Executive 11 Slide 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 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 Implementation Experience : 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 Summary : August 1997 USENIX Windows NT Workshop Summary Background Dreams Model Overrun Implementation Sample Schedule : 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 You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
Dreams in a Nutshell aSGuest1393 Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINT lite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 30 Category: Others/ Misc License: All Rights Reserved Like it (0) Dislike it (0) Added: October 20, 2008 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript Dreams in a Nutshell : Dreams in a Nutshell Steven Sommer steve@mpce.mq.edu.au Microsoft Research Institute Department of Computing Macquarie University Overview : August 1997 USENIX Windows NT Workshop Overview 1. Background 2. Dreams Model 3. Overrun 4. Implementation Dreams : August 1997 USENIX Windows NT Workshop Dreams Distributed Real-time Extensions with Application to Multimedia Systems Extend conventional operating systems to support distributed real-time applications Paradigm preserving Key Paradigm Differences : August 1997 USENIX Windows NT Workshop Key Paradigm Differences Multiple competing applications Temporal protection Absence of a priori knowledge Different kinds of applications Subsystems (servers) Interrupts Dynamic distribution 2. The Dreams Model : August 1997 USENIX Windows NT Workshop 2. The Dreams Model Transient Periodic Processes Periodic Invocations Specified Period Deadline Execution Time The Dreams Model : 6 The Dreams Model 3. Overrun Concepts : August 1997 USENIX Windows NT Workshop 3. Overrun Concepts System guarantee: A real-time task will receive its reserved resources between each invocation’s 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 Slide 8: Waiting Runnable Overrun Invocation’s Start Time Scheduled Thread Invocation Completion Invocation Overrun Overrun Leave Overrun Try Scheduling and Overrun 8 Sample Schedule : 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 4. Implementation : 4. Implementation Windows NT 3.51 implementation Minimal impact on: Non-real-time execution Existing operating system code Programming paradigm Slide 11: Win32 Subsystem Win32™ Client Protected subsystems (servers) User mode Kernel mode System Trap Message Passing / Shared Memory Dreams Subsystem Applications Dreams Client System services I/O manager Kernel File systems Cache manager Device drivers Network drivers Hardware abstraction layer Security Reference Monitor Object Manager Process Manager Virtual Memory Manager Local Procedure Call Executive 11 Slide 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 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 Implementation Experience : 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 Summary : August 1997 USENIX Windows NT Workshop Summary Background Dreams Model Overrun Implementation Sample Schedule : 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