Bursty Tracing: A Framework for Low-Overhead Temporal Profiling

Bursty Tracing: A Framework for Low-Overhead Temporal Profiling
复制标题

突发追踪:低开销时间分析框架

DOI:
--
复制
发表时间:
2001
期刊:
影响因子:
--
通讯作者:
Martin Hirzel
Martin Hirzel
中科院分区:
--
文献类型:
--
作者:
Martin Hirzel

文献摘要

被引文献

相似文献

随着处理器速度的增长远远快于内存访问速度,内存系统优化有可能显著提高程序性能。不幸的是,缓存级优化通常需要有关程序引用的详细时间信息才能有效。获取这些信息的传统技术过于昂贵,在在线环境中不实用。我们通过描述和评估一个用于低开销时间分析的框架来解决这个问题。我们的框架扩展了Arnold-Ryder框架,该框架使用仪器和基于计数器的采样以低开销收集频率概况。我们的框架对所有运行时事件跟踪的突发(子序列)进行采样,以构建一个临时程序概要文件。我们的突发跟踪分析器是使用Vulcan (x86的可执行编辑工具)构建的,我们在优化的x86二进制文件上对其进行评估。像Arnold-Ryder框架一样,我们的优点是不需要操作系统或硬件支持,而且是确定的。与它们不同的是,我们并不局限于捕获过程内无循环路径上的时间关系,因为我们的跟踪爆发可以跨越过程边界。此外,我们的框架不需要访问程序源或重新编译。我们对Arnold-Ryder框架的扩展的直接实现导致了6-35%的分析开销。我们描述了将该开销减少到3-18%的技术,使其适合在在线设置中使用。
With processor speed increasing much more rapidly than memory access speed, memory system optimizations have the potential to significantly improve program performance. Unfortunately, cache-level optimizations often require detailed temporal information about a program’s references to be effective. Traditional techniques for obtaining this information are too expensive to be practical in an on-line setting. We address this problem by describing and evaluating a framework for low-overhead temporal profiling. Our framework extends the Arnold-Ryder framework that uses instrumentation and counter-based sampling to collect frequency profiles with low overhead. Our framework samples bursts (sub-sequences) of the trace of all runtime events to construct a temporal program profile. Our bursty tracing profiler is built using Vulcan, an executable-editing tool for x86, and we evaluate it on optimized x86 binaries. Like the Arnold-Ryder framework, we have the advantages of not requiring operating system or hardware support and being deterministic. Unlike them, we are not limited to capturing temporal relationships on intraprocedural acyclic paths since our trace bursts can span procedure boundaries. In addition, our framework does not require access to program source or recompilation. A direct implementation of our extensions to the Arnold-Ryder framework results in profiling overhead of 6-35%. We describe techniques that reduce this overhead to 3-18%, making it suitable for use in an on-line setting.