Exploiting HTM for Improved C++ Smart Pointers
Dr. Maria Carpen-Amarie (Université de Neuchâtel)
The most popular programming languages, such as C++ or Java, have libraries and data structures designed to automatically address concurrency hazards in order to run on multiple threads. This trend has also been adopted in the memory management domain. However, automatic concurrent memory management also comes at a price, leading sometimes to noticeable overhead. We experiment with C++ smart pointers and their automatic memory-management technique based on reference counting. More precisely, we study how we can use hardware transactional memory (HTM) to avoid costly and sometimes unnecessary atomic operations. This talk presents details concerning the algorithm and the implementation of transactional smart pointers. We then introduce specific use cases that could particularly benefit from transactional pointers, such as concurrent data structures traversal.
Maria Carpen-Amarie recently obtained her PhD degree at University of Neuchatel, Switzerland. She received her Master's degree in Computer Science from Ecole Polytechnique Federale de Lausanne (EPFL), Switzerland. Her research interests include concurrent systems, managed runtime environments, memory management mechanisms.
Back to EBSIS Events section.