Fine-grained Metadata Management Using Page Overlays
External tools are often used to monitor a running application. For example, such a tool may allow for security and type checking using
taints, an implementation of memory forwarding, or a check for memory safety. Such tools require metadata (additional bits associated with
values in memory). These extra bits must be stored somewhere, but often hardware and/or software modifications are required to support
efficient storage, some of these being changes to the cache coherence protocol and the operating system. One potential method for storing
metadata is to extend the memory overlay framework developed by Seshadri et al. in which virtual pages remain mapped to physical
pages, but can also be mapped to finer-grained chunks of memory called overlays that each hold a subset of the page’s cachelines. This
research study focused on the design and implementation of an extension of the memory overlay framework for metadata management.