Saved in:
Bibliographic Details
Main Authors: Chatterjee, Bodhisatwa, Jadhav, Neeraj, Pande, Santosh
Format: Preprint
Published: 2024
Subjects:
Online Access:https://arxiv.org/abs/2412.06994
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866917191028310016
author Chatterjee, Bodhisatwa
Jadhav, Neeraj
Pande, Santosh
author_facet Chatterjee, Bodhisatwa
Jadhav, Neeraj
Pande, Santosh
contents Application profiling is essential for software optimization tasks such as code layout and memory placement, where optimization decisions depend on program behavior. However, modern applications exhibit significant input-dependent variability, limiting the effectiveness of conventional profiling approaches that rely on a single representative execution. We present Phaedrus, a compiler-assisted deep learning framework that predicts dynamic program behavior across diverse execution instances, with a focus on dynamic function call prediction. These predicted call sequences are used to guide input-specific compiler optimizations, enabling code specialization without requiring program execution. Phaedrus introduces two complementary techniques. Application Behavior Synthesis (Dynamis) is a profile-less approach in which large language models infer dynamic behavior directly from source code and static compiler analysis, bypassing traditional profiling. Application Profile Generalization (Morpheus) employs generative models trained on compressed and augmented Whole Program Path (WPP) function profiles to predict application behavior for unseen inputs. Experimental results show that Phaedrus accurately identifies frequently executed and runtime-dominated hotspot functions, covering up to 85-99% of total execution time. Using these predictions, Phaedrus enables superior profile-guided optimizations, achieving an average performance improvement of 6% (upto 25%) and a binary size reduction of 5.19% (upto 19%), without executing the target program. Additionally, Phaedrus reduces WPP function profile sizes by up to $10^{7} \times $.
format Preprint
id arxiv_https___arxiv_org_abs_2412_06994
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Phaedrus: Predicting Dynamic Application Behavior with Lightweight Generative Models and LLMs
Chatterjee, Bodhisatwa
Jadhav, Neeraj
Pande, Santosh
Software Engineering
Programming Languages
Application profiling is essential for software optimization tasks such as code layout and memory placement, where optimization decisions depend on program behavior. However, modern applications exhibit significant input-dependent variability, limiting the effectiveness of conventional profiling approaches that rely on a single representative execution. We present Phaedrus, a compiler-assisted deep learning framework that predicts dynamic program behavior across diverse execution instances, with a focus on dynamic function call prediction. These predicted call sequences are used to guide input-specific compiler optimizations, enabling code specialization without requiring program execution. Phaedrus introduces two complementary techniques. Application Behavior Synthesis (Dynamis) is a profile-less approach in which large language models infer dynamic behavior directly from source code and static compiler analysis, bypassing traditional profiling. Application Profile Generalization (Morpheus) employs generative models trained on compressed and augmented Whole Program Path (WPP) function profiles to predict application behavior for unseen inputs. Experimental results show that Phaedrus accurately identifies frequently executed and runtime-dominated hotspot functions, covering up to 85-99% of total execution time. Using these predictions, Phaedrus enables superior profile-guided optimizations, achieving an average performance improvement of 6% (upto 25%) and a binary size reduction of 5.19% (upto 19%), without executing the target program. Additionally, Phaedrus reduces WPP function profile sizes by up to $10^{7} \times $.
title Phaedrus: Predicting Dynamic Application Behavior with Lightweight Generative Models and LLMs
topic Software Engineering
Programming Languages
url https://arxiv.org/abs/2412.06994