pervasive computing approach to energy management

55
Pervasive Computing Approach to Energy Management PhD Dissertation by: Ahmed Abukmail 11/18/2005

Upload: kerry-johnson

Post on 31-Dec-2015

44 views

Category:

Documents


15 download

DESCRIPTION

Pervasive Computing Approach to Energy Management. PhD Dissertation by: Ahmed Abukmail 11/18/2005. Outlines. Vision Motivation and Statement of Problem Review of Proposed Research Post-Proposal Accomplishments Extended review of related work (Grid Computing) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Pervasive Computing Approach to Energy Management

Pervasive Computing Approach to Energy

ManagementPhD Dissertation by:

Ahmed Abukmail11/18/2005

Page 2: Pervasive Computing Approach to Energy Management

Outlines1. Vision 2. Motivation and Statement of Problem3. Review of Proposed Research4. Post-Proposal Accomplishments

a) Extended review of related work (Grid Computing)b) Extended Pseudo-parser to handle a wider range of

language constructs.c) Extended benchmarks for deeper validation of proposed

approach.d) Created the runtime support.

5. Experimental Validation6. Conclusion and Future Work

Page 3: Pervasive Computing Approach to Energy Management

VisionImagine walking inside of an airport terminal and your mobile computer’s battery has 2 hours left on it. But by walking inside the airport terminal, the 2 hours just became 3 or 4 (more than 2). But yet, you’ve just walked out of a cab and have not connected your computer to the wall to recharge its battery.

Page 4: Pervasive Computing Approach to Energy Management

VisionSo, did the battery recharge?

Yes – It’s going to last longer.No – It still has the same amount of charge as before (maybe even less).

People don’t care about how much charge the battery has; only care about how long will it last.Battery got virtual charge, basically the mobile device is doing less work, so it will last longer.Reason for virtual charge: entry into a smart space (good candidates: airports, bus stations, …etc)

Page 5: Pervasive Computing Approach to Energy Management

Outlines1. Vision 2. Motivation and Statement of Problem3. Review of Proposed Research4. Post-Proposal Accomplishments

a) Extended review of related work (Grid Computing)b) Extended Pseudo-parser to handle a wider range of

language constructs.c) Extended benchmarks for deeper validation of proposed

approach.d) Created the runtime support.

5. Experimental Validation6. Conclusion and Future Work

Page 6: Pervasive Computing Approach to Energy Management

MotivationIncreased reliance on and capability of mobile devices.

Laptop computers, handhelds, cell phones, and even MP3 players.

Convenience – The less often I charge the battery the better.Mobility. The longer a mobile device is plugged into the electricity to charge, the longer it is considered an immobile device.Contingency – If we have limited power and we have a must finish important task.

Page 7: Pervasive Computing Approach to Energy Management

Advancements in Battery Technology: Slow

Battery technology does not follow Moor’s Law.Becomes a bottleneck for mobile computers.Solutions must accommodate the slow advancement.

Page 8: Pervasive Computing Approach to Energy Management

Advancements in Mobile Technology (Laptops)

Can extrapolate to PDAs and cellular phones

Page 9: Pervasive Computing Approach to Energy Management

Outlines1. Vision 2. Motivation and Statement of Problem3. Review of Proposed Research4. Post-Proposal Accomplishments

a) Extended review of related work (Grid Computing)b) Extended Pseudo-parser to handle a wider range of

language constructs.c) Extended benchmarks for deeper validation of proposed

approach.d) Created the runtime support.

5. Experimental Validation6. Conclusion and Future Work

Page 10: Pervasive Computing Approach to Energy Management

Related WorkSolutions have fallen into three categories:

Hardware and Architecture LevelOperating Systems LevelApplication Level

Often involve some sort of a trade-off.

Page 11: Pervasive Computing Approach to Energy Management

Related WorkHardware Level

Smart Battery System Energy-Aware ProcessorsReducing Energy through the CMOS

VoltageFrequencyCapacitance Load

Architecture designAlways need additional hardware components (e.g. additional cache).Often augmented by a compilation strategy.

Page 12: Pervasive Computing Approach to Energy Management

