FORK a high-level language for PRAMs

  • T. Hagerup
  • A. Schmitt
  • H. Seidl
Submitted Presentations
Part of the Lecture Notes in Computer Science book series (LNCS, volume 505)


We present a new programming language designed to allow the convenient expression of algorithms for a parallel random access machine (PRAM). The language attempts to satisfy two potentially conflicting goals: On the one hand, it should be simple and clear enough to serve as a vehicle for human-to-human communication of algorithmic ideas. On the other hand, it should be automatically translatable to efficient machine (i.e., PRAM) code, and it should allow precise statements to be made about the amount of resources (primarily time) consumed by a given program. In the sequential setting, both objectives are reasonably well met by the Algol-like languages, e.g., with the RAM as the underlying machine model, but we are not aware of any language that allows a satisfactory expression of typical PRAM algorithms. Our contribution should be seen as a modest attempt to fill this gap.


Shared Memory Shared Variable Program Execution Private Variable Parallel Random Access Machine 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    F. Abolhassan, J. Keller, and W.J. Paul. On physical realizations of the theoretical PRAM model. Technical Report 21/1990, Universität des Saarlandes, SFB 124, 1990.Google Scholar
  2. [2]
    A.V. Aho, J.E. Hopcroft, and J.D. Ullman. The Design and Analysis of Computer Algorithms. Addison-Wesley, Reading Massachusetts, 1974.Google Scholar
  3. [3]
    S.G. Akl. The Design and Analysis of Parallel Algorithms. Prentice Hall, 1989.Google Scholar
  4. [4]
    Y. Ben-Asher, D.G. Feitelson, and L. Rudolph. ParC — An extension of C for shared memory parallel processing. Technical report, the Hebrew University of Jerusalem, 1990.Google Scholar
  5. [5]
    P.C.P. Bhatt, K. Diks, T. Hagerup, V.C. Prasad, S. Saxena, and T. Radzik. Improved deterministic parallel integer sorting. Information and Computation, to appear.Google Scholar
  6. [6]
    A. Borodin and J.E. Hopcroft. Routing, merging and sorting on parallel models of computation. J. Comp. Sys. Sci. 30, pages 130–145, 1985.CrossRefGoogle Scholar
  7. [7]
    M. Dietzfelbinger and F. Meyer auf der Heide (ed.). Das GATT-Manual. In: Analyse paralleler Algorithmen under dem Aspekt der Implementierbarkeit auf verschiedenen parallelen Rechenmodellen. Technical report, Universität Dortmund, 1989.Google Scholar
  8. [8]
    F.E. Fich, P. Ragde, and A. Widgerson. Simulations among concurrent-write PRAMs. Algorithmica 3, pages 43–51, 1988.CrossRefGoogle Scholar
  9. [9]
    S. Fortune and J. Wyllie. Parallelism in random access machines. In 10th ACM Symposium on Theory of Computing, pages 114–118, 1978.Google Scholar
  10. [10]
    N.H. Gehani and W.D. Roome. Concurrent C. In N.H. Gehani and A.D. McGettric, editors, Concurrent Programming, pages 112–141. Addison Wesley, 1988.Google Scholar
  11. [11]
    A. Gibbons and W. Rytter. Efficient Parallel Algorithms. Cambridge University Press, 1988.Google Scholar
  12. [12]
    T. Hagerup, A. Schmitt, and H. Seidl. FORK — A high-level language for PRAMs. Technical Report 22/1990, Universität des Saarlandes, SFB 124, 1990.Google Scholar
  13. [13]
    P.B. Hansen. The programming language Concurrent Pascal. IEEE Transactions on Software Engeneering 1(2), pages 199–207, June 1975.Google Scholar
  14. [14]
    H.F. Jordan. Structuring parallel algorithms in a MIMD, shared memory environment. Parallel Comp. 3, pages 93–110, 1986.CrossRefGoogle Scholar
  15. [15]
    Inmos Ltd. OCCAM Programming Manual. Prentice Hall, New Jersey, 1984.Google Scholar
  16. [16]
    United States Department of Defense. Reference manual for the Ada programming language. ANSI/MIL-STD-1815A-1983.Google Scholar
  17. [17]
    St. Pemberton and M. Daniels. Pascal implementation: The P4 compiler. Ellis Horwood, 1982.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • T. Hagerup
    • 1
  • A. Schmitt
    • 1
  • H. Seidl
    • 1
  1. 1.Fachbereich InformatikUniversität des SaarlandesSaarbrückenGermany

Personalised recommendations