PREDVIĐANJE PROFILA IZVRŠAVANJA PROGRAMA TEHNIKAMA MAŠINSKOG U ČENJA

eLibrary

 
 

PREDVIĐANJE PROFILA IZVRŠAVANJA PROGRAMA TEHNIKAMA MAŠINSKOG U ČENJA

Show simple item record

dc.contributor.advisor Vujošević janičić, Milena
dc.contributor.author Čugurović, Milan
dc.date.accessioned 2025-10-24T12:53:41Z
dc.date.available 2025-10-24T12:53:41Z
dc.date.issued 2025-10
dc.identifier.uri http://hdl.handle.net/123456789/5778
dc.description.abstract Compilers use program profiles to perform profile-guided optimizations and pro- duce efficient programs. Although dynamic profilers generate high-quality profiles, they have significant drawbacks. They complicate the application build pipeline by requiring two compi- lation steps and an additional profile collection run. Dynamic profilers also consume substantial time and memory and place a heavy burden on developers to create suitable workloads that accurately reflect typical application usage, cover important code paths, and generate well- distributed profiles. In response to the shortcomings of dynamic profilers, modern static profilers employ ma- chine learning (ML) techniques to predict program profiles. However, state-of-the-art ML-based static profilers often rely on handcrafted features that are platform-specific and difficult to adapt across different architectures and programming languages. They also tend to use computation- ally intensive deep neural networks, which increase application compilation time. Moreover, ML-based static profilers can degrade the performance of optimized programs due to inaccurate profile predictions. This dissertation presents GraalSP , an ML-based static profiler that is portable, polyglot, efficient, and robust. GraalSP achieves portability by defining features on a high-level, graph- based intermediate representation and by partially automating the feature extraction process. This design makes GraalSP polyglot, allowing it to predict profiles for programs written in any language that compiles to Java bytecode, such as Java, Scala, or Kotlin. GraalSP is efficient due to its use of a lightweight XGBoost model based on decision trees, and robust because it relies on carefully designed heuristics that correct machine learning predictions and ensure high performance in programs optimized using the predicted profiles. We integrate GraalSP into the Enterprise GraalVM Native Image compiler and evaluate it on 28 benchmarks from the Renaissance, DaCapo, and DaCapo Scala benchmark suites. These suites represent a modern and diverse collection of benchmarks, featuring numerous real-world workloads across a variety of programming paradigms. Our comprehensive evaluation shows that GraalSP achieves a geometric mean speedup of 7.46% in execution time compared to the default compiler configuration, which models program profiles using a uniform distribution. This dissertation also presents a detailed qualitative and quantitative analysis to position and compare the proposed solution against state-of-the-art static profilers. Additionally, to enhance and expand the evaluation and support developers in analyzing GraalSP ’s predictions, this dissertation introduces the GraalSP-PLog tool. This tool allows developers to run the GraalSP static profiler on any program and generate detailed prediction reports, making it easier to inspect individual predictions and identify model mispredictions. Since GraalSP provides substantial performance gains, has minimal impact on binary size and compile time, and includes a modern, fully automated model retraining pipeline, it is well- suited for commercial deployment. As a result, GraalSP has been the default static profiler for the Enterprise GraalVM Native Image compiler since June 2023, consistently improving performance with every build. en_US
dc.description.provenance Submitted by Slavisha Milisavljevic (slavisha) on 2025-10-24T12:53:41Z No. of bitstreams: 1 Milan_Cugurovic_doktorska_disertacija.pdf: 5694677 bytes, checksum: 77ae8cd695e2cb40d5ca6dad729635f4 (MD5) en
dc.description.provenance Made available in DSpace on 2025-10-24T12:53:41Z (GMT). No. of bitstreams: 1 Milan_Cugurovic_doktorska_disertacija.pdf: 5694677 bytes, checksum: 77ae8cd695e2cb40d5ca6dad729635f4 (MD5) Previous issue date: 2025-10 en
dc.language.iso sr en_US
dc.publisher Beograd en_US
dc.title PREDVIĐANJE PROFILA IZVRŠAVANJA PROGRAMA TEHNIKAMA MAŠINSKOG U ČENJA en_US
mf.author.birth-date 1995-08-30
mf.author.birth-place Loznica en_US
mf.author.birth-country Srbija en_US
mf.author.residence-state Srbija en_US
mf.author.citizenship Srpsko en_US
mf.author.nationality Srbin en_US
mf.subject.area computer science en_US
mf.subject.keywords Compilers use program profiles to perform profile-guided optimizations and pro- duce efficient programs. Although dynamic profilers generate high-quality profiles, they have significant drawbacks. They complicate the application build pipeline by requiring two compi- lation steps and an additional profile collection run. Dynamic profilers also consume substantial time and memory and place a heavy burden on developers to create suitable workloads that accurately reflect typical application usage, cover important code paths, and generate well- distributed profiles. In response to the shortcomings of dynamic profilers, modern static profilers employ ma- chine learning (ML) techniques to predict program profiles. However, state-of-the-art ML-based static profilers often rely on handcrafted features that are platform-specific and difficult to adapt across different architectures and programming languages. They also tend to use computation- ally intensive deep neural networks, which increase application compilation time. Moreover, ML-based static profilers can degrade the performance of optimized programs due to inaccurate profile predictions. This dissertation presents GraalSP , an ML-based static profiler that is portable, polyglot, efficient, and robust. GraalSP achieves portability by defining features on a high-level, graph- based intermediate representation and by partially automating the feature extraction process. This design makes GraalSP polyglot, allowing it to predict profiles for programs written in any language that compiles to Java bytecode, such as Java, Scala, or Kotlin. GraalSP is efficient due to its use of a lightweight XGBoost model based on decision trees, and robust because it relies on carefully designed heuristics that correct machine learning predictions and ensure high performance in programs optimized using the predicted profiles. We integrate GraalSP into the Enterprise GraalVM Native Image compiler and evaluate it on 28 benchmarks from the Renaissance, DaCapo, and DaCapo Scala benchmark suites. These suites represent a modern and diverse collection of benchmarks, featuring numerous real-world workloads across a variety of programming paradigms. Our comprehensive evaluation shows that GraalSP achieves a geometric mean speedup of 7.46% in execution time compared to the default compiler configuration, which models program profiles using a uniform distribution. This dissertation also presents a detailed qualitative and quantitative analysis to position and compare the proposed solution against state-of-the-art static profilers. Additionally, to enhance and expand the evaluation and support developers in analyzing GraalSP ’s predictions, this dissertation introduces the GraalSP-PLog tool. This tool allows developers to run the GraalSP static profiler on any program and generate detailed prediction reports, making it easier to inspect individual predictions and identify model mispredictions. Since GraalSP provides substantial performance gains, has minimal impact on binary size and compile time, and includes a modern, fully automated model retraining pipeline, it is well- suited for commercial deployment. As a result, GraalSP has been the default static profiler for the Enterprise GraalVM Native Image compiler since June 2023, consistently improving performance with every build. en_US
mf.subject.subarea compilers, machine learning en_US
mf.contributor.committee Marić, Filip
mf.contributor.committee Nikolić, Mladen
mf.contributor.committee Misailović, Saša
mf.university.faculty Mathematical Faculty en_US
mf.document.references 351 en_US
mf.document.pages 123 en_US
mf.document.genealogy-project No en_US
mf.university Belgrade University en_US

Files in this item

Files Size Format View
Milan_Cugurovic_doktorska_disertacija.pdf 5.694Mb PDF View/Open

This item appears in the following Collection(s)

Show simple item record