ATTENTION: The software behind KU ScholarWorks is being upgraded to a new version. Starting July 15th, users will not be able to log in to the system, add items, nor make any changes until the new version is in place at the end of July. Searching for articles and opening files will continue to work while the system is being updated. If you have any questions, please contact Marianne Reed at .

Show simple item record

dc.contributor.advisorKulkarni, Prasad
dc.contributor.authorWade, Tyler
dc.description.abstractDynamic or just-in-time (JIT) compilation can generate optimized native code dur- ing each program run, and is a popular technique used by process-level virtual ma- chines (VM) to simultaneously achieve binary code portability and high execution performance. JIT compilers typically collect profile information at run-time to guide selective compilation and profile-guided optimizations (PGO). Ahead-of-time (AOT) compilation is an alternative model that can also achieve portability by converting the distributed binary to native code when the software is first installed. The AOT compi- lation model removes the overhead of online profile collection and dynamic compila- tion, and may reduce VM complexity. However, AOT compilation cannot customize the generated native code to different program inputs/behaviors. The goal of this work is to investigate and quantify the implications of the AOT compilation model on the quality of the generated native code for current VMs. To achieve our goal, this study develops and conducts many new innovative experi- ments using a variety of novel frameworks. First, we quantify the quality of native code generated by the two compilation models for a state-of-the-art (HotSpot) Java VM. Second, we determine how the amount of profile data collected affects the qual- ity of generated code. Third, we develop a mechanism to determine the similarity or representative-ness of different profile data for a given program run for guiding PGOs. Fourth, we investigate how the accuracy of profile data affects its ability to effectively guide PGOs. Finally, we categorize the profile data types in our VM and explore the contribution of each such category to performance.
dc.format.extent45 pages
dc.publisherUniversity of Kansas
dc.rightsCopyright held by the author.
dc.subjectComputer science
dc.titleAOT vs JIT: Impact of Profile Data on Code Quality
dc.contributor.cmtememberAlexander, Perry
dc.contributor.cmtememberYun, Heechul
dc.thesis.degreeDisciplineElectrical Engineering & Computer Science

Files in this item


This item appears in the following Collection(s)

Show simple item record