Odyssey Kip Walker Agile, Application-Aware Adaptation for Mobility some slides “borrowed” from Satya

advertisement

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

 with a wearable computer

 wireless access to remote services

 unobtrusive heads-up display, microphone, earphones

 speech for computer interactions

 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

 relative to static elements of same era

 weight, power, size constraints

Mobility leads to communication uncertainty

 enormous variation in bandwidth & latency

 intermittent connectivity

Power management is a concern

 actions may have to be slowed or deferred

 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

 rely on servers when possible

 function autonomously if needed

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

15-213 Research Overview Talk

… Application-Aware Adaptation

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

 one is universal: consistency

 others depend on data type movies: frame rate, frame quality geographical databases: feature set, minimum feature size

 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

 specialized code components (a la device drivers)

 provides system-level support to manage a data type

 trusted entities (unlike applications)

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

15-213 Research Overview Talk Odyssey - 11

Client Structure

Application

Upcall

NetBSD

OS Kernel Interceptor

Odyssey

Warden3

Warden2

Warden1

15-213 Research Overview Talk Odyssey - 12

Resource Negotiation

Applications give viceroy a window of tolerance for some resource

 viceroy monitors resource availability

 if it leaves window, notifies application via upcall

Fid. 1 Fid. 2 Fid. 3 Fid. 4

Available bandwidth

Our architecture supports many resources

 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”

 movie doesn’t drop frames

 web delays are masked by compression

 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

 adaptation for Web objects other than images

 improving agility on bandwidth drops

 support for unified cache managment

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

 ...

15-213 Research Overview Talk Odyssey - 16

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

15-213 Research Overview Talk

Odyssey prototype provides initial validation of concept

Odyssey - 17

Contributors to Odyssey

Primary contributors

 Jason Flinn

 Dushyanth Narayanan

 Brian Noble

 M. Satyanarayanan

 Eric Tilton

 Kip Walker

Numerous secondary contributors involved in

 Coda

 Janus

 NetBSD

 Trace Modulation

 etc., etc., etc.

15-213 Research Overview Talk Odyssey - 18

Download