Examem: Low-Overhead Memory Instrumentation for Intelligent Memory Systems
Ashwin Poduval, Hayden Coffey, Michael Swift

TL;DR
Examem is a low-overhead, LLVM-based memory performance introspection framework that combines static and dynamic analysis to accurately measure memory bandwidth in targeted code regions, aiding optimization of modern memory systems.
Contribution
It introduces a novel LLVM IR pass for targeted, low-overhead memory instrumentation that integrates hardware counters and static analysis across multiple ISAs.
Findings
Geomean overhead under 10%
Byte accuracy of 93%
Applicable to four ISAs
Abstract
Memory performance is often the main bottleneck in modern computing systems. In recent years, researchers have attempted to scale the memory wall by leveraging new technology such as CXL, HBM, and in- and near-memory processing. Developers optimizing for such hardware need to understand how target applications perform to fully take advantage of these systems. Existing software and hardware performance introspection techniques are ill-suited for this purpose due to one or more of the following factors: coarse-grained measurement, inability to offer data needed to debug key issues, high runtime overhead, and hardware dependence. The heightened integration between compute and memory in many proposed systems offers an opportunity to extend compiler support for this purpose. We have developed Examem, a memory performance introspection framework based on the LLVM compiler infrastructure.…
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.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed and Parallel Computing Systems · Embedded Systems Design Techniques
