• DocumentCode
    2555266
  • Title

    QTrace: a framework for customizable full system instrumentation

  • Author

    Xin Tong ; Moshovos, Andreas

  • Author_Institution
    Univ. of Toronto, Toronto, ON, Canada
  • fYear
    2015
  • fDate
    29-31 March 2015
  • Firstpage
    245
  • Lastpage
    255
  • Abstract
    This work presents QTrace, an open-source instrumentation extension API for QEMU (1) that can instrument unmodified applications and OS binaries for uni- and multi-processor systems. QTrace facilitates the development of custom, full-system instrumentation tools for the X86 guest architecture enabling statistics collection and program execution studies including system-level code. This paper: illustrates QTrace´s API through instrumentation examples, discusses how QEMU was modified to implement QTrace, explains the validation testing procedures, shows QTrace´s usefulness in comparison to a user-level binary instrumentation tool in workloads that spend significant time in the kernel, and illustrates that QTrace does not impose a significant performance penalty. Experiments show that for an instruction count plug-in, QTrace is 12.2X slower than PIN [2], a user-level only instrumentation tool, and 4.1X faster than BOCHS [3], a full-system emulator. QTrace without instrumentation performs similarly to the un-modified QEMU.
  • Keywords
    application program interfaces; instrumentation; operating system kernels; public domain software; OS binaries; QEMU; QTrace; X86 guest architecture; customizable full system instrumentation; full-system instrumentation tools; kernel; multiprocessor system; open-source instrumentation extension API; program execution; statistics collection; system-level code; uniprocessor system; Instruments; Kernel; Runtime;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Performance Analysis of Systems and Software (ISPASS), 2015 IEEE International Symposium on
  • Conference_Location
    Philadelphia, PA
  • Type

    conf

  • DOI
    10.1109/ISPASS.2015.7095810
  • Filename
    7095810