+ All Categories
Home > Documents > Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

Date post: 15-Feb-2016
Category:
Upload: tia
View: 43 times
Download: 0 times
Share this document with a friend
Description:
Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications. Jeff Diamond 1 , Martin Burtscher 2 , John D. McCalpin 3 , Byoung -Do Kim 3 , Stephen W. Keckler 1,4 , James C. Browne 1. - PowerPoint PPT Presentation
Popular Tags:
39
1 Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications Jeff Diamond 1 , Martin Burtscher 2 , John D. McCalpin 3 , Byoung-Do Kim 3 , Stephen W. Keckler 1,4 , James C. Browne 1 1 University of Texas, 2 Texas State, 3 Texas Advanced Computing Center, 4 NVIDIA
Transcript
Page 1: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

1

Evaluation and Optimization of Multicore Performance Bottlenecks in

Supercomputing Applications

Jeff Diamond1, Martin Burtscher2, John D. McCalpin3, Byoung-Do Kim3,

Stephen W. Keckler1,4, James C. Browne1

1University of Texas, 2Texas State, 3Texas Advanced Computing Center, 4NVIDIA

Page 2: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

2

Trends In Supercomputers

Page 3: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

3

Is multicorean issue?

Page 4: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

4

The Problem: Multicore Scalability

Page 5: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

5

The Problem: Multicore Scalability

Page 6: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

6

Optimizations Differ in Multicore

Base code vs Multicore Optimized code

Page 7: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

7

Paper Contributions

Studies multicore related bottlenecks Identifies performance measurement challenges

unique to multicore systems Presents systematic approach to multicore

performance analysisDemonstrates principles of optimization

Page 8: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

8

Talk Outline

IntroductionApproach: An HPC Case StudyMulticore Measurement IssuesOptimization ExampleConclusion

Page 9: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

9

Approach: An HPC Case Study

Examine a real HPC application Major functions add variety

What is a typical HPC application?Many exhibit low arithmetic intensity

Typical of explicit / iterative solvers, stencilsFinite volume / elements / differencesMolecular dynamics, particle simulations, graph

search, Sparse MM, etc.

Page 10: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

10

Application: HOMME High Order Method Modeling Environment 3-D Atmospheric Simulation from NCAR Required for NSF acceptance testing Excellent scaling, highly optimized Arithmetic Intensity typical of stencil codes

Supercomputers:Ranger – 62,976 cores, 579 Teraflops

• 2.3 GHz quad core AMD Barcelona chipsLonghorn – 2,048 cores + 512 GPUs

• 2.5 GHz quad core Intel Nehalem-EP chips

Approach: An HPC Case Study

Page 11: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

11

Talk Outline

IntroductionApproach: An HPC Case StudyMulticore Measurement IssuesOptimization ExampleConclusion

Page 12: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

12

Multicore Performance BottlenecksSINGLE CHIP

SINGLE DIMM

PRIVATEL1/L2 Cache

SHAREDL3 CACHE

SHAREDOFF-CHIP BW

SHARED DRAMPAGE CACHES

NODE

LOCAL DRAM

L3

L2 L2

L2 L2

L1 L1

L1 L1

Page 13: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

13

Disturbances Persist Longer

Page 14: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

14

Measurement Implications

Page 15: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

15

Measurements Must Be Lightweight

Duration of major HOMME functions

Action CyclesRead Counter 9

Read Four Counters 30Call Function 40PAPI READ 400System Call 5,000

TLB Page Initialization 25,000

Function Duration Calls Per Second % Exec Time2,000 cycles or less 100,000 20%

2,000 to 10,000 cycles 20,000 10%10K to 200K cycles 1,600 15%200K to 1M cycles 200 15%1M to 10M cycles - 0%10M or more cycle 4 35%

Page 16: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

16

Multicore Measurement Issues

Performance issues in shared memory systemContext SensitiveNondeterministicHighly non local

Measurement disturbance is significantAccessing memory or delaying core Hard to “bracket” measurement effectsDisturbances can last billions of cyclesBottlenecks can be “bursty”

Conclusion – need multiple tools

Page 17: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

17

Talk Outline

IntroductionApproach: An HPC Case StudyMulticore Measurement IssuesOptimization ExampleConclusion

Page 18: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

18

Multicore Performance BottlenecksSINGLE CHIP

SINGLE DIMM

SHAREDL3 CACHE

SHAREDOFF-CHIP BW

SHARED DRAMPAGE CACHES

NODE

LOCAL DRAM

L3

L2 L2

L2 L2

L1 L1

L1 L1

Page 19: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

19

Measurement Approach

Find important functionsCompare performance counters at min/max core density Identify key multicore bottleneck:

L3 capacity – L3 miss rates increase with density Off-chip BW – BW usage at min density greater than share DRAM contention – DRAM page miss rates increase with

densityFor small and medium functions, follow up with light

weight / temporal measurements

Page 20: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

20

Typical Homme Loop

Page 21: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

21

Apply “Microfission” (First Line)

Page 22: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

22

“Loop Microfission”

Local, context free optimizationEach array processed independently

Add high-level blocking to fit cacheReduces total DRAM banks

Statistically reduces DRAM page miss rateReduces instantaneous working set size

Helps with L3 capacity and off-chip BW

Page 23: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

23

Microfission Results

Page 24: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

24

Talk Outline

IntroductionApproach: An HPC Case StudyMulticore Measurement IssuesOptimization ExampleConclusion

Page 25: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

25

Summary and Conclusions

HPC scalability must include multicoreNot well understoodRequires new analysis and measurement

techniquesOptimizations differ from single-core

Microfission is just one exampleMulticore locality optimization for shared

cachesImproves performance by 35%

Page 26: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

26

Future Work

Expect multicore observations apply to other HPC applications with low arithmetic intensity Irregular parallel applications: Adaptive meshes,

heterogeneous workloads Irregular blocking applications: graph traversal

Wider range of multicore (memory-focused) optimizationsRecomputationRelocating DataTemporary storage reductionStructural changes

Page 27: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

27

Thank You

Any Questions?

Page 28: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

28

BACKUP SLIDES…

Page 29: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

29

Less DRAM Contention

Page 30: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

30

Multicore Optimized, Low Density

Page 31: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

31

Most important functions

Page 32: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

32

L1 & L2 Miss Rates Less Relevant

Page 33: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

33

TEST

Page 34: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

34

HPC Applications Have Low Intensity

Page 35: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

35

Loads Per Cycle vs Intrachip Scaling

Page 36: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

36

TEST

Page 37: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

37

TEST

Page 38: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

38

Oscillations Effect L2 Miss Rate

Page 39: Evaluation and Optimization of Multicore Performance Bottlenecks in Supercomputing Applications

39

Oscillations Effect L2 Miss Rate


Recommended