Performance implications of dynamic memory allocators on transactional memory systems

Nenhuma Miniatura disponível

Data

2015-01-01

Autores

Baldassin, Alexandro [UNESP]
Borin, Edson
Araujo, Guido

Título da Revista

ISSN da Revista

Título de Volume

Editor

Resumo

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.

Descrição

Palavras-chave

Dynamic memory allocation, Performance evaluation, Transactional memory

Como citar

Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP, v. 2015-January, p. 87-96.

Coleções