2,072 research outputs found
Counting Triangles in Large Graphs on GPU
The clustering coefficient and the transitivity ratio are concepts often used
in network analysis, which creates a need for fast practical algorithms for
counting triangles in large graphs. Previous research in this area focused on
sequential algorithms, MapReduce parallelization, and fast approximations.
In this paper we propose a parallel triangle counting algorithm for CUDA GPU.
We describe the implementation details necessary to achieve high performance
and present the experimental evaluation of our approach. Our algorithm achieves
8 to 15 times speedup over the CPU implementation and is capable of finding 3.8
billion triangles in an 89 million edges graph in less than 10 seconds on the
Nvidia Tesla C2050 GPU.Comment: 2016 IEEE International Parallel and Distributed Processing Symposium
Workshops (IPDPSW
Triadic Measures on Graphs: The Power of Wedge Sampling
Graphs are used to model interactions in a variety of contexts, and there is
a growing need to quickly assess the structure of a graph. Some of the most
useful graph metrics, especially those measuring social cohesion, are based on
triangles. Despite the importance of these triadic measures, associated
algorithms can be extremely expensive. We propose a new method based on wedge
sampling. This versatile technique allows for the fast and accurate
approximation of all current variants of clustering coefficients and enables
rapid uniform sampling of the triangles of a graph. Our methods come with
provable and practical time-approximation tradeoffs for all computations. We
provide extensive results that show our methods are orders of magnitude faster
than the state-of-the-art, while providing nearly the accuracy of full
enumeration. Our results will enable more wide-scale adoption of triadic
measures for analysis of extremely large graphs, as demonstrated on several
real-world examples
Recent Advances in Graph Partitioning
We survey recent trends in practical algorithms for balanced graph
partitioning together with applications and future research directions
Engineering a Distributed-Memory Triangle Counting Algorithm
Counting triangles in a graph and incident to each vertex is a fundamental
and frequently considered task of graph analysis. We consider how to
efficiently do this for huge graphs using massively parallel distributed-memory
machines. Unsurprisingly, the main issue is to reduce communication between
processors. We achieve this by counting locally whenever possible and reducing
the amount of information that needs to be sent in order to handle (possible)
nonlocal triangles. We also achieve linear memory requirements despite
superlinear communication volume by introducing a new asynchronous
sparse-all-to-all operation. Furthermore, we dramatically reduce startup
overheads by allowing this communication to use indirect routing. Our
algorithms scale (at least) up to 32 768 cores and are up to 18 times faster
than the previous state of the art.Comment: 11 pages, 8 figures, to be published in 2023 IEEE International
Parallel and Distributed Processing Symposium (IPDPS), St. Petersburg, FL,
USA, pp. 702-71
- …