embedded systems

44
- 1 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Universität Dortmund Embedded Systems • Power/Energy Aware Embedded Systems • Dynamic Voltage Scheduling • Dynamic Power Management http://www.hex-tech.co.uk/egg.asp

Upload: maire

Post on 04-Jan-2016

43 views

Category:

Documents


1 download

DESCRIPTION

Embedded Systems. Power/Energy Aware Embedded Systems Dynamic Voltage Scheduling Dynamic Power Management. http://www.hex-tech.co.uk/egg.asp. Power Consumption of a Gate. Recap from chapter 3: Fundamentals of dynamic voltage scaling (DVS). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Embedded Systems

- 1 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Embedded Systems

• Power/Energy Aware Embedded Systems

• Dynamic Voltage Scheduling

• Dynamic Power Management

• Power/Energy Aware Embedded Systems

• Dynamic Voltage Scheduling

• Dynamic Power Management

http://www.hex-tech.co.uk/egg.asp

Page 2: Embedded Systems

- 2 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Power Consumption of a Gate

Page 3: Embedded Systems

- 3 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Recap from chapter 3: Fundamentals of dynamic voltage scaling (DVS)

Power consumption of CMOScircuits (ignoring leakage):

frequencyclock :

tagesupply vol:

ecapacitanc load:

activity switching:

2

f

V

C

fVCP

dd

L

ddL

frequencyclock :

tagesupply vol:

ecapacitanc load:

activity switching:

2

f

V

C

fVCP

dd

L

ddL

) (

voltagethreshhold:

2

ddt

t

tdd

ddL

VV

V

VV

VCk

) (

voltagethreshhold:

2

ddt

t

tdd

ddL

VV

V

VV

VCk

Delay for CMOS circuits:

Decreasing Vdd reduces P quadratically,while the run-time of algorithms is only linearly increased(ignoring the effects of the memory system).

Decreasing Vdd reduces P quadratically,while the run-time of algorithms is only linearly increased(ignoring the effects of the memory system).

Page 4: Embedded Systems

- 4 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Potential for Energy Optimization

fVCP ddL2 fVCP ddL2

CyclesVCtfVCE ddLddL #22 CyclesVCtfVCE ddLddL #22

Saving Energy under given Time Constraints:

– Reduce the supply voltage Vdd

– Reduce switching activity α

– Reduce the load capacitance CL

– Reduce the number of cycles #Cycles

Saving Energy under given Time Constraints:

– Reduce the supply voltage Vdd

– Reduce switching activity α

– Reduce the load capacitance CL

– Reduce the number of cycles #Cycles

Page 5: Embedded Systems

- 5 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Voltage Scaling and Power ManagementDynamic Voltage Scaling

Vdd

En

ergy / C

ycle

[nJ]

Page 6: Embedded Systems

- 6 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

SlowModule

1.3V 50MHz StandardModules

1.8V100MHz

BusyModule

3.3V 200MHz

Spatial vs. DynamicSupply Voltage Management

Normal Mode1.3 V

50MHz

Busy Mode3.3 V

200MHz

Not all components requiresame performance.

Not all components requiresame performance.

Required performance may change over time

Required performance may change over time

Analogy of biological blood systems: • Different supply to different regions• High pressure: High pulse count and High activity• Low pressure: Low pulse count and Low activity

Analogy of biological blood systems: • Different supply to different regions• High pressure: High pulse count and High activity• Low pressure: Low pulse count and Low activity

Page 7: Embedded Systems

- 7 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Page 8: Embedded Systems

- 8 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Example: Processor with 3 voltagesCase a): Complete task ASAP

Task that needs to execute 109 cycles within 25 seconds.Task that needs to execute 109 cycles within 25 seconds.

Ea= 109 x 40 x 10-9

= 40 [J]

Ea= 109 x 40 x 10-9

= 40 [J]

Page 9: Embedded Systems

- 9 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Case b): Two voltages

Eb= 750 106 x 40 x 10-9

+ 250 106 x 10 x 10-9

= 32.5 [J]

Eb= 750 106 x 40 x 10-9

+ 250 106 x 10 x 10-9

= 32.5 [J]

Page 10: Embedded Systems

- 10 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Case c): Optimal voltage

Ec = 109 x 25 x 10-9

= 25 [J]

Ec = 109 x 25 x 10-9

= 25 [J]

Page 11: Embedded Systems

- 11 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Observations

A minimum energy consumption is achieved for the ideal supply voltage of 4 Volts.

In the following: variable voltage processor = processor that allows any supply voltage up to a certain maximum.

