TY - GEN
T1 - KLA: A New Algorithmic Paradigm for Parallel Graph Computations
AU - Harshvardhan, null
AU - Fidel, Adam
AU - Amato, Nancy M.
AU - Rauchwerger, Lawrence
N1 - KAUST Repository Item: Exported on 2022-06-23
Acknowledged KAUST grant number(s): KUS-C1-016-04
Acknowledgements: This research is supported in part by NSF awards CNS-0551685, CCF-0833199, CCF-0830753, IIS-0916053, IIS-0917266, EFRI-1240483, RI-1217991, by NIH NCI R25 CA090301-11, by DOE awards DE-AC02-06CH11357, B575363, by Samsung, Chevron, IBM, Intel, Oracle/Sun and by Award KUS-C1-016-04, made by King Abdullah University of Science and Technology (KAUST). This material is based upon work supported by the U.S. Department of Energy, National Nuclear Security Administration, under Award Number(s) DE-NA0002376, and used resources of the National Energy Research Scientific Computing Center, which is supported by the Office of Science of the U.S. Department of Energy under Contract No. DE-AC02-05CH11231.
This publication acknowledges KAUST support, but has no KAUST affiliated authors.
PY - 2014/8/24
Y1 - 2014/8/24
N2 - This paper proposes a new algorithmic paradigm - k-level asynchronous (KLA) - that bridges level-synchronous and asynchronous paradigms for processing graphs. The KLA paradigm enables the level of asynchrony in parallel graph algorithms to be parametrically varied from none (level-synchronous) to full (asynchronous). The motivation is to improve execution times through an appropriate trade-off between the use of fewer, but more expensive global synchronizations, as in level-synchronous algorithms, and more, but less expensive local synchronizations (and perhaps also redundant work), as in asynchronous algorithms. We show how common patterns in graph algorithms can be expressed in the KLA pardigm and provide techniques for determining k, the number of asynchronous steps allowed between global synchronizations. Results of an implementation of KLA in the STAPL Graph Library show excellent scalability on up to 96K cores and improvements of 10x or more over level-synchronous and asynchronous versions for graph algorithms such as breadth-first search, PageRank, k-core decomposition and others on certain classes of real-world graphs.
AB - This paper proposes a new algorithmic paradigm - k-level asynchronous (KLA) - that bridges level-synchronous and asynchronous paradigms for processing graphs. The KLA paradigm enables the level of asynchrony in parallel graph algorithms to be parametrically varied from none (level-synchronous) to full (asynchronous). The motivation is to improve execution times through an appropriate trade-off between the use of fewer, but more expensive global synchronizations, as in level-synchronous algorithms, and more, but less expensive local synchronizations (and perhaps also redundant work), as in asynchronous algorithms. We show how common patterns in graph algorithms can be expressed in the KLA pardigm and provide techniques for determining k, the number of asynchronous steps allowed between global synchronizations. Results of an implementation of KLA in the STAPL Graph Library show excellent scalability on up to 96K cores and improvements of 10x or more over level-synchronous and asynchronous versions for graph algorithms such as breadth-first search, PageRank, k-core decomposition and others on certain classes of real-world graphs.
UR - http://hdl.handle.net/10754/679273
UR - https://dl.acm.org/doi/10.1145/2628071.2628091
UR - http://www.scopus.com/inward/record.url?scp=84907064575&partnerID=8YFLogxK
U2 - 10.1145/2628071.2628091
DO - 10.1145/2628071.2628091
M3 - Conference contribution
SN - 9781450328098
SP - 27
EP - 38
BT - Proceedings of the 23rd international conference on Parallel architectures and compilation
PB - IEEE
ER -