首页> 外文OA文献 >Record and vPlay: Problem Determination with Virtual Replay Across Heterogeneous Systems
【2h】

Record and vPlay: Problem Determination with Virtual Replay Across Heterogeneous Systems

机译:记录和vPlay:跨异构系统使用虚拟重放进行问题确定

代理获取
本网站仅为用户提供外文OA文献查询和代理获取服务,本网站没有原文。下单后我们将采用程序或人工为您竭诚获取高质量的原文,但由于OA文献来源多样且变更频繁,仍可能出现获取不到、文献不完整或与标题不符等情况,如果获取不到我们将提供退款服务。请知悉。

摘要

Application down time is one of the major reasons for revenue loss in the modern enterprise. While aggressive release schedules cause frail software to be released, application failures occurring in the field cost millions to the technical support organizations in personnel time. Since developers usually don't have direct access to the field environment for a variety of privacy and security reasons, problems are reproduced, analyzed and fixed in very different lab environments. However, the complexity and diversity of application environments make it difficult to accurately replicate the production environment. The indiscriminate collection of data provided by the bug reports often overwhelm or even mislead the developer. A typical issue requires time consuming rounds of clarifications and interactions with the end user, even after which the issue may not manifest. This dissertation introduces vPlay, a software problem determination system which captures software bugs as they occur in the field into small and self-contained recordings, and allows them to be deterministically reproduced across different operating systems and heterogeneous environments. vPlay makes two key advances over the state of the art. First, the recorded bug can be reproduced in a completely different operating system environment without any kind of dependency on the source. vPlay packages up every piece of data necessary to correctly reproduce the bug on any stateless target machine in the developer environment, without the application, its binaries, and other support data. Second, the data captured by vPlay is small, typically amounting to a few megabytes. vPlay achieves this without requiring changes to the applications, base kernel or hardware. vPlay employs a recording mechanism which provides data level independence between the application and its source environment by adopting a state machine model of the application to capture every piece of state accessed by the application. vPlay minimizes the size of the recording through a new technique called partial checkpointing, to efficiently capture the partial intermediate state of the application required to replay just the last few moments of its execution prior to the failure. The recorded state is saved as a partial checkpoint along with metadata representing the information specific to the source environment, such as call- ing convention used for the system calls on the source system, to make it portable across operating systems. A partial checkpoint is loaded by a partial checkpoint loader, which itself is designed to be portable across different operating systems. Partial checkpointing is combined with a logging mechanism, which monitors the application to identify and record relevant accessed state for root cause analysis and to record application's nondeterministic events. vPlay introduces a new type of virtualization abstraction called vPlay Container, to natively replay an application built for one operating system on another. vPlay Container relies on the self-contained recording produced by vPlay to decouple the application from the target operating system environment in three key areas. The application is decoupled from (1) the address space and its content by transparently fulfilling its memory accesses, (2) the instructions and the processor MMU structures such as segment descriptor tables through a binary translation technique designed specifically for user application code, (3) the operating system interface and its services by abstracting the system call interface through emulation and replay. To facilitate root cause analysis, vPlay Container integrates with a standard debugger to enable the user to set breakpoints and single step the replayed execution of the application to examine the contents of variables and other program state at each source line. We have implemented a vPlay prototype which can record unmodified Linux applications and natively replay them on different versions of Linux as well as Windows. Experiments with several applications including Apache and MySQL show that vPlay can reproduce real bugs and be used in production with modest recording overhead.
机译:应用程序停机时间是现代企业收入损失的主要原因之一。尽管激进的发布计划导致脆弱的软件被发布,但在现场发生的应用程序故障使技术支持组织在人员时间内花费了数百万美元。由于出于各种隐私和安全原因,开发人员通常无法直接访问现场环境,因此在非常不同的实验室环境中会重现,分析和解决问题。但是,应用程序环境的复杂性和多样性使得难以准确复制生产环境。错误报告提供的不加选择的数据收集常常使开发人员不知所措,甚至误导开发人员。一个典型的问题需要花费大量时间进行澄清以及与最终用户的交互,即使在此之后问题也可能不会显现。本论文介绍了vPlay,它是一种软件问题确定系统,可以将现场发生的软件错误捕获到小的独立记录中,并允许在不同的操作系统和异构环境中确定性地复制它们。 vPlay在现有技术方面取得了两个关键进展。首先,可以在完全不同的操作系统环境中重现记录的错误,而无需依赖源。 vPlay打包了必要的所有数据,以正确地在开发人员环境中的任何无状态目标计算机上重现该错误,而没有应用程序,其二进制文件和其他支持数据。其次,vPlay捕获的数据很小,通常只有几兆字节。 vPlay无需更改应用程序,基本内核或硬件即可实现此目的。 vPlay采用一种记录机制,该机制通过采用应用程序的状态机模型来捕获应用程序访问的每个状态,从而在应用程序及其源环境之间提供数据级别的独立性。 vPlay通过一种称为部分检查点的新技术将记录的大小最小化,以有效捕获应用程序的部分中间状态,该状态仅在执行失败前的最后一刻就可以重播。记录的状态与表示源环境特定信息的元数据(例如用于源系统上系统调用的调用约定)一起保存为部分检查点,以使其可跨操作系统移植。部分检查点由部分检查点加载器加载,后者本身被设计为可在不同操作系统之间移植。部分检查点与日志记录机制结合在一起,该机制监视应用程序以识别和记录相关访问状态以进行根本原因分析并记录应用程序的不确定事件。 vPlay引入了一种称为vPlay容器的新型虚拟化抽象,以本地方式播放为另一个操作系统上的一个操作系统构建的应用程序。 vPlay容器依靠vPlay产生的独立记录在三个关键区域将应用​​程序与目标操作系统环境分离。通过透明地完成其内存访问,将应用程序与(1)地址空间及其内容分离;(2)通过专门为用户应用程序代码设计的二进制转换技术,将指令和处理器MMU结构(例如段描述符表)分离开来;(3) )操作系统接口及其服务,方法是通过仿真和重播抽象系统调用接口。为了促进根本原因分析,vPlay Container与标准调试器集成在一起,使用户可以设置断点,并单步执行应用程序的重播执行,以检查每个源代码行中变量的内容和其他程序状态。我们已经实现了vPlay原型,该原型可以记录未修改的Linux应用程序,并可以在不同版本的Linux和Windows上本地播放它们。对包括Apache和MySQL在内的多个应用程序进行的实验表明,vPlay可以重现真实的错误,并可以在生产中以较小的记录开销进行使用。

著录项

  • 作者

    Subhraveti Dinesh Kumar;

  • 作者单位
  • 年度 2012
  • 总页数
  • 原文格式 PDF
  • 正文语种 {"code":"en","name":"English","id":9}
  • 中图分类

相似文献

  • 外文文献
  • 中文文献
  • 专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号