【24h】

Lifting sequential graph algorithms for distributed-memory parallel computation

机译:提升序列图算法用于分布式内存并行计算

获取原文

摘要

This paper describes the process used to extend the Boost Graph Library (BGL) for parallel operation with distributed memory. The BGL consists of a rich set of generic graph algorithms and supporting data structures, but it was not originally designed with parallelism in mind. In this paper, we revisit the abstractions comprising the BGL in the context of distributed-memory parallelism, lifting away the implicit requirements of sequential execution and a single shared address space. We illustrate our approach by describing the process as applied to one of the core algorithms in the BGL, breadth-first search. The result is a generic algorithm that is unchanged from the sequential algorithm, requiring only the introduction of external (distributed) data structures for parallel execution. More importantly, the generic implementation retains its interface and semantics, such that other distributed algorithms can be built upon it, just as algorithms are layered in the sequential case. By characterizing these extensions as well as the extension process, we develop general principles and patterns for using (and reusing) generic, object-oriented parallel software libraries. We demonstrate that the resulting algorithm implementations are both efficient and scalable with performance results for several algorithms.
机译:本文介绍了用于扩展Boost Graph Library(BGL)以便与分布式内存并行运行的过程。 BGL由丰富的一组通用图形算法和支持的数据结构组成,但最初设计时并未考虑并行性。在本文中,我们将在分布式内存并行性的背景下重新审视包含BGL的抽象,提升消除顺序执行和单个共享地址空间的隐式要求。我们通过描述应用于BGL中一种核心算法(广度优先搜索)的过程来说明我们的方法。结果是一种通用算法,与顺序算法没有什么不同,只需要引入外部(分布式)数据结构即可并行执行。更重要的是,通用实现保留了其接口和语义,因此可以在其上构建其他分布式算法,就像在顺序情况下将算法分层一样。通过表征这些扩展以及扩展过程,我们开发了使用(和重用)通用的,面向对象的并行软件库的一般原理和模式。我们证明了所得算法实现既高效又可扩展,并且具有几种算法的性能结果。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号