Upload
june-kristin-miller
View
219
Download
0
Embed Size (px)
Citation preview
Network Computing Laboratory
Odyssey: Agile Application-Odyssey: Agile Application-Aware Adaptation for Aware Adaptation for
MobilityMobility
SOSP ’97 Brian D. Noble 외 , CMUPresenter: Youngki Lee
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 2
ContentsContentsMotivating scenarioOdyssey Goals
FidelityConcurrencyAgility
Application-aware adaptationOdyssey architecture and APIsExample applicationsExperimentsConclusion
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 3
Motivating ScenarioMotivating ScenarioSpeech
Recognition Server
Video Streaming Server
Web server
Travel information response
Voice
Recognized command
Travel information request
Video narration of local history
Request
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 4
What does odyssey do?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!!
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 5
GoalsGoals
Support variety of applications and data types
Concurrent applications
Quick adaptation
Simple programming model
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 6
FidelityFidelity
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 typevideo: frame rate, frame qualitygeographical 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.
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 7
ConcurrencyConcurrencyMany 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?
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 8
AgilityAgilityA 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.
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 9
Application-Aware AdaptationApplication-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-awareOdyssey
Laissez-faire(ex. Eudora)
Application-transparent(ex. Coda)
Application diversity ↑ Application currency ↑
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 10
Application-Aware AdaptationApplication-Aware AdaptationCollaborative 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.
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 11
Odyssey System ArchitectureOdyssey System Architecture
Interceptor
Application
Odyssey
NetBSDOS Kernel
Warden2
Warden3
Vic
ero
y
Warden1
Odyssey callsUpcallAll system calls
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 12
Viceroy and WardensViceroy and Wardens
System-level data differentiation through
wardensMany, per application (data type)provides system-level support to manage a data typeTo support a new data type, an appropriate warden has to be written
Wardens subordinate to viceroy single, central componenttype-independent, system-level supportresponsible for all resource allocation, arbitrationcentral point of authority and control for Odyssey
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 13
Resource NegotiationResource Negotiation
Applications give viceroy a window of tolerance for some resourceviceroy monitors resource availabilityif it leaves window, notifies application via upcall
Our architecture supports many resourceswe currently focus only on network bandwidth
Available bandwidth
Fid. 1 Fid. 2 Fid. 3 Fid. 2
Time
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 14
Odyssey APIOdyssey APIResource negotiation operations
request(in path, in resource-descriptor, out request id)cancel(in request-id)
Upcall handlerhandler(in request-id, in resource-id, in resource-level)
Changing Fidelity: Type-specific operationstsop(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
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 15
Example ApplicationsExample Applications
Video player
Web browser
Speech recognizer
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 16
Video PlayerVideo Playerxanim: split into client and serverserver offers movie at several levels of fidelityapplication plays the track that the current bandwidth can support
XanimVideo
Server
Viceroy
Video
Warden
Odyssey
API
RPC
Client
JPEG(99)
JPEG(50)
Black-and-whiteTwo tsops(1) To read a movie’s meta data(2) To get a particular frame from a specified track
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 17
Web BrowserWeb BrowserNetscape: client-side proxy (cellophane) + remote distillation serverdistillation server degrades data before shipping to client
NetscapeDistillation
Server
Viceroy
Web
Warden
Odyssey
API
RPC
Client
Cellop
han
e
HTTP HTTP
To Web servers
Tsop to set a fidelity level
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 18
Speech RecognizerSpeech Recognizer
Janus: support remote recognition method, hybrid
XanimRemote Janus Server
Viceroy
Video
Warden
Odyssey
API
RPC
Client
Local Janus Server
RPC
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 19
EvaluationEvaluationHow 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?
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 20
Agility MatricsAgility MatricsThe 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
60 sec
2 sec
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 21
Experimental methodologyExperimental methodologyGenerating discontinuous waveforms
It is impossible in real network to generate those waveforms precisely and repeatedly.So, trace modulation is used.
Interpreting resultsFidelity and performance should be considered together.
Experimental conditions90 MHz Pentium client with 32 MB of memoryA collection of 200 MHz Pentium Pro servers with 64MB of memoryNetBSD 1.2 kernel customized to include Odyssey and trace modulation extensions.
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 22
How to measure network How to measure network bandwidth?bandwidth?
Measure and log roundtrip time and throughputEach 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 ThroughputNew = (measured) + (1- )(old)
Bandwidth estimation by viceroy
)2/( rttwin TT
DB
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 23
Supply Estimation AgilitySupply Estimation Agility
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 24
Demand Estimation AgilityDemand Estimation Agility
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 25
How Beneficial is Adaptation?How Beneficial is Adaptation?
Video PlayerFidelity : 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
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 26
How Beneficial is Adaptation?How Beneficial is Adaptation?
Web BrowserFidelity: 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 executionAdaptation goal: display the best quality image that can be fetched within twice the twice the Eathernet time, in this case 0.4 sec.
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 27
How Beneficial is Adaptation?How Beneficial is Adaptation?
Speech RecognizerFidelity: fixed since the quality of recognition does no vary.
Performance: the speed with which recognitions take place
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 28
How Important is Centralized Resource How Important is Centralized Resource Management?Management?
Laissez-Faire Rather than combining information from all logs, each log is examined in isolation.
Blind-OptimismPass the theoretical bandwidth to any interested applications
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 29
ConclusionConclusionNeed for adaptation in mobile systems is widely recognized
Application-aware adaptationoffers 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
Korea Advanced Institute of Science and Technology
Network Computing Laboratory | 30
Future WorkFuture WorkShort term
adaptation for Web objects other than imagesMultiple levels of fidelity in the speech application.improving agility on bandwidth drops
Medium termexplore integration of Odyssey in other operating systemsbroaden number of managed resourcesenlarge range of supported applications...
Long termdeploy Odyssey for real usedynamic function vs. data shipping as in speech