Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and...

50
pt. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan Israel Koren, Sandip Kundu Dept. Of Electrical & Computer Engineering University of Massachusetts at Amherst

Transcript of Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and...

Page 1: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

Dept. of Electrical & Computer Engineering

Self-Morphing Cores for Higher Power Efficiency and

Improved ResilienceNithesh Kurella, Sudarshan Srinivasan

Israel Koren, Sandip Kundu

Dept. Of Electrical & Computer Engineering

University of Massachusetts at Amherst

Page 2: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

2

Outline

Asymmetric Multicores – benefits and limitations Challenge: Match the capabilities of the core to current computational needs of applications Approach: Self-morphing core that can adapt faster to application demands Main goal: Higher power efficiency with limited or no decrease in performance Secondary goal: Improve resilience to soft errors

Page 3: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

3

Asymmetric Multicore Processors (AMPs)

Cores of different computing capabilities Different performance and power

characteristics

Typically consists of• Out-of-order (OOO) cores (High performance core)• In-Order (InO) cores (Low performance & Energy efficient core)

Core 1Core 1 Core 2

Core 2

Asymmetric multicore

OOO InOrder

Page 4: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

4

Commercial ARM Big/Little Architecture

Use the right processor for the right task

Page 5: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

5

Limitations of current AMP Architectures

• (1) Limited architectural flexibility• Limited choices of core capabilities (2)• Fixed number of large and small cores

• (2) Limited thread to core mapping flexibility• Applications have phases (time periods)

with different computational requirements • Swapping threads between cores can

reduce the power consumed, but• Task migration has a high overhead

(need to transfer thread state/data) Thread migration at granularity of

millions of instructions (coarse grain)

Core 1Core 1 Core 2

Core 2

Thread swapping

L1 cacheL1 cache

L1 cache

L2 cacheL2 cache

Thread 1Thread 2

Page 6: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

6

Can we benefit from more than two core types?

Performance/Watt of 10 benchmarks

Page 7: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

7

Applications can benefit from fine-grain assignment ~1000s of instructions [Lukefahr et al. Micro’12]

Temporal (fine-grain) variations for sjeng

Page 8: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

8

Can we exploit Fine-Grain Changes in demands?• Develop a fine grain application to core assignment to

improve power efficiency without high migration overhead

A self-morphing core: can morph into two (or more) architecture types (core modes) with varying execution width and resource sizes Significantly lower thread migration overhead• Critical units (register file, caches and branch predictor)

are common to all core modes

Page 9: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

9

Morphable Architectures

A Morphable architecture where OOO core turns into InO was proposed by [Lukefahr et al., Micro 2012] InO has much lower power consumption, but• Turning OOO core into InO in run time involves

significant micro-architecture changes• Higher design cost and verification

Questions to be investigated:1. Are two architecture modes (core types) sufficient

to match the large variance in application needs?2. Is an InO mode necessary, as its inclusion

complicates the design?

Page 10: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

10

Designing a Self-Morphing Core

Goal: Design a core than can morph into various OOO modes with varying execution width and resource sizes

Questions:• How many core modes should we have?• What should be the architectural parameters of

these modes?• How fine-grained should mode switches be?• Under what conditions should we switch from one

mode to another?

Page 11: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

11

Core Design Space Exploration

Find core types that would provide best performance/Watt at fine-grain instruction granularities

About 11,000 design combinations - pruned to 300 Pruning: group structures to be resized concurrently rather

than independent structure resizing

Page 12: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

12

Number and Types of Cores (out of 300)

Objective: achieve the highest IPS2/Watt by allowing switching between core types at ~2K instruction granularity• IPS2/Watt is used instead of IPS/Watt to emphasize

performance Best core configuration selected from 300 candidates for

each 2K instruction interval based on IPS2/Watt Need to to determine IPS2/Watt improvement threshold (for

a mode switch) • A threshold of 20% yields 10 core types with only 15%

improvement• A higher threshold reduced the number to 4 with a higher

IPS2/Watt improvement Fixed number of core types to 4

