Advertisement

Implementing Graph Transformations in the Bulk Synchronous Parallel Model

  • Christian Krause
  • Matthias Tichy
  • Holger Giese
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8411)

Abstract

Big data becomes a challenge in more and more domains. In many areas, such as in social networks, the entities of interest have relational references to each other and thereby form large-scale graphs (in the order of billions of vertices). At the same time, querying and updating these data structures is a key requirement. Complex queries and updates demand expressive high-level languages which can still be efficiently executed on these large-scale graphs. In this paper, we use the well-studied concepts of graph transformation rules and units as a high-level modeling language with declarative and operational features for transforming graph structures. In order to apply them to large-scale graphs, we introduce an approach to distribute and parallelize graph transformations by mapping them to the Bulk Synchronous Parallel (BSP) model. Our tool support builds on Henshin as modeling tool and consists of a code generator for the BSP framework Apache Giraph. We evaluated the approach with the IMDB movie database and a computation cluster with up to 48 processing nodes with 8 cores each.

Keywords

Transformation Unit Graph Transformation Partial Match Search Plan Local Step 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 1.
    Rudolf, M., Paradies, M., Bornhövd, C., Lehner, W.: The graph story of the SAP HANA database. In: BTW 2013. LNI, vol. 214, pp. 403–420. GI (2013)Google Scholar
  2. 2.
    Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Monographs in Theoretical Computer Science. An EATCS Series. Springer-Verlag New York, Inc., Secaucus (2006)Google Scholar
  3. 3.
    Izsó, B., Szárnyas, G., Ráth, I., Varró, D.: Incquery-d: Incremental graph search in the cloud. In: Proc. of BigMDE 2013. ACM (2013), doi:10.1145/2487766.2487772Google Scholar
  4. 4.
    Sun, Z., Wang, H., Wang, H., Shao, B., Li, J.: Efficient subgraph matching on billion node graphs. Proc. VLDB Endow. 5(9), 788–799 (2012)Google Scholar
  5. 5.
    Ma, S., Cao, Y., Huai, J., Wo, T.: Distributed graph pattern matching. In: Proc. WWW 2012, pp. 949–958. ACM (2012), doi:10.1145/2187836.2187963Google Scholar
  6. 6.
    Fard, A., Abdolrashidi, A., Ramaswamy, L., Miller, J.A.: Towards efficient query processing on massive time-evolving graphs. In: Proc. CollaborateCom 2012, pp. 567–574. IEEE (2012)Google Scholar
  7. 7.
    Taentzer, G.: Distributed graphs and graph transformation. Applied Categorical Structures 7(4), 431–462 (1999), doi:10.1023/A:1008683005045CrossRefzbMATHMathSciNetGoogle Scholar
  8. 8.
    Kreowski, H.J., Kuske, S.: Graph transformation units and modules. Handbook of Graph Grammars and Computing by Graph Transformation 2, 607–638 (1999)CrossRefMathSciNetGoogle Scholar
  9. 9.
    Valiant, L.G.: A bridging model for parallel computation. Commun. ACM 33(8), 103–111 (1990), doi:10.1145/79173.79181CrossRefGoogle Scholar
  10. 10.
    Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G.: Henshin: Advanced concepts and tools for in-place EMF model transformations. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) MODELS 2010, Part I. LNCS, vol. 6394, pp. 121–135. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  11. 11.
    Apache Software Foundation: Apache Giraph, http://giraph.apache.org
  12. 12.
    Apache Software Foundation: Apache Hadoop, http://hadoop.apache.org
  13. 13.
    Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters. Commun. ACM 51(1), 107–113 (2008), doi:10.1145/1327452.1327492CrossRefGoogle Scholar
  14. 14.
    de Lara, J., Ermel, C., Taentzer, G., Ehrig, K.: Parallel graph transformation for model simulation applied to timed transition Petri nets. ENTCS 109, 17–29 (2004), Proc. GT-VMT 2004, doi:10.1016/j.entcs.2004.02.053Google Scholar
  15. 15.
    Bergmann, G., Ráth, I., Varró, D.: Parallelization of graph transformation based on incremental pattern matching. ECEASST 18 (2009)Google Scholar
  16. 16.
    Blom, S., Kant, G., Rensink, A.: Distributed graph-based state space generation. ECEASST 32 (2010)Google Scholar
  17. 17.
    Blom, S., van de Pol, J., Weber, M.: LTSmin: distributed and symbolic reachability. In: Touili, T., Cook, B., Jackson, P. (eds.) CAV 2010. LNCS, vol. 6174, pp. 354–359. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  18. 18.
    Malewicz, G., Austern, M.H., Bik, A.J., Dehnert, J.C., Horn, I., Leiser, N., Czajkowski, G.: Pregel: a system for large-scale graph processing. In: Proc. SIGMOD 2010, pp. 135–146. ACM (2010), doi:10.1145/1807167.1807184Google Scholar
  19. 19.
    Tichy, M., Krause, C., Liebel, G.: Detecting performance bad smells for Henshin model transformations. In: Proc. AMT 2013. CEUR-WS.org (2013)Google Scholar
  20. 20.
    Varró, G., Schürr, A., Varró, D.: Benchmarking for graph transformation. In: VL/HCC, pp. 79–88. IEEE Computer Society (2005), doi:10.1109/VLHCC.2005.23Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Christian Krause
    • 1
  • Matthias Tichy
    • 2
  • Holger Giese
    • 3
  1. 1.SAP Innovation CenterPotsdamGermany
  2. 2.Chalmers | University of GothenburgSweden
  3. 3.Hasso Plattner InstituteUniversity of PotsdamGermany

Personalised recommendations