首页> 外文会议>International Conference on High Performance Computing >Synchronization-Avoiding Graph Algorithms
【24h】

Synchronization-Avoiding Graph Algorithms

机译:避免同步图算法

获取原文

摘要

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.
机译:由于它们是为实现最佳顺序复杂性而开发的,因此教科书中发现的经典图形算法具有严格定义的操作顺序。在分布式内存设置中强制执行规定的操作顺序甚至近似顺序需要大量的同步,这反过来会严重限制可伸缩性。结果,即使解决已知的图形问题,通常也需要新算法来实现可扩展的性能。然而,即使在这些情况下,也根据并行编程模型来编写并行图算法,该并行编程模型是为例如科学计算而发展的,并且仍然具有固有的,可伸缩性限制的同步量。在本文中,我们提出了一种并行图算法的新方法:避免同步的算法。为了消除同步及其相关的开销,避免同步的算法以一种无序且完全异步的方式执行工作,以使结果不断朝着其最终状态细化。通过使用与问题相关的任务实用程序度量标准对任务进行本地优先级排序,可以最大程度地减少“浪费”的工作。我们将图应用程序的算法分为两大类:具有单调更新的算法(表示全局同步)和具有非单调更新的算法(表示顶点中心同步)。我们将我们的方法应用于这两个类,并开发出新颖的,避免同步的算法来解决示例性问题:前者为SSSP和连接的组件,后者为图着色。我们证明,消除同步与有效的调度策略和运行时的优化相结合,可以提高两类算法的可伸缩性。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号