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...
Main Authors: | , , |
---|---|
Other Authors: | |
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 |