Related WorkOperating System

APM (Advanced Power Management)ACPI (Advanced Configuration and Power Interface)Memory management

Stay on-chip as much as possibleReduce I/O

Communication techniquesBuffering when sending and receivingSuspend and Resume based on communication patterns Scheduling (Analyze energy usage via monitors) and schedule accordingly (adjust CPU clock speed)

Page 13: Pervasive Computing Approach to Energy Management

Related WorkSoftware Techniques

Application-SpecificPower-Aware APIs

Compiler basedInstruction Re-ordering (to reduce logical state transitions) Reduce memory operands (register allocation)Code generation via pattern matching (the metric used is a power metric instead of a performance metric).Remote task execution

Page 14: Pervasive Computing Approach to Energy Management

Defining the ApproachThis is a two part approach

Compile-Time SolutionDetermine maximal CPU blocks (loops)Collect Loop data (all variables)Generate two versions of the program

Client – Install on mobile deviceServer – Install on a surrogate server

Run-Time Support (Proposed)Program will run in a pervasive computing environment.

Computation outsourcing

Battery monitor (includes user preference)Network monitor to locate registered surrogate servers

Page 15: Pervasive Computing Approach to Energy Management

Advantages of ApproachCompile-Time solution – minimal programmer power awareness required.Fine Granularity solution – Looks at CPU blocks as opposed to pre-defined tasks.

Reduce the chance of missing energy saving opportunities.

Works well within a pervasive computing environment with very little run-time overhead.A very good start to generalizing a compile-time strategy to outsource computation for energy saving.

Page 16: Pervasive Computing Approach to Energy Management

Computation Outsourcing Framework

Remote server running server programs forthe various mobile applications

Hand held computer running an outsourceable mobile client application

Wireless Network

Hand held computer running an outsourceable mobile client application

PDA running an outsourceable mobileclient application

Laptop computer runningan outsourceable mobile client application

Page 17: Pervasive Computing Approach to Energy Management

Run-time Client/Server InteractionClient Server

ExecuteUntil You reach an

outsourceable candidate

section of code

More energyefficient tooutsource?

NO

Yes

Execute Locally

Wait for a request from

the client

Request Received?

NO

Send Request and Data to

Server

(1)

Yes

Execute the Section of codeSend changed

data back

Wait for Results

(2)

Results Received?

Yes

NO

(1) Send Results

(2)

Page 18: Pervasive Computing Approach to Energy Management

Compile-Time OptimizationSource Code

Syntax Checking

(GCC Compiler)Assembler

Source Code Assembly Code

Energy Optimization

Preprocessing

Client SourceCode

Server Source Code

Preexisting Compiler for the Client Machine

Preexisting Compiler for the Server Machine

Client Executable to

run on the mobile device

Server Executable to

run on the Server Machine

Page 19: Pervasive Computing Approach to Energy Management

Energy Optimization Pre-Processor

1. Identify the maximal CPU blocks (Loops)

1. Collect variables2. Collect loop boundaries.

2. Calculate the number of loop iterations Calculate the Size of Loop Data

3. Identify loop instructions.4. Insert outsourcing code on the client

side prior to every loop.

Page 20: Pervasive Computing Approach to Energy Management

Energy Optimization Pre-Processor

Generating the Server file:Insert a while loop that is waiting for requestsEach request is designated by a loop to be executed.

Code for each loop is inserted

Upon receiving a requestWait for data to be sent by the clientExecute the loopSend the results back.

Page 21: Pervasive Computing Approach to Energy Management

Initial Measurements and Results

Setup:Sharp Zaurus (SL-5600) (PXA 250)

Running Embedded Linux.

Metrowerks Codewarrior to develop for the Zaurus.Agilent Technologies 34401A multi-meter

Agilent Intuilink software to record measurements.

Linux machine running RH 7.2 was our surrogate server.

Page 22: Pervasive Computing Approach to Energy Management

Initial Instruction-Level Energy Cost Estimation.Measure the cost of an empty loopInsert several instances (100) of a single instruction within the loopSubtract the difference in energy which will result in the cost for the 100 instructions. Average the cost to get the per instruction cost.

