cache pirating: measuring the curse of the shared...
TRANSCRIPT
Cache Pirating: Measuring the Curse ofthe Shared Cache
David Eklov <[email protected]>Nikos Nikoleris <[email protected]>
David Black-Schaffer <[email protected]>Erik Hagersten <[email protected]>
Department of Information Technology
Uppsala University
2011-04-29
Cache Pirating
Cache Pirating is a tool to measure any performance metric of anapplication as a function of cache size, such as CPI and GB/s.
0.0
0.5
1.0
1.5
2.0
2.5
1M 2M 3M 4M 5M 6M 7M
CP
I
cache size
471.omnetpp
0.00.51.01.52.02.53.03.5
1M 2M 3M 4M 5M 6M 7M
Ban
dwid
ht(G
B/s
)
cache size
470.lbm
- 2 -
Cache Pirating
Cache Pirating is a tool to measure any performance metric of anapplication as a function of cache size, such as CPI and GB/s.
0.0
0.5
1.0
1.5
2.0
2.5
1M 2M 3M 4M 5M 6M 7M
CP
I
cache size
471.omnetpp
0.00.51.01.52.02.53.03.5
1M 2M 3M 4M 5M 6M 7M
Ban
dwid
ht(G
B/s
)
cache size
470.lbm
Works as follows:Co-runs a Pirate application with the Target applicationThe Pirate “steals” cache from the Target, andmeasures the Target with hardware performance counters.
- 2 -
Overview
$ $
PirateTarget
$1
CPI
$1
- 3 -
Overview
$ $
Target Pirate
$2
CPI
$2
- 3 -
Overview
$ $
Target Pirate
$3
CPI
$3
- 3 -
Overview
$ $
Target Pirate
$4
CPI
$4
- 3 -
Predicting Multicore Scaling – 471.omnetpp
1
2
3
4
1 2 3 4
Thro
ughp
ut
cores
471.omnetpp
expected
- 4 -
Predicting Multicore Scaling – 471.omnetpp
1
2
3
4
1 2 3 4
Thro
ughp
ut
cores
471.omnetpp
expectedmeasured
- 4 -
Predicting Multicore Scaling – 471.omnetpp
1
2
3
4
1 2 3 4
Thro
ughp
ut
cores
471.omnetpp
expectedmeasured
0.0
0.5
1.0
1.5
2.0
2.5
1M 2M 3M 4M 5M 6M 7M
CP
I
cache size
471.omnetpp
- 4 -
Predicting Multicore Scaling – 471.omnetpp
1
2
3
4
1 2 3 4
Thro
ughp
ut
cores
471.omnetpp
δ
expectedmeasured
0.0
0.5
1.0
1.5
2.0
2.5
1M 2M 3M 4M 5M 6M 7M
CP
I
cache size
471.omnetpp
∆
- 4 -
Predicting Multicore Scaling – 471.omnetpp
1
2
3
4
1 2 3 4
Thro
ughp
ut
cores
471.omnetpp
expectedmeasured
cache pirate
0.0
0.5
1.0
1.5
2.0
2.5
1M 2M 3M 4M 5M 6M 7M
CP
I
cache size
471.omnetpp
- 4 -
Predicting Multicore Scaling – 470.lbm
0.00.20.40.60.81.01.21.41.6
1M 2M 3M 4M 5M 6M 7M
CP
I
cache size
470.lbm
1
2
3
4
1 2 3 4
Thro
ughp
ut
cores
470.lbm
cache pirate
- 5 -
Predicting Multicore Scaling – 470.lbm
0.00.20.40.60.81.01.21.41.6
1M 2M 3M 4M 5M 6M 7M
CP
I
cache size
470.lbm
1
2
3
4
1 2 3 4
Thro
ughp
ut
cores
470.lbm
cache piratemeasured
- 5 -
Predicting Multicore Scaling – 470.lbm
0.00.20.40.60.81.01.21.41.6
1M 2M 3M 4M 5M 6M 7M
CP
I
cache size
470.lbm
1
2
3
4
1 2 3 4
Thro
ughp
ut
cores
470.lbm
cache piratemeasured
0.00.51.01.52.02.53.03.5
1M 2M 3M 4M 5M 6M 7M
Ban
dwid
ht(G
B/s
)
cache size
470.lbm
- 5 -
Predicting Multicore Scaling – 470.lbm
0.00.20.40.60.81.01.21.41.6
1M 2M 3M 4M 5M 6M 7M
CP
I
cache size
470.lbm
1
2
3
4
1 2 3 4
Thro
ughp
ut
cores
470.lbm
cache piratemeasured
0.00.51.01.52.02.53.03.5
1M 2M 3M 4M 5M 6M 7M
Ban
dwid
ht(G
B/s
)
cache size
470.lbm
02468
10121416
1 2 3 4
Ban
dwid
th(G
B/s
)
cores
470.lbm
required
- 5 -
Predicting Multicore Scaling – 470.lbm
0.00.20.40.60.81.01.21.41.6
1M 2M 3M 4M 5M 6M 7M
CP
I
cache size
470.lbm
1
2
3
4
1 2 3 4
Thro
ughp
ut
cores
470.lbm
cache piratemeasured
0.00.51.01.52.02.53.03.5
1M 2M 3M 4M 5M 6M 7M
Ban
dwid
ht(G
B/s
)
cache size
470.lbm
02468
10121416
1 2 3 4
Ban
dwid
th(G
B/s
)
cores
470.lbm
10.4 GB/s
requiredmeasured
- 5 -
Summary
Summary:The performance implication of processor consolidation canbe hard to predict, andrequires insight into the applications’ sensitivity to resourcesharing.Cache Pirating is a fast and accurate method to profileapplication’s sensitivity to cache sharing.
Future Work:ABB/UU: Start pilot project to investigate how Cache Piratingcan guide future consolidation decisions.
- 6 -