It is expensive to support truly variable voltages, and therefore, actual processors support only a few fixed voltages.

A minimum energy consumption is achieved for the ideal supply voltage of 4 Volts.

In the following: variable voltage processor = processor that allows any supply voltage up to a certain maximum.

It is expensive to support truly variable voltages, and therefore, actual processors support only a few fixed voltages.

Ishihara, Yasuura: “Voltage scheduling problem for dynamically variable voltage processors”, Proc. of the 1998 International Symposium on Low Power Electronics and Design (ISLPED’98)

Ishihara, Yasuura: “Voltage scheduling problem for dynamically variable voltage processors”, Proc. of the 1998 International Symposium on Low Power Electronics and Design (ISLPED’98)

Page 12: Embedded Systems

- 12 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Generalization

Lemma [Ishihara, Yasuura]:• If a variable voltage processor completes a task before the deadline, then the energy consumption can be reduced.• If a processor uses a single supply voltage V and completes a task T just at its deadline, then V is the unique supply voltage which minimizes the energy consumption of T.• If a processor can only use a number of discrete voltage levels, then a voltage schedule with at most two voltages minimizes the energy consumption under any time constraint.• If a processor can only use a number of discrete voltage levels, then the two voltages which minimize the energy consumption are the two immediate neighbors of the ideal voltage Videal possible for a variable voltage processor.

Lemma [Ishihara, Yasuura]:• If a variable voltage processor completes a task before the deadline, then the energy consumption can be reduced.• If a processor uses a single supply voltage V and completes a task T just at its deadline, then V is the unique supply voltage which minimizes the energy consumption of T.• If a processor can only use a number of discrete voltage levels, then a voltage schedule with at most two voltages minimizes the energy consumption under any time constraint.• If a processor can only use a number of discrete voltage levels, then the two voltages which minimize the energy consumption are the two immediate neighbors of the ideal voltage Videal possible for a variable voltage processor.

Page 13: Embedded Systems

- 13 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

The case of multiple tasks:Assigning optimum voltages to a set of tasks

N : the number of tasks

ECj : the number of execution cycles of task j

L : the number of voltages of the target processor

Vi : the ith voltage, with 1 i L

Fi : the clock frequency for supply voltage Vi

T : the global deadline at which all tasks must have been completed

SCj : the average switching capacitance during the execution of task j (SCi comprises the actual capacitance CL and the switching activity )

Xi, j : the number of clock cycles task j is executed at voltage Vi

N : the number of tasks

ECj : the number of execution cycles of task j

L : the number of voltages of the target processor

Vi : the ith voltage, with 1 i L

Fi : the clock frequency for supply voltage Vi

T : the global deadline at which all tasks must have been completed

SCj : the average switching capacitance during the execution of task j (SCi comprises the actual capacitance CL and the switching activity )

Xi, j : the number of clock cycles task j is executed at voltage Vi

Page 14: Embedded Systems

- 14 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Designing an IP model

Simplifying assumptions of the IP-model include the following:• There is one target processor that can be operated at a limited number of discrete voltages.• The time for voltage and frequency switches is negligible.• The worst case number of cycles for each task are known.

Simplifying assumptions of the IP-model include the following:• There is one target processor that can be operated at a limited number of discrete voltages.• The time for voltage and frequency switches is negligible.• The worst case number of cycles for each task are known.

MinimizeMinimize

N

j

L

iijij VxSCE

1 1

2,

Subject toSubject to

L

ijji ECxj

1,: and and T

F

xL

i

N

j i

ji 1 1

,

Page 15: Embedded Systems

- 15 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Experimental Results

Page 16: Embedded Systems

- 16 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Voltage Scheduling Techniques

• Static Voltage Scheduling

• Extension: Deadline for each task

• Formulation as IP problem (SS)

• Decisions taken at compile time

• Dynamic Voltage Scheduling

• Decisions taken at run time

• 2 Variants:

• arrival times of tasks is known (SD)

• arrival times of tasks is unknown (DD)

• Static Voltage Scheduling

• Extension: Deadline for each task

• Formulation as IP problem (SS)

• Decisions taken at compile time

• Dynamic Voltage Scheduling

• Decisions taken at run time

• 2 Variants:

• arrival times of tasks is known (SD)

• arrival times of tasks is unknown (DD)

Page 17: Embedded Systems

- 17 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Dynamic Voltage Controlby Operating Systems

