Supporting Multi-Fidelity Computations in Mobile Interactive Applications Dushyanth Narayanan.

Slides:



Advertisements
Similar presentations
System Integration and Performance
Advertisements

Key Metrics for Effective Storage Performance and Capacity Reporting.
Paging: Design Issues. Readings r Silbershatz et al: ,
MapReduce Online Created by: Rajesh Gadipuuri Modified by: Ying Lu.
Cloud Computing From Different Perspective. but first, What is cloud? Why is it called cloud?
ECOS: Leveraging Software-Defined Networks to Support Mobile Application Offloading Aaron Gember, Christopher Dragga, Aditya Akella University of Wisconsin-Madison.
Sensor Network Platforms and Tools
Context Awareness System and Service SCENE JS Lee 1 An Energy-Aware Framework for Dynamic Software Management in Mobile Computing Systems.
Resource Management of Highly Configurable Tasks April 26, 2004 Jeffery P. HansenSourav Ghosh Raj RajkumarJohn P. Lehoczky Carnegie Mellon University.
Panoptes: A Scalable Architecture for Video Sensor Networking Applications Wu-chi Feng, Brian Code, Ed Kaiser, Mike Shea, Wu-chang Feng (OGI: The Oregon.
1 On Handling QoS Traffic in Wireless Sensor Networks 吳勇慶.
Operating System Support Focus on Architecture
CS 3013 & CS 502 Summer 2006 Scheduling1 The art and science of allocating the CPU and other resources to processes.
CS 104 Introduction to Computer Science and Graphics Problems
SWiM Panel on Engine Implementation Jennifer Widom.
Wk 2 – Scheduling 1 CS502 Spring 2006 Scheduling The art and science of allocating the CPU and other resources to processes.
1 ES 314 Advanced Programming Lec 2 Sept 3 Goals: Complete the discussion of problem Review of C++ Object-oriented design Arrays and pointers.
Urs Hengartner Sonesh Surana Yinglian Xie Mentor: Dushyanth Narayanan.
Research Directions for On-chip Network Microarchitectures Luca Carloni, Steve Keckler, Robert Mullins, Vijay Narayanan, Steve Reinhardt, Michael Taylor.
SWIM 1/9/20031 QoS in Data Stream Systems Rajeev Motwani Stanford University.
A Low-Power Low-Memory Real-Time ASR System. Outline Overview of Automatic Speech Recognition (ASR) systems Sub-vector clustering and parameter quantization.
CS364 CH08 Operating System Support TECH Computer Science Operating System Overview Scheduling Memory Management Pentium II and PowerPC Memory Management.
Layers and Views of a Computer System Operating System Services Program creation Program execution Access to I/O devices Controlled access to files System.
Chapter 1 The Challenges of Networked Games. Online Gaming Desire for entertainment has pushed the frontiers of computing and networking technologies.
Dynamic and Decentralized Approaches for Optimal Allocation of Multiple Resources in Virtualized Data Centers Wei Chen, Samuel Hargrove, Heh Miao, Liang.
A Survey of Mobile Cloud Computing Application Models
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
Open Web App. Purpose To explain Open Web Apps To explain Open Web Apps To demonstrate some opportunities for a small business with this technology To.
Integrating Fine-Grained Application Adaptation with Global Adaptation for Saving Energy Vibhore Vardhan, Daniel G. Sachs, Wanghong Yuan, Albert F. Harris,
An Integration Framework for Sensor Networks and Data Stream Management Systems.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
Research Overview TalkOdyssey - 1 Odyssey Agile, Application-Aware Adaptation for Mobility Kip Walker some slides “borrowed” from Satya.
Quality of Service Karrie Karahalios Spring 2007.
Towards Low Overhead Provenance Tracking in Near Real-Time Stream Filtering Nithya N. Vijayakumar, Beth Plale DDE Lab, Indiana University {nvijayak,
Real-Time Systems Mark Stanovich. Introduction System with timing constraints (e.g., deadlines) What makes a real-time system different? – Meeting timing.
Chapter 18 Object Database Management Systems. McGraw-Hill/Irwin © 2004 The McGraw-Hill Companies, Inc. All rights reserved. Outline Motivation for object.
Bi-Hadoop: Extending Hadoop To Improve Support For Binary-Input Applications Xiao Yu and Bo Hong School of Electrical and Computer Engineering Georgia.
Performance evaluation on grid Zsolt Németh MTA SZTAKI Computer and Automation Research Institute.
Intradomain Traffic Engineering By Behzad Akbari These slides are based in part upon slides of J. Rexford (Princeton university)
Welcome to CPS 210 Graduate Level Operating Systems –readings, discussions, and programming projects Systems Quals course –midterm and final exams Gateway.
End-to-End Performance Analytics For Mobile Apps Lenin Ravindranath, Jitu Padhye, Ratul Mahajan Microsoft Research 1.
Memory Hierarchy Adaptivity An Architectural Perspective Alex Veidenbaum AMRM Project sponsored by DARPA/ITO.
Run-time Adaptive on-chip Communication Scheme 林孟諭 Dept. of Electrical Engineering National Cheng Kung University Tainan, Taiwan, R.O.C.
Eduardo Cuervo – Duke University Aruna Balasubramanian - University of Massachusetts Amherst Dae-ki Cho - UCLA Alec Wolman, Stefan Saroiu, Ranveer Chandra,
M.Kersten MonetDB, Cracking and recycling Martin Kersten CWI Amsterdam.
1 Adaptive Parallelism for Web Search Myeongjae Jeon Rice University In collaboration with Yuxiong He (MSR), Sameh Elnikety (MSR), Alan L. Cox (Rice),
A N I N - MEMORY F RAMEWORK FOR E XTENDED M AP R EDUCE 2011 Third IEEE International Conference on Coud Computing Technology and Science.
Martin Kruliš by Martin Kruliš (v1.1)1.
Chapter 18 Object Database Management Systems. Outline Motivation for object database management Object-oriented principles Architectures for object database.
3/12/2013Computer Engg, IIT(BHU)1 PARALLEL COMPUTERS- 2.
Sunpyo Hong, Hyesoon Kim
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Application-Aware Traffic Scheduling for Workload Offloading in Mobile Clouds Liang Tong, Wei Gao University of Tennessee – Knoxville IEEE INFOCOM
Resource Optimization for Publisher/Subscriber-based Avionics Systems Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee.
INTRODUCTION TO WIRELESS SENSOR NETWORKS
Parallel Programming By J. H. Wang May 2, 2017.
R SE to the challenges of ntelligent systems
System Control based Renewable Energy Resources in Smart Grid Consumer
Chapter 2 Scheduling.
湖南大学-信息科学与工程学院-计算机与科学系
Attentive User Interfaces
Christophe Dubach, Timothy M. Jones and Michael F.P. O’Boyle
(A Research Proposal for Optimizing DBMS on CMP)
Kyoungwoo Lee, Minyoung Kim, Nikil Dutt, and Nalini Venkatasubramanian
Realizing Closed-loop, Online Tuning and Control for Configurable-Cache Embedded Systems: Progress and Challenges Islam S. Badreldin*, Ann Gordon-Ross*,
Adaptive Offloading for Pervasive Computing
Virtual Memory: Working Sets
CSE 153 Design of Operating Systems Winter 2019
Support for Adaptivity in ARMCI Using Migratable Objects
Presentation transcript:

Supporting Multi-Fidelity Computations in Mobile Interactive Applications Dushyanth Narayanan

2 Mobile Interactive Applications Wearable computing = mobility + interactivity A mobile system has  limited battery energy  unpredictable, turbulent network environment  other resources are scarce An interactive system needs  low latency (good interactive response)  minimal user distraction Goal: build a system to support mobile interactive apps

3 Some examples Augmented reality  an architect wants to remodel a warehouse.  an aircraft technician wants to see hidden wiring.  a soldier needs to be aware of enemy positions. Search  find restaurants that I can get to within five minutes.  find images that look like this building’s façade.  plan an alternate driving route before I miss my exit. Speech recognition Image processing  surveillance: filter out uninteresting images, report interesting ones.

4 Why are interactive apps special? The challenge: provide low latency, adequate battery lifetimes in a turbulent, resource-poor environment. The opportunity: degrading the result is acceptable since users are tolerant sinks of output.  render 3-D objects at lower resolutions for augmented reality.  simplify search query, or search a subset of the entire space.  use a smaller language model for speech recognition.

5 Multi-fidelity computation Traditional algorithms have a fixed output specification. Resource consumption is the dependent variable. Multi-fidelity computations can have a range of outputs. Along with the output, the fidelity is indicated. The computation provides knobs to set the fidelity. Lets us bound resource usage by varying fidelity. Dependence of variables is reversed.

6 Thesis statement Multi-fidelity computation is a viable approach to supporting mobile interactive applications.  There are interesting multi-fidelity, mobile,interactive apps.  Multi-fidelity computation improves their usability. I plan to build multi-fidelity support in Odyssey.  Design a programming model for multi-fidelity apps.  Support the programming model in Odyssey.  Demonstrate a small number of proof-of-concept apps.  Evaluate the system.

7 Outline  Thesis statement  Fidelity and resources  Programming model  Research plan  Related work  Contributions

8 What is fidelity? Fidelity of a computational result: extent to which it matches a reference result. Multi-dimensional fidelity: A result might have multiple fidelity metrics. A multi-fidelity computation provides knobs to set the fidelity metrics. At each execution, the system has to set these knobs.

9 Example of fidelity metrics Radiosity colors a 3-D model prior to rendering (might use in an augmented reality app). Two fidelity metrics:  resolution (fraction of polygons retained) continuous, from 0 to 1  choice of algorithm (hierarchical/progressive) discrete, with two values At each execution, system picks the fidelity (e.g., resolution=0.4, method=progessive).

10 Radiosity application (unmodified)

11 Multi-fidelity radiosity app

12 Multi-fidelity radiosity app

13 Multi-fidelity radiosity app

14 Multi-fidelity radiosity app

15 Fidelity and resources Setting the knobs affects the fidelity of the result; it also affects the resource consumption. The resources of interest to the user are:  Latency (user wait time)  Battery energy  User attention  Money

16 What is a resource? “Resource” is an abstraction for anything required by a computation from its environment. Fidelity Latency User attention Battery energy Money CPU Memory Network Disk bw Cache state Resources Quality metrics User visible User invisible

17 Cache state as a resource Caching remote objects key to avoiding network access. Cache (or cache state) is a critical resource:  the computation makes demands on it.  the system provides it at varying levels. but not a resource in the traditional sense:  value is not necessarily a number (set of objects).  not shared or allocated in the usual way.  not the same resource as cache space. Example: user wants to search a set of documents. “Better” cache state means better latency (or fidelity).

18 User attention as a resource A wearable computer mediates user’s reality. Interactive app make demands on user’s attention. A multi-fidelity system has an impact on user attention:  Different fidelities demand different levels of attention.  System solicits user feedback to make good tradeoffs.

19 Resource usage dependencies Cache state Memory Network transmit receive CPU local remote Disk bw Fidelity Data size Money Latency Battery User attention CPU usage is a function of fidelity, input data size Battery energy and latency are functions of CPU, network, disk usage.

20 Outline  Thesis statement  Fidelity and resources  Programming model  Research plan  Related work  Contributions

21 Interactive computations Interactive computation: smallest unit of computation visible to the user. We care about multi-fidelity interactive computations. Each execution has a set of quality values, and a utility. For each execution of such a computation, we need to set the fidelity to maximize the utility.

22 Programming model The application programmer  identifies the multi-fidelity interactive computations.  inserts hooks for system to set the fidelity.  inserts hooks for system to monitor the execution. The run-time system:  selects the fidelity.  monitors each execution and its resource consumption.  uses the information to improve fidelity selection.

23 Research plan Build a system to support this scenario:  User asks radiosity app to color some scene.  Radiosity app queries system for fidelity.  System makes a fidelity selection.  monitors/predicts resources available to app.  predict’s app’s resource consumption (using dependency graph + resource availability).  maps user-visible resources + fidelity to user happiness (using some utility function).  searches over the fidelity space to maximize utility.

24 Mapping fidelity to utility Computation Fidelity 1 Fidelity 2 … Input data System state CPU availability Memory availability Network bandwidth Disk bandwidth Cache state $ cost of network Energy cost of CPU Energy cost of network Energy cost of disk User’s distraction level Quality Fidelity 1 Fidelity 2 …. Latency User attention Money Battery drain Utility Resource consumption CPU Memory Network Disk bw Cache state User attention Resource consumption functions Utility function

25 Research plan Develop an API  Extend API to support cache state, user attention Implement support in Odyssey  Predicting resource availability  Predicting resource consumption  Determining the utility function  Maximizing the utility function Demonstrate proof-of-concept applications  Radiosity application  Augmented or virtual reality  Search  Engineering computation and/or 3-D visualization Evaluate the system

26 Multi-fidelity API On initialization register_fidelity({f 1 :continuous[0..1], f 2 :discrete[hier,prog]}); hint_resource(CPU, (f 2 == hier) ? 1.4 nf 1 log(nf 1 ) : 2 n 2 f 1 2 ); hint_constraint(LATENCY, 0.05 seconds ); When the user requests a coloring operation begin_fidelity_op(1000 input data size in polygons ); returns {f1=0.4, f2=hier} values of fidelity metrics … run the radiosity computation … end_fidelity_op(); signals end of interactive computation

27 Cache state and user attention To use cache state in making fidelity decisions:  monitor cache state, staleness of objects.  extend API to allow disclosure of accesses.  predict #objects accessed, hit rate from past history. To measure user attention:  assign cost to each aspect of user interface (windows, menu bars, audio messages).  extend interface to allow app hints on user attention.  do cost/benefit when soliciting user feedback on utility.

28 Predicting resource consumption (1) Resource consumption is a function of  input data  fidelity How can we know the resource consumption function? Solution: a combination of  application programmer hints  learning from a history database We represent input data by a single feature (typically size).

29 Predicting resource consumption (2) Cache state Memory Network transmit receive CPU local remote Disk bw Fidelity Data size Money Latency Battery User attention Split complex function into multiple simpler functions. E.g. battery is an application-independent linear function of CPU, network, and disk usage.

30 Learning the utility function Two ways of learning utility or user happiness:  Implicit (outside the scope of this thesis)  Explicit  application programmer hints  feedback from user Hints will be in the form of constraints. programmer-specified bounds on important quality metric(s) Constraints are simplified utility functions. assume utility is a step-function on constrained quality metric

31 Using user feedback User feedback:  slider bars/buttons/preference files to set user constraints  query the user when we have a difficult tradeoff decision  allow user to interrupt incremental-fidelity operations More user feedback leads to better tradeoffs. This is not free: we are consuming user attention. There is a meta-tradeoff: between goodness of tradeoff and user attention.

32 Finding sweet spots Constraints are only an approximation: assumption that utility is a step-function. For non-real time apps, we can fudge the constraint. Example: a search app has a 1s latency constraint. In 1.2s we can search all documents in the cache. After that, we need to go over the network. There is a knee, or sweet spot at 1.2s. I plan to automatically identify sweet spots.

33 Evaluation Evaluating the idea:  How much can we impact resource consumption by adapting the fidelity?  Does this adaptation lead to better usability?  How easy/difficult is it to program to the multi-fidelity API? Evaluating the system:  How accurately do we predict resource consumption?  How well do fidelity selections maximize utility?  What is the overhead of computing fidelity selections?  How accurately do we find sweet spots?

34 Timeline

35 Outline  Thesis statement  Fidelity and resources  Programming model  Research plan  Related work  Contributions

36 Related work  Data fidelity  Odyssey [Noble97], Dynamic Distillation [Fox96]  Real-time QoS  Multi-resource QoS [Lee99]  Rialto [Jones95], Darwin [Chandra98].  Multi-fidelity computations in the real world  Approximation algorithms, probabilistic algorithms  Online aggregation [Hellerstein97]  Odyssey speech recognition  User interfaces  Coda user patience model [Mummert95]  Mixed-initiative user interfaces [Horvitz99]

37 Contributions Improving the usability of a mobile interactive system  Broad abstraction of multi-fidelity computation  Multi-fidelity API and system support  Support for new resources (user attention, cache state)  Applying learning to fidelity/resource tradeoff decisions  Demonstration of mobile interactive multi-fidelity applications