Page 23: Pervasive Computing Approach to Energy Management

Initial Instruction-Level Energy cost estimation.

Empty for loop The ldr instruction within a loop

Subtract the cost of the empty for loop from the cost of the same loop containing the instruction

Page 24: Pervasive Computing Approach to Energy Management

Initial Experimental Results

0

0.1

0.2

0.3

0.4

0.5

0.6

00:

00:

00.0

00:

00:

14.5

00:

00:

29.0

00:

00:

43.7

00:

00:

58.5

00:

01:

13.4

00:

01:

28.6

00:

01:

44.0

00:

01:

59.6

00:

02:

15.3

00:

02:

31.3

00:

02:

47.3

00:

03:

03.6

00:

03:

20.0

00:

03:

36.7

00:

03:

53.7

00:

04:

10.9

00:

04:

28.4

00:

04:

45.9

00:

05:

04.0

00:

05:

23.0

00:

05:

42.8

00:

06:

02.7

00:

06:

23.5

Sample Time Intervals (Seconds)

Cu

rren

t Dra

wn

(A

mp

s)

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

00:0

0:00

.0

00:0

0:03

.7

00:0

0:07

.3

00:0

0:10

.9

00:0

0:14

.6

00:0

0:18

.4

00:0

0:22

.0

00:0

0:25

.7

00:0

0:29

.3

00:0

0:33

.0

00:0

0:36

.8

00:0

0:40

.4

00:0

0:44

.1

00:0

0:47

.9

00:0

0:51

.6

00:0

0:55

.4

00:0

0:59

.1

00:0

1:03

.1

00:0

1:06

.8

00:0

1:10

.6

00:0

1:14

.5

00:0

1:18

.3

Sample Time Intervals (Seconds)

Cu

rren

t Dra

wn

(A

mp

s)

A

B

00.05

0.10.150.2

0.25

0.30.350.4

0.450.5

00:

00:

00.0

00:

00:

02.8

00:

00:

05.7

00:

00:

08.6

00:

00:

11.4

00:

00:

14.3

00:

00:

17.1

00:

00:

20.0

00:

00:

22.8

00:

00:

25.7

00:

00:

28.6

00:

00:

31.5

00:

00:

34.4

00:

00:

37.2

00:

00:

40.1

00:

00:

42.9

00:

00:

45.8

00:

00:

48.6

00:

00:

51.7

00:

00:

54.5

00:

00:

57.4

00:

01:

00.2

00:

01:

03.1

00:

01:

06.0

Sample Time Intervals (Seconds)

Cu

rre

nt

Dra

wn

(A

mp

s)

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

00:0

0:0

0.0

00:0

0:0

2.1

00:0

0:0

4.2

00:0

0:0

6.3

00:0

0:0

8.4

00:0

0:1

0.4

00:0

0:1

2.5

00:0

0:1

4.6

00:0

0:1

6.7

00:0

0:1

8.8

00:0

0:2

0.9

00:0

0:2

3.0

00:0

0:2

5.1

00:0

0:2

7.2

00:0

0:2

9.3

00:0

0:3

1.4

00:0

0:3

3.5

00:0

0:3

5.6

00:0

0:3

7.7

00:0

0:3

9.8

00:0

0:4

1.9

00:0

0:4

4.0

00:0

0:4

6.1

Sample Time Intervals (Seconds)

Cu

rren

t D

raw

n (

Am

ps

)

A

B

Bubble Sort Matrix Multiplication

Page 25: Pervasive Computing Approach to Energy Management

Outlines1. Vision 2. Motivation and Statement of Problem3. Review of Proposed Research4. Post-Proposal Accomplishments

a) Extended review of related work (Grid Computing)b) Extended Pseudo-parser to handle a wider range of

language constructs.c) Extended benchmarks for deeper validation of proposed

approach. d) Created the runtime support.

5. Experimental Validation6. Conclusion and Future Work

Page 26: Pervasive Computing Approach to Energy Management

a) Grid ComputingLooks very applicable to this research.

RPC/RMIMobile Agent technology

