26
Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems + Also Affiliated with NSF Center for High-Performance Reconfigurable Computing This work was supported by National Science Foundation (NSF) grant CNS-0953447 Tosiron Adegbija and Ann Gordon-Ross + Department of Electrical and Computer Engineering University of Florida, Gainesville, Florida, USA

Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

  • Upload
    lyris

  • View
    27

  • Download
    0

Embed Size (px)

DESCRIPTION

Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems. Tosiron Adegbija and Ann Gordon-Ross + Department of Electrical and Computer Engineering University of Florida, Gainesville, Florida, USA. - PowerPoint PPT Presentation

Citation preview

Page 1: Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of

Embedded Systems

+ Also Affiliated with NSF Center for High-Performance Reconfigurable Computing

This work was supported by National Science Foundation (NSF) grant CNS-0953447

Tosiron Adegbija and Ann Gordon-Ross+

Department of Electrical and Computer EngineeringUniversity of Florida, Gainesville, Florida, USA

Page 2: Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

Introduction and Motivation• Embedded systems are pervasive and have stringent design constraints

– Constraints: Energy, size, real time, cost, etc.• System optimization is challenging due to numerous tunable parameters

– Tunable parameters: parameters that can be changed• E.g., cache size, associativity, line size, clock frequency, etc.

– Many combinations large design space– Multicore systems result in exponential increase in design space– Tradeoff design constraints

• Design constraints (e.g., energy/performance)• Many Pareto optimal designs

2E

nerg

yExecution time

Paretooptimal designs

What is thebest design?

Page 3: Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

Parameter Tuning• Parameter tuning determines appropriate parameter values

– Appropriate parameter values meet optimization goals and satisfy design constraints

– Different applications have different parameter value requirements• Parameter values must match the application’s requirements

– Wastes up to 62% average energy (Gordon-Ross ‘05) if inappropriate– Parameter tuning specializes tunable parameters to the changing application

requirements to meet optimization goals (e.g., lowest energy, best performance)– Configuration: specific combination of parameter values

• Best configuration: configuration that most closely meets optimization goals

• Parameter tuning is challenging– Large design space – Tuning overhead: energy/time consumed during tuning

• Our contribution– Simplify parameter tuning, reduce tuning overhead

3

Page 4: Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

4

Parameter Tuning – Cache Tuning• Caches account for up to 50% of embedded

system’s power. – Caches are a good candidate for energy optimization

• Requires configurable cache

2KB

2KB

2KB

2KB

8 KB, 4-way base cache

2KB

2KB

2KB

2KB

8 KB, 2-way

2KB

2KB

2KB

2KB

8 KB, direct-mapped

Way concatenation

2KB

2KB

2KB

2KB

4 KB, 2-way

2KB

2KB

2KB

2KB

2 KB, direct-mapped

Way shutdown

Configurable Line size

16 byte physical line size

A Highly Configurable Cache (Zhang ‘03)

Tunable Asociativity

Tunable Size Tunable Line Size

Page 5: Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

5

Dynamic Tuning

Ener

gy

Executing in base configuration

Tunable cache Tuning

hardware

TC Cache TuningTCTCTC

TCTCTCTCTCTC

TC

Download application

Microprocessor

Cache energy savings of 62%

on average!(Gordon-Ross ‘05)

• Dynamic tuning changes system parameter values at runtime– Dynamically determines best configuration with respect to optimization goals

(e.g., lowest energy/best performance)– Requires tunable hardware and tuning hardware (tuner)

• Tuner evaluates different configurations to determine the best configuration

Lowest energy

Execution time

Page 6: Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

6

Dynamic Tuning• Advantages

– Adapts to the runtime operating environment and input stimuli– Specializes configurations to executing applications

• Disadvantages– Large design space

• Challenging to determine the best configuration– Runtime tuning overhead (e.g., energy, power, performance)

• Energy consumed and additional execution time incurred during tuning

Tunable

cacheTuning

hardware

TCTCTCTCTCTCTCTCTCTCTC

Download application

Microprocessor

Page 7: Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

7

Phase-based Tuning

Time varying behavior for IPC, level one data cache hits, branch predictor hits, and power consumption for SPEC2000 gcc (using the

integrate input set)

Base energy

Application-tuned

TimeEner

gy C

onsu

mpt

ion

Phase-tuned

Change configurationGreater savings when tuning is phase-based, rather than application-based

• Applications have dynamic requirements during execution– Different phases of execution

• Tune when the phase changes, rather than when the application changes– Phase = a length of execution where application characteristics are relatively stable

• Characteristics: cache misses, branch mispredictions, etc

Page 8: Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

Phase-based Tuning• Phase classification

8

Application x

