Skip to main navigation Skip to search Skip to main content

The Fork95 parallel programming language: Design, implementation, application

  • University of Trier

Research output: Contribution to journalArticlepeer-review

20 Scopus citations

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 languageEnglish
Pages (from-to)17-50
Number of pages34
JournalInternational Journal of Parallel Programming
Volume25
Issue number1
DOIs
StatePublished - Feb 1997
Externally publishedYes

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