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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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.
A.V. Aho, J.E. Hoperoft, and J.D. Ullman. The Design and Analysis of Computer Algorithms. Addison–Wesley, Reading Massachusetts, 1974.
S.G. Akl. The Design and Analysis of Parallel Algorithms. Prentice Hall, 1989.
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.
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.
A. Borodin and J.E. Hoperoft. Routing, merging and sorting on parallel models of computation. J. Comp. Sys. Sci. 30, pages 130–145, 1985.
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.
F.E. Fich, P. Ragde, and A. Widgerson. Simulations among concurrent-write PRAMs. Algorithmica 3, pages 43–51, 1988.
S. Fortune and J. Wyllie. Parallelism in random access machines. In 10th ACM Symposium on Theory of Computing, pages 114–118, 1978.
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.
A. Gibbons and W. Rytter. Efficient Parallel Algorithms. Cambridge University Press, 1988.
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.
P.B. Hansen. The programming language Concurrent Pascal. IEEE Transactions on Software Engeneering 1 (2), pages 199–207, June 1975.
H.F. Jordan. Structuring parallel algorithms in a MIMD, shared memory environment. Parallel Comp. 3, pages 93–110, 1986.
Inmos Ltd. OCCAM Programming Manual. Prentice Hall, New Jersey, 1984.
United States Department of Defense. Reference manual for the Ada programming language. ANSI/MIL-STD-1815A-1983.
St. Pemberton and M. Daniels. Pascal implementation: The P4 compiler. Ellis Horwood, 1982.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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