Voltage Control and Task Scheduling by Operating System to minimize energy consumptionOkuma, Ishihara, and Yasuura: “Real-Time Task Scheduling for a Variable Voltage Processor”, Proc. of the 1999 International Symposium on System Synthesis (ISSS'99)

Voltage Control and Task Scheduling by Operating System to minimize energy consumptionOkuma, Ishihara, and Yasuura: “Real-Time Task Scheduling for a Variable Voltage Processor”, Proc. of the 1999 International Symposium on System Synthesis (ISSS'99)

Target:• single processor system• Only OS can issue voltage control instructions• Voltage can be changed anytime• only one supply voltage is used at any time• overhead for switching is negligible• static determination of worst case execution cycles

Target:• single processor system• Only OS can issue voltage control instructions• Voltage can be changed anytime• only one supply voltage is used at any time• overhead for switching is negligible• static determination of worst case execution cycles

Page 18: Embedded Systems

- 18 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Task2

Task3

Task12.5V

5.0V

4.0V

deadlinearrival time

What is the optimum supply voltage assignment for each task in order to obtain

minimum energy consumption?

What is the optimum supply voltage assignment for each task in order to obtain

minimum energy consumption?

Problem for Operating Systems

Page 19: Embedded Systems

- 19 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

The proposed Policy

task

Time slot: T

task

Consider a time slot the task can use

without violating real-time constraints

of other tasks executed in the future

Once time slot is determined:

• The task is executed at a frequency of WCEC / T Hz• The scheduler assigns start and end times of time slot

Once time slot is determined:

• The task is executed at a frequency of WCEC / T Hz• The scheduler assigns start and end times of time slot

Page 20: Embedded Systems

- 20 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Two Algorithms

Two possible situations:• The arrival time of tasks is known:

SD Algorithm Static ordering and Dynamic voltage assignment

• The arrival time of tasks is unknownDD AlgorithmDynamic ordering and Dynamic voltage assignment

Two possible situations:• The arrival time of tasks is known:

SD Algorithm Static ordering and Dynamic voltage assignment

• The arrival time of tasks is unknownDD AlgorithmDynamic ordering and Dynamic voltage assignment

SD DDCPU Time AllocationStart Time AssignmentEnd Time Prediction

SD DDCPU Time AllocationStart Time AssignmentEnd Time Prediction

off-lineon-lineoff-line

on-lineon-lineon-line

Page 21: Embedded Systems

- 21 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Task1

Task2

• Arrival time of all tasks is known• Deadline of all tasks is known• WCEC of all tasks is known

CPU time can be allocated statically

CPU time is assigned to each task:• assuming maximum supply voltage• assuming WCEC

• Arrival time of all tasks is known• Deadline of all tasks is known• WCEC of all tasks is known

CPU time can be allocated statically

CPU time is assigned to each task:• assuming maximum supply voltage• assuming WCEC

SD Algorithm (CPU Time Allocation)

Page 22: Embedded Systems

- 22 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Task1

Task2

Free timeCurrent time

SD Algorithm (Start Time Assignment)

Task2

Task1

Task2WCEC @Vmax

Current time

• In SD, it is possible to assign lower supply voltage toTask2 using the free time

• In SS, the scheduler can’t use the free time because it has statically assigned voltage

• In SD, it is possible to assign lower supply voltage toTask2 using the free time

• In SS, the scheduler can’t use the free time because it has statically assigned voltage

Page 23: Embedded Systems

- 23 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

When the task’s arrival time is unknown, its end time can’t be predicted statically using the SD algorithm

No predetermined CPU time, start or end times

When the task’s arrival time is unknown, its end time can’t be predicted statically using the SD algorithm

No predetermined CPU time, start or end times

DD Algorithm

Task1

Current time

Task2

Start Time Assignment:

• New task arrives – it either:a)Preempts currently executing taskb)Starts right after currently executing taskStarting time is determined

Start Time Assignment:

• New task arrives – it either:a)Preempts currently executing taskb)Starts right after currently executing taskStarting time is determined

Page 24: Embedded Systems

- 24 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

DD Algorithm (cont.)

End Time Prediction: Based on the currently executing task’s end time

prediction, add the new task’s WCEC time at maximum voltage

End Time Prediction: Based on the currently executing task’s end time

prediction, add the new task’s WCEC time at maximum voltage

Task1

Current time

Task2

Completion time assigned

at CPU time allocation

Page 25: Embedded Systems

- 25 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

DD Algorithm (cont.)

If the currently executing task finishes earlier, then new task can start sooner and run slower at lower voltage

If the currently executing task finishes earlier, then new task can start sooner and run slower at lower voltage

Task1

Current time

Task2

Task1

Task2

Page 26: Embedded Systems

- 26 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Task

