IEEE Computer Architecture Letters, Volume: 23, Issue: 1, Jan.-June 2024.
Deepanjali Mishra*#, Konstantinos Kanellopoulos†, Ashish Panwar#, Akshitha Sriraman*, Vivek Seshadri#, Onur Mutlu†, Todd C. Mowry*
* Carnegie Mellon University
# Microsoft India
† ETH Zürich
In recent decades, software systems have grown significantly in size and complexity. As a result, such systems are more prone to bugs which can cause performance and correctness challenges. Using run-time monitoring tools is one approach to mitigate these challenges. However, these tools maintain metadata for every byte of application data they monitor, which precipitates performance overheads from additional metadata accesses. We propose Address Scaling, a new hardware framework that performs fine-grained metadata management to reduce metadata access overheads in run-time monitoring tools. Our mechanism is based on the observation that different run-time monitoring tools maintain metadata at varied granularities. Our key insight is to maintain the data and its corresponding metadata within the same cache line, to preserve locality. Address Scaling improves the performance of Memcheck, a dynamic monitoring tool that detects memory-related errors, by 3.55×and 6.58×for sequential and randommemory access patterns respectively, compared to the state-of-the-art systems that store the metadata in a memory region that is separate from the data.
KEY WORDS: Virtual memory, intermediate address space, metadata management, dynamic program monitoring tools
FULL PAPER: pdf