Selecting Heterogeneous Cores for Diversity*

Size: px
Start display at page:

Download "Selecting Heterogeneous Cores for Diversity*"

Transcription

1 Selecting Heterogeneous Cores for Diversity* Erik Tomusk Christophe Dubach Michael O Boyle E.Tomusk@ed.ac.uk Homepage: at the HiPEAC Conference Stockholm, 24 January, 2017 *DOI: / (

2 Heterogeneous Cores Problem Description Historically CPUs had one core; now they have more Historically CPUs had one type of core; now they have more types Single-ISA Power-limited, mobile devices Selecting Diversity 3

3 Heterogeneous Cores Problem Description Historically CPUs had one core; now they have more Historically CPUs had one type of core; now they have more types Single-ISA Power-limited, mobile devices Selecting Many different cores could be designed. Which ones should be designed? Cores must be complementary Diversity 3

4 Heterogeneous Cores Problem Description Historically CPUs had one core; now they have more Historically CPUs had one type of core; now they have more types Single-ISA Power-limited, mobile devices Selecting Many different cores could be designed. Which ones should be designed? Cores must be complementary Diversity 3

5 Problem Description Given some Pareto-optimal cores discovered by DSE 1. Which power-performance points should be chosen? 4

6 Problem Description Given some Pareto-optimal cores discovered by DSE 1. Which power-performance points should be chosen? 4

7 Problem Description Given some Pareto-optimal cores discovered by DSE 1. Which power-performance points should be chosen? 4

8 Problem Description Given some Pareto-optimal cores discovered by DSE 1. Which power-performance points should be chosen? 4

9 Problem Description Given some Pareto-optimal cores discovered by DSE 1. Which power-performance points should be chosen? 2. How to handle unfavorable trade-offs? 5

10 Problem Description Given some Pareto-optimal cores discovered by DSE 1. Which power-performance points should be chosen? 2. How to handle unfavorable trade-offs? 5

11 Problem Description Given some Pareto-optimal cores discovered by DSE 1. Which power-performance points should be chosen? 2. How to handle unfavorable trade-offs? 5

12 Problem Description Given some Pareto-optimal cores discovered by DSE 1. Which power-performance points should be chosen? 2. How to handle unfavorable trade-offs? 3. How to account for benchmark variations? 6

13 Problem Description Given some Pareto-optimal cores discovered by DSE 1. Which power-performance points should be chosen? 2. How to handle unfavorable trade-offs? 3. How to account for benchmark variations? 7

14 Problem Description Given some Pareto-optimal cores discovered by DSE 1. Which power-performance points should be chosen? 2. How to handle unfavorable trade-offs? 3. How to account for benchmark variations? 8

15 Problem Description Given some Pareto-optimal cores discovered by DSE 1. Which power-performance points should be chosen? 2. How to handle unfavorable trade-offs? 3. How to account for benchmark variations? 9

16 Problem Description Given some Pareto-optimal cores discovered by DSE 1. Which power-performance points should be chosen? 2. How to handle unfavorable trade-offs? 3. How to account for benchmark variations? 10

17 Problem Description Given some Pareto-optimal cores discovered by DSE 1. Which power-performance points should be chosen? 2. How to handle unfavorable trade-offs? 3. How to account for benchmark variations? 10

18 Problem Description Given some Pareto-optimal cores discovered by DSE 1. Which power-performance points should be chosen? 2. How to handle unfavorable trade-offs? 3. How to account for benchmark variations? 10

19 Problem Description Given some Pareto-optimal cores discovered by DSE 1. Which power-performance points should be chosen? 2. How to handle unfavorable trade-offs? 3. How to account for benchmark variations? 4. How to compare many candidate cores? 11

20 Problem Description Given some Pareto-optimal cores discovered by DSE 1. Which power-performance points should be chosen? 2. How to handle unfavorable trade-offs? 3. How to account for benchmark variations? 4. How to compare many candidate cores? 12

21 Problem Description Given some Pareto-optimal cores discovered by DSE 1. Which power-performance points should be chosen? 2. How to handle unfavorable trade-offs? 3. How to account for benchmark variations? 4. How to compare many candidate cores? 5. How to optimize for many benchmarks? 12

22 Problem Description Given some Pareto-optimal cores discovered by DSE 1. Which power-performance points should be chosen? 2. How to handle unfavorable trade-offs? 3. How to account for benchmark variations? 4. How to compare many candidate cores? 5. How to optimize for many benchmarks? 13

23 Problem Description Given some Pareto-optimal cores discovered by DSE 1. Which power-performance points should be chosen? 2. How to handle unfavorable trade-offs? 3. How to account for benchmark variations? 4. How to compare many candidate cores? 5. How to optimize for many benchmarks? 14

24 What is the Point of Heterogeneity? Shift design-time decisions to runtime Exact runtime requirements difficult to anticipate Runtime requirements change over time Design hardware for a broad range of scenarios 15

25 What is the Point of Heterogeneity? 16

26 What is the Point of Heterogeneity? 16

27 What is the Point of Heterogeneity? 16

28 What is the Point of Heterogeneity? 16

29 What is the Point of Heterogeneity? Diversity for each benchmark 17

30 Key Observations A diverse selection of cores allows flexibility at runtime Selection of cores should be diverse for all benchmarks Benchmarks are the ultimate baseline Diversity is maximized when a processor has every benchmark s Pareto-optimal cores 100s of cores Realistically can implement only a few cores A heterogeneous processor must approximate the diversity of 100s of cores with only a few cores 18

31 LUCIE Selection Algorithm Least Useful Configuration Iterative Elimination algorithm Starts with all Pareto-optimal cores from DSE Reduces number of cores while preserving diversity Evaluates each core s contribution to each benchmark s diversity 19

32 Example #1 More useful Less useful 20

33 Example #2 More useful Less useful 21

34 Example #3 Less useful More useful 22

35 SPECint 2006 Example 23

36 SPECint 2006 Example 24

37 SPECint 2006 Example 25

38 SPECint 2006 Example 26

39 SPECint 2006 Example 27

40 SPECint 2006 Example 28

41 SPECint 2006 Example 29

42 SPECint 2006 Example 30

43 Comparison to the State of the Art [1] Guevara, et al Strategies for anticipating risk in heterogeneous system design. In HPCA. Available: 31

44 Comparison to the State of the Art [1] Guevara, et al Strategies for anticipating risk in heterogeneous system design. In HPCA. Available: 32

45 SO Speedup[1] Compares two selections of heterogeneous cores Evaluates speedup or slowdown under a probabilistically determined power budget [1] Tomusk, et al Four metrics to evaluate heterogeneous multicores. In TACO, vol. 12, no. 4. Available: 33

46 Comparison to the State of the Art 34

47 Concluding Remarks Diverse cores make a processor usable in a broad range of scenarios Selecting cores for diversity is non-trivial Existing work selects cores that are generally highperformance, generally low-power, etc. The LUCIE algorithm selects cores to maintain diversity for individual benchmarks LUCIE s benchmark-centric approach improves performance under power constraints 35

48 Specialization See the Paper for Specializing a processor to a small number of benchmarks Pinning Using LUCIE to select cores to complement known cores Non-flat PDF Using LUCIE to select cores when the available power probability density function is empirically determined 36

49 Questions 37