Abstract
Detecting strongly connected components (SCCs) in directed graphs is crucial for analyzing the structure of graphs. It can accelerate the process of large-scale graphs with applying GPUs to graph computation. However, GPU-based SCC detection still faces the challenge from graphs, especially real-world graphs, skewing and strict synchronization requirement. In this paper, we proposed a new paradigm of identifying SCCs with reusing warps and coloring partitions. The scheme of reusing warps assigns multiple vertices to each virtual warp at one time, which greatly reduces the number of warps that are applied but assigned few tasks. Furthermore, we proved that the partitions formed by coloring independently contains all SCCs in them, so we use coloring to identify more partitions and parallel detect SCCs in each partition to get more SCCs. Finally, the colored partitions are deeply combined with the following traversal to optimize the algorithm. We conduct extensive theoretical and experimental analysis to demonstrate the efficiency and accuracy of our approach. The experimental results expose that our approach can achieve 7.23\(\times \), 30.55\(\times \), 1.75\(\times \) and 1.26\(\times \) speedup for SCC detection using NVIDIA K80 compared with algorithms of Tarjan, Barnat, Hong and Slota respectively.
This work was supported by the National Natural Science Foundation of China (No. 61931019).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Zhang, Z., Yu, J.X., Qin, L., Chang, L., Lin, X.: I/O efficient: computing SCCs in massive graphs. VLDB J.—Int. J. Very Large Data Bases 24(2), 245–270 (2015)
Xie, A., Beerel, P.A.: Implicit enumeration of strongly connected components and an application to formal verification. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 19(10), 1225–1230 (2000)
Orzan, S.: On distributed verification and verified distribution, Ph.D. dissertation, Center for Mathematics and Computer Science (2004)
Fan, W., Li, J., Ma, S., Wang, H., Wu, Y.: Graph homomorphism revisited for graph matching. Proc. VLDB Endow. 3(1–2), 1161–1172 (2010)
Tarjan, R.: Depth-first search and linear graph algorithms. SIAM J. Comput. 1(4), 146–160 (1972)
Dijkstra, E.W.: A Discipline of Programming, 1st edn. Prentice Hall, Englewood Cliffs (1976)
Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 3rd edn. The MIT Press, Cambridge (2009)
Barnat, J., Chaloupka, J., Van De Pol, J.: Distributed algorithms for SCC decomposition. J. Logic Comput. 21(1), 23–44 (2011)
Barnat, J., Bauch, P., Brim, L., Ceska, M.: Computing strongly connected components in parallel on CUDA. In: Sussman, A., Mueller, F., Beaumont, O., Kandemir, M.T., Nikolopoulos, D. (eds.) IPDPS 2011, pp. 544–555. IEEE (2011)
Devshatwar, S., Amilkanthwar, M., Nasre, R.: GPU centric extensions for parallel strongly connected components computation. In: GPGPU@PPoPP 2016, pp. 2–11. ACM, Barcelona (2016). https://doi.org/10.1145%2F2884045.2884048
Li, P., Chen, X, Shen, J., Fang, J., Tang, T., Yang, C.: High performance detection of strongly connected components in sparse graphs on GPUs. In: PMAM@PPoPP 2017, pp. 48–57. ACM, Texas (2017)
Hong, S., Rodia, N.C., Olukotun, K.: On fast parallel detection of strongly connected components (SCC) in small-world graphs. In: SC 2013, pp. 1–11. ACM, Denver (2013)
Li, G., Zhu, Z., Cong, Z., Yang, F.: Efficient decomposition of strongly connected components on GPUs. J. Syst. Architect. 60(1), 1–10 (2014)
Slota, G.M., Rajamanickam, S., Madduri, K.: BFS and coloring-based parallel algorithms for strongly connected components and related problems. In: 2014 International Parallel and Distributed Processing Symposium, pp. 550–559. IEEE (2014)
Mclendon Iii, W., Hendrickson, B., Plimpton, S.J., Rauchwerger, L.: Finding strongly connected components in distributed graphs. J. Parallel Distrib. Comput. 65(8), 901–910 (2005)
Kumar, R., Novak, J., Tomkins, A.: Structure and evolution of online social networks. In: Proceedings of the 12th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD 2006, pp. 611–617. ACM, New York (2006)
Bader, D.A., Madduri, K.: GTGraph: a synthetic graph generator suite, vol. 38 (2006)
Chakrabarti, D., Zhan, Y., Faloutsos, C.: R-MAT: a recursive model for graph mining. In: Proceedings of the 2004 SIAM International Conference on Data Mining, pp. 442–446. SIAM (2004)
Bader, D.A., Madduri, K.: Design and implementation of the HPCS graph analysis benchmark on symmetric multiprocessors. In: Bader, D.A., Parashar, M., Sridhar, V., Prasanna, V.K. (eds.) HiPC 2005. LNCS, vol. 3769, pp. 465–476. Springer, Heidelberg (2005). https://doi.org/10.1007/11602569_48
Fleischer, L.K., Hendrickson, B., Pınar, A.: On identifying strongly connected components in parallel. In: Rolim, J. (ed.) IPDPS 2000. LNCS, vol. 1800, pp. 505–511. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-45591-4_68
Leskovec, J., Krevl, A.: SNAP Datasets: Stanford Large Network Dataset Collection, vol. 6 (2014). http://snap.stanford.edu/data. Accessed 2 Feb 2020
Koblenz Network Collection. http://konect.uni-koblenz.de/. Accessed 2 Feb 2020
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Hou, J., Wang, S., Wu, G., Ma, B., Zhang, L. (2020). Parallel SCC Detection Based on Reusing Warps and Coloring Partitions on GPUs. In: Qiu, M. (eds) Algorithms and Architectures for Parallel Processing. ICA3PP 2020. Lecture Notes in Computer Science(), vol 12452. Springer, Cham. https://doi.org/10.1007/978-3-030-60245-1_3
Download citation
DOI: https://doi.org/10.1007/978-3-030-60245-1_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-60244-4
Online ISBN: 978-3-030-60245-1
eBook Packages: Mathematics and StatisticsMathematics and Statistics (R0)