Abstract
A simple mechanism is proposed for dynamic memory allocation of a parallel recursive program with Algol-like scope rules. The method is about as fast as the traditional stack discipline for sequential languages. It has been used to implement the parallel programming language SuperPascal.
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
Andrews, G.R. 1981. Synchronizing resources. ACM Transactions on Programming Languages and Systems 3, 4 (October), 405–430.
Brinch Hansen, P. 1975. The programming language Concurrent Pascal. IEEE Transactions on Software Enginering 1, 2 (June), 199–207.
Brinch Hansen, P. 1978. Distributed processes: A concurrent programming concept. Communications of the ACM 21, 11 (November), 934–941.
Brinch Hansen, P. 1981. Edison-a multiprocessor language. Software-Practice and Experience 11, 4 (April), 325–361.
Brinch Hansen, P. 1989. A multiprocessor implementation of Joyce. Software-Practice and Experience 9, 6 (June), 579–592.
Brinch Hansen, P. 1994. The programming language SuperPascal. Software-Practice and Experience 24, 5 (May), 467–483.
Brinch Hansen, P. 1995. Studies in Computational Science: Parallel Programming Paradigms. Prentice Hall, Englewood Cliffs, NJ, (March).
Cook, R. 1980. *Mod-a language for distributed programming. IEEE Transactions on Software Engineering 6, 6 (November), 563–571.
Crookes, D. and Elder, J.W.G. 1984. An experiment in language design for distributed systems. Software-Practice and Experience 14, 10 (October), 957–971.
Davies G.L. and Burns, A. 1990. The teaching language Pascal-FC. Computer Journal 33, 147–154.
Dijkstra, E.W. 1960. Recursive programming. Numerische Mathematik 2, 312–318.
Fox, G.C., Johnson, M.A., Lyzenga, G.A., Otto, S.W., Salmon, J.K. and Walker, D.W. 1988. Solving Problems on Concurrent Processors, Vol. I. Prentice Hall, Englewood Cliffs, NJ.
Fox, G.C., Messina, P.C. and Williams, R.D. 1994. Parallel Computing Works! Morgan Kaufman, San Francisco, CA.
Hoare, C.A.R. 1978. Communicating sequential processes. Communications of the ACM 21, 8 (August), 666–677.
Holt, R.C. 1983. Concurrent Euclid, the Unix Operating System and Tunis. Addison-Wesley, Reading, MA.
Inmos Ltd. 1988. occam 2 Reference Manual. Prentice Hall, Englewood Cliffs, NJ.
Kaubisch, W.H., Perrott, R.H. and Hoare, C.A.R. 1976. Quasiparallel programming. Software-Practice and Experience 6, 3 (July-September), 341–356.
Kernighan, B.W. and Ritchie, D.M. 1978. The C Programming Language. Prentice Hall, Englewood Cliffs, NJ.
Lampson, B.W. and Redell, D.D. 1980. Experience with processes and monitors in Mesa. Communications of the ACM 23, 2 (February), 105–117.
Naur, P. 1963. Revised report on the algorithmic language Algol 60. Communications of the ACM 6, 1 (January), 1–17.
Organick, E.I. 1973. Computer System Organization: The B5700/B6700 Series. Academic Press, New York.
Weinstock, C.B., and Wulf, W.A. 1988. Quick Fit: an efficient algorithm for heap storage management. SIGPLAN Notices 23, 10 (October), 141–148.
Welsh, J. and Bustard, D.W. 1979. Pascal-Plus-another language for modular multiprogramming. Software-Practice and Experience 9, 11 (November), 947–957.
Wirth, N. 1971. The programming language Pascal. Acta Informatica 1, 1, 35–63.
Wirth, N. 1977. Modula: a programming language for modular multiprogramming. Software—Practice and Experience 7, 1 (January—February), 3–35.
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1995 Per Brinch Hansen
About this chapter
Cite this chapter
Hansen, P.B. (1995). Efficient Parallel Recursion. In: Hansen, P.B. (eds) The Origin of Concurrent Programming. Springer, New York, NY. https://doi.org/10.1007/978-1-4757-3472-0_20
Download citation
DOI: https://doi.org/10.1007/978-1-4757-3472-0_20
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4419-2986-0
Online ISBN: 978-1-4757-3472-0
eBook Packages: Springer Book Archive