Using Differential Execution Analysis to Identify Thread Interference. Bouksiaa, M. S. M., Trahay, F., Lescouet, A., Voron, G., Dulong, R., Guermouche, A., Brunet, E., & Thomas, G. IEEE Transactions on Parallel and Distributed Systems, 30(12):2866–2878, December, 2019.
Paper doi abstract bibtex 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.
@article{bouksiaa_using_2019,
title = {Using {Differential} {Execution} {Analysis} to {Identify} {Thread} {Interference}},
volume = {30},
issn = {1045-9219, 1558-2183, 2161-9883},
url = {https://ieeexplore.ieee.org/document/8758342/},
doi = {10.1109/TPDS.2019.2927481},
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.},
language = {en},
number = {12},
urldate = {2022-08-08},
journal = {IEEE Transactions on Parallel and Distributed Systems},
author = {Bouksiaa, Mohamed Said Mosli and Trahay, Francois and Lescouet, Alexis and Voron, Gauthier and Dulong, Remi and Guermouche, Amina and Brunet, Elisabeth and Thomas, Gael},
month = dec,
year = {2019},
pages = {2866--2878},
}
Downloads: 0
{"_id":"gjWsaEtwbvWHDYRN4","bibbaseid":"bouksiaa-trahay-lescouet-voron-dulong-guermouche-brunet-thomas-usingdifferentialexecutionanalysistoidentifythreadinterference-2019","author_short":["Bouksiaa, M. S. M.","Trahay, F.","Lescouet, A.","Voron, G.","Dulong, R.","Guermouche, A.","Brunet, E.","Thomas, G."],"bibdata":{"bibtype":"article","type":"article","title":"Using Differential Execution Analysis to Identify Thread Interference","volume":"30","issn":"1045-9219, 1558-2183, 2161-9883","url":"https://ieeexplore.ieee.org/document/8758342/","doi":"10.1109/TPDS.2019.2927481","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.","language":"en","number":"12","urldate":"2022-08-08","journal":"IEEE Transactions on Parallel and Distributed Systems","author":[{"propositions":[],"lastnames":["Bouksiaa"],"firstnames":["Mohamed","Said","Mosli"],"suffixes":[]},{"propositions":[],"lastnames":["Trahay"],"firstnames":["Francois"],"suffixes":[]},{"propositions":[],"lastnames":["Lescouet"],"firstnames":["Alexis"],"suffixes":[]},{"propositions":[],"lastnames":["Voron"],"firstnames":["Gauthier"],"suffixes":[]},{"propositions":[],"lastnames":["Dulong"],"firstnames":["Remi"],"suffixes":[]},{"propositions":[],"lastnames":["Guermouche"],"firstnames":["Amina"],"suffixes":[]},{"propositions":[],"lastnames":["Brunet"],"firstnames":["Elisabeth"],"suffixes":[]},{"propositions":[],"lastnames":["Thomas"],"firstnames":["Gael"],"suffixes":[]}],"month":"December","year":"2019","pages":"2866–2878","bibtex":"@article{bouksiaa_using_2019,\n\ttitle = {Using {Differential} {Execution} {Analysis} to {Identify} {Thread} {Interference}},\n\tvolume = {30},\n\tissn = {1045-9219, 1558-2183, 2161-9883},\n\turl = {https://ieeexplore.ieee.org/document/8758342/},\n\tdoi = {10.1109/TPDS.2019.2927481},\n\tabstract = {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.},\n\tlanguage = {en},\n\tnumber = {12},\n\turldate = {2022-08-08},\n\tjournal = {IEEE Transactions on Parallel and Distributed Systems},\n\tauthor = {Bouksiaa, Mohamed Said Mosli and Trahay, Francois and Lescouet, Alexis and Voron, Gauthier and Dulong, Remi and Guermouche, Amina and Brunet, Elisabeth and Thomas, Gael},\n\tmonth = dec,\n\tyear = {2019},\n\tpages = {2866--2878},\n}\n\n","author_short":["Bouksiaa, M. S. M.","Trahay, F.","Lescouet, A.","Voron, G.","Dulong, R.","Guermouche, A.","Brunet, E.","Thomas, G."],"key":"bouksiaa_using_2019","id":"bouksiaa_using_2019","bibbaseid":"bouksiaa-trahay-lescouet-voron-dulong-guermouche-brunet-thomas-usingdifferentialexecutionanalysistoidentifythreadinterference-2019","role":"author","urls":{"Paper":"https://ieeexplore.ieee.org/document/8758342/"},"metadata":{"authorlinks":{}},"html":""},"bibtype":"article","biburl":"https://bibbase.org/zotero-mypublications/trahay","dataSources":["7Jtv2kgwfPLeRGpcr"],"keywords":[],"search_terms":["using","differential","execution","analysis","identify","thread","interference","bouksiaa","trahay","lescouet","voron","dulong","guermouche","brunet","thomas"],"title":"Using Differential Execution Analysis to Identify Thread Interference","year":2019}