Title
Efficient Methods for Trace Analysis Parallelization
Abstract
Tracing provides a low-impact, high-resolution way to observe the execution of a system. As the amount of parallelism in traced systems increases, so does the data generated by the trace. Most trace analysis tools work in a single thread, which hinders their performance as the scale of data increases. In this paper, we explore parallelization as an approach to speedup system trace analysis. We propose a solution which uses the inherent aspects of the CTF trace format to create balanced and parallelizable workloads. Our solution takes into account key factors of parallelization, such as good load balancing, low synchronization overhead and an efficient resolution of data dependencies. We also propose an algorithm to detect and resolve data dependencies during trace analysis, with minimal locking and synchronization. Using this approach, we implement three different trace analysis programs: event counting, CPU usage analysis and I/O usage analysis, to assess the scalability in terms of parallel efficiency. The parallel implementations achieve parallel efficiency above 56% with 32 cores, which translates to a speedup of 18 times the serial speed, when running the parallel trace analyses and using trace data stored on consumer-grade solid state storage devices. We also show the scalability and potential of our approach by measuring the effect of future improvements to trace decoding on parallel efficiency.
Year
DOI
Venue
2019
10.1007/s10766-019-00631-4
International Journal of Parallel Programming
Keywords
Field
DocType
Tracing, Trace analysis, Parallel computing
Synchronization,CPU time,Load balancing (computing),Computer science,Parallel computing,Thread (computing),Solid-state storage,Tracing,Speedup,Scalability
Journal
Volume
Issue
ISSN
47
5-6
1573-7640
Citations 
PageRank 
References 
0
0.34
18
Authors
3
Name
Order
Citations
PageRank
Fabien Reumont-Locke100.34
Naser Ezzati-Jivan2537.62
Michel R. Dagenais342.18