Distributed filaments

Efficient fine-grain parallelism on a cluster of workstations

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

Research output: Chapter in Book/Report/Conference proceedingConference contribution

33 Citations (Scopus)

Abstract

A fine-grain parallel program is one in which processes are typically small, ranging from a few to a few hundred instructions. Fine-grain parallelism arises naturally in many situations, such as iterative grid computations, recursive fork/join programs, the bodies of parallel FOR loops, and the implicit parallelism in functional or dataflow languages. It is useful both to describe massively parallel computations and as a target for code generation by compilers. However, fine-grain parallelism has long been thought to be inefficient due to the overheads of process creation, context switching, and synchronization. This paper describes a software kernel, Distributed Filaments (DF), that implements fine-grain parallelism both portably and efficiently on a workstation cluster. DF runs on existing, off-the-shelf hardware and software. It has a simple interface, so it is easy to use. DF achieves efficiency by using stateless threads on each node, overlapping communication and computation, employing a new reliable datagram communication protocol, and automatically balancing the work generated by fork/join computations.

Original languageEnglish (US)
Title of host publicationProceedings of the 1st USENIX Conference on Operating Systems Design and Implementation, OSDI 1994
PublisherAssociation for Computing Machinery, Inc
StatePublished - Nov 14 1994
Event1st USENIX Conference on Operating Systems Design and Implementation, OSDI 1994 - Monterey, United States
Duration: Nov 14 1994Nov 17 1994

Other

Other1st USENIX Conference on Operating Systems Design and Implementation, OSDI 1994
CountryUnited States
CityMonterey
Period11/14/9411/17/94

Fingerprint

Synchronization
Hardware
Network protocols
Communication
Code generation

ASJC Scopus subject areas

  • Information Systems
  • Hardware and Architecture
  • Computer Networks and Communications

Cite this

Freeh, V. W., Lowenthal, D. K., & Andrews, G. R. (1994). Distributed filaments: Efficient fine-grain parallelism on a cluster of workstations. In Proceedings of the 1st USENIX Conference on Operating Systems Design and Implementation, OSDI 1994 [15] Association for Computing Machinery, Inc.

Distributed filaments : Efficient fine-grain parallelism on a cluster of workstations. / Freeh, Vincent W.; Lowenthal, David K; Andrews, Gregory R.

Proceedings of the 1st USENIX Conference on Operating Systems Design and Implementation, OSDI 1994. Association for Computing Machinery, Inc, 1994. 15.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Freeh, VW, Lowenthal, DK & Andrews, GR 1994, Distributed filaments: Efficient fine-grain parallelism on a cluster of workstations. in Proceedings of the 1st USENIX Conference on Operating Systems Design and Implementation, OSDI 1994., 15, Association for Computing Machinery, Inc, 1st USENIX Conference on Operating Systems Design and Implementation, OSDI 1994, Monterey, United States, 11/14/94.
Freeh VW, Lowenthal DK, Andrews GR. Distributed filaments: Efficient fine-grain parallelism on a cluster of workstations. In Proceedings of the 1st USENIX Conference on Operating Systems Design and Implementation, OSDI 1994. Association for Computing Machinery, Inc. 1994. 15
Freeh, Vincent W. ; Lowenthal, David K ; Andrews, Gregory R. / Distributed filaments : Efficient fine-grain parallelism on a cluster of workstations. Proceedings of the 1st USENIX Conference on Operating Systems Design and Implementation, OSDI 1994. Association for Computing Machinery, Inc, 1994.
@inproceedings{825f7766ff5747d983f9f3a0de244ca4,
title = "Distributed filaments: Efficient fine-grain parallelism on a cluster of workstations",
abstract = "A fine-grain parallel program is one in which processes are typically small, ranging from a few to a few hundred instructions. Fine-grain parallelism arises naturally in many situations, such as iterative grid computations, recursive fork/join programs, the bodies of parallel FOR loops, and the implicit parallelism in functional or dataflow languages. It is useful both to describe massively parallel computations and as a target for code generation by compilers. However, fine-grain parallelism has long been thought to be inefficient due to the overheads of process creation, context switching, and synchronization. This paper describes a software kernel, Distributed Filaments (DF), that implements fine-grain parallelism both portably and efficiently on a workstation cluster. DF runs on existing, off-the-shelf hardware and software. It has a simple interface, so it is easy to use. DF achieves efficiency by using stateless threads on each node, overlapping communication and computation, employing a new reliable datagram communication protocol, and automatically balancing the work generated by fork/join computations.",
author = "Freeh, {Vincent W.} and Lowenthal, {David K} and Andrews, {Gregory R.}",
year = "1994",
month = "11",
day = "14",
language = "English (US)",
booktitle = "Proceedings of the 1st USENIX Conference on Operating Systems Design and Implementation, OSDI 1994",
publisher = "Association for Computing Machinery, Inc",

}

TY - GEN

T1 - Distributed filaments

T2 - Efficient fine-grain parallelism on a cluster of workstations

AU - Freeh, Vincent W.

AU - Lowenthal, David K

AU - Andrews, Gregory R.

PY - 1994/11/14

Y1 - 1994/11/14

N2 - A fine-grain parallel program is one in which processes are typically small, ranging from a few to a few hundred instructions. Fine-grain parallelism arises naturally in many situations, such as iterative grid computations, recursive fork/join programs, the bodies of parallel FOR loops, and the implicit parallelism in functional or dataflow languages. It is useful both to describe massively parallel computations and as a target for code generation by compilers. However, fine-grain parallelism has long been thought to be inefficient due to the overheads of process creation, context switching, and synchronization. This paper describes a software kernel, Distributed Filaments (DF), that implements fine-grain parallelism both portably and efficiently on a workstation cluster. DF runs on existing, off-the-shelf hardware and software. It has a simple interface, so it is easy to use. DF achieves efficiency by using stateless threads on each node, overlapping communication and computation, employing a new reliable datagram communication protocol, and automatically balancing the work generated by fork/join computations.

AB - A fine-grain parallel program is one in which processes are typically small, ranging from a few to a few hundred instructions. Fine-grain parallelism arises naturally in many situations, such as iterative grid computations, recursive fork/join programs, the bodies of parallel FOR loops, and the implicit parallelism in functional or dataflow languages. It is useful both to describe massively parallel computations and as a target for code generation by compilers. However, fine-grain parallelism has long been thought to be inefficient due to the overheads of process creation, context switching, and synchronization. This paper describes a software kernel, Distributed Filaments (DF), that implements fine-grain parallelism both portably and efficiently on a workstation cluster. DF runs on existing, off-the-shelf hardware and software. It has a simple interface, so it is easy to use. DF achieves efficiency by using stateless threads on each node, overlapping communication and computation, employing a new reliable datagram communication protocol, and automatically balancing the work generated by fork/join computations.

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

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

M3 - Conference contribution

BT - Proceedings of the 1st USENIX Conference on Operating Systems Design and Implementation, OSDI 1994

PB - Association for Computing Machinery, Inc

ER -