Abstract
Fork95 is an imperative parallel programming language intended to express algorithms for synchronous shared memory machines (PRAMs). It is based on ANSI C and offers additional constructs to hierarchically divide processor groups into subgroups and manage shared and private address subspaces. Fork95 makes the assembly-level synchronicity of the underlying hardware available to the programmer at the language level. Nevertheless, it supports locally asynchronous computation where desired by the programmer. We present a one pass compiler, fcc, which compiles Fork95 and C programs to the SB-PRAM machine. The SB-PRAM is a lock-step synchronous, massively parallel multiprocessor currently being built at Saarbrücken University, with a physically shared memory and uniform memory access time. We examine three important types of parallel computation frequently used for the parallel solution of real-world problems. While farming and parallel divide-and-conquer are directly supported by Fork95 language constructs, pipelining can be easily expressed using existing language features; an additional language construct for pipelining is not required.
| Original language | English |
|---|---|
| Pages (from-to) | 17-50 |
| Number of pages | 34 |
| Journal | International Journal of Parallel Programming |
| Volume | 25 |
| Issue number | 1 |
| DOIs | |
| State | Published - Feb 1997 |
| Externally published | Yes |
Keywords
- Fork95
- PRAM
- Parallel programming language
- Parallel programming paradigms
- Synchronous program execution
Fingerprint
Dive into the research topics of 'The Fork95 parallel programming language: Design, implementation, application'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver