1. Performance implications of dynamic memory allocators on transactional memory systems
- Author
-
BorinEdson, BaldassinAlexandro, and AraujoGuido
- Subjects
Dynamic random-access memory ,C dynamic memory allocation ,Computer science ,Significant part ,Transactional memory ,computer.software_genre ,Computer Graphics and Computer-Aided Design ,Execution time ,law.invention ,Allocator ,Dynamic memory management ,law ,Operating system ,Software system ,computer ,Software - Abstract
Although dynamic memory management accounts for a significant part of the execution time on many modern software systems, its impact on the performance of transactional memory systems has been mostly overlooked. In order to shed some light into this subject, this paper conducts a thorough investigation of the interplay between memory allocators and software transactional memory (STM) systems. We show that allocators can interfere with the way memory addresses are mapped to versioned locks on state-of-the-art software transactional memory implementations. Moreover, we observed that key aspects of allocators such as false sharing avoidance, scalability, and locality have a drastic impact on the final performance. For instance, we have detected performance differences of up to 171% in the STAMP applications when using distinct allocators. Moreover, we show that optimizations at the STM-level (such as caching transactional objects) are not effective when a modern allocator is already in use. All in all, our study highlights the importance of reporting the allocator utilized in the performance evaluation of transactional memory systems.
- Published
- 2015