End TimeStart Time

Task

End TimeStart Time

Comparison: SD vs. DD

SD Algorithm:

SD Algorithm:

DD Algorithm:

DD Algorithm:

Page 27: Embedded Systems

- 27 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Task Normal SS SD DD

1 5.0V 4.0V 4.0V 5.0V2 5.0V 4.0V 4.0V 5.0V3 5.0V 5.0V 4.0V 5.0V4 5.0V 2.5V 2.5V 5.0V3 5.0V 2.5V 2.5V 4.0V5 5.0V 2.5V 2.5V 4.0V

Energy 1615J 702J 685J 1357J

Normal: Processor runs at maximum supply voltage

SS: Static SchedulingSD: Scheduling done by SD AlgorithmDD: Scheduling done by DD Algorithm

Normal: Processor runs at maximum supply voltage

SS: Static SchedulingSD: Scheduling done by SD AlgorithmDD: Scheduling done by DD Algorithm

Experimental Results: Energy

Page 28: Embedded Systems

- 28 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Dynamic power management (DPM)

Dynamic Power management tries to assign optimal power saving states

Requires Hardware Support

Example: StrongARM SA1100

Dynamic Power management tries to assign optimal power saving states

Requires Hardware Support

Example: StrongARM SA1100

400mW

160uW50mW

90us

90us

10us

10us160ms

RUN: operational

IDLE: a sw routine may stop the CPU when not in use, while monitoring interrupts

SLEEP: Shutdown of on-chip activity

RUN: operational

IDLE: a sw routine may stop the CPU when not in use, while monitoring interrupts

SLEEP: Shutdown of on-chip activity

SLEEPIDLE

RUN

Page 29: Embedded Systems

- 29 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

The opportunity:Reduce power according to workload

busy idle busy

shut down wake up

device states

Desired: Shutdown only during long idle times

Tradeoff between savings and overhead

Desired: Shutdown only during long idle times

Tradeoff between savings and overhead

Tsd Twuworking workingsleeping

Tbs

Tsd: shutdown delay Twu: wakeup delay

Tbs: time before shutdown Tbw: time before wakeup

power states

Page 30: Embedded Systems

- 30 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

The challenge

Questions:• When to go to a power-saving state?• Is an idle period long enough for

shutdown?

Predicting the future

Questions:• When to go to a power-saving state?• Is an idle period long enough for

shutdown?

Predicting the future

Page 31: Embedded Systems

- 31 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Adaptive Stochastic Models

IB BB I………... I BB I I B B

time

Sliding Window (SW): [Chung DATE 99]Sliding Window (SW): [Chung DATE 99]

• Interpolating pre-computed optimization tables to determine power states

• Using sliding windows to adapt to non-stationarity

• Interpolating pre-computed optimization tables to determine power states

• Using sliding windows to adapt to non-stationarity

Page 32: Embedded Systems

- 32 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Algorithm P Nsd Nwd

off-line 0.33 250 0Semi-Markov 0.40 326 76

Sliding Window 0.43 191 28Device-Specific Timeout 0.44 323 64

Learning Tree 0.46 437 217Exponential Average 0.50 623 427

always on 0.95 - -

Algorithm P Nsd Nwd

off-line 0.33 250 0Semi-Markov 0.40 326 76

Sliding Window 0.43 191 28Device-Specific Timeout 0.44 323 64

Learning Tree 0.46 437 217Exponential Average 0.50 623 427

always on 0.95 - -

Comparison of different approaches

P : average powerNsd: number of shutdownsNwd : wrong shutdowns (actually waste energy)

Page 33: Embedded Systems

- 33 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

What about multitasking?

user

device

programprogramprogram

operating system power manager

requesters

Coordinate multiple workload sources Coordinate multiple workload sources

Page 34: Embedded Systems

- 34 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Requesters

We use processes to represent requestersrequester = process

Concurrent processes– Created, executed, and terminated– Have different device utilization– Generate requests only when running

(occupy CPU)

Power manager is notified when processes change state

Concurrent processes– Created, executed, and terminated– Have different device utilization– Generate requests only when running

(occupy CPU)

Power manager is notified when processes change state

Page 35: Embedded Systems

- 35 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Task Scheduling

Rearrange task execution to cluster similar utilization and idle periods

idle idleT

T: time quantum

time

t1

t2

t3

11

22

23

31

t1

t2

t3

11

22

23

3

idle

1

Page 36: Embedded Systems

- 36 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Shutdown-friendly scheduling

• Cluster processes with similar utilization patternsLocalize resource usage in time

• Tradeoff against latency A process may be delayed

