Support for Symmetric Shadow Memory in Multiprocessors

Vijay Nagarajan, Rajiv Gupta

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract / Description of output

Runtime monitoring support serves as a foundation for the important tasks of providing security [15, 14, 2], performing debugging [13, 11, 8], and improving performance of applications [1]. Runtime monitoring, typically, requires the maintenance of meta data associated with each of the application's original memory location, which are held in corresponding shadow memory locations. Each original memory instruction (OMI) is then accompanied by additional shadow memory instructions (SMIs) that manipulate the meta data associated with the memory location. Often the SMIs associated with OMIs are symmetric, in that, original stores (loads) are accompanied by shadow stores (loads). Unfortunately, existing shadow memory implementations need thread serialization to ensure that OMIs and SMIs are executed atomically [12]. Naturally this is not an efficient approach, especially in the now ubiquitous multiprocessors.

In this paper, we present an efficient shadow memory implementation that handles symmetric shadow instructions. By coupling the coherency of shadow memory with the coherency of the main memory, we ensure that the SMIs execute atomically with their corresponding OMIs. We also couple the allocation of application memory pages with its associated shadow pages, for enabling fast translation of original addresses into corresponding shadow memory addresses. Our experiments show that the overheads of run-time monitoring tasks are significantly reduced in comparison to previous software implementations.
Original languageEnglish
Title of host publicationProceedings of the 6th Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging
Place of PublicationNew York, NY, USA
Number of pages9
Publication statusPublished - 2008

Publication series

NamePADTAD '08

Keywords / Materials (for Non-textual outputs)

  • monitoring, symmetric shadow memory


Dive into the research topics of 'Support for Symmetric Shadow Memory in Multiprocessors'. Together they form a unique fingerprint.

Cite this