Repository logo

Performance implications of dynamic memory allocators on transactional memory systems

Loading...
Thumbnail Image

Advisor

Coadvisor

Graduate program

Undergraduate course

Journal Title

Journal ISSN

Volume Title

Publisher

Type

Work presented at event

Access right

Acesso abertoAcesso Aberto

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.

Description

Keywords

Dynamic memory allocation, Performance evaluation, Transactional memory

Language

English

Citation

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

Related itens

Sponsors

Collections

Units

Departments

Undergraduate courses

Graduate programs

Other forms of access