network computing laboratory odyssey: agile application- aware adaptation for mobility sosp ’97...

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

Upload: june-kristin-miller

Post on 17-Jan-2016

218 views

Category:

Documents


0 download

TRANSCRIPT

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

Network Computing Laboratory

Odyssey: Agile Application-Odyssey: Agile Application-Aware Adaptation for Aware Adaptation for

MobilityMobility

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

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

Korea Advanced Institute of Science and Technology

Network Computing Laboratory | 2

ContentsContentsMotivating scenarioOdyssey Goals

FidelityConcurrencyAgility

Application-aware adaptationOdyssey architecture and APIsExample applicationsExperimentsConclusion

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

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

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

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!!

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

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

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

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.

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

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?

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

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.

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

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 ↑

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

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.

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

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

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

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

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

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

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

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

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

Korea Advanced Institute of Science and Technology

Network Computing Laboratory | 15

Example ApplicationsExample Applications

Video player

Web browser

Speech recognizer

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

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

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

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

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

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

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

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?

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

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

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

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.

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

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

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

Korea Advanced Institute of Science and Technology

Network Computing Laboratory | 23

Supply Estimation AgilitySupply Estimation Agility

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

Korea Advanced Institute of Science and Technology

Network Computing Laboratory | 24

Demand Estimation AgilityDemand Estimation Agility

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

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

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

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.

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

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

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

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

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

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

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

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