1. Synchronization-Avoiding Graph Algorithms
- Author
-
Thejaka Amila Kanewala, Andrew Lumsdaine, Marcin Zalewski, and Jesun Sahariar Firoz
- Subjects
Connected component ,020203 distributed computing ,Theoretical computer science ,Computer science ,Approximation algorithm ,02 engineering and technology ,010501 environmental sciences ,01 natural sciences ,Graph ,Scheduling (computing) ,Order of operations ,Asynchronous communication ,Scalability ,0202 electrical engineering, electronic engineering, information engineering ,Graph (abstract data type) ,Distributed memory ,Graph coloring ,0105 earth and related environmental sciences - Abstract
Because they were developed for optimal sequential complexity, classical graph algorithms as found in textbooks have strictly-defined orders of operations. Enforcing a prescribed order of operations, or even an approximate order, in a distributed memory setting requires significant amounts of synchronization, which in turn can severely limit scalability. As a result, new algorithms are typically required to achieve scalable performance, even for solving well-known graph problems. Yet, even in these cases, parallel graph algorithms are written according to parallel programming models that evolved for, e.g., scientific computing, and that still have inherent, and scalability-limiting, amounts of synchronization. In this paper we present a new approach to parallel graph algorithms: synchronization-avoiding algorithms. To eliminate synchronization and its associated overhead, synchronization-avoiding algorithms perform work in an unordered and fully asynchronous fashion in such a way that the result is constantly refined toward its final state. "Wasted" work is minimized by locally prioritizing tasks using problem-dependent task utility metrics. We classify algorithms for graph applications into two broad categories: algorithms with monotonic updates (which evince global synchronization) and algorithms with non-monotonic updates (which evince vertex-centric synchronization). We apply our approach to both classes and develop novel, synchronization-avoiding algorithms for solving exemplar problems: SSSP and connected components for the former, graph coloring for the latter. We demonstrate that eliminating synchronization in conjunction with effective scheduling policies and optimizations in the runtime results in improved scalability for both classes of algorithms.
- Published
- 2018