Abstract-Accesses to shared data structures in multithreaded programs must be correctly synchronized to ensure data consistency and integrity. However, this synchronization between threads is a common source of performance problems in multithreaded applications. Lock-free data structures are an alternative to traditional synchronization methods that have potential for not only better performance and scalability, but better energy efficiency as well. This paper presents a study of the relationship between the performance and energy consumption of various lockfree data structures based on the compare-and-swap primitive. We give a head-to-head comparison of lock-free and locking implementations of three data structures executing a set of highly contentious workloads. We compare the execution time, peak power and total energy consumption of each and explain these results with the help of hardware performance counters. Our results show that under these workloads, the lock-free variants often perform better and use less energy then their traditional locking implementations.
Hunt et al. REF study the energy efficiency of lock-free and lock-based concurrent data structures (queues and linked lists).
Characterizing the Performance and Energy Efficiency of Lock-Free Data Structures
2011 15th Workshop on Interaction between Compilers and Computer Architectures
2011 15th Workshop on Interaction between Compilers and Computer Architectures
Computer Science