Skip to main content
Log in

BlockGraphChi: Enabling Block Update in Out-of-Core Graph Processing

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

In the past several years, lots of out-of-core graph processing systems are built to process big graph datasets in computer systems with limited main memory. Due to the iterative nature of graph algorithms, most of these systems employ synchronous execution model to organize the computation, i.e., divide the computing into multiple rounds, each of which corresponds to one iteration of the graph algorithm. In order to fully utilize the disk bandwidth, these systems sequentially scan the whole graph dataset at each iteration. However, as the graph dataset under processing may be huge, more iterations generally means larger I/O overheads. Although asynchronous implementation of the synchronous execution model allows message passing within an iteration, the effectiveness is still limited. Since in such model, at most one message is allowed to be passed from one vertex to another. In this paper, we investigate the idea of block updating in the synchronous execution model framework in the out-of-core graph processing systems. With this new model, the system conducts graph algorithm on the loaded subgraph (i.e., block) to its local convergence, and then switches to other subgraphs to continue this process, until global convergence is reached. We implement this new model in GraphChi (the result system is called BlockGraphChi), and propose a companion graph partition method, named as DMLP. By this study, we found that compared with the original execution model of GraphChi: (1) the new model can generally reduce the amount of iterations (and thus the I/O overheads) for graph algorithms, while the extent of reduction depends on the method of graph partitioning and the properties of the algorithms; (2) the new model can dramatically reduce the overall execution time of graph traversal algorithms (by up to 31.4 \(\times \)), and better partitioning method leads to better performance; (3) the new model has much smaller effectiveness on improving the overall performance of fix-point algorithms, such as PageRank, due to the increased computational overhead.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

Notes

  1. Here, “balance” means all partitions have approximately the same amount of vertices or edges.

