Skip to main content

Parallel SCC Detection Based on Reusing Warps and Coloring Partitions on GPUs

  • Conference paper
  • First Online:
Algorithms and Architectures for Parallel Processing (ICA3PP 2020)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 12452))

  • 1518 Accesses

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).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. 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)

    Article  Google Scholar 

  2. 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)

    Article  Google Scholar 

  3. Orzan, S.: On distributed verification and verified distribution, Ph.D. dissertation, Center for Mathematics and Computer Science (2004)

    Google Scholar 

  4. 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)

    Article  Google Scholar 

  5. Tarjan, R.: Depth-first search and linear graph algorithms. SIAM J. Comput. 1(4), 146–160 (1972)

    Article  MathSciNet  Google Scholar 

  6. Dijkstra, E.W.: A Discipline of Programming, 1st edn. Prentice Hall, Englewood Cliffs (1976)

    MATH  Google Scholar 

  7. Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 3rd edn. The MIT Press, Cambridge (2009)

    MATH  Google Scholar 

  8. Barnat, J., Chaloupka, J., Van De Pol, J.: Distributed algorithms for SCC decomposition. J. Logic Comput. 21(1), 23–44 (2011)

    Article  MathSciNet  Google Scholar 

  9. 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)

    Google Scholar 

  10. 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

  11. 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)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. Li, G., Zhu, Z., Cong, Z., Yang, F.: Efficient decomposition of strongly connected components on GPUs. J. Syst. Architect. 60(1), 1–10 (2014)

    Article  Google Scholar 

  14. 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)

    Google Scholar 

  15. 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)

    Article  Google Scholar 

  16. 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)

    Google Scholar 

  17. Bader, D.A., Madduri, K.: GTGraph: a synthetic graph generator suite, vol. 38 (2006)

    Google Scholar 

  18. 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)

    Google Scholar 

  19. 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

    Chapter  Google Scholar 

  20. 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

    Chapter  Google Scholar 

  21. Leskovec, J., Krevl, A.: SNAP Datasets: Stanford Large Network Dataset Collection, vol. 6 (2014). http://snap.stanford.edu/data. Accessed 2 Feb 2020

  22. Koblenz Network Collection. http://konect.uni-koblenz.de/. Accessed 2 Feb 2020

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Junteng Hou or Bingnan Ma .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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

Publish with us

Policies and ethics