Active pebbles: parallel programming for data-driven applications
Active pebbles: parallel programming for data-driven applications
复制标题
Active pebbles:数据驱动应用程序的并行编程
DOI:
10.1145/1995896.1995934
复制
发表时间:
2011
期刊:
影响因子:
--
通讯作者:
A. Lumsdaine
中科院分区:
文献类型:
--
作者:
Jeremiah Willcock;T. Hoefler;N. Edmonds;A. Lumsdaine
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.