Download presentation
Presentation is loading. Please wait.
1
Building Resource-Aware Applications and Systems Michael B. Jones Microsoft Research
2
Goal: Coexisting Independent Real-Time Applications Independently developed Predictable concurrent execution of real-time and non-real-time apps Meeting all apps’ timing needs Informing apps when not possible
3
Overview Review: Need for Resource Management Motivating Examples Resource Awareness New: Systems support for resource-aware applications and systems Call to Action
4
Case for Explicit Resource Allocation and Accounting Time-sensitive applications need: different resources at different rates in different amounts Even infinite resources insufficient if not given to apps in timely fashion
5
Assumption: Multiple Tasks Assumption: Multiple concurrent tasks At least one time-sensitive Many such tasks to choose from: Media input, output Speech, vision-based UIs Software modems, sound cards,... Industrial device control etc.
6
One Real-Time Task Enough Time-aware resource management needed even if just one real-time task Competing normal tasks can still cause real-time task to fail Round-robin with to large a period Fair share with too small a proportion
7
Motivating Examples Speech, vision based intelligent UIs All the resources all the time Low-latency response required Reducing PC costs via “soft migration” Soft modems, soft ADSL, etc. Reliability Contain denial of service attacks Consumer real-time applications Coexist with independently developed real- time and non-real-time applications
8
Resource Awareness Only apps know their timing requirements must have a vocabulary for expressing them Only system can enforce resource guarantees must do resource accounting to fulfill negotiated resource guarantees Both must be Resource Aware
9
Building Resource-Aware Applications and Systems Resource management uses negotiation among three parties: Applications Resource consumers Resource Planner Locus of policy decisions Acts on user’s behalf Resource Providers Scheduler, memory manager, net bandwidth, etc.
10
Activity SCSI Disk IResource IScsiDisk CPU IResource ICpu ATM Adapter IResource IAtmCard File Sys IResource IFileSys Network IResource INetwork Resource Planner IPlanner (ScsiDisk, 60%) (CPU, 30%) (ATM, 20%)... (Activity, 20%) (Activity, 30%) (Activity, 60%) Resource Management
11
Determining Application Resource Needs Adaptive approach: 1.Observe own resource usage 2.Compute expected needs from past observations 3.Reserve appropriate resource amounts Resource self-aware applications key Only apps have knowledge to make appropriate resource tradeoffs Uncertainty in amounts inherent Caches, busses, CPU speeds, contention
12
Sacs Disk IResource IScsiDisk CPU IResource ICpu ATM Adapter IResource IAtmCard File Sys IResource IFileSys Network IResource INetwork Constraint-based Requests Quality-of-service Streaming Activity Resource Planner IPlanner Using Resources
13
Activity Sacs Disk IResource IScsiDisk CPU IResource ICpu ATM Adapter IResource IAtmCard File Sys IResource IFileSys Network IResource INetwork Resource Planner IPlanner Negotiate Persistent Overload! Another Activity Reserve! Resource Negotiation
14
Tying It All Together OS Results: Built, studied effective mechanisms for scheduling and resource management Separation of mechanism and policy Allows Resource Planner to manage resources on user’s behalf Decision Theory, User Modeling: Provides effective means for planner to determine appropriate policies Goal maximizing value perceived by user User-aware UIs need these results!
15
Missing Information Paths In current general-purpose systems: Apps can’t tell system: when code needs to be executed amounts of resources they need System can’t tell apps: whether deadlines will be met amounts of resources available to them Both flying blind
16
Call To Action Future systems must provide: Explicit resource management interfaces Predictable low-latency scheduling Enabling technology for: User interface advances Reduced cost computing More reliable computing Consumer real-time applications
17
Building Resource-Aware Applications and Systems Discussion
18
For More Information Contact me: Mike Jones, mbj@microsoft.com Or see: http://research.microsoft.com/~mbj/
19
“Back Pocket” Slides...
20
Scheduling Research CPU scheduling built on Rialto OS Research version of MMOSA ITV OS Provides both: Ongoing CPU Reservations Guarantee at least X time every Y time period Fine-grained Deadline Scheduling Do estimate work within time interval
21
CPU Reservation Guaranteed execution rate and granularity for an activity X units of time out of every Y units, e.g. 800µs every 5ms 7.5ms every 33.3ms one second every minute Continuously guaranteed
22
Time Constraint Deadline-based thread execution Guarantees execution within interval, or Proactively denies constraint request schedulable = BeginConstraint (time_interval, estimate); if (schedulable) then Do normal work under constraint else Transient overload -- shed load if possible time_taken = EndConstraint ();
23
Adding Reservations to Existing Apps 1 MPEG & 5 AVI players, with reservations on Rialto CPU reservations improve performance
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.