A concurrent van Emde Boas array as a fast and simple concurrent dynamic set alternative

Authors

  • Konrad Kułakowski

    Corresponding author
    1. Department of Applied Computer Science, EAIiIB, AGH University of Science and Technology, 30-059 Cracow, Poland
    • Correspondence to: Konrad Kułakowski, Department of Applied Computer Science, EAIiIB, AGH University of Science and Technology, Al. Mickiewicza 30, 30-059 Cracow, Poland.

      E-mail: konrad@kulakowski.org

    Search for more papers by this author

SUMMARY

Increasing demand for computationally efficient algorithms and processors has turned the attention of researchers toward parallel and concurrent solutions. Because the frequency of contemporary processors cannot be tweaked infinitely, the only hopes for squeezing more performance from computers are parallel processing and parallel computation. The important part of every parallel solution is concurrent data structures, which allow multithread programming environments to be taken advantage of. In this article, a new concurrent dynamic set structure is proposed. It is based on the van Emde Boas trees concept, where on every node of a tree, an array of the node's children is stored. The structure is equipped with a simple but effective locking algorithm, which allows it to be used concurrently by any number of threads. The presented algorithm idea is accompanied by an experimental implementation written in JAVA 6. Preliminary tests prove that, especially for moderately larger data sets with a predominance of read operations, the concurrent van Emde Boas array proposed in this article may be a viable alternative for other structures providing a similar functionality. Copyright © 2013 John Wiley & Sons, Ltd.

Ancillary