SyncProf: Detecting, localizing, and optimizing synchronization bottlenecks

Tingting Yu, Michael Pradel

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

30 Citations (SciVal)

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.

Original languageEnglish
Title of host publicationISSTA 2016 - Proceedings of the 25th International Symposium on Software Testing and Analysis
EditorsAbhik Roychoudhury, Andreas Zeller
Pages389-400
Number of pages12
ISBN (Electronic)9781450343909
DOIs
StatePublished - Jul 18 2016
Event25th International Symposium on Software Testing and Analysis, ISSTA 2016 - Saarbrucken, Germany
Duration: Jul 18 2016Jul 20 2016

Publication series

NameISSTA 2016 - Proceedings of the 25th International Symposium on Software Testing and Analysis

Conference

Conference25th International Symposium on Software Testing and Analysis, ISSTA 2016
Country/TerritoryGermany
CitySaarbrucken
Period7/18/167/20/16

Bibliographical note

Funding Information:
We thank the anonymous reviewers for their valuable feedback. This research is supported in part by the NSF grant CCF-1464032, by the German Research Foundation within the Emmy Noether project "ConcSys" and by the German Federal Ministry of Education and Research and the Hessian Ministry of Science and the Arts within "CRISP".

Publisher Copyright:
© 2016 ACM.

Keywords

  • Concurrency
  • Performance bottlenecks
  • Testing

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'SyncProf: Detecting, localizing, and optimizing synchronization bottlenecks'. Together they form a unique fingerprint.

Cite this