Time Matters Minimizing Garbage Collection Overhead with Minimal - - PowerPoint PPT Presentation
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
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
2015-11-05 Johannes Kepler University Linz 3
Garbage Collection
37 GC parameters – 7.2 * 1035 configurations
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)
2015-11-05 Johannes Kepler University Linz 5
Previous Results
100 – 400 configurations tested
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?
2015-11-05 Johannes Kepler University Linz 7
Brute Force
14879 configurations tested
2015-11-05 Johannes Kepler University Linz 8
Parameter Relevance
Work with “Top 10” Parameters
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
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”
2015-11-05 Johannes Kepler University Linz 11
Omitting Parameters
Try all combinations of omissions (Pseudo brute force)
2015-11-05 Johannes Kepler University Linz 12
Final Result
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.
2015-11-05 Johannes Kepler University Linz 14