Interval trees are fundamental data structures for managing and querying overlapping intervals, and are widely used in scheduling, network monitoring, and database conflict resolution domains. However, supporting such operations efficiently in multi-threaded environments remains a substantial challenge due to synchronization bottlenecks and contention. In this work, we introduce a novel concurrent interval tree that addresses scalability and contention challenges in multi-threaded settings. This design is built on the concurrent AA Tree (CAA Tree). Our approach departs from traditional interval tree implementations by allowing multiple high-values to be stored within a single node using a thread-safe structure. It significantly improves space utilization and, in turn, helps to improve performance while identifying overlapping intervals. The proposed structure is designed for efficient concurrent insert, delete, and overlap operations across diverse workloads. This is achieved through a combination of a relaxed balancing approach and a lazy deletion mechanism, which together reduce structural contention and improve cache locality. Our implementation achieves an average speedup of \(22.87\times \) over its sequential version when the number of threads is 64 and consistently outperforms state-of-the-art implementations.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Scalable and Contention-Resilient Concurrent Interval Tree

  • Kapil Kumar Attinagaramu,
  • Praveen Alapati

摘要

Interval trees are fundamental data structures for managing and querying overlapping intervals, and are widely used in scheduling, network monitoring, and database conflict resolution domains. However, supporting such operations efficiently in multi-threaded environments remains a substantial challenge due to synchronization bottlenecks and contention. In this work, we introduce a novel concurrent interval tree that addresses scalability and contention challenges in multi-threaded settings. This design is built on the concurrent AA Tree (CAA Tree). Our approach departs from traditional interval tree implementations by allowing multiple high-values to be stored within a single node using a thread-safe structure. It significantly improves space utilization and, in turn, helps to improve performance while identifying overlapping intervals. The proposed structure is designed for efficient concurrent insert, delete, and overlap operations across diverse workloads. This is achieved through a combination of a relaxed balancing approach and a lazy deletion mechanism, which together reduce structural contention and improve cache locality. Our implementation achieves an average speedup of \(22.87\times \) over its sequential version when the number of threads is 64 and consistently outperforms state-of-the-art implementations.