The Fork95 parallel programming language: Design, implementation, application - Keßler, Christoph W.; Seidl, Helmut (International journal of parallel programming, 1997)
Fork95 is an imperative parallel programming language intended to express algorithms for synchronous shared memory machines (PRAM). 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. A one pass compiler, fcc, is presented which complies Fork95 and C programs to the SB-PRAM machine. The SB-PRAM is a lock-step synchronous, massively parallel multiprocessor currently being built at Saarbrucken University, with a physically shared memory and uniform memory access time. Three important types of parallel computation frequently used for the parallel solution of real-world problems are examined.