Using differential execution analysis to identify thread interference

Abstract : Understanding the performance of a multi-threaded application is difficult. The threads interfere when they access the same shared resource, which slows down their execution. Unfortunately, current profiling tools report the hardware components or the synchronization primitives that saturate, but they cannot tell if the saturation is the cause of a performance bottleneck. In this paper, we propose a holistic metric able to pinpoint the blocks of code that suffer interference the most, regardless of the interference cause. Our metric uses performance variation as a universal indicator of interference problems. With an evaluation of 27 applications we show that our metric can identify interference problems caused by 6 different kinds of interference in 9 applications. We are able to easily remove 7 of the bottlenecks, which leads to a performance improvement of up to 9 times
Complete list of metadatas

Cited literature [56 references]  Display  Hide  Download

https://hal.archives-ouvertes.fr/hal-02179717
Contributor : François Trahay <>
Submitted on : Thursday, July 11, 2019 - 10:23:10 AM
Last modification on : Thursday, October 17, 2019 - 12:36:52 PM

File

tpds_final.pdf
Files produced by the author(s)

Identifiers

Citation

Mohamed Said Mosli Bouksiaa, François Trahay, Alexis Lescouet, Gauthier Voron, Remi Dulong, et al.. Using differential execution analysis to identify thread interference. IEEE Transactions on Parallel and Distributed Systems, Institute of Electrical and Electronics Engineers, In press, pp.1-13. ⟨10.1109/TPDS.2019.2927481⟩. ⟨hal-02179717⟩

Share

Metrics

Record views

143

Files downloads

114