Leveraging Partially Context-Sensitive Profiles for Enhanced AOT Compilation: A Review
Main Article Content
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.
Downloads
Article Details
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
How to Cite
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