Vertex Reordering for Real-World Graphs and Applications: An Empirical Evaluation

Vertex reordering is a way to improve locality in graph computations. Given an input (or “natural”) order, reordering aims to compute an alternate permutation of the vertices that is aimed at maximizing a locality-based objective. Given decades of research on this topic, there are tens of graph reordering schemes, and there are also several linear arrangement “gap” measures for treatment as objectives. However, a comprehensive empirical analysis of the efficacy of the ordering schemes against the different gap measures, and against real-world applications is currently lacking. In this study, we present an extensive empirical evaluation of up to 11 ordering schemes, taken from different classes of approaches, on a set of 34 real-world graphs emerging from different application domains. Our study is presented in two parts: a) a thorough comparative evaluation of the different ordering schemes on their effectiveness to optimize different linear arrangement gap measures, relevant to preserving locality; and b) extensive evaluation of the impact of the ordering schemes on two real-world, parallel graph applications, namely, community detection and influence maximization. Our studies show a significant divergence among the ordering schemes (up to 40x between the best and the poor) in their effectiveness to reduce the gap measures; and a wide ranging impact of the ordering schemes on various aspects including application runtime (up to 4x), memory and cache use, load balancing, and parallel work and efficiency. The comparative study also helps in revealing the nuances of a parallel environment (compared to serial) on the ordering schemes and their role in optimizing applications.

[1]  M E J Newman,et al.  Modularity and community structure in networks. , 2006, Proceedings of the National Academy of Sciences of the United States of America.

[2]  Anantharaman Kalyanaraman,et al.  Parallel Heuristics for Scalable Community Detection , 2014, 2014 IEEE International Parallel & Distributed Processing Symposium Workshops.

[3]  Silvio Lattanzi,et al.  On compressing social networks , 2009, KDD.

[4]  Sebastiano Vigna,et al.  The webgraph framework I: compression techniques , 2004, WWW '04.

[5]  Timothy A. Davis,et al.  A survey of direct methods for sparse linear systems , 2016, Acta Numerica.

[6]  Ananth Kalyanaraman,et al.  cuRipples: influence maximization on multi-GPU systems , 2020, ICS.

[7]  Christos Faloutsos,et al.  Beyond 'Caveman Communities': Hubs and Spokes for Graph Compression and Mining , 2011, 2011 IEEE 11th International Conference on Data Mining.

[8]  Santo Fortunato,et al.  Community detection in graphs , 2009, ArXiv.

[9]  Éva Tardos,et al.  Maximizing the Spread of Influence through a Social Network , 2015, Theory Comput..

[10]  Jean-Loup Guillaume,et al.  Fast unfolding of communities in large networks , 2008, 0803.0476.

[11]  Xin-She Yang,et al.  Introduction to Algorithms , 2021, Nature-Inspired Optimization Algorithms.

[12]  C. D. Gelatt,et al.  Optimization by Simulated Annealing , 1983, Science.

[13]  N. Metropolis,et al.  An Efficient Heuristic Procedure for Partitioning Graphs , 2017 .

[14]  Alan George,et al.  The Evolution of the Minimum Degree Ordering Algorithm , 1989, SIAM Rev..

[15]  Brandon Lucia,et al.  When is Graph Reordering an Optimization? Studying the Effect of Lightweight Graph Reordering Across Applications and Input Graphs , 2018, 2018 IEEE International Symposium on Workload Characterization (IISWC).

[16]  Xuemin Lin,et al.  Speedup Graph Processing by Graph Ordering , 2016, SIGMOD Conference.

[17]  Vipin Kumar,et al.  A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs , 1998, SIAM J. Sci. Comput..

[18]  David S. Johnson,et al.  Some simplified NP-complete problems , 1974, STOC '74.

[19]  Matei Zaharia,et al.  Optimizing Cache Performance for Graph Analytics , 2016, ArXiv.

[20]  Ulrik Brandes,et al.  On Modularity Clustering , 2008, IEEE Transactions on Knowledge and Data Engineering.

[21]  Boris Grot,et al.  A Closer Look at Lightweight Graph Reordering , 2019, 2019 IEEE International Symposium on Workload Characterization (IISWC).

[22]  Brian W. Kernighan,et al.  An efficient heuristic procedure for partitioning graphs , 1970, Bell Syst. Tech. J..

[23]  Makoto Onizuka,et al.  Rabbit Order: Just-in-Time Parallel Reordering for Fast Graph Analysis , 2016, 2016 IEEE International Parallel and Distributed Processing Symposium (IPDPS).

[24]  Ananth Kalyanaraman,et al.  A Brief Survey of Algorithms, Architectures, and Challenges toward Extreme-scale Graph Analytics , 2019, 2019 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[25]  Ilya Safro,et al.  Multilevel algorithms for linear ordering problems , 2009, JEAL.

[26]  Marco Minutoli,et al.  Fast and Scalable Implementations of Influence Maximization Algorithms , 2019, 2019 IEEE International Conference on Cluster Computing (CLUSTER).

[27]  A. George Nested Dissection of a Regular Finite Element Mesh , 1973 .

[28]  Alan George,et al.  Computer Solution of Large Sparse Positive Definite , 1981 .

[29]  Ilya Safro,et al.  Multiscale approach for the network compression-friendly ordering , 2010, J. Discrete Algorithms.

[30]  Xiaokui Xiao,et al.  Influence Maximization in Near-Linear Time: A Martingale Approach , 2015, SIGMOD Conference.

[31]  Timothy A. Davis,et al.  The university of Florida sparse matrix collection , 2011, TOMS.

[32]  Jérôme Kunegis,et al.  KONECT: the Koblenz network collection , 2013, WWW.

[33]  Rajeev Motwani,et al.  The PageRank Citation Ranking : Bringing Order to the Web , 1999, WWW 1999.

[34]  Jordi Petit,et al.  Experiments on the minimum linear arrangement problem , 2003, ACM J. Exp. Algorithmics.

[35]  J. Hintze,et al.  Violin plots : A box plot-density trace synergism , 1998 .

[36]  E. Cuthill,et al.  Reducing the bandwidth of sparse symmetric matrices , 1969, ACM '69.

[37]  Antonino Tumeo,et al.  Approximate weighted matching on emerging manycore and multithreaded architectures , 2012, Int. J. High Perform. Comput. Appl..

[38]  J. Banerjee,et al.  Clustering a DAG for CAD Databases , 1988, IEEE Trans. Software Eng..