Presentation is loading. Please wait.

Presentation is loading. Please wait.

Network Computing Laboratory Odyssey: Agile Application- Aware Adaptation for Mobility SOSP ’97 Brian D. Noble 외, CMU Presenter: Youngki Lee.

Similar presentations


Presentation on theme: "Network Computing Laboratory Odyssey: Agile Application- Aware Adaptation for Mobility SOSP ’97 Brian D. Noble 외, CMU Presenter: Youngki Lee."— Presentation transcript:

1 Network Computing Laboratory Odyssey: Agile Application- Aware Adaptation for Mobility SOSP ’97 Brian D. Noble 외, CMU Presenter: Youngki Lee

2 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 2 Contents Motivating scenario Odyssey Goals Fidelity Concurrency Agility Application-aware adaptation Odyssey architecture and APIs Example applications Experiments Conclusion

3 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 3 Motivating Scenario Speech Recognition Server Video Streaming Server Web server Travel information response Voice Recognized command Travel information request Video narration of local history Request

4 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 4 What does odyssey do? Speech Recognition Server Video Streaming Server Web server Travel information response Voice Recognized command Travel information request Video narration of local history Request Odyssey monitors resources. Bandwidth, CPU cycles and battery power Odyssey interacts with each application to best exploit monitored resources. When high bandwidth connectivity is lost due to a radio shadow Odyssey detects the change and notifies interested applications Application-dependant adaptation When the user emerges from the radio shadow Revert!!

5 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 5 Goals Support variety of applications and data types Concurrent applications Quick adaptation Simple programming model

6 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 6 Fidelity The degree to which data presented at a client matches the reference copy at the server How snazzy the data is. The dimensions of fidelity are natural axes of adaptation for mobility. Fidelity has many dimensions one is universal: consistency others depend on data type video: frame rate, frame quality geographical databases: feature set, minimum feature size tradeoffs are application-dependent A key goal of Odyssey is to provide a framework within which diverse notions of fidelity can easily be incorporated.

7 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 7 Concurrency Many mobile users will find it valuable to run background applications in addition to the foreground application that dominates their attention. Background: information filtering application monitoring data such as stock prices or enemy movement One must control the use of limited resources. Application transparent such as OS? Application dependant such as Eudora?

8 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 8 Agility A key property of an adaptive system is the speed and accuracy with which it detects and responds to changes in resource availability. Especially important when changes are large and erratic. Agility is complex property with many components. Differing sensitivities to different resources. A system may be much more sensitive to changes in network bandwidth than to changes in battery power level. Differing origins of changes in resource availability. Supply of a resource due to mobility Demand for resource by concurrent applications.

9 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 9 Application-Aware Adaptation Who is responsible for adaptation ? Individual applications (laissez-faire adaptation) The system (application-transparent adaptation) system provides resource arbitration and control fidelity. Both (application-aware adaptation) application specific information is used while the system controls resources. Application-aware Odyssey Laissez-faire (ex. Eudora) Application-transparent (ex. Coda) Application diversity ↑Application currency ↑

10 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 10 Application-Aware Adaptation Collaborative partnership between the system and individual applications. The system monitors resource levels, notifies applications of relevant changes, and enforces resource allocation decisions. Each application independently decides how best to adapt when notified. Both of application diversity and currency are achieved. Diversity is accommodated by allowing applications to determine the mapping of resource levels to fidelity levels Concurrency is supported by allowing the system to retain control of resource monitoring and arbitration.

11 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 11 Odyssey System Architecture Interceptor Application Odyssey NetBSD OS Kernel Warden2 Warden3 Viceroy Warden1 Odyssey calls Upcall All system calls

12 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 12 Viceroy and Wardens System-level data differentiation through wardens Many, per application (data type) provides system-level support to manage a data type To support a new data type, an appropriate warden has to be written Wardens subordinate to viceroy single, central component type-independent, system-level support responsible for all resource allocation, arbitration central point of authority and control for Odyssey

13 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 13 Resource Negotiation Applications give viceroy a window of tolerance for some resource viceroy monitors resource availability if it leaves window, notifies application via upcall Our architecture supports many resources we currently focus only on network bandwidth Available bandwidth Fid. 1 Fid. 2 Fid. 3 Fid. 2 Time

