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 language | English (US) |
---|---|
Pages (from-to) | 157-173 |
Number of pages | 17 |
Journal | Concurrency Practice and Experience |
Volume | 10 |
Issue number | 3 |
DOIs | |
State | Published - Mar 1998 |
ASJC Scopus subject areas
- General Engineering