Software Engineering with Transactional Memory Versus Locks in Practice
Autor: | Victor Pankratius, Ali-Reza Adl-Tabatabai |
---|---|
Rok vydání: | 2013 |
Předmět: |
Atomicity
POSIX Threads business.industry Programming language Computer science media_common.quotation_subject Transactional memory Desktop search computer.software_genre Theoretical Computer Science Computational Theory and Mathematics Debugging Synchronization (computer science) Software transactional memory Compiler Software engineering business computer media_common |
Zdroj: | Theory of Computing Systems. 55:555-590 |
ISSN: | 1433-0490 1432-4350 |
DOI: | 10.1007/s00224-013-9452-5 |
Popis: | Transactional Memory (TM) promises to simplify parallel programming by replacing locks with atomic transactions. Despite much recent progress in TM research, there is very little experience using TM to develop realistic parallel programs from scratch. In this article, we present the results of a detailed case study comparing teams of programmers developing a parallel program from scratch using transactional memory and locks. We analyze and quantify in a realistic environment the development time, programming progress, code metrics, programming patterns, and ease of code understanding for six teams who each wrote a parallel desktop search engine over a fifteen week period. Three randomly chosen teams used Intel's Software Transactional Memory compiler and Pthreads, while the other teams used just Pthreads. Our analysis is exploratory: Given the same requirements, how far did each team get? The TM teams were among the first to have a prototype parallel search engine. Compared to the locks teams, the TM teams spent less than half the time debugging segmentation faults, but had more problems tuning performance and implementing queries. Code inspections with industry experts revealed that TM code was easier to understand than locks code, because the locks teams used many locks (up to thousands) to improve performance. Learning from each team's individual success and failure story, this article provides valuable lessons for improving TM. |
Databáze: | OpenAIRE |
Externí odkaz: |