Self-Tuned Remote Execution for Pervasive Computing

23
Self-Tuned Remote Execution for Pervasive Computing Jason Flinn, Dushyanth Narayanan and M.Satyanarayanan Presented by: Kevin McGregor

Transcript of Self-Tuned Remote Execution for Pervasive Computing

Page 1: Self-Tuned Remote Execution for Pervasive Computing

Self-Tuned Remote Execution for Pervasive ComputingJason Flinn, Dushyanth Narayanan and M.Satyanarayanan

Presented by:Kevin McGregor

Page 2: Self-Tuned Remote Execution for Pervasive Computing

2

Outline

Motivation Spectra

o Design goalso Overviewo Implementationo Preliminary Evaluationo Strength and Weaknesso Future work

Summary

Page 3: Self-Tuned Remote Execution for Pervasive Computing

3

Motivation Need for mobility. Size limitation on

mobile devices. Modern applications

are resource intensive.

Mobile users want the look and feel of desktop applications.

Page 4: Self-Tuned Remote Execution for Pervasive Computing

4

Solution Remote execution.

o Mobile device discover execution servers over a wireless network.

o Mobile device “off-load” the execution of resource-intensive processes onto the remote server.

Page 5: Self-Tuned Remote Execution for Pervasive Computing

5

Spectra : Design Goals Spectra tries to meet the

application goals in the light of available resources.

Monitors mobile devices resources and dynamically determines the best remote execution plan bandwidth, file cache state, CPU, and

battery life.

Page 6: Self-Tuned Remote Execution for Pervasive Computing

6

Spectra : Design Goals

Applications do not specify resource needs.

Spectra uses a method called self-tuning. Records and logs the history of resource

usage by an application. Uses machine learning techniques to predict

future usage.

Page 7: Self-Tuned Remote Execution for Pervasive Computing

7

Spectra - Overview Remote execution

component of Aura. Coda Provides a single

shared file system. Applications use

Odyssey interface to communicate with Spectra.

Page 8: Self-Tuned Remote Execution for Pervasive Computing

8

Spectra : Implementation

Spectra consists of three main components Application interface Resource Monitor Decision Engine

Page 9: Self-Tuned Remote Execution for Pervasive Computing

9

Spectra : Implementation

Application Interface Applications register operations

Fidelities. Input parameters that affect operation

complexity. Method of dividing computation.

Page 10: Self-Tuned Remote Execution for Pervasive Computing

10

Spectra : Implementation

Application Interface Method of dividing computation

Local mode – client Remote mode – server Hybrid mode – Application executed

locally then executed remotely

Page 11: Self-Tuned Remote Execution for Pervasive Computing

11

Spectra : Implementation

Resource Monitors Prior to execution, resource monitor

predict how much of resource is needed. Makes prediction for the mobile device

and remote servers. Gathers prediction in a resource

snapshot. Observe application behavior to predict

future resource demand.

Page 12: Self-Tuned Remote Execution for Pervasive Computing

12

Spectra: Implementation

Resource Monitors CPU

CPU cycle consumption Network

Available bandwidth. Battery

Amount of charge. File cache

Files in Coda file system.

Page 13: Self-Tuned Remote Execution for Pervasive Computing

13

Spectra: Implementation

Resource Monitor Battery

Takes advantage of ‘smart’ batteries chips.

Monitors the amount of charge left. Measures energy use by polling the chip

to sample energy use.

Page 14: Self-Tuned Remote Execution for Pervasive Computing

14

Spectra : Implementation

Resource Monitor File cache

Calculate the time and energy cost of fetching uncached items

Provides estimate for files accessed in Coda.

For each file that may be accessed, Coda is queried to determine if file is cached.

Page 15: Self-Tuned Remote Execution for Pervasive Computing

15

Spectra : Implementation

Decision engine Chooses a location and fidelity for each

operation. Inputs : Application’s operation

description, monitors’ snapshot of resource availability.

Odyssey’s attempts to find the best execution alternative.

Page 16: Self-Tuned Remote Execution for Pervasive Computing

16

Spectra : Implementation

Decision Engine Evaluates alternatives by their impact on user

metrics Execution latency Battery life time Application latency

Calculates a context-independent value for each metric.

Weights each value with an importance function.

Computes a single value for evaluating the alternative.

Page 17: Self-Tuned Remote Execution for Pervasive Computing

17

Spectra : Implementation

Decision Engine battery lifetime example

User metric : duration battery should last

Battery importance function (1/E) c

c : critical energy use at present moment E : expected energy use Spectra adjusts c using estimates of

battery charge and power used reported by battery monitor

Page 18: Self-Tuned Remote Execution for Pervasive Computing

18

Preliminary Evaluation

Speech recognition application. Mobile device :Compaq Itsy v2.2

pocket with a 206 MHz SA-1100 processor, 32MB DRAM

Server : IBM T20 laptop, 700 MHz PIII,256MB DRAM

Page 19: Self-Tuned Remote Execution for Pervasive Computing

19

Preliminary Evaluation

Page 20: Self-Tuned Remote Execution for Pervasive Computing

20

Strength and weakness

Focuses on pervasive computing Attempts to preserve resources

when executing an application. Application developers must

modify their applications Does not choose the optimal

execution plan

Page 21: Self-Tuned Remote Execution for Pervasive Computing

21

Future work

Spectra developers are aware of the weaknesses.

Currently creating a new remote execution system called Chroma Adaptive Automatic code generation for

developers.

Page 22: Self-Tuned Remote Execution for Pervasive Computing

22

Summary

Introduced Spectra. Describe how spectra is tries to

preserve resources. Observed an preliminary

evaluation of Spectra. Chroma.

Page 23: Self-Tuned Remote Execution for Pervasive Computing

23

Questions ?