Odyssey Agile ApplicationAware Adaptation for Mobility Kip Walker
Odyssey Agile, Application-Aware Adaptation for Mobility Kip Walker some slides “borrowed” from Satya 15 -213 Research Overview Talk Odyssey - 1
A Glimpse of the Future Imagine you are a tourist in Paris F with a wearable computer F wireless access to remote services F unobtrusive heads-up display, microphone, earphones F speech for computer interactions F online language translation Let’s go. . . 15 -213 Research Overview Talk Odyssey - 2
What Makes This Science Fiction? Lack of hardware? NO! We have what we need. Lack of applications? Nope - we have those too. Need a system capable of coping with the problems of mobility Odyssey to the rescue. . . 15 -213 Research Overview Talk Odyssey - 3
Problems with Mobility Mobile elements are resource-poor F relative to static elements of same era F weight, power, size constraints Mobility leads to communication uncertainty F enormous variation in bandwidth & latency F intermittent connectivity Power management is a concern F actions may have to be slowed or deferred F communication costs energy need to rely on resources of remote servers, but may not be able to reach them! 15 -213 Research Overview Talk Odyssey - 4
Adaptation Make mobile clients more robust by offering adaptation F rely on servers when possible F function autonomously if needed F monitor and adjust to current conditions 15 -213 Research Overview Talk Odyssey - 5
Adaptive Applications applications consume resources network bandwidth, CPU cycles, battery power, disk space, $$$ resources are variable …so… applications adapt use of resources as resource quality changes 15 -213 Research Overview Talk Odyssey - 6
Goals Support variety of applications and data types Concurrent applications Quick adaptation Simple programming model 15 -213 Research Overview Talk Odyssey - 7
Who Controls Adaptation The Operating System? Individual applications? Both! … Application-Aware Adaptation 15 -213 Research Overview Talk Odyssey - 8
What Knobs Do We Have? Where work gets done let powerful remote servers do the work How snazzy the data is: “Fidelity” degrade data meaningfully before giving to mobile host has many dimensions F one is universal: consistency F others depend on data type movies: frame rate, frame quality geographical databases: feature set, minimum feature size F tradeoffs are application-dependent 15 -213 Research Overview Talk Odyssey - 9
Cutting to the chase… We built a prototype runs on several UN*X platforms logically an OS extension provides a small API to applications Implementation follows directly from the high-level design need data type aware components to offer fidelity choices need a central piece to watch the resources (network, etc. ) 15 -213 Research Overview Talk Odyssey - 10
Viceroy and Wardens System-level data differentiation through wardens F specialized code components (a la device drivers) F provides system-level support to manage a data type F trusted entities (unlike applications) Wardens subordinate to viceroy F single, central component F type-independent, system-level support F responsible for all resource allocation, arbitration F central point of authority and control for Odyssey 15 -213 Research Overview Talk Odyssey - 11
Client Structure Odyssey Viceroy Warden 3 Application Warden 2 Warden 1 All sys Net. BSD OS Kernel 15 -213 Research Overview Talk Upcall tem ca lls alls c y e s dys O Interceptor Odyssey - 12
Resource Negotiation Applications give viceroy a window of tolerance for some resource F viceroy monitors resource availability F if it leaves window, notifies application via upcall Fid. 1 Fid. 2 Fid. 3 Fid. 4 Available bandwidth Our architecture supports many resources F we currently focus only on network bandwidth 15 -213 Research Overview Talk Odyssey - 13
Applications Video server offers movie at several levels of fidelity application plays the track that the current bandwidth can support xanim: split into client and server WWW “distillation server” degrades data before shipping to client images can be compressed HTML can be summarized Netscape: client-side proxy + remote distillation server Speech Recognition local/remote/hybrid execution Janus: support remote recognition method, hybrid 15 -213 Research Overview Talk Odyssey - 14
Evaluation (don’t blink…) Application-aware adaptation is superior to static strategies applications are able to attain desired “performance” F movie doesn’t drop frames F web delays are masked by compression F speech recognition always available Centralized resource management outperforms alternatives all applications come closer to meeting performance goals Agility needs improvement 15 -213 Research Overview Talk Odyssey - 15
Future Work Short term F adaptation for Web objects other than images F improving agility on bandwidth drops F support for unified cache managment Medium term F explore integration of Odyssey in other operating systems F broaden number of managed resources F enlarge range of supported applications F. . . Long term F deploy Odyssey for real use F dynamic function vs. data shipping as in speech F. . . 15 -213 Research Overview Talk Odyssey - 16
Conclusion Need for adaptation in mobile systems is widely recognized Application-aware adaptation F offers most general and effective approach to adaptation F collaborative partnership between system and application F previous approaches are limiting cases of this approach Odyssey prototype provides initial validation of concept 15 -213 Research Overview Talk Odyssey - 17
Contributors to Odyssey Primary contributors F Jason Flinn F Dushyanth Narayanan F Brian Noble F M. Satyanarayanan F Eric Tilton F Kip Walker Numerous secondary contributors involved in F Coda F Janus F Net. BSD F Trace Modulation F etc. , etc. 15 -213 Research Overview Talk Odyssey - 18
- Slides: 18