Harnessing parallelism in multicore clusters with the All-Pairs, Wavefront, and Makeflow abstractions

Li Yu, Christopher Moretti, Andrew Thrasher, Scott Emrich, Kenneth Judd, Douglas Thain

Research output: Contribution to journalArticlepeer-review

29 Scopus citations


Both distributed systems and multicore systems are difficult programming environments. Although the expert programmer may be able to carefully tune these systems to achieve high performance, the non-expert may struggle. We argue that high level abstractions are an effective way of making parallel computing accessible to the non-expert. An abstraction is a regularly structured framework into which a user may plug in simple sequential programs to create very large parallel programs. By virtue of a regular structure and declarative specification, abstractions may be materialized on distributed, multicore, and distributed multicore systems with robust performance across a wide range of problem sizes. In previous work, we presented the All-Pairs abstraction for computing on distributed systems of single CPUs. In this paper, we extend All-Pairs to multicore systems, and introduce the Wavefront and Makeflow abstractions, which represent a number of problems in economics and bioinformatics. We demonstrate good scaling of both abstractions up to 32 cores on one machine and hundreds of cores in a distributed system.

Original languageEnglish (US)
Pages (from-to)243-256
Number of pages14
JournalCluster Computing
Issue number3
StatePublished - 2010
Externally publishedYes

All Science Journal Classification (ASJC) codes

  • Software
  • Computer Networks and Communications


  • Abstractions
  • Bioinformatics
  • Distributed systems
  • Economics
  • Multicore


Dive into the research topics of 'Harnessing parallelism in multicore clusters with the All-Pairs, Wavefront, and Makeflow abstractions'. Together they form a unique fingerprint.

Cite this