Compilação Dinâmica com Seleção Inteligente de Otimizações

  • Thais Aparecida Camacho Universidade Estadual de Maringá
  • Anderson Faustino Universidade Estadual de Maringá
  • Vanderson Rosario University of Campinas
  • Edson Borin University of Campinas

Abstract

Systems based on dynamic compilation generate target code at run time. Thus, the compilation time is included in the system runtime and it is crucial to build a low-cost system, which can at the same time generate good quality code and have low compilation cost. In this paper, we present a novel approach to use machine learning to perform an intelligent selection of optimizations to apply for each region dynamic compiled. Such a system was tested in a dynamic binary translator, OI-DBT, whose performance was increased by 26.32% when using this smart optimization approach.

References

Auler, R. and Borin, E. (2015). OpenISA, freedom powered by efficient binary translation. In Architectural and Microarchitectural Support for Binary Translation.

Cavazos, J. and O’boyle, M. F. (2006). Method-specific dynamic compilation using logistic regression. In ACM SIGPLAN Notices, volume 41, pages 229–240. ACM.

Duesterwald, E. and Bala, V. (2000). Software profiling for hot path prediction: Less is more. ACM SIGOPS, 34(5):202–211.

Hiniker, D., Hazelwood, K., and Smith, M. D. (2005). Improving region selection in dynamic optimization systems. MICRO 38, pages 141–154, Washington, DC, USA. IEEE Computer Society.

Hoste, K., Georges, A., and Eeckhout, L. (2010). Automated just-in-time compiler tuning. In CGO’10, pages 62–72. ACM.

Ishizaki, K., Takeuchi, M., Kawachiya, K., Suganuma, T., Gohda, O., Inagaki, T., Koseki, A., Ogata, K., Kawahito, M., Yasue, T., et al. (2003). Effectiveness of cross-platform optimizations for a java just-in-time compiler. In ACM SIGPLAN Notices, volume 38, pages 187–204. ACM.

Muchnick, S. S. (1997). Advanced Compiler Design and Implementation. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.

Needleman, S. B. and Wunsch, C. D. (1970). A general method applicable to the search for similarities in the amino acid sequence of two proteins. J. Mol. Biol., 48:443–453.

Ottoni, G. (2018). HHVM JIT: A profile-guided, region-based compiler for PHP and Hack. In ACM SIGPLAN Notices, volume 53, pages 151–165. ACM.

Richter, M. M. and Weber, R. O. (2013). Case-Based Reasoning: A Textbook. Springer Publishing Company, Incorporated.

Sanchez, R. N., Amaral, J. N., Szafron, D., Pirvu, M., and Stoodley, M. (2011). Using machines to learn method-specific compilation strategies. In CGO, pages 257–266. IEEE.

Venners, B. (1998). The Java Virtual Machine. McGraw-Hill, New York.

Wang, C., Zheng, B., Kim, H., Jr., M. B., and Wu, Y. (2007). Two-pass MRET trace selection for dynamic optimization. Patent number 20070079293.

Yadav, R. and Bhadoria, R. S. (2015). Performance analysis for Android runtime environment. In CSNT’15, pages 1076–1079. IEEE.

Zhao, J. (2004). Jikes RVM Adaptive Optimization System with Intelligent Algorithms. PhD thesis, PhD thesis, School of Computer Science, The University of Manchester.
Published
2019-11-08
How to Cite
CAMACHO, Thais Aparecida et al. Compilação Dinâmica com Seleção Inteligente de Otimizações. Proceedings of the Symposium on High Performance Computing Systems (SSCAD), [S.l.], p. 109-120, nov. 2019. ISSN 0000-0000. Available at: <https://sol.sbc.org.br/index.php/sscad/article/view/8661>. Date accessed: 18 may 2024. doi: https://doi.org/10.5753/wscad.2019.8661.