Multi-Level Graph Layout on the GPU

This paper presents a new algorithm for force directed graph layout on the GPU. The algorithm, whose goal is to compute layouts accurately and quickly, has two contributions. The first contribution is proposing a general multi-level scheme, which is based on spectral partitioning. The second contribution is computing the layout on the GPU. Since the GPU requires a data parallel programming model, the challenge is devising a mapping of a naturally unstructured graph into a well-partitioned structured one. This is done by computing a balanced partitioning of a general graph. This algorithm provides a general multi-level scheme, which has the potential to be used not only for computation on the GPU, but also on emerging multi-core architectures. The algorithm manages to compute high quality layouts of large graphs in a fraction of the time required by existing algorithms of similar quality. An application for visualization of the topologies of ISP (Internet service provider) networks is presented.

[1]  Greg Humphreys,et al.  A multigrid solver for boundary value problems using programmable graphics hardware , 2003, HWWS '03.

[2]  Edward M. Reingold,et al.  Graph drawing by force‐directed placement , 1991, Softw. Pract. Exp..

[3]  David Harel,et al.  Drawing graphs with non-uniform vertices , 2002, AVI '02.

[4]  Yehuda Koren,et al.  Topological fisheye views for visualizing large graphs , 2004, IEEE Transactions on Visualization and Computer Graphics.

[5]  Ratul Mahajan,et al.  Measuring ISP topologies with Rocketfuel , 2004, IEEE/ACM Transactions on Networking.

[6]  David S. Watkins,et al.  Fundamentals of Matrix Computations: Watkins/Fundamentals of Matrix Computations , 2005 .

[7]  Fan Chung,et al.  Eigenvalues and the Laplacian of a graph (Chapter 1) , 1996 .

[8]  Alex Pothen,et al.  PARTITIONING SPARSE MATRICES WITH EIGENVECTORS OF GRAPHS* , 1990 .

[9]  Erwin Keeve,et al.  Fourier Volume Rendering on the GPU Using a Split-Stream-FFT , 2004, VMV.

[10]  Enhua Wu,et al.  Real-time 3D fluid simulation on GPU with complex obstacles , 2004, 12th Pacific Conference on Computer Graphics and Applications, 2004. PG 2004. Proceedings..

[11]  Michael Kaufmann,et al.  Drawing graphs: methods and models , 2001 .

[12]  Kenneth Moreland,et al.  The FFT on a GPU , 2003, HWWS '03.

[13]  Chris Walshaw,et al.  Journal of Graph Algorithms and Applications a Multilevel Algorithm for Force-directed Graph-drawing , 2022 .

[14]  Rüdiger Westermann,et al.  Interactive Simulation of Deformable Bodies on GPUs , 2005, SimVis.

[15]  Jens H. Krüger,et al.  GPGPU: general purpose computation on graphics hardware , 2004, SIGGRAPH '04.

[16]  Rüdiger Westermann,et al.  UberFlow: a GPU-based particle engine , 2004, SIGGRAPH '04.

[17]  Ross T. Whitaker,et al.  A Streaming Narrow-Band Algorithm: Interactive Computation and Visualization of Level Sets , 2004, IEEE Trans. Vis. Comput. Graph..

[18]  Michael Jünger,et al.  Drawing Large Graphs with a Potential-Field-Based Multilevel Algorithm , 2004, GD.

[19]  Jitendra Malik,et al.  Normalized cuts and image segmentation , 1997, Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition.

[20]  Matt Pharr,et al.  Gpu gems 2: programming techniques for high-performance graphics and general-purpose computation , 2005 .

[21]  Thomas Ertl,et al.  Large steps in GPU-based deformable bodies simulation , 2005, Simul. Model. Pract. Theory.

[22]  Jens H. Krüger,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007, Eurographics.

[23]  David Harel,et al.  Graph Drawing by High-Dimensional Embedding , 2002, J. Graph Algorithms Appl..

[24]  David S. Watkins,et al.  Fundamentals of matrix computations , 1991 .

[25]  Pat Hanrahan,et al.  Brook for GPUs: stream computing on graphics hardware , 2004, ACM Trans. Graph..

[26]  M. Fiedler A property of eigenvectors of nonnegative symmetric matrices and its application to graph theory , 1975 .

[27]  Ayellet Tal,et al.  Online Dynamic Graph Drawing , 2008, IEEE Transactions on Visualization and Computer Graphics.

[28]  Yaniv Frishmany,et al.  Online dynamic graph drawing , 2007 .

[29]  Michael Jünger,et al.  An Experimental Comparison of Fast Algorithms for Drawing General Large Graphs , 2005, GD.

[30]  Peter Eades,et al.  FADE: Graph Drawing, Clustering, and Visual Abstraction , 2000, GD.

[31]  Randima Fernando,et al.  GPU Gems: Programming Techniques, Tips and Tricks for Real-Time Graphics , 2004 .

[32]  Piet Hut,et al.  A hierarchical O(N log N) force-calculation algorithm , 1986, Nature.

[33]  Satoru Kawai,et al.  An Algorithm for Drawing General Undirected Graphs , 1989, Inf. Process. Lett..

[34]  Dinesh Manocha,et al.  LU-GPU: Efficient Algorithms for Solving Dense Linear Systems on Graphics Hardware , 2005, ACM/IEEE SC 2005 Conference (SC'05).

[35]  Anselmo Lastra,et al.  Simulation of cloud dynamics on graphics hardware , 2003, HWWS '03.

[36]  David Harel,et al.  Drawing Huge Graphs by Algebraic Multigrid Optimization , 2003, Multiscale Model. Simul..

[37]  Rüdiger Westermann,et al.  Linear algebra operators for GPU implementation of numerical algorithms , 2003, SIGGRAPH Courses.

[38]  Ross T. Whitaker,et al.  A streaming narrow-band algorithm: interactive computation and visualization of level sets , 2004, IEEE Transactions on Visualization and Computer Graphics.

[39]  Michael T. Goodrich,et al.  A multi-dimensional approach to force-directed layouts of large graphs , 2000, Comput. Geom..