Graph Reordering for Cache-Efficient Near Neighbor Search

被引:0
|
作者
Coleman, Benjamin [1 ,2 ]
Segarra, Santiago [1 ]
Smola, Alex [2 ]
Shrivastava, Anshumali [3 ]
机构
[1] Rice Univ, ECE Dept, Houston, TX 77005 USA
[2] Amazon Web Serv, Seattle, WA USA
[3] Rice Univ, Dept Comp Sci, Houston, TX 77005 USA
基金
美国国家科学基金会;
关键词
D O I
暂无
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Graph search is one of the most successful algorithmic trends in near neighbor search. Several of the most popular and empirically successful algorithms are, at their core, a greedy walk along a pruned near neighbor graph. However, graph traversal applications often suffer from poor memory access patterns, and near neighbor search is no exception to this rule. Our measurements show that popular search indices such as the hierarchical navigable small-world graph (HNSW) can have poor cache miss performance. To address this issue, we formulate the graph traversal problem as a cache hit maximization task and propose multiple graph reordering as a solution. Graph reordering is a memory layout optimization that groups commonly-accessed nodes together in memory. We mathematically formalize the connection between the graph layout and the cache complexity of search. We present exhaustive experiments applying several reordering algorithms to a leading graph-based near neighbor method based on the HNSW index. We find that reordering improves the query time by up to 40%, we present analysis and improvements for existing graph layout methods, and we demonstrate that the time needed to reorder the graph is negligible compared to the time required to construct the index.
引用
收藏
页数:13
相关论文
共 50 条
  • [1] Cache-efficient Graph Cuts on Structured Grids
    Jamriska, Ondrej
    Sykora, Daniel
    Hornung, Alexander
    2012 IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR), 2012, : 3673 - 3680
  • [2] Adaptive algorithms for cache-efficient trio search
    Acharya, A
    Zhu, HC
    Shen, K
    ALGORITHM ENGINEERING AND EXPERIMENTATION, 1999, 1619 : 296 - 311
  • [3] Cache-efficient renumbering for vectorization
    Loehner, Rainald
    INTERNATIONAL JOURNAL FOR NUMERICAL METHODS IN BIOMEDICAL ENGINEERING, 2010, 26 (05) : 628 - 636
  • [4] Cache-efficient multigrid algorithms
    Sellappa, S
    Chatterjee, S
    INTERNATIONAL JOURNAL OF HIGH PERFORMANCE COMPUTING APPLICATIONS, 2004, 18 (01): : 115 - 133
  • [5] Towards a theory of cache-efficient algorithms
    Sen, S
    Chatterjee, S
    Dumir, N
    JOURNAL OF THE ACM, 2002, 49 (06) : 828 - 858
  • [6] Towards a theory of cache-efficient algorithms
    Sen, S
    Chatterjee, S
    PROCEEDINGS OF THE ELEVENTH ANNUAL ACM-SIAM SYMPOSIUM ON DISCRETE ALGORITHMS, 2000, : 829 - 838
  • [7] Cache-Efficient Aggregation: Hashing Is Sorting
    Mueller, Ingo
    Sanders, Peter
    Lacurie, Arnaud
    Lehner, Wolfgang
    Faerber, Franz
    SIGMOD'15: PROCEEDINGS OF THE 2015 ACM SIGMOD INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 2015, : 1123 - 1136
  • [8] PepSplice: cache-efficient search algorithms for comprehensive identification of tandem mass spectra
    Roos, Franz F.
    Jacob, Riko
    Grossmann, Jonas
    Fischer, Bernd
    Buhmann, Joachim M.
    Gruissem, Wilhelm
    Baginsky, Sacha
    Widmayer, Peter
    BIOINFORMATICS, 2007, 23 (22) : 3016 - 3023
  • [9] A cache-efficient reordering method for unstructured meshes with applications to wall-resolved large-eddy simulations
    Liu, Yi
    Wang, Hongping
    Wang, Shizhao
    He, Guowei
    JOURNAL OF COMPUTATIONAL PHYSICS, 2023, 480
  • [10] Binary Mesh Partitioning for Cache-Efficient Visualization
    Tchiboukdjian, Marc
    Danjean, Vincent
    Raffin, Bruno
    IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, 2010, 16 (05) : 815 - 828