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 original | English |
|---|---|
| Páginas (desde-hasta) | 3034-3071 |
| Número de páginas | 38 |
| Publicación | Empirical Software Engineering |
| Volumen | 23 |
| N.º | 5 |
| DOI | |
| Estado | Published - 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”.
| Financiadores | Número del financiador |
|---|---|
| Bundesministerium für Bildung und Forschung | |
| Deutsche Forschungsgemeinschaft | |
| Hessian Ministry of Science and the Arts | |
| National Science Foundation Arctic Social Science Program | 1464032, 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
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver