Abstract
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 language | English (US) |
---|---|
Pages (from-to) | 243-256 |
Number of pages | 14 |
Journal | Cluster Computing |
Volume | 13 |
Issue number | 3 |
DOIs | |
State | Published - 2010 |
Externally published | Yes |
All Science Journal Classification (ASJC) codes
- Software
- Computer Networks and Communications
Keywords
- Abstractions
- Bioinformatics
- Distributed systems
- Economics
- Multicore