However, target problem size in Grid computing is significantly larger.

This research does not target such problems.

Page 27: Pervasive Computing Approach to Energy Management

a) Grid Computing (continued)

Grid computing requires a middleware such as the Grid computing environment (GCE).

This will consume energy.This is why Mobile Agent technology is questionable.

Our middleware (battery and network monitors) are simplistic.

Geographic Location

Page 28: Pervasive Computing Approach to Energy Management

b) Extensions to Pseudo-parser

Must communicate with the battery and network monitors.Extended benchmarks contain larger language capabilities. No longer just simple data types (int, float, char, …etc)

Must support structures.

Support library function calls.Support multi-dimensional arrays.I/O Function Recognition.

Page 29: Pervasive Computing Approach to Energy Management

Communication with Monitors

At start of application:Check the existence of a configuration file

If it doesn’t exist, execute in normal mode.If it exists (energy-saving mode):

Open the file and take a look at the configurationConnect to the listed server as it will be the surrogate.

Any error caused by: opening the file, reading it, or connecting to the server, will result in running in normal mode.

Page 30: Pervasive Computing Approach to Energy Management

Support for Structures.Recognize:

typedef struct {…} newType;

Insert the type in the type table.Assign a size to the new type.

When a variable is declared of the new type:Insert the variable in the symbol table and assign it its size.

When a variable of the new type is used, only collect identifiers up to the first ‘.’ operator as that is the only identifier of interest (e.g. in x.y.z[10].w, x is the only identifier that we need since it’s the variable name).

Page 31: Pervasive Computing Approach to Energy Management

Support for Library Functions

Prior to recognizing in pseudo-parser, benchmarking was necessary.

Utilize the same approach used for instruction benchmarking (place multiple calls of the function within a loop)

Recognize expressions of the form:<variable> = <function>(arg. list);

x = sqrt(y);

Once recognized, add the cost to that of the loop’s.

Page 32: Pervasive Computing Approach to Energy Management

Support for Multi-dimensional Arrays.

Mainly 2-D arrays.Support was built to handle

Arrays of structures Structures of arraysArrays within structures.

Associate 3 Sizes with each arrayBase size (e.g. sizeof(int))Size of first dimension (-1 if it’s not an array)Size of second dimension (-1 if it’s a 1-D array)

Page 33: Pervasive Computing Approach to Energy Management

I/O Function RecognitionI/O function recognition is necessary to avoid outsourcing I/O loops.C has a list of commonly used I/O functions (scanf, getchar, printf, putchar, … etc).Recognize them and ignore everything following them until you reach the ‘;’

Once recognized within a loop, flag the loop non-outsourceable.If the loop is nested, flag all loops enclosing it non-outsourceable as well.

Page 34: Pervasive Computing Approach to Energy Management

The new pseudo-parserPseudo-ParserInput : A C programOutput: An array of loop data structures containing:

a. The beginning and ending file position of the loopb. The variables and their sizes c. The L-Valued variable and their sizes

get a tokennestLevel = 0loopNumber = 0initialize a stack of loops to emptywhile there are tokens in the program do if the token is a loop loopNumber = loopNumber + 1 nestLevel = nestLevel + 1 assign loopNumber to the loop just entered assign nestLevel to the loop just entered push the current loopNumber on the stack else if the token is part of an expression including functions and structures if nestLevel > 0 if you encounter a variable if the variable is an L-value insert the variable as an L-value in the loop on top of the stack else insert the variable as a variable in the loop on top of the stack end if end if if you encounter and I/O function then The loop becomes non-outsourceable. end if end if else if you reached an end of a loop nestLevel = nestLevel - 1 pop the top of the stack end if get the next token Done.

Page 35: Pervasive Computing Approach to Energy Management

c) BenchmarkingInitial Benchmarks: Bubble sort, and matrix multiplication demonstrate fine granularity.Extended Benchmarks:

3-D graphics rendering application(Medical Imaging, Gaming, Graphics Design, and Scientific Computing)

Page 36: Pervasive Computing Approach to Energy Management

