ACM Home Page
Please provide us with feedback. Feedback
Architectural support for shadow memory in multiprocessors
Full text PdfPdf (622 KB)
Source
ACM/Usenix International Conference On Virtual Execution Environments archive
Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments table of contents
Washington, DC, USA
SESSION: Memory management table of contents
Pages 1-10  
Year of Publication: 2009
ISBN:978-1-60558-375-4
Authors
Vijay Nagarajan  University of California, Riverside, Riverside, CA, USA
Rajiv Gupta  University of California, Riverside, Riverside, CA, USA
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGOPS: ACM Special Interest Group on Operating Systems
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 47,   Downloads (12 Months): 176,   Citation Count: 3
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1508293.1508295
What is a DOI?

ABSTRACT

Runtime monitoring support serves as a foundation for the important tasks of providing security, performing debugging, and improving performance of applications. Often runtime monitoring requires the maintenance of information associated with each of the application's original memory location, which is held in corresponding shadow memory locations. Unfortunately, existing robust shadow memory implementations are inefficient. In this paper, we present a shadow memory implementation that is both efficient and robust. A combination of architectural support (in the form of ISA support and augmentations to the cache coherency protocol) and operating system support (in the form of coupled allocation of memory pages used by the application and associated shadow memory pages) is proposed. By coupling the coherency of shadow memory with the coherency of the main memory, we ensure that the shadow memory instructions execute atomically with their corresponding original memory instructions. Our page allocation policy enables fast translation of original addresses into corresponding shadow memory addresses; thus allowing implicit addressing of shadow memory. This approach obviates the need for page table entries for shadow pages. Our experiments show that the overheads of runtime monitoring tasks are significantly reduced in comparison to previous software implementations.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
Federico Angiolini, Luca Benini, and Alberto Caprara. An efficient profile based algorithm for scratchpad memory partitioning. IEEE Trans. on CAD of Integrated Circuits and Systems, 24(11):1660--1676, 2005.
2
 
3
 
4
JaeWoong Chung, Michael Dalton, Hari Kannan, and Christos Kozyrakis. Thread-safe binary translation using transactional memory. In HPCA, 2008.
5
6
7
 
8
9
 
10
11
12
13
 
14
James Newsome and Dawn Song. Dynamic taint analysis for automatic detection, analysis, and signature generation of exploits on commodity software. In NDSS, 2005.
 
15
 
16
 
17
Jose Renau, Basilio Fraguela, James Tuck, Wei Liu, Milos Prvulovic, Luis Ceze, Smruti Sarangi, Paul Sack, Karin Strauss, and Pablo Montesinos. SESC simulator, January 2005. http://sesc.sourceforge.net.
18
19
20
21
 
22
Guru Venkataramani, Ioannis Doudalis, Yan Solihin, and Milos Prvulovic. Flexitaint: A programmable accelerator for dynamic taint propagation. In HPCA, 2008.
 
23
24
25


Collaborative Colleagues:
Vijay Nagarajan: colleagues
Rajiv Gupta: colleagues