Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 505))

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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. A.V. Aho, J.E. Hoperoft, and J.D. Ullman. The Design and Analysis of Computer Algorithms. Addison–Wesley, Reading Massachusetts, 1974.

    MATH  Google Scholar 

  3. S.G. Akl. The Design and Analysis of Parallel Algorithms. Prentice Hall, 1989.

    Google Scholar 

  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. 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. A. Borodin and J.E. Hoperoft. Routing, merging and sorting on parallel models of computation. J. Comp. Sys. Sci. 30, pages 130–145, 1985.

    Google Scholar 

  7. M. Dietzfelbinger and F. Meyer auf der Heide (ed.). Das GATT-Manual. In: Analyse paralleler Algorithmen unter dem Aspekt der Implementierbarkeit auf verschiedenen parallelen Rechenmodellen. Technical report, Universität Dortmund, 1989.

    Google Scholar 

  8. F.E. Fich, P. Ragde, and A. Widgerson. Simulations among concurrent-write PRAMs. Algorithmica 3, pages 43–51, 1988.

    Article  MathSciNet  Google Scholar 

  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. 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. A. Gibbons and W. Rytter. Efficient Parallel Algorithms. Cambridge University Press, 1988.

    Google Scholar 

  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. P.B. Hansen. The programming language Concurrent Pascal. IEEE Transactions on Software Engeneering 1 (2), pages 199–207, June 1975.

    Article  Google Scholar 

  14. H.F. Jordan. Structuring parallel algorithms in a MIMD, shared memory environment. Parallel Comp. 3, pages 93–110, 1986.

    Article  MathSciNet  Google Scholar 

  15. Inmos Ltd. OCCAM Programming Manual. Prentice Hall, New Jersey, 1984.

    Google Scholar 

  16. United States Department of Defense. Reference manual for the Ada programming language. ANSI/MIL-STD-1815A-1983.

    Google Scholar 

  17. St. Pemberton and M. Daniels. Pascal implementation: The P4 compiler. Ellis Horwood, 1982.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Hagerup, T., Schmitt, A., Seidl, H. (1991). FORK: A High-Level Language for PRAMs. In: Aarts, E.H.L., van Leeuwen, J., Rem, M. (eds) Parle ’91 Parallel Architectures and Languages Europe. Lecture Notes in Computer Science, vol 505. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-25209-3_21

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-25209-3_21

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-662-23206-4

  • Online ISBN: 978-3-662-25209-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics