Modeling the input history of programs for improved instruction-memory performance
C. A. G. Assis, E. S. T. Fernandes, V. C. Barbosa

TL;DR
This paper introduces a Bayesian network-based model that dynamically learns and adapts the input history of programs to optimize instruction-memory performance, reducing execution times across varied inputs.
Contribution
The paper presents a novel probabilistic model that refines its parameters during execution to improve basic block ordering based on input history, enhancing memory performance.
Findings
Significant reduction in program execution times with the proposed model.
Effective reordering of basic blocks based on input history.
Outperforms gcc level-3 optimization and Pettis-Hansen reordering.
Abstract
When a program is loaded into memory for execution, the relative position of its basic blocks is crucial, since loading basic blocks that are unlikely to be executed first places them high in the instruction-memory hierarchy only to be dislodged as the execution goes on. In this paper we study the use of Bayesian networks as models of the input history of a program. The main point is the creation of a probabilistic model that persists as the program is run on different inputs and at each new input refines its own parameters in order to reflect the program's input history more accurately. As the model is thus tuned, it causes basic blocks to be reordered so that, upon arrival of the next input for execution, loading the basic blocks into memory automatically takes into account the input history of the program. We report on extensive experiments, whose results demonstrate the efficacy of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
