Elasticity in Graph Analytics? A Benchmarking Framework for Elastic Graph Processing

Graphs are a natural fit for modeling concepts used in solving diverse problems in science, commerce, engineering, and governance. Responding to the diversity of graph data and algorithms, many parallel and distributed graph-processing systems exist. However, until now these platforms use a static model of deployment: they only run on a pre-defined set of machines. This raises many conceptual and pragmatic issues, including misfit with the highly dynamic nature of graph processing, and could lead to resource waste and high operational costs. In contrast, in this work we explore the benefits and drawbacks of the dynamic model of deployment. Building a three-layer benchmarking framework for assessing elasticity in graph analytics, we conduct an in-depth elasticity study of distributed graph processing. Our framework is composed of state-of-the-art workloads, autoscalers, and metrics, derived from the LDBC Graphalytics benchmark and SPEC RG Cloud Group's elasticity metrics. We uncover the benefits and cost of elasticity in graph processing: while elasticity allows for fine-grained resource management, and does not degrade application performance, we find that graph workloads are sensitive to data migration while leasing or releasing resources. Moreover, we identify non-trivial interactions between scaling policies and graph workloads, which add an extra level of complexity to resource management and scheduling for graph processing.

[1]  Yogesh L. Simmhan,et al.  Optimizations and Analysis of BSP Graph Processing Models on Public Clouds , 2013, 2013 IEEE 27th International Symposium on Parallel and Distributed Processing.

[2]  Rishan Chen,et al.  Improving large graph processing on partitioned graphs in the cloud , 2012, SoCC '12.

[3]  Hassan Chafi,et al.  The LDBC Social Network Benchmark: Interactive Workload , 2015, SIGMOD Conference.

[4]  Alexandru Iosup,et al.  An Experimental Performance Evaluation of Autoscaling Policies for Complex Workflows , 2017, ICPE.

[5]  Sungpack Hong,et al.  PGX.D: a fast distributed graph processing engine , 2015, SC15: International Conference for High Performance Computing, Networking, Storage and Analysis.

[6]  Stefania Costache,et al.  MemEFS: An Elastic In-memory Runtime File System for eScience Applications , 2015, 2015 IEEE 11th International Conference on e-Science.

[7]  Bogdan Nicolae,et al.  Bursting the Cloud Data Bubble: Towards Transparent Storage Elasticity in IaaS Clouds , 2014, 2014 IEEE 28th International Parallel and Distributed Processing Symposium.

[8]  Bo Zong,et al.  Towards effective partition management for large graphs , 2012, SIGMOD Conference.

[9]  Alexandru Iosup,et al.  Design and Experimental Evaluation of Distributed Heterogeneous Graph-Processing Systems , 2016, CCGrid.

[10]  Luke M. Leslie,et al.  Supporting On-demand Elasticity in Distributed Graph Processing , 2016, 2016 IEEE International Conference on Cloud Engineering (IC2E).

[11]  Jure Leskovec,et al.  {SNAP Datasets}: {Stanford} Large Network Dataset Collection , 2014 .

[12]  Alexandru Iosup,et al.  Modeling, analysis, and experimental comparison of streaming graph-partitioning policies , 2017, J. Parallel Distributed Comput..

[13]  Alexandru Iosup,et al.  The Game Trace Archive , 2012, 2012 11th Annual Workshop on Network and Systems Support for Games (NetGames).

[14]  Fabio Checconi,et al.  Massive data analytics: The Graph 500 on IBM Blue Gene/Q , 2013, IBM J. Res. Dev..

[15]  Pradeep Dubey,et al.  GraphMat: High performance graph analytics made productive , 2015, Proc. VLDB Endow..

[16]  Jeffrey Xu Yu,et al.  Catch the Wind: Graph workload balancing on cloud , 2013, 2013 IEEE 29th International Conference on Data Engineering (ICDE).

[17]  Parijat Dube,et al.  Autoscaling for Hadoop Clusters , 2016, 2016 IEEE International Conference on Cloud Engineering (IC2E).

[18]  Alexandru Iosup,et al.  LDBC Graphalytics: A Benchmark for Large-Scale Graph Analysis on Parallel and Distributed Platforms , 2016, Proc. VLDB Endow..

[19]  Prashant J. Shenoy,et al.  Agile dynamic provisioning of multi-tier Internet applications , 2008, TAAS.

[20]  Rajkumar Buyya,et al.  iGiraph: A Cost-Efficient Framework for Processing Large-Scale Graphs on Public Clouds , 2016, 2016 16th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid).

[21]  Alexandru Iosup,et al.  How Well Do Graph-Processing Platforms Perform? An Empirical Performance Evaluation and Analysis , 2014, 2014 IEEE 28th International Parallel and Distributed Processing Symposium.

