Please use this identifier to cite or link to this item: https://research.matf.bg.ac.rs/handle/123456789/1585
DC FieldValueLanguage
dc.contributor.authorČugurović, Milanen_US
dc.contributor.authorVujošević Janičić, Milenaen_US
dc.contributor.authorJovanović, Vojinen_US
dc.contributor.authorWürthinger, Thomasen_US
dc.date.accessioned2025-03-10T16:50:53Z-
dc.date.available2025-03-10T16:50:53Z-
dc.date.issued2024-07-01-
dc.identifier.issn01641212-
dc.identifier.urihttps://research.matf.bg.ac.rs/handle/123456789/1585-
dc.description.abstractCompilers use profiles to apply profile-guided optimizations and produce efficient programs. Dynamic profilers collect high-quality profiles but require identifying suitable profile collection workloads, introduce additional complexity to the application build pipeline, and cause significant time and memory overheads. Modern static profilers use machine learning (ML) models to predict profiles and mitigate these issues. However, state-of-the-art ML-based static profilers handcraft features, which are platform-specific and challenging to adapt to other architectures and programming languages. They use computationally expensive deep neural network models, thus increasing application compile time. Furthermore, they can introduce performance degradation in the compiled programs due to inaccurate profile predictions. We present GraalSP, a portable, polyglot, efficient, and robust ML-based static profiler. GraalSP is portable as it defines features on a high-level, graph-based intermediate representation and semi-automates the definition of features. For the same reason, it is also polyglot and can operate on any language that compiles to Java bytecode (such as Java, Scala, and Kotlin). GraalSP is efficient as it uses an XGBoost model based on lightweight decision tree models and robust as it uses branch probability prediction heuristics to ensure the high performance of compiled programs. We integrated GraalSP into the Graal compiler and achieved an execution time speedup of 7.46% geometric mean compared to a default configuration of the Graal compiler.en_US
dc.language.isoenen_US
dc.publisherElsevieren_US
dc.relation.ispartofJournal of Systems and Softwareen_US
dc.subjectCompilersen_US
dc.subjectGraalVMen_US
dc.subjectMachine learningen_US
dc.subjectRegressionen_US
dc.subjectStatic profileren_US
dc.subjectXGBoost ensembleen_US
dc.titleGraalSP: Polyglot, efficient, and robust machine learning-based static profileren_US
dc.typeArticleen_US
dc.identifier.doi10.1016/j.jss.2024.112058-
dc.identifier.scopus2-s2.0-85190721630-
dc.identifier.isi001298352700001-
dc.identifier.urlhttps://api.elsevier.com/content/abstract/scopus_id/85190721630-
dc.contributor.affiliationInformatics and Computer Scienceen_US
dc.contributor.affiliationInformatics and Computer Scienceen_US
dc.relation.issn0164-1212en_US
dc.description.rankM21en_US
dc.relation.firstpageArticle no. 112058en_US
dc.relation.volume213en_US
item.openairetypeArticle-
item.fulltextNo Fulltext-
item.cerifentitytypePublications-
item.grantfulltextnone-
item.openairecristypehttp://purl.org/coar/resource_type/c_18cf-
item.languageiso639-1en-
crisitem.author.deptInformatics and Computer Science-
crisitem.author.deptInformatics and Computer Science-
crisitem.author.orcid0009-0003-4149-5820-
crisitem.author.orcid0000-0001-5396-0644-
Appears in Collections:Research outputs
Show simple item record

Google ScholarTM

Check

Altmetric

Altmetric


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.