Ir directamente a la navegación principal Ir directamente a la búsqueda Ir directamente al contenido principal

Pinpointing and repairing performance bottlenecks in concurrent programs

  • Tingting Yu
  • , Michael Pradel

Producción científica: Articlerevisión exhaustiva

20 Citas (Scopus)

Resumen

Developing concurrent software that is both correct and efficient is challenging. Past research has proposed various techniques that support developers in finding, understanding, and repairing concurrency-related correctness problems, such as missing or incorrect synchronization. In contrast, existing work provides little support for dealing with concurrency-related performance problems, such as unnecessary or inefficient synchronization. This paper presents SyncProf, a profiling approach that helps in identifying, localizing, and repairing performance bottlenecks in concurrent programs. The approach consists of a sequence of dynamic analyses that reason about relevant code locations with increasing precision while narrowing down performance problems and gathering data for avoiding them. A key novelty is a graph-based representation of relations between critical sections, which is the basis for computing the performance impact of a critical section and for identifying the root cause of a bottleneck. Once a bottleneck is identified, SyncProf searches for a suitable optimization strategy to avoid the problem, increasing the level of automation when repairing performance bottlenecks over a traditional, manual approach. We evaluate SyncProf on 25 versions of eleven 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 repair the bottlenecks.

Idioma originalEnglish
Páginas (desde-hasta)3034-3071
Número de páginas38
PublicaciónEmpirical Software Engineering
Volumen23
N.º5
DOI
EstadoPublished - oct 1 2018

Nota bibliográfica

Publisher Copyright:
© 2017, Springer Science+Business Media, LLC, part of Springer Nature.

Financiación

This research is supported in part by the NSF grants CCF-1464032 and CCF-1652149, 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”.

FinanciadoresNúmero del financiador
Bundesministerium für Bildung und Forschung
Deutsche Forschungsgemeinschaft
Hessian Ministry of Science and the Arts
National Science Foundation Arctic Social Science Program1464032, CCF-1652149, CCF-1464032

    ASJC Scopus subject areas

    • Software

    Huella

    Profundice en los temas de investigación de 'Pinpointing and repairing performance bottlenecks in concurrent programs'. En conjunto forman una huella única.

    Citar esto