150 likes | 315 Views
Towards 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
E N D
Towards 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 • Informing apps when not possible
Overview • Need for Resource Management • Motivating Examples • Resource Awareness • Call to Action
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
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.
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
Motivation: User Interfaces • User interfaces can use all the resources, all the time! • Speech, vision understanding, implicit queries, etc. can use as much as they get • Must manage background activities’ resource usage so real work gets done • Low-latency responses required • Camera-based head motion parallax driving 3D virtual environment needs< 200ms response — 50-100ms ideal • Simple timesharing, priority schemes won’t get the right tasks done at the right times
Motivation: Reducing Costs • PC industry wants lower prices points • Buying choice different below ~$400 • “Soft Migration” one means • Remove “extra” CPUs, such as modem DSP • $15 parts cost => ~$45 retail cost • Soft modems work well on 200MHz MMX • Sample processing rates • ~12ms in normal operation • ~1.5ms during training • Infeasible without appropriate scheduling
Motivation: Reliability • Denial of Service attacks steal resources • Resource management can guarantee resources to “good” clients • Example: Resource Container results protecting web servers from SIN attacks (Banga, Druschel, & Mogul: OSDI ’99)
Motivation: Consumer Real-Time Applications • Enable consumers to purchase or download applications • some of which have real-time needs • just like current shrink-wrapped & Internet applications today • with expectation independently developed apps will successfully coexist.
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
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
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
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