TU Darmstadt / ULB / TUbiblio

SyncProf: detecting, localizing, and optimizing synchronization bottlenecks

Yu, Tingting ; Pradel, Michael (2016)
SyncProf: detecting, localizing, and optimizing synchronization bottlenecks.
Saarbrücken, Germany
doi: 10.1145/2931037.2931070
Konferenzveröffentlichung, Bibliographie

Kurzbeschreibung (Abstract)

Writing concurrent programs is a challenge because developers must consider both functional correctness and performance requirements. Numerous program analyses and testing techniques have been proposed to detect functional faults, e.g., caused by incorrect synchronization. However, little work has been done to help developers address performance problems in concurrent programs, e.g., because of inefficient synchronization. This paper presents SyncProf, a concurrency-focused profiling approach that helps in detecting, localizing, and optimizing synchronization bottlenecks. In contrast to traditional profilers, SyncProf repeatedly executes a program with various inputs and summarizes the observed performance behavior. A key novelty is a graph-based representation of relations between critical sections, which is the basis for computing the performance impact of critical sections, for identifying the root cause of a bottleneck, and for suggesting optimization strategies to the developer. We evaluate SyncProf on 19 versions of eight C/C++ projects with both known and previously unknown synchronization bottlenecks. The results show that SyncProf effectively localizes the root causes of these bottlenecks with higher precision than a state of the art lock contention profiler and that it suggests valuable strategies to avoid the bottlenecks.

Typ des Eintrags: Konferenzveröffentlichung
Erschienen: 2016
Autor(en): Yu, Tingting ; Pradel, Michael
Art des Eintrags: Bibliographie
Titel: SyncProf: detecting, localizing, and optimizing synchronization bottlenecks
Sprache: Deutsch
Publikationsjahr: Juli 2016
Verlag: ACM
(Heft-)Nummer: 25
Buchtitel: ISSTA 2016 Proceedings of the 25th International Symposium on Software Testing and Analysis
Veranstaltungsort: Saarbrücken, Germany
DOI: 10.1145/2931037.2931070
Kurzbeschreibung (Abstract):

Writing concurrent programs is a challenge because developers must consider both functional correctness and performance requirements. Numerous program analyses and testing techniques have been proposed to detect functional faults, e.g., caused by incorrect synchronization. However, little work has been done to help developers address performance problems in concurrent programs, e.g., because of inefficient synchronization. This paper presents SyncProf, a concurrency-focused profiling approach that helps in detecting, localizing, and optimizing synchronization bottlenecks. In contrast to traditional profilers, SyncProf repeatedly executes a program with various inputs and summarizes the observed performance behavior. A key novelty is a graph-based representation of relations between critical sections, which is the basis for computing the performance impact of critical sections, for identifying the root cause of a bottleneck, and for suggesting optimization strategies to the developer. We evaluate SyncProf on 19 versions of eight C/C++ projects with both known and previously unknown synchronization bottlenecks. The results show that SyncProf effectively localizes the root causes of these bottlenecks with higher precision than a state of the art lock contention profiler and that it suggests valuable strategies to avoid the bottlenecks.

Freie Schlagworte: Testing, Concurrency, Performance Bottlenecks
ID-Nummer: TUD-CS-2016-14759
Fachbereich(e)/-gebiet(e): Profilbereiche
Profilbereiche > Cybersicherheit (CYSEC)
Hinterlegungsdatum: 10 Aug 2017 15:18
Letzte Änderung: 12 Jan 2019 21:20
PPN:
Export:
Suche nach Titel in: TUfind oder in Google
Frage zum Eintrag Frage zum Eintrag

Optionen (nur für Redakteure)
Redaktionelle Details anzeigen Redaktionelle Details anzeigen