Overview

The Adaptive Radix Tree (ART) is an efficient in-memory index data structure on modern architectures that beats read-only search trees on lookup performance while at the same time supporting insertion and deletion. We implemented three synchronization protocols for the Adaptive Radix Tree and compared their performance under low and high contention. Our results showed that our optimistic lock coupling implementation scales better than the fine-grained lock coupling and the coarse-grained lock approach under both writer-only low contention scenarios and mixed writer and reader high contention scenarios. The results also suggest that using shared pointers as the memory reclamation method is inefficient in a parallel setting.

This project is developed as part of a final project for the 15-418/618 Parallel Computer Architecture and Programming class.

[Final Report] [Poster]

WeekWork ItemWork splitStatus
04/16 - 04/21Sequential implementation - insert, getYuchen
04/16 - 04/21Sequential implementation - removeHang
04/22 - 04/24Garbage collection and lock implementationYuchen
04/22 - 04/24Benchmark setupHang
04/25 - 04/30LC and OLC implementation - insert, getYuchen
04/25 - 04/30LC and OLC implementation - removeHang
05/01 - 05/05Final report/result collection and analysisTogether
05/06Poster SessionTogether