Input200 200.1200 2004 4 4.8 .8 .84 4 40 0 01 10005 530.1 0.1 0.1 0.3.5 .4 .31 .8 1 100.5 0.5 0.8 0.2.3 .4 .21 .8 1 100.2 0.8 0.5 0.1.4 .3 .51 .8 1 10

Screen SizeAmbient Light

ViewportObserver:

Eye(Camera)Background

LightCOI

Hither/YonView angles

Sphere 1

Sphere 3

Sphere 2

Page 37: Pervasive Computing Approach to Energy Management

Output

Page 38: Pervasive Computing Approach to Energy Management

d) Runtime SupportBattery Monitor

User-specified behaviorAutomatic (look at remaining % of battery life)User-control

Decide when to go into energy saving mode.

Based on battery condition, may or may not get out of energy saving mode.User may decide to go into normal mode.

Page 39: Pervasive Computing Approach to Energy Management

d) Runtime Support (continued)

Network Monitor:Works only if energy saving mode is selected.Send out a broadcast for service discovery and wait for a response back.Once response is received, the surrogate server has been determined.Build a configuration file indicating that energy-aware applications can run in energy-saving mode.

Page 40: Pervasive Computing Approach to Energy Management

d) Runtime Support (continued)

Surrogate Service Discovery ServerWait for requests for serviceDetermine the client looking for service.Send back server information and indicate readiness for service to the client.Wait for requests.

Page 41: Pervasive Computing Approach to Energy Management

Outlines1. Vision 2. Motivation and Statement of Problem3. Review of Proposed Research4. Post-Proposal Accomplishments

a) Extended review of related work (Grid Computing)b) Extended Pseudo-parser to handle a wider range of

language constructs.c) Extended benchmarks for deeper validation of proposed

approach.d) Created the runtime support.

5. Experimental Validation6. Conclusion and Future Work

Page 42: Pervasive Computing Approach to Energy Management

Experimental ValidationReran the simplistic benchmarks used before.Generated results for the 3-D application using: 50x50, 100x100, and 200x200 images.Generated the energy cost estimate for the network and battery monitors (they add to the energy consumed by the system).

Negligible cost.

Page 43: Pervasive Computing Approach to Energy Management

Energy comparison for generating a 50x50 image

00.05

0.10.150.2

0.25

0.30.350.4

0.450.5

00:0

0:0

0.0

00:0

0:0

5.2

00:0

0:1

0.3

00:0

0:1

5.5

00:0

0:2

0.8

00:0

0:2

6.0

00:0

0:3

1.4

00:0

0:3

6.5

00:0

0:4

1.7

00:0

0:4

6.8

00:0

0:5

2.0

00:0

0:5

7.1

00:0

1:0

2.4

00:0

1:0

7.6

00:0

1:1

3.0

00:0

1:1

8.2

00:0

1:2

3.4

00:0

1:2

8.7

00:0

1:3

4.0

00:0

1:3

9.3

00:0

1:4

4.6

00:0

1:4

9.9

00:0

1:5

5.3

00:0

2:0

0.7

Sample Time Intervals (Seconds)

Cu

rre

nt

Dra

wn

(A

mp

s)

0

0.1

0.2

0.3

0.4

0.5

0.6

00:0

0:0

0.0

00:0

0:0

1.5

00:0

0:0

3.1

00:0

0:0

4.7

00:0

0:0

6.2

00:0

0:0

7.8

00:0

0:0

9.3

00:0

0:1

0.8

00:0

0:1

2.3

00:0

0:1

3.9

00:0

0:1

5.4

00:0

0:1

6.9

00:0

0:1

8.5

00:0

0:2

0.0

00:0

0:2

1.5

00:0

0:2

3.1

00:0

0:2

4.6

00:0

0:2

6.1

00:0

0:2

7.7

00:0

0:2

9.2

00:0

0:3

0.8

00:0

0:3

2.3

Sample Time Intervals (Seconds)

Cu

rre

nt

Dra

wn

(A

mp

s)

A

B

Local: 1.2 minutesApprox. 66 Joules

Remote: 2 secondsApprox. 4 Joules

Page 44: Pervasive Computing Approach to Energy Management

