Mix-and-Match: A Model-driven Runtime Optimisation Strategy for BFS on GPUs
Informatics Institute, University of Amsterdam, Amsterdam, The Netherlands
The International Conference for High Performance Computing, Networking, Storage, and Analysis (SC’18), 2018
@article{verstraaten2018mix,
title={Mix-and-Match: A Model-driven Runtime Optimisation Strategy for BFS on GPUs},
author={Verstraaten, Merijn and Varbanescu, Ana Lucia and de Laat, Cees},
year={2018}
}
It is universally accepted that the performance of graph algorithms is heavily dependent on the algorithm, the execution platform, and the structure of the input graph. This variability remains difficult to predict and hinders the choice of the right algorithm for a given problem. In this work, we focus on a case study: breadth-first search (BFS), a level-based graph traversal algorithm, running on GPUs. We first demonstrate the severity of this variability by presenting 32 variations of 5 implementation strategies for GPU-enabled BFS, and showing how selecting one single algorithm for the entire traversal can significantly limit performance. To alleviate these performance losses, we propose to mix-and-match, at runtime, different algorithms to compose the best performing BFS traversal. Our approach is based on two novel elements: a predictive model, based on a decision tree, which is able to dynamically select the best performing algorithm for each BFS level, and a quick context switch between algorithms, which limits the overhead of the combined BFS. We demonstrate empirically that our dynamic switching BFS outperforms our non-switching implementations by 2x and existing state-of-the-art GPU BFS implementations by 3x. We conclude that mix-and-match BFS is a competitive approach for performing fast graph traversal, while being easily extended to include more BFS implementations and easily adaptable to other types of processors or specific types of graphs.
December 2, 2018 by hgpu