Abstract
This paper presents the Filaments package, which can be used to create architecture-independent parallel programs - that is, programs that are portable and efficient across vastly different parallel machines. Filaments virtualizes the underlying machine in terms of the number of processors and the interconnection, allowing fine-grain, shared-memory programs to be written or generated. Furthermore, Filaments uses a carefully designed API along with machine-specific runtime libraries and preprocessing that allow programs to run unchanged on both shared- and distributed-memory machines. Performance is not sacrificed, as almost all kernels and applications we tested achieve a speedup of over 4 on 8 processors of both an SGI Challenge and a cluster of Pentium Pros.
Original language | English (US) |
---|---|
Pages (from-to) | 1297-1323 |
Number of pages | 27 |
Journal | Parallel Computing |
Volume | 26 |
Issue number | 10 |
DOIs | |
State | Published - Aug 15 2000 |
Externally published | Yes |
ASJC Scopus subject areas
- Software
- Theoretical Computer Science
- Hardware and Architecture
- Computer Networks and Communications
- Computer Graphics and Computer-Aided Design
- Artificial Intelligence