SyncPerf Conference Paper uri icon

abstract

  • 2017 ACM. Despite the obvious importance, performance issues related to synchronization primitives are still lacking adequate attention. No literature extensively investigates categories, root causes, and fixing strategies of such performance issues. Existing work primarily focuses on one type of problems, while ignoring other important categories. Moreover, they leave the burden of identifying root causes to programmers. This paper first conducts an extensive study of categories, root causes, and fixing strategies of performance issues related to explicit synchronization primitives. Based on this study, we develop two tools to identify root causes of a range of performance issues. Compare with existing work, our proposal, SyncPerf, has three unique advantages. First, SyncPerf's detection is very lightweight, with 2.3% performance overhead on average. Second, SyncPerf integrates information based on callsites, lock variables, and types of threads. Such integration helps identify more latent problems. Last but not least, when multiple root causes generate the same behavior, SyncPerf provides a second analysis tool that collects detailed accesses inside critical sections and helps identify possible root causes. SyncPerf discovers many unknown but significant synchronization performance issues. Fixing them provides a performance gain anywhere from 2.5% to 42%. Low overhead, better coverage, and informative reports make SyncPerf an effective tool to find synchronization performance bugs in the production environment.

name of conference

  • Proceedings of the Twelfth European Conference on Computer Systems

published proceedings

  • Proceedings of the Twelfth European Conference on Computer Systems

author list (cited authors)

  • Alam, M., Liu, T., Zeng, G., & Muzahid, A.

citation count

  • 23

complete list of authors

  • Alam, Mohammad Mejbah ul||Liu, Tongping||Zeng, Guangming||Muzahid, Abdullah

publication date

  • January 2017