Abstract
The breadth-first-search (BFS) algorithm serves as a fundamental building block for graph traversal with a wide range of applications, spanning from the electronic design automation (EDA) field to social network analysis. Many contemporary real-world networks are dynamic and evolve rapidly over time. In such cases, recomputing the BFS from scratch after each graph modification becomes impractical. While parallel solutions, particularly for GPUs, have been introduced to handle the size complexity of static networks, none have addressed the issue of work-efficiency in dynamic networks. In this paper, we propose a GPU-based BFS implementation capable of processing batches of network updates concurrently. Our solution leverages batch information to minimize the total workload required to update the BFS result while also enhancing data locality for future updates. We also introduce a technique for relabeling nodes, enhancing locality during dynamic BFS traversal. We present experimental results on a diverse set of large networks with varying characteristics and batch sizes.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Network repository. https://networkrepository.com/
Suite sparse matrix collection. https://sparse.tamu.edu/
Bergamini, E., Meyerhenke, H.: Fully-dynamic approximation of betweenness centrality. Lect. Notes Comput. Sci. 9294, 155–166 (2015)
Besta, M., Fischer, M., Kalavri, V., Kapralov, M., Hoefler, T.: Practice of streaming processing of dynamic graphs: concepts, models, and systems. IEEE Trans. Parallel Distrib. Syst. 34(6), 1860–1876 (2023)
Busato, F., Green, O., Bombieri, N., Bader, D.A.: Hornet: an efficient data structure for dynamic sparse graphs and matrices on GPUs. In: 2018 IEEE High Performance Extreme Computing Conference (2018)
Cormen, T., Leiserson, C., Rivest, R., Stein, C.: Introduction to Algorithms. MIT press (2009)
Demetrescu, C., Italiano, G.F.: Experimental analysis of dynamic all pairs shortest path algorithms. ACM Trans. Algorithms 2(4), 578–601 (2006)
Doll, C., Hartmann, T., Wagner, D.: Fully-dynamic hierarchical graph clustering using cut trees. Lect. Notes Comput. Sci. 6844, 338–349 (2011)
Gaihre, A., Wu, Z., Yao, F., Liu, H.: XBFS: exploring runtime optimizations for breadth-first search on GPUs. In: Proceedings of the 28th International Symposium on High-Performance Parallel and Distributed Computing, pp. 121–131 (2019)
Green, O.: Inverse-deletion BFS-revisiting static graph BFS traversals with dynamic graph operations. In: IEEE High Performance Extreme Computing Conference (2021)
Green, O., Bader, D.A.: cuSTINGER: supporting dynamic graph algorithms for GPUs. In: IEEE High Performance Extreme Computing Conference (2016)
Grinten Van Der, A., Bergamini, E., Green, O., Bader, D.A., Meyerhenke, H.: Scalable katz ranking computation in large static and dynamic graphs. ACM J. Exper. Algorithmics 27(1) (2022)
Hong, S., Kim, S.K., Oguntebi, T., Olukotun, K.: Accelerating CUDA graph algorithms at maximum warp. In: ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 267–276 (2011)
Hsieh, C.Y., Cheng, P.H., Chang, C.M., Kuo, S.Y.: A decentralized frontier queue for improving scalability of breadth-first-search on GPUs. In: Design, Automation and Test in Europe (2023)
Krommidas, I., Zaroliagis, C.: An experimental study of algorithms for fully dynamic transitive closure. ACM J. Exp. Algorithmics 12, 1–22 (2008)
Luo, L., Wong, M., Hwu, W.M.: An effective GPU implementation of breadth-first search. In: Design Automation Conference, pp. 52–55 (2010)
Macko, P., Marathe, V.J., Margo, D.W., Seltzer, M.I.: Llama: efficient graph analytics using large multiversioned arrays. In: International Conference on Data Engineering, pp. 363–374 (2015)
Merrill, D., Garland, M., Grimshaw, A.: High-performance and scalable GPU graph traversal. ACM Trans. Parallel Comput. 1(2) (2015)
Todling, D., Winter, M., Steinberger, M.: Breadth-first search on dynamic graphs using dynamic parallelism on the GPU. In: 2019 IEEE High Performance Extreme Computing Conference (2019)
Wang, Y., et al.: Gunrock: GPU graph analytics. ACM Trans. Parallel Comput. 4(1), 3:1–3:49 (2017). http://escholarship.org/uc/item/9gj6r1dj
Wen, H., Zhang, W.: Improving parallelism of breadth first search (BFS) algorithm for accelerated performance on GPUs. In: 2019 IEEE High Performance Extreme Computing Conference (HPEC) (2019)
Winter, M., Mlakar, D., Zayer, R., Seidel, H.P., Steinberger, M.: FaimGraph: high performance management of fully-dynamic graphs under tight memory constraints on the GPU. In: International Conference for High Performance Computing, Networking, Storage, and Analysis, pp. 754—766 (2019)
Xie, W., Tian, Y., Sismanis, Y., Balmin, A., Haas, P.J.: Dynamic interaction graphs with probabilistic edge decay. In: International Conference on Data Engineering, vol. 2015-May, pp. 1143–1154 (2015)
Zhang, G., Cheng, S., Shu, J., Hu, Q., Zheng, W.: Accelerating breadth-first graph search on a single server by dynamic edge trimming. J. Parallel Distrib. Comput. 120, 383–394 (2018)
Acknowledgments
This work has been partially supported by the “PREPARE” project. (n. F/310130/05/X56 - CUP: B39J23001730005)-D.M. MiSE 31/12/2021.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Ziche, F., Bombieri, N., Busato, F., Giugno, R. (2024). GPU-Accelerated BFS for Dynamic Networks. In: Carretero, J., Shende, S., Garcia-Blas, J., Brandic, I., Olcoz, K., Schreiber, M. (eds) Euro-Par 2024: Parallel Processing. Euro-Par 2024. Lecture Notes in Computer Science, vol 14803. Springer, Cham. https://doi.org/10.1007/978-3-031-69583-4_6
Download citation
DOI: https://doi.org/10.1007/978-3-031-69583-4_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-69582-7
Online ISBN: 978-3-031-69583-4
eBook Packages: Computer ScienceComputer Science (R0)