Graph Processing Frameworks
A graph processing framework (GPF) is a set of tools oriented to process graphs. Graph vertices are used to model data and edges model relationships between vertices. Typically, a GPF includes an input data stream, an execution model, and an application programming interface (API) having a set of functions implementing specific graph algorithms. In addition, some GPFs provide support for vertices and edges annotated with arbitrary properties of any kind and number.
Graphs are being used for modeling large phenomena and their relationships in different application domains such as social network analysis (SNA), biological network analysis, and link analysis for fraud/cybercrime detection. Since real graphs can be large, complex, and dynamic, GPFs have to deal with the three challenges of data growth: volume, velocity, and variety.
The programming API of GPFs is simple enough...
- Avery C (2011) Giraph: large-scale graph processing infrastructure on hadoop. Proc Hadoop Summit Santa Clara 11(3):5–9Google Scholar
- Chen R, Weng X, He B, Yang M (2010) Large graph processing in the cloud. In: Proceedings of the 2010 ACM SIGMOD international conference on management of data. ACM, pp 1123–1126Google Scholar
- Doekemeijer N, Varbanescu AL (2014) A survey of parallel graph processing frameworks. Delft University of TechnologyGoogle Scholar
- Gharaibeh ENA, Costa LB, Ripeanu M (2013) Totem: accelerating graph processing on hybrid CPU + GPU systems. In: GPU technology conferenceGoogle Scholar
- Kang U, Tong H, Sun J, Lin CY, Faloutsos C (2011a) Gbase: a scalable and general graph management system. In: Proceedings of the 17th ACM SIGKDD international conference on knowledge discovery and data mining. ACM, pp 1091–1099Google Scholar
- Kang U, Tsourakakis CE, Faloutsos C (2011b) Pegasus: mining peta-scale graphs. Knowl Inf Syst 27(2): 303–325Google Scholar
- Kyrola A, Blelloch GE, Guestrin C (2012) Graphchi: large-scale graph computation on just a PC. In: USENIX symposium on OSDIGoogle Scholar
- Low Y, Bickson D, Gonzalez J, Guestrin C, Kyrola A, Hellerstein JM (2012) Distributed graphlab: a framework for machine learning and data mining in the cloud. Proc VLDB Endow 5(8):716–727Google Scholar
- Malewicz G, Austern MH, Bik AJ, Dehnert JC, Horn I, Leiser N, Czajkowski G (2010) Pregel: a system for large-scale graph processing. In: Proceedings of the 2010 ACM SIGMOD international conference on management of data. ACM, pp 135–146Google Scholar
- Tasci S, Demirbas M (2013) Giraphx: parallel yet serializable large-scale graph processing. In: European conference on parallel processing. Springer, pp 458–469Google Scholar
- Xin RS, Gonzalez JE, Franklin MJ, Stoica I (2013) Graphx: a resilient distributed graph system on spark. In: First international workshop on graph data management experiences and systems. ACM, p 2Google Scholar