KIT | KIT-Bibliothek | Impressum

An Empirical Study on Parallelism in Modern Open-Source Projects

Kiefer, Marc Aurel; Warzel, Daniel; Tichy, Walter F.

Abstract:
Writing parallel programs is hard, especially for inexperienced programmers. Parallel language features are still being added on a regular basis to most modern object-oriented languages and this trend is likely to continue. Being able to support developers with tools for writing and optimizing parallel programs requires a deep understanding of how programmers approach and implement parallelism.

We present an empirical study of 135 parallel open-source projects in Java, C# and C++ ranging from small (< 1000 lines of code) to very large (> 2M lines of code) codebases. We examine the projects to find out how language features, synchronization mechanisms, parallel data structures and libraries are used by developers to express parallelism. We also determine which common parallel patterns are used and how the implemented solutions compare to typical textbook advice.

The results show that similar parallel constructs are used equally often across languages, but usage also heavily depends on how easy to use a certain language feature is. Patterns that do not map well to a language are much rarer compared to other languages. Bad ... mehr


Zugehörige Institution(en) am KIT Institut für Programmstrukturen und Datenorganisation (IPD)
Publikationstyp Proceedingsbeitrag
Jahr 2015
Sprache Englisch
Identifikator DOI: 10.1145/2837476.2837481
ISBN: 978-1-4503-3910-0
KITopen ID: 1000052153
Erschienen in SEPS 2015 : Proceedings of the 2nd International Workshop on Software Engineering for Parallel Systems, Fri 23 - Fri 30 October 2015 Pittsburgh, Pennsylvania, United States
Verlag ACM, New York (NY)
Seiten 35-44
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft KITopen Landing Page