References

  1. Auroux, L., Burelle, M., Erra, R.: Reordering very large graphs for fun and profit. In: International Symposium on Web AlGorithms(2015)

  2. Baluja, S., Seth, R., Sivakumar, D., Jing, Y., Yagnik, J., Kumar, S., Ravichandran, D., Aly, M.: Video suggestion and discovery for youtube: taking random walks through the view graph. In: Proceedings of the 17th International Conference on World Wide Web, WWW ’08, pp. 895–904 (2008)

  3. Dijkstra, E.W.: A note on two problems in connexion with graphs. Numer. Math. 1(1), 269–271 (1959)

    Article  MathSciNet  MATH  Google Scholar 

  4. Erwig, M., Hagen, F.: The graph voronoi diagram with applications. Networks 36(3), 156–163 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  5. Fleischer, L.K., Hendrickson, B., Pınar, A.: On identifying strongly connected components in parallel. In: Parallel and Distributed Processing, Springer, New York, pp. 505–511 (2000)

  6. Gonzalez, J., Low, Y., Guestrin, C.: Residual splash for optimally parallelizing belief propagation. AISTATS 9, 177–184 (2009)

    Google Scholar 

  7. Han, W.S., Lee, S., Park, K., Lee, J.H., Kim, M.S., Kim, J., Yu, H.: TurboGraph: a fast parallel graph engine handling billion-scale graphs in a single PC. In: Proceedings of KDD, pp. 77–85 (2013)

  8. Hong, S., Rodia, N.C., Olukotun, K.: On fast parallel detection of strongly connected components (SCC) in small-world graphs. In: Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis, SC ’13, pp. 92:1–92:11 (2013)

  9. Kang, U., Tsourakakis, C.E., Faloutsos, C.: Pegasus: A peta-scale graph mining system implementation and observations. In: Proceedings of the 2009 Ninth IEEE International Conference on Data Mining, ICDM ’09, pp. 229–238 (2009)

  10. Karypis, G., Kumar, V.: Multilevelk-way partitioning scheme for irregular graphs. J. Parallel Distrib. Comput. 48(1), 96–129 (1998)

    Article  Google Scholar 

  11. Kyrola, A., Blelloch, G., Guestrin, C.: Graphchi: Large-scale graph computation on just a pc. In: Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation, OSDI’12, pp. 31–46 (2012)

  12. Kyrola, A., Shun, J., Blelloch, G.: Beyond synchronous: new techniques for external-memory graph connectivity and minimum spanning forest. In: International Symposium on Experimental Algorithms, Springer, New York, pp. 123–137 (2014)

  13. Leskovec, J., Krevl, A.: SNAP Datasets: stanford large network dataset collection. http://snap.stanford.edu/data (2014)

  14. Leskovec, J., Lang, K.J., Dasgupta, A., Mahoney, M.W.: Statistical properties of community structure in large social and information networks. In: Proceedings of the 17th International Conference on World Wide Web, ACM, New York, NY, USA, WWW ’08, pp. 695–704 (2008)

  15. Malewicz, G., Austern, M.H., Bik, A.J.C., Dehnert, J.C., Horn, I., Leiser, N., Czajkowski, G.: Pregel: a system for large-scale graph processing. In: SIGMOD, pp. 135–146 (2010)

  16. Mihalcea, R., Tarau, P.: Textrank: bringing order into texts. In: Lin, D., Wu, D. (eds.) Proceedings of EMNLP 2004, Association for Computational Linguistics, Barcelona, Spain, pp. 404–411 (2004)

  17. Newman, M.E., Girvan, M.: Finding and evaluating community structure in networks. Phys. Rev. E 69(2), 026113 (2004)

    Article  Google Scholar 

  18. Page, L., Brin, S., Motwani, R., Winograd, T.: The pagerank citation ranking: bringing order to the web. In: Proceedings of the 7th International World Wide Web Conference, Brisbane, Australia, pp. 161–172 (1998)

  19. Roy, A., Mihailovic, I., Zwaenepoel, W.: X-stream: edge-centric graph processing using streaming partitions. In: Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles, ACM, pp. 472–488 (2013)

  20. Shao, Z., He, J., Lv, H., Jin, H.: Fog: A fast out-of-core graph processing framework. Int. J. Parallel Program. 45(6), 1259–1272 (2017)

    Article  Google Scholar 

  21. Sminia, T., Orzan, S.: On distributed verification and verified distribution. Ph.D. thesis, Vrije Universiteit (2004)

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

    Article  MathSciNet  MATH  Google Scholar 

  23. Tian, Y., Balmin, A., Corsten, S.A., Tatikonda, S., McPherson, J.: From think like a vertex to think like a graph. Proc. VLDB Endow. 7(3), 193–204 (2013)

    Article  Google Scholar 

  24. Wei, H., Yu, J.X., Lu, C., Lin, X.: Speedup graph processing by graph ordering. In: Proceedings of the 2016 International Conference on Management of Data, ACM, pp. 1813–1828 (2016)

  25. Xie, W., Wang, G., Bindel, D., Demers, A., Gehrke, J.: Fast iterative graph computation with block updates. Proc. VLDB Endow. 6(14), 2014–2025 (2013)

    Article  Google Scholar 

  26. Yan, D., Cheng, J., Lu, Y., Ng, W.: Blogel: a block-centric framework for distributed computation on real-world graphs. Proc. VLDB Endow. 7(14), 1981–1992 (2014)

    Article  Google Scholar 

  27. Zhao, P., Han, J.: On graph query optimization in large networks. Proc. VLDB Endow. 3(1–2), 340–351 (2010)

    Article  Google Scholar 

  28. Zhu, X., Ghahramani, Z.: Learning from labeled and unlabeled data with label propagation. Tech. rep., CMU CLAD (2002)

  29. Zhu, X., Han, W., Chen, W.: Gridgraph: large-scale graph processing on a single machine using 2-level hierarchical partitioning. In: 2015 USENIX Annual Technical Conference (USENIX ATC 15), pp. 375–386 (2015)

Download references

Acknowledgements

This work is supported by the “Fundamental Reseach Funds for the Central Universities of China” under Grant No. 2017KFYXJJ066, Natural Science Foundation of China under Grant No. 61433019, and Science and Technology Planning Project of Guangdong Province, China under Grant Nos. 2016B030306003 and 2016B030305002.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Zhiyuan Shao.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Shao, Z., Mei, Z., Ding, X. et al. BlockGraphChi: Enabling Block Update in Out-of-Core Graph Processing. Int J Parallel Prog 47, 668–685 (2019). https://doi.org/10.1007/s10766-017-0532-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-017-0532-z

Keywords

Navigation