Parallel Vertex Cover Algorithms on GPUs

被引:2
|
作者
Yamout, Peter [1 ]
Barada, Karim [1 ]
Jaljuli, Adnan [1 ]
Mouawad, Amer E. [1 ]
El Hajj, Izzat [1 ]
机构
[1] Amer Univ Beirut, Beirut, Lebanon
关键词
D O I
10.1109/IPDPS53621.2022.00028
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Finding small vertex covers in a graph has applications in numerous domains such as scheduling, computational biology, telecommunication networks, artificial intelligence, social science, and many more. Two common formulations of the problem include: Minimum Vertex Cover (MVC), which finds the smallest vertex cover in a graph, and Parameterized Vertex Cover (PVC), which finds a vertex cover whose size is less than or equal to some parameter k. Algorithms for both formulations involve traversing a search tree, which grows exponentially with the size of the graph or the value of k. Parallelizing the traversal of the vertex cover search tree on GPUs is challenging for multiple reasons. First, the search tree is a narrow binary tree which makes it difficult to extract enough sub-trees to process in parallel to fully utilize the GPU's massively parallel execution resources. Second, the search tree is highly imbalanced which makes load balancing across a massive number of parallel GPU workers especially challenging. Third, keeping around all the intermediate state needed to traverse many sub-trees in parallel puts high pressure on the GPU's memory resources and may act as a limiting factor to parallelism. To address these challenges, we propose an approach to traverse the vertex cover search tree in parallel using GPUs while handling dynamic load balancing. Each thread block traverses a different sub-tree using a local stack, however, we use a global worklist to balance the load to ensure that all blocks remain busy. Blocks contribute branches of their sub-trees to the global worklist on an as-needed basis, while blocks that finish their subtrees pick up new ones from the global worklist. We use degree arrays to represent intermediate graphs so that the representation is compact in memory to avoid limiting parallelism, but selfcontained which is necessary for the load balancing process. Our evaluation shows that compared to approaches used in prior work, our hybrid approach of using local stacks and a global worklist substantially improves performance and reduces load imbalance, especially on difficult instances of the problem. Our implementations have been open sourced to enable further research on parallel solutions to the vertex cover problem and other similar problems involving parallel traversal of narrow and highly imbalanced search trees.
引用
收藏
页码:201 / 211
页数:11
相关论文
共 50 条
  • [1] Improved Massively Parallel Computation Algorithms for MIS, Matching, and Vertex Cover
    Ghaffari, Mohsen
    Gouleakis, Themis
    Konrad, Christian
    Mitrovic, Slobodan
    Rubinfeld, Ronitt
    PODC'18: PROCEEDINGS OF THE 2018 ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING, 2018, : 129 - 138
  • [2] Distributed and Parallel Algorithms for Weighted Vertex Cover and other Covering Problems
    Koufogiannakis, Christos
    Young, Neal E.
    PODC'09: PROCEEDINGS OF THE 2009 ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING, 2009, : 171 - 179
  • [3] Evolutionary algorithms and the vertex cover problem
    Oliveto, P. S.
    He, J.
    Yao, X.
    2007 IEEE CONGRESS ON EVOLUTIONARY COMPUTATION, VOLS 1-10, PROCEEDINGS, 2007, : 1870 - 1877
  • [4] Fast Parallel Connected Components Algorithms on GPUs
    Cong, Guojing
    Muzio, Paul
    EURO-PAR 2014: PARALLEL PROCESSING WORKSHOPS, PT I, 2014, 8805 : 153 - 164
  • [5] Power Consumption Analysis of Parallel Algorithms on GPUs
    Magoules, Frederic
    Ahamed, Abal-Kassim Cheik
    Desmaison, Alban
    Lechenet, Jean-Christophe
    Mayer, Francois
    Ben Salem, Haifa
    Zhu, Thomas
    2014 IEEE INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING AND COMMUNICATIONS, 2014 IEEE 6TH INTL SYMP ON CYBERSPACE SAFETY AND SECURITY, 2014 IEEE 11TH INTL CONF ON EMBEDDED SOFTWARE AND SYST (HPCC,CSS,ICESS), 2014, : 304 - 311
  • [6] Optimization of Parallel Genetic Algorithms for nVidia GPUs
    Wahib, Mohamed
    Munawar, Asim
    Munetomo, Masaharu
    Akama, Kiyoshi
    2011 IEEE CONGRESS ON EVOLUTIONARY COMPUTATION (CEC), 2011, : 803 - 811
  • [7] Approximation algorithms for the partition vertex cover problem
    Bera, Suman K.
    Gupta, Shalmoli
    Kumar, Amit
    Roy, Sambuddha
    THEORETICAL COMPUTER SCIENCE, 2014, 555 : 2 - 8
  • [8] Parameterized algorithms for minimum sum vertex cover
    Aute, Shubhada
    Panolan, Fahad
    THEORETICAL COMPUTER SCIENCE, 2025, 1029
  • [9] Parameterized approximation algorithms for weighted vertex cover
    Mandal, Soumen
    Misra, Pranabendu
    Rai, Ashutosh
    Saurabh, Saket
    THEORETICAL COMPUTER SCIENCE, 2024, 1021
  • [10] Optimal Sublinear Algorithms for Matching and Vertex Cover
    Behnezhad, Soheil
    2021 IEEE 62ND ANNUAL SYMPOSIUM ON FOUNDATIONS OF COMPUTER SCIENCE (FOCS 2021), 2022, : 873 - 884