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 :
بازگشت