Building ResourceAware Applications and Systems - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

Building ResourceAware Applications and Systems

Description:

Competing normal tasks can still cause real-time task to fail. Round-robin with to large a period ... at least X time every Y time period. Fine-grained Deadline ... – PowerPoint PPT presentation

Number of Views:43
Avg rating:3.0/5.0
Slides: 24
Provided by: mikej3
Category:

less

Transcript and Presenter's Notes

Title: Building ResourceAware Applications and Systems


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 users behalf
  • Resource Providers
  • Scheduler, memory manager, net bandwidth, etc.

10
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
Using Resources
Activity
Resource Planner
Constraint-based Requests
Quality-of-service Streaming
IResource
IResource
CPU
ATM Adapter
ICpu
IAtmCard
13
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
    users 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 cant tell system
  • when code needs to be executed
  • amounts of resources they need
  • System cant 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_at_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
CPU reservations improve performance
  • 1 MPEG 5 AVI players, with reservations on
    Rialto
Write a Comment
User Comments (0)
About PowerShow.com