FORK(ID:2843/for015)

PRAM-language 


Ruenger and  Sieber 1992

Pascal-like PRAM-language (PRAM = Parallel Random Access Machine)

from the home page:
"Fork is a programming language for the PRAM model; it has been implemented for the SB-PRAM. Fork is based on ANSI C with extensions for the management of shared and private address subspaces and variables, and for static and dynamic nesting parallelism by processor group splitting constructs. The groups establish the scope of sharing and of synchronous execution. Fork offers full expressibility for many known parallel algorithmic paradigms like data parallelism, semaphore-coordinated asynchronous processes, pipelining and systolic algorithms, parallel task queue, multiprefix, parallel divide-and-conquer, and even message passing.
The language design of Fork has been developed since 1994 by Christoph W. Kessler and Helmut Seidl, starting with an initial version called Fork95 that was partially based on an earlier proposal (FORK) by Hagerup, Schmitt, and Seidl from 1989. Fork95 was extended several times from 1995 to 1999. In 1999, the language design has reached a final state, and from then on, it is just called Fork. :


Related languages
ANSI C => FORK   Extension of
FORK => Fork95   Evolution of

References:
  • Hagerup, T.; A. Schmitt, H. Seidl. "FORK: A High-Level Language for PRAMs" Future Generation Computer Systems 8 (1992), pp. 379-393. view details
  • Ruenger, G. and K. Sieber "A process oriented semantics of the PRAM-language FORK" view details
          in Computer Languages 20(4) view details
  • Kessler, C. W. and H. Seidl. "Making FORK Practical" Technical report no. 01/95, SFB 124, Univ. Saarbrücken, 1995. view details
          in Computer Languages 20(4) view details
  • Skillicorn, David B. and Talia, Domenico "Models and languages for parallel computation" pp123-169 view details
          in [ACM] ACM Computing Surveys (CSUR) 30(2) June 1998 view details
    Resources
    • FORK Home page
      Fork is a programming language for the PRAM model; it has been implemented for the SB-PRAM. Fork is based on ANSI C with extensions for the management of shared and private address subspaces and variables, and for static and dynamic nesting parallelism by processor group splitting constructs. The groups establish the scope of sharing and of synchronous execution. Fork offers full expressibility for many known parallel algorithmic paradigms like data parallelism, semaphore-coordinated asynchronous processes, pipelining and systolic algorithms, parallel task queue, multiprefix, parallel divide-and-conquer, and even message passing.

      The language design of Fork has been developed since 1994 by Christoph W. Kessler and Helmut Seidl, starting with an initial version called Fork95 that was partially based on an earlier proposal (FORK) by Hagerup, Schmitt, and Seidl from 1989. Fork95 was extended several times from 1995 to 1999. In 1999, the language design has reached a final state, and from then on, it is just called Fork.
      external link