Efficient support for fine-grain parallelism on shared-memory machines

David K Lowenthal, Vincent W. Freeh, Gregory R. Andrews

Research output: Contribution to journalArticle

6 Citations (Scopus)

Abstract

A coarse-grain parallel program typically has one thread (task) per processor, whereas a fine-grain program has one thread for each independent unit of work. Although there are several advantages to fine-grain parallelism, conventional wisdom is that coarse-grain parallelism is more efficient This paper illustrates the advantages of fine-grain parallelism and presents an efficient implementation for shared-memory machines. The approach has been implemented in a portable software package called Filaments, which employs a unique combination of techniques to achieve efficiency. The performance of the fine-grain programs discussed in this paper is always within 13% of a hand-coded coarse-grain program and is usually within 5%.

Original languageEnglish (US)
Pages (from-to)157-173
Number of pages17
JournalConcurrency Practice and Experience
Volume10
Issue number3
StatePublished - Mar 1998

Fingerprint

Shared Memory
Parallelism
Data storage equipment
Software packages
Thread
Parallel Programs
Filament
Efficient Implementation
Software Package
Unit

ASJC Scopus subject areas

  • Engineering(all)

Cite this

Efficient support for fine-grain parallelism on shared-memory machines. / Lowenthal, David K; Freeh, Vincent W.; Andrews, Gregory R.

In: Concurrency Practice and Experience, Vol. 10, No. 3, 03.1998, p. 157-173.

Research output: Contribution to journalArticle

Lowenthal, David K ; Freeh, Vincent W. ; Andrews, Gregory R. / Efficient support for fine-grain parallelism on shared-memory machines. In: Concurrency Practice and Experience. 1998 ; Vol. 10, No. 3. pp. 157-173.
@article{5e4a9e77354548f9af6e4eb2640cdd04,
title = "Efficient support for fine-grain parallelism on shared-memory machines",
abstract = "A coarse-grain parallel program typically has one thread (task) per processor, whereas a fine-grain program has one thread for each independent unit of work. Although there are several advantages to fine-grain parallelism, conventional wisdom is that coarse-grain parallelism is more efficient This paper illustrates the advantages of fine-grain parallelism and presents an efficient implementation for shared-memory machines. The approach has been implemented in a portable software package called Filaments, which employs a unique combination of techniques to achieve efficiency. The performance of the fine-grain programs discussed in this paper is always within 13{\%} of a hand-coded coarse-grain program and is usually within 5{\%}.",
author = "Lowenthal, {David K} and Freeh, {Vincent W.} and Andrews, {Gregory R.}",
year = "1998",
month = "3",
language = "English (US)",
volume = "10",
pages = "157--173",
journal = "Concurrency Computation Practice and Experience",
issn = "1532-0626",
publisher = "John Wiley and Sons Ltd",
number = "3",

}

TY - JOUR

T1 - Efficient support for fine-grain parallelism on shared-memory machines

AU - Lowenthal, David K

AU - Freeh, Vincent W.

AU - Andrews, Gregory R.

PY - 1998/3

Y1 - 1998/3

N2 - A coarse-grain parallel program typically has one thread (task) per processor, whereas a fine-grain program has one thread for each independent unit of work. Although there are several advantages to fine-grain parallelism, conventional wisdom is that coarse-grain parallelism is more efficient This paper illustrates the advantages of fine-grain parallelism and presents an efficient implementation for shared-memory machines. The approach has been implemented in a portable software package called Filaments, which employs a unique combination of techniques to achieve efficiency. The performance of the fine-grain programs discussed in this paper is always within 13% of a hand-coded coarse-grain program and is usually within 5%.

AB - A coarse-grain parallel program typically has one thread (task) per processor, whereas a fine-grain program has one thread for each independent unit of work. Although there are several advantages to fine-grain parallelism, conventional wisdom is that coarse-grain parallelism is more efficient This paper illustrates the advantages of fine-grain parallelism and presents an efficient implementation for shared-memory machines. The approach has been implemented in a portable software package called Filaments, which employs a unique combination of techniques to achieve efficiency. The performance of the fine-grain programs discussed in this paper is always within 13% of a hand-coded coarse-grain program and is usually within 5%.

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

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

M3 - Article

AN - SCOPUS:0032021689

VL - 10

SP - 157

EP - 173

JO - Concurrency Computation Practice and Experience

JF - Concurrency Computation Practice and Experience

SN - 1532-0626

IS - 3

ER -