Docstoc

agile

Document Sample
agile Powered By Docstoc
					 Odyssey: Agile Application-
Aware Adaptation for Mobility


      SOSP ’97 Brian D. Noble외, CMU
         Presenter: Youngki Lee




          Network Computing Laboratory
 Contents
      Motivating scenario
      Odyssey Goals
           Fidelity
           Concurrency
           Agility
      Application-aware adaptation
      Odyssey architecture and APIs
      Example applications
      Experiments
      Conclusion




Network Computing Laboratory | 2      Korea Advanced Institute of Science and Technology
 Motivating Scenario
                                                                Speech
                                                              Recognition
                                                                Server
                               Voice

                                   Recognized command


                                                          Request


                                          Video narration of local history




     Travel information    Travel information
                                request
                                                                                                   Video Streaming
         response                                                                                       Server




                                          Web server

Network Computing Laboratory | 3                                             Korea Advanced Institute of Science and Technology
 What does odyssey do?
                                                             Speech
                                                           Recognition
                                                             Server
                               Voice

                                   Recognized command

                                    • Odyssey monitors resources.
                                         • Bandwidth, CPURequest battery power
                                                         cycles and
                                    • Odyssey interacts with each application to best
                                         Video narration resources.
                                    exploit monitoredof local history
                                    • When high bandwidth connectivity is lost due to a
                                    radio shadow
     Travel information    Travel information
                                         • Odyssey detects the change and notifies interested Streaming
                                request
                                                                                         Video
         response                        applications                                                  Server
                                         • Application-dependant adaptation
                                    •When the user emerges from the radio shadow
                                         •Revert!!
                                          Web server

Network Computing Laboratory | 4                                         Korea Advanced Institute of Science and Technology
 Goals
      Support variety of applications and data types


      Concurrent applications


      Quick adaptation


      Simple programming model




Network Computing Laboratory | 5                Korea Advanced Institute of Science and Technology
 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.

Network Computing Laboratory | 6                                  Korea Advanced Institute of Science and Technology
 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?




Network Computing Laboratory | 7                           Korea Advanced Institute of Science and Technology
 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.




Network Computing Laboratory | 8                                  Korea Advanced Institute of Science and Technology
 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                                   Application-transparent
               (ex. Eudora)                                          (ex. Coda)
             Application diversity ↑                             Application currency ↑


Network Computing Laboratory | 9                                     Korea Advanced Institute of Science and Technology
 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.


Network Computing Laboratory | 10                          Korea Advanced Institute of Science and Technology
 Odyssey System Architecture

                                                  Odyssey

                                                          Warden3




                                                Viceroy
                                                          Warden2
                     Application
                                                          Warden1

                                       Upcall


                    NetBSD
                    OS Kernel       Interceptor


Network Computing Laboratory | 11                          Korea Advanced Institute of Science and Technology
 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




Network Computing Laboratory | 12                             Korea Advanced Institute of Science and Technology
 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
Network Computing Laboratory | 13                                    Korea Advanced Institute of Science and Technology
 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               Generic Resources in Odyssey
                                                   Network bandwidth
         Resource-id
                                                   Network latency
         Lower bound
                                                   Disk cache space
         Upper bound
                                                   CPU
         Name of upcall handler
                                                   Battery power

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




Network Computing Laboratory | 15   Korea Advanced Institute of Science and Technology
 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

                                           Client


                                               Viceroy
                                    Odyssey                  RPC            Video
                    Xanim
                                     API                                   Server
                                                    Video
                                                    Warden                 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
Network Computing Laboratory | 16                            Korea Advanced Institute of Science and Technology
 Web Browser
      Netscape: client-side proxy (cellophane) + remote
      distillation server
      distillation server degrades data before shipping to client
                                    Client
                       Cellophane




                                              Viceroy
                                                                   Distillation
 Netscape HTTP                      Odyssey                 RPC                               HTTP
                                      API                              Server                   To Web
                                                    Web
                                                                                                servers
                                                   Warden


                    Tsop to set a fidelity level
Network Computing Laboratory | 17                                 Korea Advanced Institute of Science and Technology
 Speech Recognizer
      Janus: support remote recognition method, hybrid

                                Client


                                    Viceroy
                        Odyssey                    RPC   Remote
          Xanim                                          Janus
                          API
                                           Video         Server
                                          Warden
                                            RPC


                                         Local
                                         Janus
                                         Server

Network Computing Laboratory | 18                          Korea Advanced Institute of Science and Technology
 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?




Network Computing Laboratory | 19                Korea Advanced Institute of Science and Technology
 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
                                            30 sec




                                    2 sec


                           60 sec




Network Computing Laboratory | 20                           Korea Advanced Institute of Science and Technology
 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.



Network Computing Laboratory | 21                           Korea Advanced Institute of Science and Technology
 How to measure network bandwidth?
      Measure and log roundtrip time and throughput
           Each round trip entry records the time, Trtt, to send a request to a server
           and receive a response.
           Each throughput entry records Twin, 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
                                      D
                      B
                             Twin    (Trtt / 2)

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




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




Network Computing Laboratory | 24   Korea Advanced Institute of Science and Technology
 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




Network Computing Laboratory | 25                               Korea Advanced Institute of Science and Technology
 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.




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




Network Computing Laboratory | 27                            Korea Advanced Institute of Science and Technology
 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




Network Computing Laboratory | 28                          Korea Advanced Institute of Science and Technology
 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




Network Computing Laboratory | 29                          Korea Advanced Institute of Science and Technology
 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



Network Computing Laboratory | 30                             Korea Advanced Institute of Science and Technology

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:3
posted:8/12/2012
language:
pages:30