Umbra: efficient and scalable memory shadowing

Umbra: efficient and scalable memory shadowing
复制标题

Umbra:高效且可扩展的内存阴影

DOI:
10.1145/1772954.1772960
复制
发表时间:
2010
期刊:
2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE)
影响因子:
--
通讯作者:
Saman P. Amarasinghe
Saman P. Amarasinghe
中科院分区:
--
文献类型:
--
作者:
Qin Zhao;Derek Bruening;Saman P. Amarasinghe

文献摘要

被引文献

相似文献

阴影价值工具使用元数据在单个机器指令的粒度上跟踪应用程序数据的属性。这些工具提供了监视和分析应用程序运行时行为的有效手段。但是,由于细粒度的监视,高运行时的开销通常会限制使用此类工具的使用。此外,64位体系结构对有效的内存阴影工具构成了新的挑战。由于其阴影元数据翻译中的限制,当前工具无法有效地监视完整的64位地址空间。 本文提出了一个称为Umbra的高效且可扩展的记忆阴影框架。 UMBRA采用新颖的翻译方案,支持从应用程序数据到Shadow Metadata的有效映射,用于32位和64位应用。 UMBRA的翻译方案不依赖任何平台功能,也不限于任何特定的阴影记忆大小。我们还提出了几种映射优化和一般动态仪器技术,可大大降低运行时开销,并在现实世界中的阴影值工具上证明其有效性。我们表明,阴影内存翻译开销平均可以降低至仅133%。
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.