high performance computing laboratory: research roadmap

13
The Hotspot The Hotspot Peng-Sheng Chen

Upload: others

Post on 04-Dec-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: High Performance Computing Laboratory: Research Roadmap

The HotspotThe Hotspot

Peng-Sheng Chen

Page 2: High Performance Computing Laboratory: Research Roadmap

2

The Hotspot (1)The Hotspot (1)

Define: an area of intense heat or activity

Knowing which portions of an application to

optimize can be the single most important

step in the software optimization process

Page 3: High Performance Computing Laboratory: Research Roadmap

Hotspots in the Pacific OceanHotspots in the Pacific Ocean

3

Page 4: High Performance Computing Laboratory: Research Roadmap

4

The Hotspot (2)The Hotspot (2)

What causes hotspots and cold spots? (software

doesn’t execute uniformly)

Infrequent execution

Slow execution

Frequent execution

Page 5: High Performance Computing Laboratory: Research Roadmap

5

The Hotspot (3)The Hotspot (3)

Infrequent execution

Ex: initialization code, error handling

If these areas tend to take very little time relative

to the rest of the application => cold spots

Page 6: High Performance Computing Laboratory: Research Roadmap

6

The Hotspot (4)The Hotspot (4)

Slow execution

Ex: simulation

These areas are hotspots only when they

consume a significant portion of time compared

to the rest of the application

Page 7: High Performance Computing Laboratory: Research Roadmap

7

The Hotspot (5)The Hotspot (5)

Frequent execution

Ex: redrawing the screen in a game, processing

key-strokes

These areas are hotspots only when they

consume a significant portion of time compared

to the rest of the application

Page 8: High Performance Computing Laboratory: Research Roadmap

8

More Than Just TimeMore Than Just Time

Hotspots are areas of any intense activity

Hotspots can be found from

Time

Cache misses

Page misses

Mispredicted branches

Page 9: High Performance Computing Laboratory: Research Roadmap

Cache Misses, Mis-predicted Branches, Time-based HotsoptsCache Misses, Mis-predicted Branches, Time-based Hotsopts

9

Page 10: High Performance Computing Laboratory: Research Roadmap

Uniform Execution (1)Uniform Execution (1)

10

Page 11: High Performance Computing Laboratory: Research Roadmap

11

Uniform Execution (2)Uniform Execution (2)

Uniform execution does not mean that the

application is completely optimized

Detecting hotspots using time-based sampling

didn’t meet the goal of finding the place to start

optimizing

A program has

A lot of code that is written similarly

A lot of code that uses macros

Compiler optimization can help the most

Page 12: High Performance Computing Laboratory: Research Roadmap

Finding Hotspots Using Call GraphFinding Hotspots Using Call Graph

Sometimes hotspots only appear at the function or

application level, which could indicate algorithm or

data structure issues are to blame

12

Page 13: High Performance Computing Laboratory: Research Roadmap

13

Key PointsKey Points

Hotspots are the areas of the application that have

intense activity

Intense activity usually refers to time, but the

definition can include anything, mis-predicted

branches or cache misses, for example

Hotspots indicate the areas to start optimizing

Hotspots can be detected using sampling,

instrumentation, or both