Exploiting Parallelism and Vectorisation in Breadth-First Search for the Intel Xeon Phi

被引:2
作者
Paredes, Mireya [1 ]
Riley, Graham [1 ]
Lujan, Mikel [1 ]
机构
[1] Univ Manchester, Sch Comp Sci, Kilburn Bldg,Oxford Rd, Manchester M13 9PL, Lancs, England
基金
英国工程与自然科学研究理事会;
关键词
Breadth-first search; graph algorithms; hybrid BFS; vectorisation; parallel architecture; Graph; 500; Xeon Phi;
D O I
10.1109/TPDS.2019.2927451
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Modern applications generate massive amounts of data that is challenging to process or analyse. Graph algorithms have emerged as a solution for the analysis of such data because they can represent the entities participating in the generation of large-scale datasets in terms of vertices and their relationships in terms of edges. Graph analysis algorithms are used for finding patterns within these relationships, aiming to extract information to be further analysed. The breadth-first search (BFS) is one of the main graph search algorithms used for graph analysis and its optimisation has been widely researched using different parallel computers. However, the parallelisation of BFS has been shown to be challenging because of its inherent characteristics, including irregular memory access patterns, data dependencies and workload imbalance, that limit its scalability. This paper investigates the optimisation of the BFS on the Xeon Phi (Knights Corner), a modern parallel architecture provided with an advanced vector processor supporting the AVX-512 instruction set, using a bespoke development framework integrated with the Graph 500 benchmark. In addition, to demonstrate portability, we show results for a direct port of the algorithms to a more recent version of the Xeon Phi (Knights Landing) and to a Skylake CPU which supports most of the AVX-512 instruction set. Optimised parallel versions of two high-level algorithms for BFS were created using vectorisation, starting with the conventional top-down BFS algorithm and, building on this, a hybrid BFS algorithm. On the KNC our best implementations result in speedups of 1.37x (top-down) and 1.37x (hybrid), for a one million vertices graph, compared to the state-of-the-art. On the KNL and Skylake, the performance is higher than on KNC. In addition, we show results of our best hybrid algorithm on real-world graphs from the SNAP datasets with speedups up to 1.3x on KNC. Performance on KNL and Skylake is again higher, demonstrating the robustness and portability of our algorithm. The hybrid BFS algorithm can be further used to speed up other graph analysis algorithms and the lessons learned from vectorisation can be applied to other algorithms targeting existing and future models of the Xeon Phi and other advanced vector architectures.
引用
收藏
页码:111 / 128
页数:18
相关论文
共 50 条
  • [31] An Optimized Breadth-First Search Algorithm for Routing in Optical Access Networks
    Lopes, G.
    Hoffman, D.
    [J]. IEEE LATIN AMERICA TRANSACTIONS, 2019, 17 (07) : 1088 - 1095
  • [32] A Low Communication Overhead Breadth-First Search Based on Global Bitmap
    Peng, Ziwei
    Lu, Yutong
    Cheng, Zhiguang
    Du, Yunfei
    [J]. ALGORITHMS AND ARCHITECTURES FOR PARALLEL PROCESSING, ICA3PP 2018, PT II, 2018, 11335 : 114 - 129
  • [33] Improving vertex-frontier based GPU breadth-first search
    Bo Yang
    Kai Lu
    Ying-hui Gao
    Kai Xu
    Xiao-ping Wang
    Zhi-quan Cheng
    [J]. Journal of Central South University, 2014, 21 : 3828 - 3836
  • [34] Research of FTP File Traversal Method based on Breadth-First Search
    Yan, Lei
    Ma, Hong-lin
    Kang, Li
    [J]. INTERNATIONAL CONFERENCE ON GRAPHIC AND IMAGE PROCESSING (ICGIP 2012), 2013, 8768
  • [35] Optimizing Data Accesses for Breadth-First Search on Shared Memory Computers
    Hu, Ziqian
    Yu, Huashan
    [J]. 2015 14TH INTERNATIONAL SYMPOSIUM ON PARALLEL AND DISTRIBUTED COMPUTING (ISPDC), 2015, : 156 - 164
  • [36] Service Restoration in Distribution System Using Breadth-First Search Technique
    Swaroop, K. P.
    Garapati, Durga Prasad
    Nalli, Praveen Kumar
    Duvvuri, S. S. S. R. Sarathbabu
    [J]. 2021 7TH INTERNATIONAL CONFERENCE ON ELECTRICAL ENERGY SYSTEMS (ICEES), 2021, : 403 - 407
  • [37] A Work-Efficient Parallel Breadth-First Search Algorithm (or How to Cope with the Nondeterminism of Reducers)
    Leiserson, Charles E.
    Schardl, Tao B.
    [J]. SPAA '10: PROCEEDINGS OF THE TWENTY-SECOND ANNUAL SYMPOSIUM ON PARALLELISM IN ALGORITHMS AND ARCHITECTURES, 2010, : 303 - 314
  • [38] Reformulating a Breadth-First Search Algorithm on an Undirected Graph in the Language of Linear Algebra
    Buecker, H. Martin
    Sohr, Christian
    [J]. 2014 INTERNATIONAL CONFERENCE ON MATHEMATICS AND COMPUTERS IN SCIENCES AND IN INDUSTRY (MCSI 2014), 2014, : 33 - 35
  • [39] NUMA-optimized Parallel Breadth-first Search on Multicore Single-node System
    Yasui, Yuichiro
    Fujisawa, Katsuki
    Goto, Kazushige
    [J]. 2013 IEEE INTERNATIONAL CONFERENCE ON BIG DATA, 2013,
  • [40] Efficient Breadth-First Search on Massively Parallel and Distributed-Memory Machines
    Ueno K.
    Suzumura T.
    Maruyama N.
    Fujisawa K.
    Matsuoka S.
    [J]. Data Science and Engineering, 2017, 2 (1) : 22 - 35