• Exploit application-knowledgeProcesses can specify their latency requirements

via API calls

• Cluster processes with similar utilization patternsLocalize resource usage in time

• Tradeoff against latency A process may be delayed

• Exploit application-knowledgeProcesses can specify their latency requirements

via API calls

Task scheduling reduces both power and overhead!Task scheduling reduces both power and overhead!

Page 37: Embedded Systems

- 37 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Towards the energy aware OS

• Power control for devices and CPUShutdownVariable frequencyVariable voltage

• Application awarenessProcess awareAPI for interacting with applications

• Concurrency managementSchedulingMutual exclusion (shared resources)

• Minimize OS impact (lightweight OS)

• Power control for devices and CPUShutdownVariable frequencyVariable voltage

• Application awarenessProcess awareAPI for interacting with applications

• Concurrency managementSchedulingMutual exclusion (shared resources)

• Minimize OS impact (lightweight OS)

Page 38: Embedded Systems

- 38 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Power-aware OS implementations

• Windows APM and ACPI

Device-centric, shutdown based• Power-aware Linux

Good research platform (several partial implementations, es. U. Delft, Compaq, etc.)

Quite high-overhead for low-end embedded systems• Power-aware ECOS

Good research platform (HP-Unibo implementation)

Lower overhead than Linux, modular• Micro OSes

• Windows APM and ACPI

Device-centric, shutdown based• Power-aware Linux

Good research platform (several partial implementations, es. U. Delft, Compaq, etc.)

Quite high-overhead for low-end embedded systems• Power-aware ECOS

Good research platform (HP-Unibo implementation)

Lower overhead than Linux, modular• Micro OSes

Page 39: Embedded Systems

- 39 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Application Aware DPM –Example: Communication Power

NICs powered by portables reduce battery life

2.5 hours 8 hours

• In general:Higher bit rates lead to higher power consumption

• 90% of power for listening to a radio channel

Proper use of PHY layer services by MAC is critical!

• In general:Higher bit rates lead to higher power consumption

• 90% of power for listening to a radio channel

Proper use of PHY layer services by MAC is critical!

Page 40: Embedded Systems

- 40 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

• Transmit mode• Receive mode• Doze mode• Off-mode

– NIC completely turned off– Power overhead for frequent switches– Must come with proper buffering strategies

• Transmit mode• Receive mode• Doze mode• Off-mode

– NIC completely turned off– Power overhead for frequent switches– Must come with proper buffering strategies

NIC Power States

Page 41: Embedded Systems

- 41 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Doze mode

Off mode Energy saving

Server

Buffering

Playback Playback

Buffer full Playing LWM reached

time

PowerClient

time

Refill

RequestRequestBeacons

Access Point

Low water mark

Off mode power savings

Page 42: Embedded Systems

- 42 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

• Higher error probability• Exploits NIC off-state• Min. value to allow data acquisition

• Higher error probability• Exploits NIC off-state• Min. value to allow data acquisition

• lower error probability• Incurs NIC off-state overhead• Max. value: Buffer_length–1 block

• lower error probability• Incurs NIC off-state overhead• Max. value: Buffer_length–1 block

LWM / Buffer characteristics

Where to put the LWM?

Where to put the LWM?

How long should the buffer be?

How long should the buffer be?

• Depends on memory availability• The longer the buffer, the higher

the NIC off-state benefits

• Depends on memory availability• The longer the buffer, the higher

the NIC off-state benefits

Buffering Strategies should be Power Aware!Buffering Strategies should be Power Aware!

Page 43: Embedded Systems

- 43 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Comparison

• Low length buffers incur off mode power overhead• Good power saving for high length buffers

• Low length buffers incur off mode power overhead• Good power saving for high length buffers

Page 44: Embedded Systems

- 44 - P. Marwedel, Univ. Dortmund, Informatik 12, 2003

Universität Dortmund

Exploiting application knowledge

Approximate processing [Chandrakasan98-01]

Tradeoff quality for energy (es. lossy compression)

Design algorithms for graceful degradation

Enforce power-efficiency in programming

Avoid repetitive polling [Intel98]

Use event-based activation (interrupts)

Localize computation whenever possible

Helps shutdown of peripherals

Helps shutdown of memories

Approximate processing [Chandrakasan98-01]

Tradeoff quality for energy (es. lossy compression)

Design algorithms for graceful degradation

Enforce power-efficiency in programming

Avoid repetitive polling [Intel98]

Use event-based activation (interrupts)

Localize computation whenever possible

Helps shutdown of peripherals

Helps shutdown of memories