EAI Endorsed Transactions on Scalable Information Systems (May 2014)

Concurrent Operations of O2-Tree on Shared Memory Multicore Architectures

  • Daniel Ohene-Kwofie,
  • E. J. Otoo1, Gideon Nimako

DOI
https://doi.org/10.4108/sis.1.3.e6
Journal volume & issue
Vol. 1, no. 3
pp. 1 – 18

Abstract

Read online

Modern computer architectures provide high performance computing capability by having multiple CPU cores. Such systems are also typically associated with very large main-memory capacities, thereby allowing them to be used for fast processing of in-memory database applications. However, most of the concurrency control mechanism associated with the index structures of these memory resident databases do not scale well, under high transaction rates. This paper presents the O2-Tree, a fast main memory resident index, which is also highly scalable and tolerant of high transaction rates in a concurrent environment using the relaxed balancing tree algorithm. The O2-Tree is a modified Red-Black tree in which the leaf nodes are formed into blocks that hold key-value pairs, while each internal node stores a single key that results from splitting leaf nodes. Multi-threaded concurrent manipulation of the O2-Tree outperforms popular NoSQL based key-value stores considered in this paper.

Keywords