MemPrint: Constructing Program Memory Footprint Estimations using Statistical Methods from Sparsely Sampled Pin-based Memory Traces
Knowing the precise memory footprint of applications is necessary to optimize their memory behavior via compiler passes. However, obtaining the memory footprint of workloads is challenging. Tracking heap allocations using Valgrind’s Massif tool provides insufficient information, as stack usage and allocations made by other images, such as library calls, cannot be tracked. As such, it becomes necessary to instrument individual memory instructions to learn the true memory usage of programs. However, instrumenting each memory instruction is infeasible since it causes programs to slow down exponentially, making instrumenting large programs practically impossible. Hence, it is only feasible to instrument memory references sparsely, leading to the challenge of estimating the whole program memory footprint from a small fraction of accesses. To that effort, we devise MemPrint , a statistical method to approximate the whole program memory footprint from sparse random memory traces. MemPrint achieves significant improvement over prior works that use sampled memory traces, achieving error rates ranging between 0.29%–21.71% while minimizing overhead from PIN.
Authors
- Daniel Wong (ORCID: https://orcid.org/0000-0002-5376-7868)
- Joseph Manzano (ORCID: https://orcid.org/0000-0002-6616-0125)
- Nafis Mustakin (ORCID: https://orcid.org/0009-0007-5547-814X)
Institutions
- University of California, Riverside (US)
- Pacific Northwest National Laboratory (US)
Publication Details
- Journal
- ACM Transactions on Architecture and Code Optimization
- Published
- 2026-09-05
- DOI
- https://doi.org/10.1145/3844952
- Primary Topic
- Parallel Computing and Optimization Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00