Page 13: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

13

Core Types obtained

128 1.6

Frequency and ROB size analysis for IPS2/watt for the Average (AC) core

Avg. Power consumed

Page 14: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

14

How to decide on a mode switch?

Switching decision between modes is based on IPS2/Watt

To compute IPS2/Watt , we need to estimate performance and power• Hardware performance counters (PMCs) are used

to estimate performance and power at fine-grain granularity

Need to estimate power and performance on the currently active mode as well as 3 other core modes

Page 15: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

15

Power & IPC Estimation based on PMCs

1. Identified 14 counters that are correlated with performance & power

2. Selected the smallest number of counters that have the highest possible correlation coefficient R2

4. Regression analysis power of a given core type =

f(chosen counters)IPC of a given core type =

f(chosen counters)

Explored HPCs

Stalls (S)

# Fetched instructions (F)

# Branch mispredictions (BMP)

L1 hit (L1h)

L1 miss (L1 miss)

L2 hit (L2h)

L2 miss (L2m)

TLB miss (TLB m)

# retired INT instructions (INT)

# retired FP instructions (FP)

# retired Ld instructions (Ld)

# retired St instructions (St)

# retired Branch instructions (Br)

IPC

specu

lati

veH

it/M

iss

Reti

red

Explored PMCs

Page 16: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

16

Selection of PMCs

PMC AC => Power NC, denotes using the counters of the average core to estimate the power on the narrow core

Page 17: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

17

Obtained Power and IPC expressions

Page 18: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

18

Average Estimation Error using PMCs

PMC AC => Power/IPC denotes the average error in estimating power and IPC for the 3 other core types using the PMCs of the average core (AC)

Maximum average error of 16%; adequate accuracy

Page 19: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

19

Frequency of core mode switching

Power and performance are monitored every “window” of instructions (size to be determined)

Want to identify stable phase and prevent frequent morphing during a transient behavior

Wait for several windows (“history_depth”) and follow the most frequent recommendation

Morphing decision based on behavior during the last n retired instructions, where

n=Window_Size x History_Depth

Page 20: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

20

Frequency of morphing decisions Window_size=500 and history_depth=4 combination

yields the highest IPS2/Watt

Decision to reconfigure (or not) is taken every 2K instructions

Page 21: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

21

Overhead for Morphing: DVFS

Morphing from one core mode to another involves frequency change

Traditional DVFS is applied at coarse grain granularity (millions of cycles) due to its high overhead

Use of On-Chip regulator reduces the time needed for scaling voltage to hundreds of cycles

The selected fine-grain DVFS technique (upon mode switch) has an overhead of 200 cycles

Page 22: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

22

Overall morphing overhead

In-core morphing retains processor state and cache content• register file, caches and branch predictor are shared

Still additional cycles are needed upon reconfiguration• Powering off/on fetch, decode units• Power gating banks of ROB, RAT and LSQ units (10 clock

cycles to power off one bank)• Pipeline drain on every core mode switch• The fine grain DVFS overhead is 200 cycles

On Average morphing overhead takes 500 cycles. Exact overhead determined in run-time depending on mode we morph into

Page 23: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

23

Results and Analysis

Gem5 simulator; McPAT to measure power

We evaluate our proposed scheme with SPEC2006 and SPEC2000 benchmark suites

Benchmarks ran for 2 billion with skipping the first 2 billion instructions

Page 24: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

24

Time spent in core modes

• Each of the 4 modes is useful (>40%) for several benchmarks

Page 25: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

25

Improvement in IPS2/Watt

Average IPS2/Watt improvement of 36% vs. AC baseline

Page 26: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

26

The self-morphing scheme provides 33% energy savings compared to the AC core

Unconstrained

Energy savings of self-morphing

Page 27: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

27

IPC of switching schemes (with AC as baseline)

Unconstrained

Page 28: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

28

Impact on IPC of morphing scheme overhead

Morphing overhead increase from 500 to 1000 cycles reduces the average performance of FineGrain_PMC by only 3.5%

Page 29: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

29

Comparison to Big-Little (OOO-InOrder): IPS2/Watt

Page 30: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

30

Is adding an InOrder core necessary?

Page 31: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

31

Impact of self-morphing on core reliability

Raw SER – Soft Error Rate independent of design details

Common reliability metric: Vulnerability to soft errors or Soft Error Rate (SER)

AVF – Architectural Vulnerability Factor

Page 32: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

32

Performance/Watt vs SER tradeoff

Minimize RPE – Reliability Power_Efficiency

SER is the lowest for the SM core Tradeoff between SER and IPS2/Watt Use a Cobb-Douglas type production function

a+b=1

Page 33: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

33

Decrease in SER, increase in IPS/Watt and IPC

Page 34: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

34

Conclusions

Thread migration/core-hopping is expensive• Performed at coarse grain

In-core morphing preserves state & cache• Minimal overhead• Allowing frequent morphing - larger gains

Achieving average improvement in IPS2/Watt of 36%, power savings of 33% and performance increase of 16%

If reliability is also a design objective in-core morphing can achieve 11% SER reduction for a lower (24%) IPS/Watt improvement and a lower (6%) performance increase

Page 35: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

35

Backup Slides

Page 36: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

36

Error in estimation of AVF based on PMCs

PMCs AC PMCs NC PMCs LW PMCs SM

Page 37: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

37

Counter selection heuristic

Input: PMCs & Power/IPC trace (of representative workloads) Objective: Minimum no. of PMCs to adequately fit power and

IPC Metric: Correlation coefficient, R2, of the fit (higher the better)

Approach:− Search counter space (14) iteratively− Each iteration:

• Choose a new counter that best fits IPC/Power trace along with previously selected counters

− Plot R2 coefficient− Best set of counters in region where R2 saturates

Page 38: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

38

High Branch mispredicition rate

Execution of astar – SM preferred

Page 39: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

39

Execution of mcf – NC preferred

Memory-bound application w/high L2 miss rate

Page 40: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

40

CPU-bound applications w/high resource use

Execution of bzip2 – LW preferred

Page 41: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

41

Power Constrained core designs

Core types for a 2W power constraint:

Core types for a 1.5W power constraint:

Page 42: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

42

Comparing Power Constrained and Un-Constrained cores

• Considerable energy saving vs. AC core type

Unconstrained

Page 43: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

43

Error distribution

Distribution of error in estimating IPC in various core types using PMCs of narrow core (NC)

Deviation of errors from mean is low with up to 80% between +/- 10% from the mean

Page 44: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

44

Number of switches in self-morphing scheme

Average number of switches is 1250 in 100M instructions Every 2K instructions there is a 25% probability to perform a mode switch

Page 45: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

45

IPC of switching schemes (with AC as baseline)

Unconstrained

Page 46: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

46

Morphable architecture With/Without InO core

• 3-mode morphing scheme with the inclusion of InO provides only 2% extra IPS2/Watt benefit compared to the 2-mode morphing between OOO(AC)-OOO(SM)

Page 47: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

47

Mediabench/MyBench

Page 48: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

48

(2) Is InO mode necessary?• InO core has smaller cache and array structures with much

lower static power• Cache/Array leakage is no longer a problem as tri-gates

cut leakage by 10X at 22nm• Use instead a small OOO: Fetch, issue width of 1 and smaller

ROB, LSQ and IQ• For most benchmarks IPC/Watt of InO and small OOO are

comparable

Simulation with MCPAT 22nm tri-gate models

Page 49: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

49

Effective Soft Error Rate (SER) Reduction

Page 50: Dept. of Electrical & Computer Engineering Self-Morphing Cores for Higher Power Efficiency and Improved Resilience Nithesh Kurella, Sudarshan Srinivasan.

50

Microarchitecture of Morphable Core

IQ, ROB, LSQ are resized dynamically when morphing from one core type to another

ROB, LSQ and IQ are implemented as banked structures Resizing involves turning on/off banks Reduce/increase fetch width, Power-off/on half the decoders