Energy comparison for generating a 100x100

image

0

0.1

0.2

0.3

0.4

0.5

0.6

00:0

0:0

0.0

00:0

0:1

1.1

00:0

0:2

2.1

00:0

0:3

3.3

00:0

0:4

4.5

00:0

0:5

5.6

00:0

1:0

6.8

00:0

1:1

8.3

00:0

1:2

9.3

00:0

1:4

0.5

00:0

1:5

1.7

00:0

2:0

3.1

00:0

2:1

4.6

00:0

2:2

6.1

00:0

2:3

7.8

00:0

2:4

9.5

00:0

3:0

1.3

00:0

3:1

3.4

00:0

3:2

5.6

00:0

3:3

7.8

00:0

3:5

0.1

00:0

4:0

2.7

00:0

4:1

5.2

00:0

4:2

8.0

Sample Time Intervals (Seconds)

Cu

rren

t D

raw

n (

Am

ps)

0

0.1

0.2

0.3

0.4

0.5

0.6

00:0

0:0

0.0

00:0

0:0

1.4

00:0

0:0

2.9

00:0

0:0

4.3

00:0

0:0

5.7

00:0

0:0

7.1

00:0

0:0

8.6

00:0

0:1

0.0

00:0

0:1

1.4

00:0

0:1

2.9

00:0

0:1

4.3

00:0

0:1

5.7

00:0

0:1

7.1

00:0

0:1

8.6

00:0

0:2

0.0

00:0

0:2

1.4

00:0

0:2

2.8

00:0

0:2

4.3

00:0

0:2

5.7

00:0

0:2

7.2

00:0

0:2

8.6

00:0

0:3

0.1

00:0

0:3

1.5

00:0

0:3

2.9

Sample Time Intervals (Seconds)

Cu

rren

t D

raw

n (

Am

ps)

A

B

Local: 4 minutesApprox. 240

Joules

Remote: 4 secondsApprox. 4 Joules

Page 45: Pervasive Computing Approach to Energy Management

Energy comparison for generating a 200x200

image

Remote: 7 secondsApprox. 4 Joules

0

0.1

0.2

0.3

0.4

0.5

0.6

00:0

0:0

0.0

00:0

0:3

2.4

00:0

1:0

4.9

00:0

1:3

7.8

00:0

2:1

1.6

00:0

2:4

6.9

00:0

3:2

3.7

00:0

4:0

1.3

00:0

4:4

0.9

00:0

5:2

2.8

00:0

6:0

5.1

00:0

6:4

7.3

00:0

7:3

0.5

00:0

8:1

5.8

00:0

9:0

4.5

00:0

9:5

5.4

00:1

0:4

8.8

00:1

1:4

7.5

00:1

2:4

5.4

00:1

3:3

8.8

00:1

4:3

4.6

00:1

5:3

2.7

00:1

6:3

3.6

00:1

7:3

9.9

Sample Time Intervals (Seconds)

Cu

rre

nt

Dra

wn

(A

mp

s)

B

A

0

0.1

0.2

0.3

0.4

0.5

0.6

00:0

0:0

0.0

00:0

0:0

1.4

00:0

0:0

2.9

00:0

0:0

4.3

00:0

0:0

5.7

00:0

0:0

7.1

00:0

0:0

8.6

00:0

0:1

0.0

00:0

0:1

1.4

00:0

0:1

2.8

00:0

0:1

4.3

00:0

0:1

5.7

00:0

0:1

7.1

00:0

0:1

8.6

00:0

0:2

0.0

00:0

0:2

1.4

00:0

0:2

2.8

00:0

0:2

4.3

00:0

0:2

5.7

00:0

0:2

7.1

00:0

0:2

8.5

00:0

0:3

0.1

00:0

0:3

1.5

Sample Time Intervals (Seconds)

Cu

rre

nt

Dra

wn

(A

mp

s)

Local: 17 minutesApprox. 1020

Joules

Page 46: Pervasive Computing Approach to Energy Management

Measuring the energy cost of the monitors

00.05

0.10.150.2

0.25

0.30.350.4

0.450.5

00:0

0:00

.0

00:0

