Published October 30, 2024 | Version CC-BY-NC-ND 4.0
Journal article Open

Leveraging Partially Context-Sensitive Profiles for Enhanced AOT Compilation: A Review

  • 1. Department of Software Engineering, Redoak Technologies, San Jose, CA, United States of America (USA).

Contributors

Contact person:

Researcher:

  • 1. Department of Software Engineering, Redoak Technologies, San Jose, CA, United States of America (USA).

Description

Abstract: In the realm of compiler optimization, just-in-time (JIT) compilation dynamically adjusts code execution based on runtime profiling, contrasting with the static approach of ahead-of-time (AOT) compilation. While JIT benefits from real-time profiling data, AOT lacks this advantage, necessitating innovative strategies to enhance performance without runtime feedback. This review article explores the integration of partially context-sensitive profiles into AOT compilation, offering insights into optimizing statically compiled programs through advanced profiling techniques. Also, it explores the utilization of partially context-sensitive profiles in ahead-of-time (AOT) compilation to enhance program performance. It delves into the challenges of AOT optimization without runtime profiling, contrasting it with the dynamic optimization capabilities of just-in-time (JIT) compilation. The proposed algorithm strategically leverages partial profiles to identify and optimize hot code segments, presenting a promising avenue for improving AOT compilation efficiency. Through empirical evaluation of diverse benchmarks, the article validates the technique's effectiveness, underscoring its significance in advancing compiler optimization strategies for statically compiled programs.

Files

A453814011024.pdf

Files (357.7 kB)

Name Size Download all
md5:469ae283a7e24ab65de2690b450d58bb
357.7 kB Preview Download

Additional details

Identifiers

Dates

Accepted
2024-10-15
Manuscript received on 31 July 2024 | Revised Manuscript received on 14 August 2024 | Manuscript Accepted on 15 October 2024 | Manuscript published on 30 October 2024.

