返回
GraalMHC: ML-Based Method-Hotness Classification for Binary-Size Reduction in Optimizing Compilers
DOI:10.1145/3771775.3786276.png)
摘要
En 中文
优化编译器通常为了追求更高的运行时性能而牺牲二进制文件大小。在没有方法执行配置文件的情况下,它们会统一应用性能导向的优化,通常是各种形式的代码复制。在很少或从不执行的方法中复制只会增加二进制文件大小而不提高性能。现代静态分析器使用机器学习来预测分支配置文件,但它们无法识别哪些方法将在运行时频繁执行。这样做可以实现更选择性的优化,在减少二进制文件大小的同时保持或仅轻微影响运行时性能。我们提出了GraalMHC,一种基于机器学习的静态分析器,用于预测方法的“热点”(hotness)。GraalMHC使用XGBoost集成来将方法分类为“冷”(cold)和“温”(warm)。对于冷方法,GraalMHC启用减小代码大小的优化,而对于温方法,它启用提高性能的优化。通过这种方式,GraalMHC实现了二进制文件大小的减小,且对运行时性能无影响或影响极小。此外,GraalMHC允许用户在三种不同的尺寸优化级别之间选择:(S1)9-13%的二进制文件大小减小,伴随1-2%的性能损失;(S2)15-25%的减小,伴随3-5%的性能损失;(S3)17-35%的减小,伴随5-7%的性能损失。我们将GraalMHC集成到Oracle GraalVM Native Image编译器中,提供了一套完整的端到端解决方案。
Keyword:
Static Profilers
Optimizing Compilers
Machine Learning
Binary-Size Reduction
GraalVM Native Image
期刊
机构
引用论文
Dominance-based duplication simulation (DBDS): code duplication to enable compiler optimizations基于支配的复制模拟(DBDS):代码复制以实现编译器优化