0:03

.5

00:0

0:06

.9

00:0

0:10

.3

00:0

0:13

.7

00:0

0:17

.0

00:0

0:20

.4

00:0

0:23

.8

00:0

0:27

.2

00:0

0:30

.6

00:0

0:34

.0

00:0

0:37

.5

00:0

0:40

.9

00:0

0:44

.3

00:0

0:47

.8

00:0

0:51

.2

00:0

0:54

.7

Sample Time Intervals (Seconds)

Cu

rren

t D

raw

n (

Am

ps)

Page 47: Pervasive Computing Approach to Energy Management

Additional MeasurementsCompile-time

Energy optimization adds 1-2 seconds for simple benchmarks, 5-7 seconds for more complex benchmark.Compiling the code will double the effort as now we’re compiling 2 files instead of 1.

Size of the executable:3-5 times larger for simple benchmarks as the inserted code is more than the original code.Only 40% increase for the complex benchmark as the inserted code is smaller with respect to the size of original code.

Page 48: Pervasive Computing Approach to Energy Management

Outlines1. Vision 2. Motivation and Statement of Problem3. Review of Proposed Research4. Post-Proposal Accomplishments

a) Extended review of related work (Grid Computing)b) Extended Pseudo-parser to handle a wider range of

language constructs.c) Extended benchmarks for deeper validation of proposed

approach.d) Created the runtime support.

5. Experimental Validation6. Conclusion and Future Work

Page 49: Pervasive Computing Approach to Energy Management

Conclusion and Future Work

The energy dissipation problem in mobile devices is very important and needs to continue to be addressed.Due to the increased capability of mobile devices, outsourcing computation within pervasive smart spaces is beneficial.Our experimental validation showed significant gain using the computation outsourcing methodology.

Page 50: Pervasive Computing Approach to Energy Management

Conclusion and Future Work (continued)

Useful information about behavior of the program can be obtained via high-level source code analysis.Research such as real-time systems as well as automated software verification are useful in this line of research.

They increase the knowledge about the behavior of the software prior to execution.

Page 51: Pervasive Computing Approach to Energy Management

Conclusion and Future Work (continued)

As part of our future work:Currently we’re looking at applying our approach to power-aware query processing for PDAs.Investigate further enhancements and implementation to augment our work:

RMI and RPC Support.Port this work to C++ and JavaInvestigate Mobile Agent technology as it applies to this work.Look into other types of CPU blocks such as entire function (recursive and non-recursive)

Page 52: Pervasive Computing Approach to Energy Management

Summary of ContributionsIdentified and investigated an avenue for conserving energy in mobile devices via utilizing computation outsourcing in pervasive smart spaces.Realized that utilizing areas such as real-time systems could benefit energy-saving in mobile devices by providing a priori knowledge of program behavior.Showed that analyzing a source program at its various representations (low, intermediate, and high) and combining the analysis is very beneficial to predicting its runtime behaviorDeveloped a compile-time, fine-grain solution to benefit from computation outsourcing to save energy in mobile devices.Validated the results of the investigation experimentally.

Page 53: Pervasive Computing Approach to Energy Management

PublicationsA. Abukmail and A. Helal, “Power Awareness and Management Techniques”, M Ilyas and I. Mahgoub, Editors, Mobile Computing Handbook, CRS Press, Boca Raton, FL, December 2004, pp. 731-743, ISBN 0-8493-1971-4.A. Abukmail, and A. Helal, “A Pervasive Internet Approach to Fine-Grain Power-Aware Computing”, Proceedings of the IEEE/IPSJ International Symposium on Applications and the Internet (SAINT), Phoenix, Arizona, January 2006. A. Abukmail, and A. Helal, “Energy Management for Mobile Devices through Computation Outsourcing within Pervasive Smart Spaces”, To be submitted to IEEE Transactions on Mobile Computing. A. Abukmail, A. Helal, and someone else “Power-Aware Query Processing through Computation Outsourcing”, In progress.

Page 54: Pervasive Computing Approach to Energy Management

Thank you very much

Page 55: Pervasive Computing Approach to Energy Management

Questions?