1 / 23

Building Resource-Aware Applications and Systems

Building Resource-Aware Applications and Systems. Michael B. Jones Microsoft Research. Goal: Coexisting Independent Real-Time Applications. Independently developed Predictable concurrent execution of real-time and non-real-time apps Meeting all apps’ timing needs

salena
Download Presentation

Building Resource-Aware Applications and Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. IPlanner IResource IResource File Sys Network IFileSys INetwork IResource SCSI Disk IScsiDisk Resource Management Activity Resource Planner (ScsiDisk, 60%) (CPU, 30%) (ATM, 20%) ... (Activity, 30%) (Activity, 20%) (Activity, 60%) IResource IResource CPU ATM Adapter ICpu IAtmCard

  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. IPlanner IResource IResource File Sys Network IFileSys INetwork IResource Sacs Disk IScsiDisk Using Resources Activity Resource Planner Constraint-based Requests Quality-of-service Streaming IResource IResource CPU ATM Adapter ICpu IAtmCard

  13. IPlanner IResource IResource File Sys Network IFileSys INetwork IResource Sacs Disk IScsiDisk Resource Negotiation Another Activity Reserve! Activity Resource Planner Negotiate Persistent Overload! IResource IResource CPU ATM Adapter ICpu IAtmCard

  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 everyY 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 CPU reservations improve performance 1 MPEG & 5 AVI players, with reservations on Rialto

More Related