TY - GEN
T1 - Annotatable systrace
T2 - 2nd International Workshop on Software Engineering for Parallel Systems, SEPS 2015
AU - Fukui, Daichi
AU - Shimaoka, Mamoru
AU - Mikami, Hiroki
AU - Hillenbrand, Dominic
AU - Yamamoto, Hideo
AU - Kimura, Keiji
AU - Kasahara, Hironori
N1 - Publisher Copyright:
© 2015 ACM.
PY - 2015/10/27
Y1 - 2015/10/27
N2 - Investigation of the runtime behavior is one of the most important processes for performance tuning on a computer system. Profiling tools have been widely used to detect hot-spots in a program. In addition to them, tracing tools produce valuable information especially from parallelized programs, such as thread scheduling, barrier synchronizations, context switching, thread migration, and jitter by interrupts. Users can optimize a runtime system and hardware configuration in addition to a program itself by utilizing the attained information. However, existing tools provide information per process or per function. Finer information like task-or loop-granularity should be required to understand the program behavior more precisely. This paper has proposed a tracing tool, Annotatable Systrace, to investigate runtime execution behavior of a parallelized program based on an extended Linux ftrace. The Annotatable Systrace can add arbitrary annotations in a trace of a target program. The proposed tool exploits traces from 183.equake, 179.art, and mpeg2enc on Intel Xeon X7560 and ARMv7 as an evaluation. The evaluation shows that the tool enables us to observe load imbalance along with the program execution. It can also generate a trace with the inserted annotations even on a 32-core machine. The overhead of one annotation on Intel Xeon is 1.07 us and the one on ARMv7 is 4.44 us, respectively.
AB - Investigation of the runtime behavior is one of the most important processes for performance tuning on a computer system. Profiling tools have been widely used to detect hot-spots in a program. In addition to them, tracing tools produce valuable information especially from parallelized programs, such as thread scheduling, barrier synchronizations, context switching, thread migration, and jitter by interrupts. Users can optimize a runtime system and hardware configuration in addition to a program itself by utilizing the attained information. However, existing tools provide information per process or per function. Finer information like task-or loop-granularity should be required to understand the program behavior more precisely. This paper has proposed a tracing tool, Annotatable Systrace, to investigate runtime execution behavior of a parallelized program based on an extended Linux ftrace. The Annotatable Systrace can add arbitrary annotations in a trace of a target program. The proposed tool exploits traces from 183.equake, 179.art, and mpeg2enc on Intel Xeon X7560 and ARMv7 as an evaluation. The evaluation shows that the tool enables us to observe load imbalance along with the program execution. It can also generate a trace with the inserted annotations even on a 32-core machine. The overhead of one annotation on Intel Xeon is 1.07 us and the one on ARMv7 is 4.44 us, respectively.
KW - Automatic parallelization
KW - Ftrace
KW - Linux
KW - Multicore
KW - Systrace
UR - http://www.scopus.com/inward/record.url?scp=84964749931&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84964749931&partnerID=8YFLogxK
U2 - 10.1145/2837476.2837479
DO - 10.1145/2837476.2837479
M3 - Conference contribution
AN - SCOPUS:84964749931
T3 - SEPS 2015 - Proceedings of the 2nd International Workshop on Software Engineering for Parallel Systems
SP - 21
EP - 25
BT - SEPS 2015 - Proceedings of the 2nd International Workshop on Software Engineering for Parallel Systems
A2 - Atoofian, Ehsan
A2 - Sato, Yukionri
A2 - Zhao, Xinghui
A2 - Jannesari, Ali
A2 - Benkner, Siegfried
PB - Association for Computing Machinery, Inc
Y2 - 27 October 2015
ER -