We present FreSh, a lock-free data series index that exhibits good performance (while being robust). FreSh is based on Refresh, which is a generic approach we have developed for supporting lock-freedom in an efficient way on top of any localityaware data series index. We believe Refresh is of independent interest and can be used to get well-performed lock-free versions of other locality-aware blocking data structures. For developing FreSh, we first studied in depth the design decisions of current state-of-the-art data series indexes, and the principles governing their performance. This led to a theoretical framework, which enables the development and analysis of data series indexes in a modular way. The framework allowed us to apply Refresh, repeatedly, to get lock-free versions of the different phases of a family of data series indexes. Experiments with several synthetic and real datasets illustrate that FreSh achieves performance that is as good as that of the state-of-the-art blocking in-memory data series index. This shows that the helping mechanisms of FreSh are light-weight, respecting certain principles that are crucial for performance in locality-aware data structures.This paper was published in SRDS 2023.
翻译:我们提出了FreSh,一种性能优异且鲁棒的无锁数据序列索引。FreSh基于Refresh——我们开发的一种通用方法,可在任何局部感知数据序列索引上高效支持无锁机制。我们相信Refresh具有独立研究价值,可用于为其他局部感知阻塞数据结构开发高性能无锁版本。在开发FreSh过程中,我们首先深入研究了当前最先进数据序列索引的设计决策及其性能主导原则,进而建立了一个理论框架,能够以模块化方式开发和分析数据序列索引。该框架使我们能够重复应用Refresh,为一系列数据序列索引的不同阶段生成无锁版本。在多个合成数据集和真实数据集上的实验表明,FreSh的性能与现有最先进的阻塞式内存数据序列索引相当。这说明FreSh的辅助机制是轻量级的,并遵循了对局部感知数据结构性能至关重要的设计原则。本文发表于SRDS 2023。