Umbra: Efficient and scalable memory shadowing

Shadow value tools use metadata to track properties of application data at the granularity of individual machine instructions. These tools provide effective means of monitoring and analyzing the runtime behavior of applications. However, the high runtime overhead stemming from fine-grained monitorin...

Full description

Bibliographic Details
Main Authors: Zhao, Qin, Bruening, Derek, Amarasinghe, Saman P.
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Format: Article
Language:en_US
Published: Association for Computing Machinery 2011
Online Access:http://hdl.handle.net/1721.1/63088
https://orcid.org/0000-0002-7231-7643
_version_ 1826197336195334144
author Zhao, Qin
Bruening, Derek
Amarasinghe, Saman P.
author2 Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
author_facet Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Zhao, Qin
Bruening, Derek
Amarasinghe, Saman P.
author_sort Zhao, Qin
collection MIT
description Shadow value tools use metadata to track properties of application data at the granularity of individual machine instructions. These tools provide effective means of monitoring and analyzing the runtime behavior of applications. However, the high runtime overhead stemming from fine-grained monitoring often limits the use of such tools. Furthermore, 64-bit architectures pose a new challenge to the building of efficient memory shadowing tools. Current tools are not able to efficiently monitor the full 64-bit address space due to limitations in their shadow metadata translation. This paper presents an efficient and scalable memory shadowing framework called Umbra. Employing a novel translation scheme, Umbra supports efficient mapping from application data to shadow metadata for both 32-bit and 64-bit applications. Umbra's translation scheme does not rely on any platform features and is not restricted to any specific shadow memory size. We also present several mapping optimizations and general dynamic instrumentation techniques that substantially reduce runtime overhead, and demonstrate their effectiveness on a real-world shadow value tool. We show that shadow memory translation overhead can be reduced to just 133% on average.
first_indexed 2024-09-23T10:46:07Z
format Article
id mit-1721.1/63088
institution Massachusetts Institute of Technology
language en_US
last_indexed 2024-09-23T10:46:07Z
publishDate 2011
publisher Association for Computing Machinery
record_format dspace
spelling mit-1721.1/630882022-09-27T14:51:39Z Umbra: Efficient and scalable memory shadowing Zhao, Qin Bruening, Derek Amarasinghe, Saman P. Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory Amarasinghe, Saman P. Zhao, Qin Amarasinghe, Saman P. Shadow value tools use metadata to track properties of application data at the granularity of individual machine instructions. These tools provide effective means of monitoring and analyzing the runtime behavior of applications. However, the high runtime overhead stemming from fine-grained monitoring often limits the use of such tools. Furthermore, 64-bit architectures pose a new challenge to the building of efficient memory shadowing tools. Current tools are not able to efficiently monitor the full 64-bit address space due to limitations in their shadow metadata translation. This paper presents an efficient and scalable memory shadowing framework called Umbra. Employing a novel translation scheme, Umbra supports efficient mapping from application data to shadow metadata for both 32-bit and 64-bit applications. Umbra's translation scheme does not rely on any platform features and is not restricted to any specific shadow memory size. We also present several mapping optimizations and general dynamic instrumentation techniques that substantially reduce runtime overhead, and demonstrate their effectiveness on a real-world shadow value tool. We show that shadow memory translation overhead can be reduced to just 133% on average. 2011-05-24T13:55:02Z 2011-05-24T13:55:02Z 2010-04 2010-04 Article http://purl.org/eprint/type/ConferencePaper 978-1-60558-635-9 http://hdl.handle.net/1721.1/63088 Zhao, Qin, Derek Bruening, and Saman Amarasinghe. “Umbra: Efficient and Scalable Memory Shadowing.” Proceedings of the 8th Annual IEEE/ACM International Symposium on Code Generation and Optimization. Toronto, Ontario, Canada: ACM, 2010. 22-31. https://orcid.org/0000-0002-7231-7643 en_US http://dx.doi.org/10.1145/1772954.1772960 Proceedings of the 8th annual IEEE/ACM international symposium on Code generation and optimization Creative Commons Attribution-Noncommercial-Share Alike 3.0 http://creativecommons.org/licenses/by-nc-sa/3.0/ application/pdf Association for Computing Machinery MIT web domain
spellingShingle Zhao, Qin
Bruening, Derek
Amarasinghe, Saman P.
Umbra: Efficient and scalable memory shadowing
title Umbra: Efficient and scalable memory shadowing
title_full Umbra: Efficient and scalable memory shadowing
title_fullStr Umbra: Efficient and scalable memory shadowing
title_full_unstemmed Umbra: Efficient and scalable memory shadowing
title_short Umbra: Efficient and scalable memory shadowing
title_sort umbra efficient and scalable memory shadowing
url http://hdl.handle.net/1721.1/63088
https://orcid.org/0000-0002-7231-7643
work_keys_str_mv AT zhaoqin umbraefficientandscalablememoryshadowing
AT brueningderek umbraefficientandscalablememoryshadowing
AT amarasinghesamanp umbraefficientandscalablememoryshadowing