14 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 14 Odyssey API Resource negotiation operations request(in path, in resource-descriptor, out request id) cancel(in request-id) Upcall handler handler(in request-id, in resource-id, in resource-level) Changing Fidelity: Type-specific operations tsop(in path, in opcode, in insize, in inbuf, inout outsize, out outbuf) Resource Descriptor Fields Resource-id Lower bound Upper bound Name of upcall handler Generic Resources in Odyssey Network bandwidth Network latency Disk cache space CPU Battery power

15 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 15 Example Applications Video player Web browser Speech recognizer

16 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 16 Video Player xanim: split into client and server server offers movie at several levels of fidelity application plays the track that the current bandwidth can support Xanim Video Server Viceroy Video Warden Odyssey API RPC Client JPEG(99) JPEG(50) Black-and-white Two tsops (1)To read a movie’s meta data (2)To get a particular frame from a specified track

17 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 17 Web Browser Netscape: client-side proxy (cellophane) + remote distillation server distillation server degrades data before shipping to client Netscape Distillation Server Viceroy Web Warden Odyssey API RPC Client Cellophane HTTP To Web servers Tsop to set a fidelity level

18 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 18 Speech Recognizer Janus: support remote recognition method, hybrid Xanim Remote Janus Server Viceroy Video Warden Odyssey API RPC Client Local Janus Server RPC

19 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 19 Evaluation How agile is Odyssey in the face of changing network bandwidth? How beneficial is it for applications to exploit the dynamic adaptation made possible by Odyssey How important is centralized resource management for concurrent applications?

20 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 20 Agility Matrics The field of control systems Characterize the adaptive ability of a system with respect to a particular output in terms of its responses to a set of input reference waveforms Reference waveforms 30 sec 60 sec 2 sec

21 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 21 Experimental methodology Generating discontinuous waveforms It is impossible in real network to generate those waveforms precisely and repeatedly. So, trace modulation is used. Interpreting results Fidelity and performance should be considered together. Experimental conditions 90 MHz Pentium client with 32 MB of memory A collection of 200 MHz Pentium Pro servers with 64MB of memory NetBSD 1.2 kernel customized to include Odyssey and trace modulation extensions.

22 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 22 How to measure network bandwidth? Measure and log roundtrip time and throughput Each round trip entry records the time, T rtt, to send a request to a server and receive a response. Each throughput entry records T win, which is either the time for a receiver to request and receive a window’s worth, D, of data, or for a sender to transmit that data and receive an ack. Smooth RTT and Throughput New =  (measured) + (1-  )(old) Bandwidth estimation by viceroy

23 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 23 Supply Estimation Agility

24 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 24 Demand Estimation Agility

25 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 25 How Beneficial is Adaptation? Video Player Fidelity : the quality of the video JPEG(99) = 1, JPEG(50) = 0.5, black-and-white = 0.01 Performance: frames dropped Adaptation goal: play the highest quality possible without dropping frames

26 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 26 How Beneficial is Adaptation? Web Browser Fidelity: Quality of image Full quality=1, JPEG(50) =0.5, JPEG(25) = 0.25, JPEG(5) = 0.05 Performance: average time to fetch and display an image during an execution Adaptation goal: display the best quality image that can be fetched within twice the twice the Eathernet time, in this case 0.4 sec.

27 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 27 How Beneficial is Adaptation? Speech Recognizer Fidelity: fixed since the quality of recognition does no vary. Performance: the speed with which recognitions take place

28 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 28 How Important is Centralized Resource Management? Laissez-Faire Rather than combining information from all logs, each log is examined in isolation. Blind-Optimism Pass the theoretical bandwidth to any interested applications

29 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 29 Conclusion Need for adaptation in mobile systems is widely recognized Application-aware adaptation offers most general and effective approach to adaptation collaborative partnership between system and application previous approaches are limiting cases of this approach Odyssey prototype provides initial validation of concept

30 Korea Advanced Institute of Science and Technology Network Computing Laboratory | 30 Future Work Short term adaptation for Web objects other than images Multiple levels of fidelity in the speech application. improving agility on bandwidth drops Medium term explore integration of Odyssey in other operating systems broaden number of managed resources enlarge range of supported applications... Long term deploy Odyssey for real use dynamic function vs. data shipping as in speech


Download ppt "Network Computing Laboratory Odyssey: Agile Application- Aware Adaptation for Mobility SOSP ’97 Brian D. Noble 외, CMU Presenter: Youngki Lee."

Similar presentations


Ads by Google