高级检索
    高崇南 余宏亮 郑纬民. 基于日志的系统任务模型推理工具及其应用[J]. 计算机研究与发展, 2010, 47(8): 1490-1496.
    引用本文: 高崇南 余宏亮 郑纬民. 基于日志的系统任务模型推理工具及其应用[J]. 计算机研究与发展, 2010, 47(8): 1490-1496.
    Gao Chongnan, Yu Hongliang, and Zheng Weimin. A Log-Based Task Model Inference Tool and Its Applications[J]. Journal of Computer Research and Development, 2010, 47(8): 1490-1496.
    Citation: Gao Chongnan, Yu Hongliang, and Zheng Weimin. A Log-Based Task Model Inference Tool and Its Applications[J]. Journal of Computer Research and Development, 2010, 47(8): 1490-1496.

    基于日志的系统任务模型推理工具及其应用

    A Log-Based Task Model Inference Tool and Its Applications

    • 摘要: 分布式系统成为Internet应用的关键组成部分,理解其运行时行为成为验证系统设计、解决系统逻辑与性能错误的关键.已有工作需要程序员手工标注代码或网络数据包,提供描述请求处理和任务执行的相关信息,以抽取系统运行时路径.工作创新性地从系统日志中提取系统任务信息,推断出系统的层次结构任务模型,利用任务模型将系统运行时行为分解为有层次结构的任务实例.实际应用经验表明,利用日志提取的任务模型能够帮助理解系统运行时行为,并解决系统的性能问题.

       

      Abstract: Distributed systems are the enabler of todays Internet services. These systems usually involve multiple tiers, a hierarchy of functional abstractions, and high degrees of concurrency. A user request is processed as a task in a series of stages across multiple machines, processors and threads. Verifying the behavior of such individual tasks therefore becomes a very challenging problem since developers have to reconstruct the task flow by linking together pieces of its execution throughout the system. Understanding system runtime behavior is a key to verify system design and debug system logic and performance problems. Existing works extract system runtime as causal paths, but they require either manual annotation or developer-provided execution structures. Manual annotation is tedious and prone to error when system design is complex and code base is evolving rapidly. Providing execution structures requires deep understanding of system design and this approach is limited to core designers or developers. In this paper, the authors try to infer hierarchical task models from system logs. They first extract task information from logs and infer the hierarchical relationships among tasks. Then the task hierarchies are combined into hierarchical task models. Experiences show that the inferred task models can help both understand system design and debug performance problems.

       

    /

    返回文章
    返回