Active pebbles: parallel programming for data-driven applications

Active pebbles: parallel programming for data-driven applications
复制标题

Active pebbles:数据驱动应用程序的并行编程

DOI:
10.1145/1995896.1995934
复制
发表时间:
2011
期刊:
2010 19th International Conference on Parallel Architectures and Compilation Techniques (PACT)
影响因子:
--
通讯作者:
A. Lumsdaine
A. Lumsdaine
中科院分区:
--
文献类型:
--
作者:
Jeremiah Willcock;T. Hoefler;N. Edmonds;A. Lumsdaine

文献摘要

被引文献

相似文献

科学计算的范围持续增长,现在包括不同的应用领域,如网络分析,组合计算和知识发现,仅举几例。这些应用领域中的大问题需要HPC资源,但它们表现出不规则、细粒度和非本地的计算和通信模式,这使得应用传统的HPC方法来实现可扩展的解决方案变得困难。在本文中,我们介绍了Active Pebbles,这是一种明确开发的编程和执行模型,用于为这些新兴应用领域开发可扩展的软件。我们的方法依赖于五种主要技术——可扩展寻址、主动路由、消息合并、消息缩减和终止检测——将算法表达与通信优化分离开来。使用这种方法,算法可以用其自然的形式和自然的粒度级别来表示,而可伸缩性所需的优化可以自动应用于匹配特定机器的特征。我们使用Active Pebbles和现有的编程模型实现了几个示例内核,评估了可编程性和性能。我们的实验结果表明,Active Pebbles模型可以简洁直接地表达不规则的应用程序内核,同时仍然可以达到与基于mpi的实现相当的性能,而mpi的实现要复杂得多。
The scope of scientific computing continues to grow and now includes diverse application areas such as network analysis, combinatorialcomputing, and knowledge discovery, to name just a few. Large problems in these application areas require HPC resources, but they exhibit computation and communication patterns that are irregular, fine-grained, and non-local, making it difficult to apply traditional HPC approaches to achieve scalable solutions. In this paper we present Active Pebbles, a programming and execution model developed explicitly to enable the development of scalable software for these emerging application areas. Our approach relies on five main techniques--scalable addressing, active routing, message coalescing, message reduction, and termination detection--to separate algorithm expression from communication optimization. Using this approach, algorithms can be expressed in their natural forms, with their natural levels of granularity, while optimizations necessary for scalability can be applied automatically to match the characteristics of particular machines. We implement several example kernels using both Active Pebbles and existing programming models, evaluating both programmability and performance. Our experimental results demonstrate that the Active Pebbles model can succinctly and directly express irregular application kernels, while still achieving performance comparable to MPI-based implementations that are significantly more complex.