Concurrent transformation components using contention context sensors
2014 (English)In: Proceedings of the 29th ACM/IEEE international conference on Automated software engineering, ACM Press, 2014, 223-234 p.Conference paper (Refereed)
Sometimes components are conservatively implemented as thread-safe, while during the actual execution they are only accessed from one thread. In these scenarios, overly conservative assumptions lead to suboptimal performance.
The contribution of this paper is a component architecture that combines the benefits of different synchronization mechanisms to implement thread-safe concurrent components. Based on the thread contention monitored at runtime, context-aware composition and optimization select the appropriate mechanism. On changing contention, it revises this decision automatically and transforms the components accordingly. We implemented this architecture for concurrent queues, sets, and ordered sets. In all three cases, experimental evaluation shows close to optimal performance regardless of the actual contention.
As a consequence, programmers can focus on the semantics of their systems and, e.g., conservatively use thread-safe components to assure consistency of their data, while deferring implementation and optimization decisions to contention-context-aware composition at runtime.
Place, publisher, year, edition, pages
ACM Press, 2014. 223-234 p.
Research subject Computer and Information Sciences Computer Science, Computer Science
IdentifiersURN: urn:nbn:se:lnu:diva-42432DOI: 10.1145/2642937.2642995ISBN: 978-1-4503-3013-8OAI: oai:DiVA.org:lnu-42432DiVA: diva2:805581
ASE 2014, September 15-19, 2014, Västerås, Sweden
FunderSwedish Research Council, 2011-6185