Conf1 Conf2 Conf3 Conf4 Conf5

Pro

filer

How do we determine the best configurationfor the different phases?

Fixed length intervalsVariable length intervals

Page 9: Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

Previous Tuning Methods

9

Possible Cache ConfigurationsEn

ergy

Heuristic method

Execution time

Ener

gy

Execution time

Ener

gy

Possible Cache Configurations

Ener

gy

Analytical method

Execution time

Ener

gy

Possible Cache Configurations

Ener

gy

Exhaustive method

A lot of tuningoverhead

Less tuningoverhead

No tuning overhead but computationally

complex/not dynamic

Previous work proposed Phase Distance Mapping (PDM): a low-overhead and dynamic analytical method.

Page 10: Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

10

Base phase Phase Pi

Cache characteristics

Cache configuration

Pb Cb

Cache characteristics

Cache configuration

Pi

New phase

d (Pb, Pi) Phase distance

Configuration distance

Ci??

Phase Distance Mapping (PDM)Previously characterized phase

Distance windows

Phase distanceranges

Configurationchange from

Cb

Page 11: Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

• PDM’s limitations

11

Phase Distance Mapping (PDM)

Distance windows

Statically defined

Design time overhead!!!

Needed to know/analyze applications a priori

Unknown applications/general purpose systems?

Base phase

Most prominent applicationdomain

Page 12: Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

Phase Tuning Architecture

12

Mai

n M

emor

y

Processorcore 1

Data cache

Instruction cache L1

Processorcore 2

Data cache

Instruction cache L1

Phase history

table

PDM module

Distance window table

Phase classification

module

TunerPhase characterization hardware

On-chip components

Groups similar intervals into phases

Changes the tunablehardware and evaluates

each configuration

Stores phase characteristicsand configurations

Determines a new phase’sbest configuration

• Phase tuning architecture consists of phase characterization hardware– Phase characterization determines phase’s best configuration– Phase characterization hardware orchestrates PDM

Page 13: Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

Contributions• We present DynaPDM: dynamic phase distance mapping

– Alleviates design time effort• Shorter time-to-market

– Maximizes energy delay product (EDP) savings• Defines distance windows during runtime• Dynamically designates base phase and calculates configuration distances• Specializes distance windows to dynamic system and application behavior

– Low overhead, dynamic method for determining phase’s best configuration• DynaPDM evaluation

– DynaPDM effectively determines best configuration with minimal designer effort– Applicable to general purpose embedded systems with disparate unknown

applications (e.g., smartphones, tablets, etc.)• DynaPDM compared to PDM

– Quantify DynaPDM’s EDP improvement over PDM• Achieves higher EDP savings than PDM without extensive a priori application

analysis

13

Page 14: Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

DynaPDM: Dynamic Phase Distance Mapping

14

Page 15: Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

Phase Characterization

15

Phaseclassification

Phases/ phase characteristics

Phase P1

executed

Phase ConfigurationPhase history table

CP1? xx

DynaPDM

New phase, P1

P1 configuration, CP1

P1

P2

P3

P4

x

x

Base phase, PbPb

P1

P2

P3

P4

CPb

x

P1

Pb CPb

• DynaPDM is part of phase characterization– Determines a phase, Pi’s best configuration

CP1

CP1

Used for comparison. Best configuration determined

a priori or at runtime.

Page 16: Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

16

DynaPDM

New phase, P1

Distance window (DW) Configuration distance (CD)

DW1 CD1

DW2 CD2

d (Pb, P1)

CalculateConfigPi

Distance window table

Phase ConfigurationPhase history table

P1 ConfigP1

Execute P1

in ConfigP1

Create newDW

InitializeDW

DW3 CD3

Page 17: Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

DynaPDM• Creating new distance windows

– Windows defined by upper bound WinU and lower bound WinL

• Phase distance D maps to a distance window if: WinL < D < WinU

• Distance window size Sd = WinU – WinL

– Empirically determined Sd = 0.5 as generally suitable for embedded processor applications

• If D < Sd, WinL = 0, and WinU = Sd

– WinUmax determines maximum number of new distance windows• If D > WinUmax, D maps to WinUmax < D < ∞• Maximum number of distance windows = WinUmax/Sd

– If Sd < D < WinUmax, • WinL = x | x ≤ D, x mod Sd = 0, x + Sd > D

17

Page 18: Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

DynaPDM• Initializing distance windows (DW)

18

New DW?Set most recently used configuration as first phase’s initial configuration

Tune cacheparameters

Execution j ≤ n?

Tune cache size

Tune associativity

Tune line size

Continue tuningStop tuning;

Store lowest EDP configuration

No YesPower-of-two

increments until EDP increases

Defines DW’sconfiguration

distance

n allows limited number of phase executions to hone configurations closer

to the optimal trades off improved configuration efficacy for

tuning overhead depends on system’s application/phase

persistence

Page 19: Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

Experimental Results

19

Page 20: Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

Experimental Setup• Experiments modeled closely with PDM• Design space

– Level 1 (L1) instruction and data caches: cache size (2kB 8kB); line size (16B64B); associativity (direct-mapped4-way)

– Base cache configuration:• L1 instruction and data caches: cache size (8kB); line size (64B);

associativity (4-way)• 16 workloads from EEMBC Multibench Suite

– Image processing, MD5 checksum, networking, Huffman decoding– Each workload represented a phase

• Simulations– GEM5 generated cache miss rates– McPAT calculated power consumption

• Energy delay product (EDP) as evaluation metric= system_power * (total_phase_cycles/system_frequency)2

20

Page 21: Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

• Workloads

• Optimal configurations determined by exhaustive search– Used to compare DynaPDM and PDM results

• Perl scripts implemented DynaPDM and PDM

Experimental SetupApplication Type Phases Number of phasesImage processing 1, 5, 13, 14, 15, 16 6

Networking 2, 3, 4, 8, 9 5

MD5 Checksum 10, 11, 12 3

Huffman Decoding 7 1

Empty 6 1

21

– Distribution of application phases used in experimental setup

Page 22: Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

Results

- Used rotate-16x4Ms32w8 as base phase- EDP savings calculated with respect to base configuration- DynaPDM achieved 28% average EDP savings overall- Savings as high as 47% for 64M-rotatew2- On average, within 1% of optimal- EDP improved over PDM by 8%

22

rotate

-16x4

Ms3

2w8

rotate

-16x4

Ms4

w864

M-ro

tatew

2rot

ate-4M

s4w1

rotate

-520k

-270d

eg

rotate

-color

-4M-90

degw

14M

-chec

k

4M-re

assem

bly4M

-tcp-m

ixed

ippktc

heck

-8x4M

-4Work

er

ipres-

6M4w

orker

md5-12

8M4w

orker

md5-32

M4w

orker

md5-4M

empty

-wld

huffd

e-all

Averag

e

00.10.20.30.40.50.60.70.80.9

1Optimal PDM DynaPDM

EDP

norm

aliz

ed to

the

base

ca

che

conf

igur

atio

n

Base phase

28%

DynaPDM improved over PDM and eliminated design-time effort!

47%DynaPDM’s

configurations1% of

the optimal!

Page 23: Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

Results- Effects of n = 3 on EDP normalized to optimal cache configurations

- n = maximum number of phase executions

23

64M-ro

tatew

2

rotate

-520k-2

70deg

rotate

-color

-4M-90de

gw1

4M-ch

eck

4M-re

assem

bly

ippktc

heck-8x4

M-4Worke

r

ipres-

6M4worke

r

md5-12

8M4worke

r

md5-32

M4work

er

empty

-wld

00.20.40.60.8

11.21.41.6

Optimal j = 1 j = 2 j = 3

EDP

norm

aliz

ed to

opt

imal

cac

he c

onfig

u-ra

tion

DynaPDM determinedoptimal configurations

Number of phase executions

Determined optimal configurations in ≤ 3 executions!

Page 24: Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

Results

24

0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

2

4

6

8

10

Distance window size, Sd

Num

ber o

f dis

tanc

e w

indo

ws

0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 125%

26%

27%

28%

29%

30%

Distance window size, Sd

Perc

enta

ge E

DP

savi

ngs

- Tradeoffs of Sd with percentage of phases tuned at runtime

- Tradeoffs of Sd with percentage EDP savings

Larger Sd

Number of distance windows/tuned phases/

tuning overhead

Smaller Sd

Number of distance windows/tuned phases/

tuning overhead

Larger Sd EDP savings

Sd = 0.5Balance between tuning

overhead and EDP savings

Page 25: Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

Conclusions• DynaPDM: Dynamic Phase Distance Mapping

– Correlates known phase’s characteristics and best configuration with a new phase’s characteristics to determine new phase’s best configuration

• Reduces tuning overhead– Compared DynaPDM with most relevant prior work: PDM

• PDM required a priori knowledge of applications and extensive design-time effort

– Not suitable for large or general purpose systems• DynaPDM eliminated design-time effort

– DynaPDM achieved EDP savings of 28% and determined configurations within 1% of the optimal: 8% improvement over PDM

• Future work– Evaluate DynaPDM’s scalability to many-core systems– Explore more complex systems with additional tunable parameters

25

Page 26: Exploiting Dynamic Phase Distance Mapping for Phase-based Tuning of Embedded Systems

Questions?

26