Architecture-independent parallelism for both shared- and distributed-memory machines using the Filaments package

David K. Lowenthal, Vincent W. Freeh

Research output: Contribution to journalArticle

5 Scopus citations

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 languageEnglish (US)
Pages (from-to)1297-1323
Number of pages27
JournalParallel Computing
Volume26
Issue number10
DOIs
StatePublished - Aug 15 2000
Externally publishedYes

ASJC Scopus subject areas

  • Software
  • Theoretical Computer Science
  • Hardware and Architecture
  • Computer Networks and Communications
  • Computer Graphics and Computer-Aided Design
  • Artificial Intelligence

Fingerprint Dive into the research topics of 'Architecture-independent parallelism for both shared- and distributed-memory machines using the Filaments package'. Together they form a unique fingerprint.

  • Cite this