Call sequence prediction through probabilistic calling automata
Predicting a sequence of upcoming function calls is important for optimizing programs
written in modern managed languages (eg, Java, Javascript, C#.) Existing function call
predictions are mainly built on statistical patterns, suitable for predicting a single call but not
a sequence of calls. This paper presents a new way to enable call sequence prediction,
which exploits program structures through Probabilistic Calling Automata (PCA), a new
program representation that captures both the inherent ensuing relations among function …
written in modern managed languages (eg, Java, Javascript, C#.) Existing function call
predictions are mainly built on statistical patterns, suitable for predicting a single call but not
a sequence of calls. This paper presents a new way to enable call sequence prediction,
which exploits program structures through Probabilistic Calling Automata (PCA), a new
program representation that captures both the inherent ensuing relations among function …
Predicting a sequence of upcoming function calls is important for optimizing programs written in modern managed languages (e.g., Java, Javascript, C#.) Existing function call predictions are mainly built on statistical patterns, suitable for predicting a single call but not a sequence of calls. This paper presents a new way to enable call sequence prediction, which exploits program structures through Probabilistic Calling Automata (PCA), a new program representation that captures both the inherent ensuing relations among function calls, and the probabilistic nature of execution paths. It shows that PCA-based prediction outperforms existing predictions, yielding substantial speedup when being applied to guide Just-In-Time compilation. By enabling accurate, efficient call sequence prediction for the first time, PCA-based predictors open up many new opportunities for dynamic program optimizations.
ACM Digital Library
Showing the best result for this search. See all results