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
Link To Document