References

  • Andrew Ayers, Richard Schooler, and Robert Gottlieb. 1997. Aggressive inlining. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'97).ACM, New York, NY, 134–145. DOI: https://doi.org/10.1145/258915.258928
  • IBM Corporation. 2021. Profile-Guided Optimization (PGO) using GCC.
  • David Detlefs and Ole Agesen. 1999. Inlining of Virtual Methods. Springer Berlin, 258–277. DOI: https://doi.org/10.1007/3-540-48743-3_12
  • Robert. Scheifler. 1977. An analysis of inline substitution for a structured programming language. Commun. ACM20, 9 (Sep. 1977), 647–654. DOI: https://doi.org/10.1145/359810.359830
  • B. Alpern, C. R. Attanasio, J. J. Barton, M. G. Burke, P. Cheng, J.-D. Choi, A. Cocchi, S. J. Fink, D. Grove, M. Hind, S. F. Hummel, D. Lieber, V. Litvinov, M. F. Mergen, T. Ngo, J. R. Russell, V. Sarkar, M. J. Serrano, J. C. Shepherd, S. E. Smith, V. C. Sreedhar, H. Srinivasan, and J. Whaley. 2000. The Jalapeño virtual machine. IBM Syst. J. 39, 1 (Jan. 2000), 211–238. DOI: https://doi.org/10.1147/sj.391.0211
  • Glenn Ammons, Thomas Ball, and James R. Larus. 1997. Exploiting hardware performance counters with flow and context-sensitive profiling. SIGPLAN Not. 32, 5 (May 1997), 85–96. DOI: https://doi.org/10.1145/258916.258924
  • Matthew Arnold, Michael Hind, and Barbara G. Ryder. 2002. Online feedback-directed optimization of Java. In Proceedings of the 17th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'02). Association for Computing Machinery, New York, NY, 111–129. DOI: https://doi.org/10.1145/582419.582432
  • Pohua P. Chang, Scott A. Mahlke, and Wen-Mei W. Hwu. 1991. Using profile information to assist classic code optimizations. Softw. Pract. Exper. 21, 12 (Dec. 1991), 1301–1321. DOI: https://doi.org/10.1002/spe.4380211204
  • Dehao Chen, Neil Vachharajani, Robert Hundt, Shih-Wei Liao, Vinodha Ramasamy, Paul Yuan, Wenguang Chen, and Weimin Zheng. 2010. Taming hardware event samples for FDO compilation. In Proceedings of the 8th Annual IEEE/ACM International Symposium on Code Generation and Optimization (CGO'10). Association for Computing Machinery, New York, NY, 42–52. DOI: https://doi.org/10.1145/1772954.1772963
  • Olivier Flückiger, Andreas Wälchli, Sebastián Krynski, and Jan Vitek. 2020. Sampling optimized code for type feedback. In Proceedings of the 16th ACM SIGPLAN International Symposium on Dynamic Languages (DLS'20). Association for Computing Machinery, New York, NY, 99 –111. DOI: https://doi.org/10.1145/3426422.3426984
  • Edward Fredkin. 1960. Trie memory. Commun. ACM 3, 9 (Sep. 1960), 490–499. DOI: https://doi.org/10.1145/367390.367400
  • Andy Georges, Dries Buytaert, and Lieven Eeckhout. 2007. Statistically rigorous Java performance evaluation. In Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA'07). Association for Computing Machinery, New York, NY, 57–76. DOI: https://doi.org/10.1145/1297027.1297033
  • James Gosling. 1995. Java intermediate bytecodes: ACM SIGPLAN Workshop on Intermediate Representations (IR'95). SIGPLAN Not. 30, 3 (Mar. 1995), 111–118. DOI: https://doi.org/10.1145/202530.202541
  • David Grove, Jeffrey Dean, Charles Garrett, and Craig Chambers. 1995. Profile-guided receiver class prediction. In Proceedings of the 10th Annual Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'95). Association for Computing Machinery, New York, NY, 108–123. DOI: https://doi.org/10.1145/217838.217848
  • T. Ball and J. R. Larus, "Efficient path profiling," Proceedings of the 29th Annual IEEE/ACM International Symposium on Microarchitecture. MICRO 29, Paris, France, 1996, pp. 46-57, doi: 10.1109/MICRO.1996.566449.
  • Ms. Gupta, Mr. Sharma, Pathak, Mr. A. K., & Rawat, A. (2019). Affinity based VM Migration: Taxonomy and Challenges. In International Journal of Innovative Technology and Exploring Engineering (Vol. 8, Issue 12, pp. 5799–5805). https://doi.org/10.35940/ijitee.l3862.1081219
  • Sultanpure, K. A., & Reddy, Dr. L. S. S. (2019). Virtual Machine Migration in Cloud Computing using Artificial Intelligence. In International Journal of Recent Technology and Engineering (IJRTE) (Vol. 8, Issue 4, pp. 2079–2088). https://doi.org/10.35940/ijrte.d7657.118419
  • Koul, S. (2020). Contribution of Artificial Intelligence and Virtual Worlds towards development of Super Intelligent AI Agents. In International Journal of Engineering and Advanced Technology (Vol. 9, Issue 5, pp. 800–809). https://doi.org/10.35940/ijeat.e9923.069520
  • Muthukrishnan, Dr. R., & Prakash, N. U. (2023). Validate Model Endorsed for Support Vector Machine Alignment with Kernel Function and Depth Concept to Get Superlative Accurateness. In International Journal of Basic Sciences and Applied Computing (Vol. 9, Issue 7, pp. 1–5). https://doi.org/10.35940/ijbsac.g0486.039723
  • Radhamani, V., & Dalin, G. (2019). Significance of Artificial Intelligence and Machine Learning Techniques in Smart Cloud Computing: A Review. In International Journal of Soft Computing and Engineering (Vol. 9, Issue 3, pp. 1–7). https://doi.org/10.35940/ijsce.c3265.099319