DiskJoin: Large-scale Vector Similarity Join with SSD
By: Yanqi Chen , Xiao Yan , Alexandra Meliou and more
Potential Business Impact:
Finds similar items fast, even with huge amounts of data.
Similarity join--a widely used operation in data science--finds all pairs of items that have distance smaller than a threshold. Prior work has explored distributed computation methods to scale similarity join to large data volumes but these methods require a cluster deployment, and efficiency suffers from expensive inter-machine communication. On the other hand, disk-based solutions are more cost-effective by using a single machine and storing the large dataset on high-performance external storage, such as NVMe SSDs, but in these methods the disk I/O time is a serious bottleneck. In this paper, we propose DiskJoin, the first disk-based similarity join algorithm that can process billion-scale vector datasets efficiently on a single machine. DiskJoin improves disk I/O by tailoring the data access patterns to avoid repetitive accesses and read amplification. It also uses main memory as a dynamic cache and carefully manages cache eviction to improve cache hit rate and reduce disk retrieval time. For further acceleration, we adopt a probabilistic pruning technique that can effectively prune a large number of vector pairs from computation. Our evaluation on real-world, large-scale datasets shows that DiskJoin significantly outperforms alternatives, achieving speedups from 50x to 1000x.
Similar Papers
DiskJoin: Large-scale Vector Similarity Join with SSD
Databases
Finds similar items faster on one computer.
Gorgeous: Revisiting the Data Layout for Disk-Resident High-Dimensional Vector Search
Databases
Finds similar things faster on big data.
Scalable Disk-Based Approximate Nearest Neighbor Search with Page-Aligned Graph
Machine Learning (CS)
Finds information faster on huge computer files.