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 Citations (Scopus)

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

Fingerprint

Distributed Memory
Filament
Shared Memory
Parallelism
Data storage equipment
Application programming interfaces (API)
Parallel Programs
Parallel Machines
Interconnection
Preprocessing
Speedup
kernel
Architecture

ASJC Scopus subject areas

  • Computer Science Applications
  • Hardware and Architecture
  • Control and Systems Engineering

Cite this

Architecture-independent parallelism for both shared- and distributed-memory machines using the Filaments package. / Lowenthal, David K; Freeh, Vincent W.

In: Parallel Computing, Vol. 26, No. 10, 15.08.2000, p. 1297-1323.

Research output: Contribution to journalArticle

@article{3dc205e11cf44b6e8c2df4da36e4040e,
title = "Architecture-independent parallelism for both shared- and distributed-memory machines using the Filaments package",
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.",
author = "Lowenthal, {David K} and Freeh, {Vincent W.}",
year = "2000",
month = "8",
day = "15",
doi = "10.1016/S0167-8191(00)00038-7",
language = "English (US)",
volume = "26",
pages = "1297--1323",
journal = "Parallel Computing",
issn = "0167-8191",
publisher = "Elsevier",
number = "10",

}

TY - JOUR

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

AU - Lowenthal, David K

AU - Freeh, Vincent W.

PY - 2000/8/15

Y1 - 2000/8/15

N2 - 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.

AB - 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.

UR - http://www.scopus.com/inward/record.url?scp=0343825185&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0343825185&partnerID=8YFLogxK

U2 - 10.1016/S0167-8191(00)00038-7

DO - 10.1016/S0167-8191(00)00038-7

M3 - Article

AN - SCOPUS:0343825185

VL - 26

SP - 1297

EP - 1323

JO - Parallel Computing

JF - Parallel Computing

SN - 0167-8191

IS - 10

ER -