Tracing of Multi-Threaded Java Applications in Score-P Using Bytecode Instrumentation

Publikation: Beitrag in Buch/Konferenzbericht/Sammelband/GutachtenBeitrag in KonferenzbandBeigetragenBegutachtung

Abstract

Thread-parallel Java applications received a substantial boost in the research field of High Performance Computing over the past years. In order to efficiently execute multi-threaded Java applications, an analysis of their performance is indispensable. This requires a scalable runtime performance measurement infrastructure due to the high number of used threads. The established, open-source tracing framework Score-P provides such an infrastructure. However, it only provides basic support for multi-threaded Java applications so far. In this paper, we present a more sophisticated instrumentation approach based on Java bytecode transformations and implement the approach in Score-P. The approach allows to trace an application without requiring users to modify their source code. In contrast to instrumentation approaches based on the Java Virtual Machine Tool Interface JVMTI, it does not need filter checking and thus, has a comparable low run-time overhead. However, if needed, function and thread related events of the application can be filtered at runtime. Additionally, class files can be selected such that only those classes of an application are recorded, which users are interested in. We apply the proposed instrumentation approach to the LU kernel of the established Java benchmark suite SPECjvm2008 at a modern HPC shared-memory machine and show the quality of the implementation by determining the tracing overheads of the instrumented versions for different test scenarios using varying numbers of Java threads.

Details

OriginalspracheEnglisch
TitelARCS 2018: 31st GI/ITG International Conference on Architecture of Computing Systems - Workshop Proceedings
Redakteure/-innenCarsten Trinitis, Thilo Pionteck
Herausgeber (Verlag)VDE Verlag, Berlin [u. a.]
Seiten51-59
Seitenumfang9
ISBN (Print)978-3-8007-4559-3
PublikationsstatusVeröffentlicht - 1 Apr. 2018
Peer-Review-StatusJa

Externe IDs

Bibtex frenzel:2018:a
ORCID /0009-0007-5755-1427/work/142250923
ORCID /0000-0001-8719-5741/work/173053638

Schlagworte

Forschungsprofillinien der TU Dresden

Schlagwörter

  • Bytecode, Class Filtering, instrumentation, Java, Multi-Threaded, performance analysis, profiling, Score-P, tracing, Transformation