Empirical Evaluation of a Thread-Safe Dynamic Range Min-Max Tree using HTM

Abstract

Succinct trees, such as wavelet trees and those based on, for instance, range Min-Max trees (RMMTs), are a family of practical data structures that store information close to their information-theoretic space lower bound. These structures are often static; meaning that once they are built, nodes cannot be added, deleted or modified. This read-only property simplifies concurrency. However, newer versions of these data structures allow for a fair degree of dynamism. Parallel programming using Hardware Transactional Memory(HTM), has been available in mainstream microprocessors since a few years ago. One limitation of HTM is still on the size of each transaction. This is why HTM’s use, for the moment, is limited to operations that involve few memory addresses that need to be updated atomically, or where the level of concurrency is low. We provide the first available implementation of a concurrent, dynamic RMMT based on HTM, and we compare empirically how well HTM performs compared to a naive implementation using locks. We have shown that because of the formal properties of RMMTs, HTM is a good fit for adding concurrency to otherwise slow lock-based alternatives. We have also shown that HTM performs better than locks when the number of write operations increase, making it a practical structure to use in several write-intensive contexts. This is, as far as we know, the only practical implementation of RMMTs thoroughly tested using HTM.

Extracted Key Phrases

1 Figure or Table

Cite this paper

@article{Elejalde2016EmpiricalEO, title={Empirical Evaluation of a Thread-Safe Dynamic Range Min-Max Tree using HTM}, author={Erick Elejalde and Jos{\'e} Fuentes Sep{\'u}lveda and Leo Ferres}, journal={CoRR}, year={2016}, volume={abs/1603.05922} }