Odyssey Agile, Application-Aware Adaptation for MobilityA Glimpse of the FutureWhat Makes This Science Fiction?Problems with MobilityAdaptationAdaptive ApplicationsGoalsWho Controls AdaptationWhat Knobs Do We Have?Cutting to the chase…Viceroy and WardensClient StructureResource NegotiationApplicationsEvaluation (don’t blink…)Future WorkConclusionContributors to Odyssey15-213 Research Overview Talk Odyssey - 1OdysseyAgile, Application-Aware Adaptation for MobilityKip Walkersome slides “borrowed” from Satya15-213 Research Overview Talk Odyssey - 2A Glimpse of the FutureImagine you are a tourist in Pariswith a wearable computerwireless access to remote servicesunobtrusive heads-up display, microphone, earphonesspeech for computer interactionsonline language translationLet’s go . . . . . .15-213 Research Overview Talk Odyssey - 3What 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 mobilityOdyssey to the rescue...15-213 Research Overview Talk Odyssey - 4Problems with MobilityMobile elements are resource-poorrelative to static elements of same eraweight, power, size constraintsMobility leads to communication uncertaintyenormous variation in bandwidth & latency intermittent connectivityPower management is a concernactions may have to be slowed or deferredcommunication costs energyneed to rely on resources of remote servers,but may not be able to reach them!15-213 Research Overview Talk Odyssey - 5AdaptationMake mobile clients more robust by offering adaptationrely on servers when possiblefunction autonomously if neededmonitor and adjust to current conditions15-213 Research Overview Talk Odyssey - 6Adaptive Applicationsapplications consume resourcesnetwork bandwidth, CPU cycles, battery power, disk space, $$$resources are variable…so…applications adapt use of resources as resource quality changes15-213 Research Overview Talk Odyssey - 7GoalsSupport variety of applications and data typesConcurrent applicationsQuick adaptationSimple programming model15-213 Research Overview Talk Odyssey - 8Who Controls AdaptationThe Operating System?Individual applications?Both!… Application-Aware Adaptation15-213 Research Overview Talk Odyssey - 9What Knobs Do We Have?Where work gets donelet powerful remote servers do the workHow snazzy the data is: “Fidelity”degrade data meaningfully before giving to mobile hosthas many dimensionsone is universal: consistencyothers depend on data typemovies: frame rate, frame qualitygeographical databases: feature set, minimum feature sizetradeoffs are application-dependent15-213 Research Overview Talk Odyssey - 10Cutting to the chase…We built a prototyperuns on several UN*X platformslogically an OS extensionprovides a small API to applicationsImplementation follows directly from the high-level designneed data type aware components to offer fidelity choicesneed a central piece to watch the resources (network, etc.)15-213 Research Overview Talk Odyssey - 11Viceroy and WardensSystem-level data differentiation through wardensspecialized code components (a la device drivers)provides system-level support to manage a data typetrusted entities (unlike applications)Wardens subordinate to viceroy single, central componenttype-independent, system-level supportresponsible for all resource allocation, arbitrationcentral point of authority and control for Odyssey15-213 Research Overview Talk Odyssey - 12Client StructureInterceptorApplicationOdysseyNetBSDOS KernelWarden2Warden3ViceroyWarden1Odyssey callsUpcallAll system calls15-213 Research Overview Talk Odyssey - 13Resource NegotiationApplications give viceroy a window of tolerance for some resourceviceroy monitors resource availabilityif it leaves window, notifies application via upcallOur architecture supports many resourceswe currently focus only on network bandwidthAvailable bandwidthFid. 1 Fid. 2 Fid. 3 Fid. 415-213 Research Overview Talk Odyssey - 14ApplicationsVideoserver offers movie at several levels of fidelityapplication plays the track that the current bandwidth can supportxanim: split into client and serverWWW“distillation server” degrades data before shipping to clientimages can be compressedHTML can be summarizedNetscape: client-side proxy + remote distillation serverSpeech Recognitionlocal/remote/hybrid executionJanus: support remote recognition method, hybrid15-213 Research Overview Talk Odyssey - 15Evaluation (don’t blink…)Application-aware adaptation is superior to static strategiesapplications are able to attain desired “performance”movie doesn’t drop framesweb delays are masked by compressionspeech recognition always availableCentralized resource management outperforms alternativesall applications come closer to meeting performance goalsAgility needs improvement15-213 Research Overview Talk Odyssey - 16Future WorkShort termadaptation for Web objects other than imagesimproving agility on bandwidth dropssupport for unified cache managmentMedium 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...15-213 Research Overview Talk Odyssey - 17ConclusionNeed for adaptation in mobile systems is widely recognizedApplication-aware adaptationoffers most general and effective approach to adaptationcollaborative partnership between system and applicationprevious approaches are limiting cases of this approachOdyssey prototype provides initial validation of concept15-213 Research Overview Talk Odyssey - 18Contributors to OdysseyPrimary contributorsJason FlinnDushyanth NarayananBrian NobleM. SatyanarayananEric TiltonKip WalkerNumerous secondary contributors involved inCodaJanusNetBSDTrace Modulationetc., etc.,
View Full Document