[22]  Ajay Mohindra,et al.  Dynamic Scaling of Web Applications in a Virtualized Cloud Computing Environment , 2009, 2009 IEEE International Conference on e-Business Engineering.

[23]  David A. Patterson,et al.  Direction-optimizing breadth-first search , 2012, HiPC 2012.

[24]  Yong Liu,et al.  Performance Modelling and Cost Effective Execution for Distributed Graph Processing on Configurable VMs , 2017, 2017 17th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID).

[25]  Jian Li,et al.  Cost-Conscious Scheduling for Large Graph Processing in the Cloud , 2011, 2011 IEEE International Conference on High Performance Computing and Communications.

[26]  Panos Kalnis,et al.  Mizan: a system for dynamic load balancing in large-scale graph processing , 2013, EuroSys '13.

[27]  Alexandru Iosup,et al.  Dynamic Load Balancing for High-Performance Graph Processing on Hybrid CPU-GPU Platforms , 2016, 2016 6th Workshop on Irregular Applications: Architecture and Algorithms (IA3).

[28]  Willy Zwaenepoel,et al.  X-Stream: edge-centric graph processing using streaming partitions , 2013, SOSP.

[29]  Stefania Costache,et al.  MemEFS: A network-aware elastic in-memory runtime distributed file system , 2017, Future Gener. Comput. Syst..

[30]  Gabriel Kliot,et al.  Streaming graph partitioning for large distributed graphs , 2012, KDD.

[31]  Bingsheng He,et al.  Large graph processing in the cloud , 2010, SIGMOD Conference.

[32]  Réka Albert,et al.  Near linear time algorithm to detect community structures in large-scale networks. , 2007, Physical review. E, Statistical, nonlinear, and soft matter physics.

[33]  Thomas S. Heinze,et al.  Online parameter optimization for elastic data stream processing , 2015, SoCC.

[34]  David A. Patterson,et al.  The GAP Benchmark Suite , 2015, ArXiv.

[35]  Gregory R. Ganger,et al.  Proteus: agile ML elasticity through tiered reliability in dynamic resource markets , 2017, EuroSys.

[36]  Cees T. A. M. de Laat,et al.  A Medium-Scale Distributed System for Computer Science Research: Infrastructure for the Long Term , 2016, Computer.

[37]  Madhusudhan Govindaraju,et al.  DELMA: Dynamically ELastic MapReduce Framework for CPU-Intensive Applications , 2011, 2011 11th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing.

[38]  Alexandru Iosup,et al.  An Elasticity Study of Distributed Graph Processing , 2018, 2018 18th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID).

[39]  Aaron Clauset,et al.  Scale-free networks are rare , 2018, Nature Communications.

[40]  Ching-Yung Lin,et al.  GraphBIG: understanding graph computing in the context of industrial solutions , 2015, SC15: International Conference for High Performance Computing, Networking, Storage and Analysis.

[41]  Marty Humphrey,et al.  Auto-scaling to minimize cost and meet application deadlines in cloud workflows , 2011, 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[42]  Avery Ching,et al.  One Trillion Edges: Graph Processing at Facebook-Scale , 2015, Proc. VLDB Endow..

[43]  Waheed Iqbal,et al.  Adaptive resource provisioning for read intensive multi-tier applications in the cloud , 2011, Future Gener. Comput. Syst..

[44]  Karsten Schwan,et al.  GraphReduce: processing large-scale graphs on accelerator-based systems , 2015, SC15: International Conference for High Performance Computing, Networking, Storage and Analysis.

[45]  Cees T. A. M. de Laat,et al.  Quantifying the Performance Impact of Graph Structure on Neighbour Iteration Strategies for PageRank , 2015, Euro-Par Workshops.

[46]  Reynold Xin,et al.  GraphX: Graph Processing in a Distributed Dataflow Framework , 2014, OSDI.

[47]  Anees Shaikh,et al.  A Cost-Aware Elasticity Provisioning System for the Cloud , 2011, 2011 31st International Conference on Distributed Computing Systems.

[48]  Johan Tordsson,et al.  An adaptive hybrid elasticity controller for cloud infrastructures , 2012, 2012 IEEE Network Operations and Management Symposium.

[49]  Thilo Kielmann,et al.  Autoscaling Web Applications in Heterogeneous Cloud Infrastructures , 2014, 2014 IEEE International Conference on Cloud Engineering.

[50]  Aart J. C. Bik,et al.  Pregel: a system for large-scale graph processing , 2010, SIGMOD Conference.

[51]  Jennifer Widom,et al.  GPS: a graph processing system , 2013, SSDBM.

[52]  Joseph Gonzalez,et al.  PowerGraph: Distributed Graph-Parallel Computation on Natural Graphs , 2012, OSDI.