ReTrace : Collecting Execution Trace with Virtual Machine Deterministic Replay

ReTrace : Collecting Execution Trace with Virtual Machine Deterministic Replay
复制标题

DOI:
--
复制
发表时间:
2007
期刊:
--
影响因子:
--
通讯作者:
Min Xu
Min Xu
中科院分区:
其他
文献类型:
--
作者:
Min Xu

文献摘要

被引文献

相似文献

执行跟踪是计算机体系结构研究中的重要工具。遗憾的是,现有的跟踪收集技术通常很慢(由于软件跟踪开销)或昂贵(由于特殊的跟踪硬件要求)。无论收集方法如何,详细的跟踪文件通常都很大,存储和共享都不方便。提出了一种基于VMware管理程序确定性重放技术的跟踪收集工具ReTrack。回溯分为两个阶段:捕获和扩展。回溯捕获累积了以后重新创建更详细的执行跟踪所需的最少量信息。它仅捕获(记录)在受支持平台上导致低时间和空间开销(低至5%的运行时开销,低至每千条指令0.5字节日志增长率)的非确定性事件。回溯扩展使用捕获阶段收集的信息来生成完整、准确的执行跟踪,而不会造成任何数据丢失或失真。回溯是VMware Workstation 6.0的一项试验性功能,目前在Windows和Linux版本中可用于商用IA32平台。不需要特殊的跟踪硬件。我们有三个关键结果。首先,我们发现跟踪收集可以高效且廉价地完成。其次,确定性重放是压缩大型跟踪文件的有效技术。第三,在管理程序层执行跟踪收集对收集的跟踪的侵入性最小,同时支持跟踪整个系统(用户/管理程序级别、CPU、外围设备)。回溯是一项快速发展的技术。我们想利用这篇文章来征求关于回溯在计算机体系结构研究中的适用性的反馈意见,以帮助我们完善未来的发展计划。
Execution trace is an important tool in computer architecture research. Unfortunately, existing trace collection techniques are often slow (due to software tracing overheads) or expensive (due to special tracing hardware requirements). Regardless of the method of collection, detailed trace files are generally large and inconvenient to store and share. We present ReTrace, a trace collection tool based on the deterministic replay technology of the VMware hypervisor. ReTrace operates in two stages: capturing and expansion. ReTrace capturing accumulates the minimal amount of information necessary to later recreate a more detailed execution trace. It captures (records) only non-deterministic events resulting in low time and space overheads (as low as 5% run-time overhead, as low as 0.5 byte per thousand instructions log growth rate) on supported platforms. ReTrace expansion uses the information collected by the capturing stage to generate a complete and accurate execution trace without any data loss or distortion. ReTrace is an experimental feature of VMware Workstation 6.0 currently available in Windows and Linux flavors for commodity IA32 platforms. No special tracing hardware is required. We have three key results. First, we find that trace collection can be done both efficiently and inexpensively. Second, deterministic replay is an effective technique for compressing large trace files. Third, performing the trace collection at the hypervisor layer is minimally invasive to the collected trace while enabling tracing of the entire system (user/supervisor level, CPU, peripheral devices). ReTrace is a rapidly evolving technology. We would like to use this paper to solicit feedback on the applicability of ReTrace in computer architecture research to help us refine our future development plans.