Time Matters Minimizing Garbage Collection Overhead with Minimal - - PowerPoint PPT Presentation

time matters
SMART_READER_LITE
LIVE PREVIEW

Time Matters Minimizing Garbage Collection Overhead with Minimal - - PowerPoint PPT Presentation

Time Matters Minimizing Garbage Collection Overhead with Minimal Effort Gnther Blaschek Philipp Lengauer 2015-11-05 Configuration Hell OpenJDK 8 681 VM parameters (1300+ including tracing and debugging flags) ~ 10 205 configurations


slide-1
SLIDE 1

Time Matters

Minimizing Garbage Collection Overhead with Minimal Effort

Günther Blaschek Philipp Lengauer 2015-11-05

slide-2
SLIDE 2

2015-11-05 Johannes Kepler University Linz 2

Configuration Hell

OpenJDK 8

681 VM parameters (1300+ including tracing and debugging flags)

~ 10205 configurations assuming only boolean parameters

slide-3
SLIDE 3

2015-11-05 Johannes Kepler University Linz 3

Garbage Collection

37 GC parameters – 7.2 * 1035 configurations

slide-4
SLIDE 4

2015-11-05 Johannes Kepler University Linz 4

Previous Approach

4 + 4096 4 + 2048 4 + 512 4 + 1024 5

  • 1024

4

  • 1024

3

  • 1024

2

  • 1024

4 + 3072 NewRatio AdaptiveBoundary PLABSize 3 + 2048 Throughput The Taming of the Shrew: Increasing Performance by Automatic Parameter Tuning for Java Garbage Collectors, Lengauer et. al., International Conference on Performance Engineering, 2014 (ICPE'14)

Hill Climbing (ParamILS)

slide-5
SLIDE 5

2015-11-05 Johannes Kepler University Linz 5

Previous Results

100 – 400 configurations tested

slide-6
SLIDE 6

2015-11-05 Johannes Kepler University Linz 6

Goal

GC ratio Effort 0% 100% ?% 1) How good can we get? 2) How can we achieve the same / better results faster? 3) How can we determine “important” parameters?

slide-7
SLIDE 7

2015-11-05 Johannes Kepler University Linz 7

Brute Force

14879 configurations tested

slide-8
SLIDE 8

2015-11-05 Johannes Kepler University Linz 8

Parameter Relevance

Work with “Top 10” Parameters

slide-9
SLIDE 9

2015-11-05 Johannes Kepler University Linz 9

Signficant Parameters

1 … AdaptiveSizeDecrementScaleFactor 2 … MaxTenuringThreshold 3 … MaxHeapFreeRatio 4 … UseAdaptiveGCBoundary 5 … SurvivorPadding 6 … AdaptiveSizePolicyWeight 7 … MinHeapFreeRatio 8 … YoungPLABSize 9 … UseAdaptiveSizePolicyWithSystemGC 10 … NewRatio

2304 configurations

slide-10
SLIDE 10

2015-11-05 Johannes Kepler University Linz 10

Experiment Sequence

1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 10 9 1 2 3 4 5 6 7 9 8 1 10 1 2 3 4 1 5 6 7 10 9 1 8 1 1 1 1 10 9 8 7 1 6 5 4 3 2 1 Try all permutations of parameters

...

Select best value one after the other → Linear number of experiments (22) “Pseudo Brute Force”

slide-11
SLIDE 11

2015-11-05 Johannes Kepler University Linz 11

Omitting Parameters

Try all combinations of omissions (Pseudo brute force)

slide-12
SLIDE 12

2015-11-05 Johannes Kepler University Linz 12

Final Result

slide-13
SLIDE 13

2015-11-05 Johannes Kepler University Linz 13

Recommendation

AdaptiveSizeDecrementScaleFactor 1 4 5, 6 2 3 4 7 6 5 8 9 10 MaxTenuringThreshold MaxHeapFreeRatio UseAdaptiveGCBoundary SurvivorPadding AdaptiveSizePolicyWeight MinHeapFreeRatio YoungPLABSize UseAdaptiveSizePolicyWithSystemGC NewRatio 15 1 70 50 1 3 1 10 50 40 20, 25 4096 1024 1 2 1 Parameter # default alt.

slide-14
SLIDE 14

2015-11-05 Johannes Kepler University Linz 14

Q&A

?