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.
- 1. Andrews, G.R. (1981) Synchronizing resources. ACM Trans. Programming Languages and Systems, 3, 405-430. Google ScholarDigital Library
- 2. Brinch Hansen, P. (1975) The programming language Concurrent Pascal. IEEE Trans. Software Eng., 1, 199-207.Google ScholarDigital Library
- 3. Brinch Hansen, P. (1978) Distributed processes: a concurrent programming concept. CACM, 21, 934-941. Google ScholarDigital Library
- 4. Brinch Hansen, P. (1981) Edison--a multiprocessor language. Software--Practice and Experience, 11, 325-361.Google ScholarCross Ref
- 5. Brinch Hansen, P. (1989) A multiprocessor implementation of Joyce. Software-- Practice and Experience, 19, 579-592. Google ScholarDigital Library
- 6. Brinch Hansen, P. (1994) The programming language SuperPascal. Software--Practice and Experience, 24, 467-483. Google ScholarDigital Library
- 7. Brinch Hansen, P. (1995) Studies in Computational Science: Parallel Programming Paradigms. Prentice Hall, Englewood Cliffs, NJ. Google ScholarDigital Library
- 8. Cook, R. (1980) *Mod--a language for distributed programming. IEEE Trans. Software Eng., 6, 563-571.Google ScholarDigital Library
- 9. Crookes, D. and Elder, J.W.G. (1984) An experiment in language design for distributed systems. Software--Practice and Experience, 14, 957-971.Google ScholarCross Ref
- 10. Davies G.L. and Burns, A. (1990) The teaching language Pascal-FC. Computer Journal , 33, 147-154. Google ScholarDigital Library
- 11. Dijkstra, E.W. (1960) Recursive programming. Numerische Mathematik, 2, 312-318.Google ScholarDigital Library
- 12. 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. Google ScholarDigital Library
- 13. Fox, G.C., Messina, P.C. and Williams, R.D. (1994) Parallel Computing Works! Morgan Kaufman, San Francisco, CA.Google Scholar
- 14. Hoare, C.A.R. (1978) Communicating sequential processes. CACM, 21, 666-677. Google ScholarDigital Library
- 15. Holt, R.C. (1983) Concurrent Euclid, the Unix Operating System and Tunis. Addison-Wesley, Reading, MA.Google Scholar
- 16. Inmos Ltd (1988) occam 2 Reference Manual. Prentice Hall, Englewood Cliffs, NJ.Google Scholar
- 17. Kaubisch, W.H., Perrott, R.H. and Hoare, C.A.R. (1976) Quasiparallel programming. Software--Practice and Experience, 6, 341-356.Google ScholarCross Ref
- 18. Kernighan, B.W. and Ritchie, D.M. (1978) The C Programming Language. Prentice Hall, Englewood Cliffs, NJ. Google ScholarDigital Library
- 19. Lampson, B.W. and Redell, D.D. (1980) Experience with processes and monitors in Mesa. CACM, 23, 105-117. Google ScholarDigital Library
- 20. Naur, P. (1963) Revised report on the algorithmic language Algol 60. CACM, 6, 1-17. Google ScholarDigital Library
- 21. Organick, E.I. (1973) Computer System Organization: The B5700//B6700 Series. Academic Press, New York. Google ScholarDigital Library
- 22. Weinstock, C.B., and Wulf, W.A. (1988) Quick Fit: an efficient algorithm for heap storage management. SIGPLAN Notices 23, 10 (October), 141-148. Google ScholarDigital Library
- 23. Welsh, J. and Bustard, D.W. (1979) Pascal-Plus--another language for modular multiprogramming. Software--Practice and Experience, 9, 947-957.Google ScholarCross Ref
- 24. Wirth, N. (1971) The programming language Pascal. Acta Informatica, 1, 35-63.Google ScholarDigital Library
- 25. Wirth, N. (1977) Modula: a programming language for modular multiprogramming. Software--Practice and Experience, 7, 3-35.Google ScholarCross Ref
Index Terms
- Efficient parallel recursion
Recommendations
Efficient parallel recursion
The origin of concurrent programmingA 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 ...
Efficient Parallel Programming with Linda
Linda is a coordination language inverted by David Gelernter at Yale University, which when combined with a computation language (like C) yields a high-level parallel programming language for MIMD machines. Linda is based on a virtual shared associative ...
Portable and Efficient Parallel Computing Using the BSP Model
The Bulk-Synchronous Parallel (BSP) model was proposed by Valiant as a standard interface between parallel software and hardware. In theory, the BSP model has been shown to allow the asymptotically optimal execution of architecture-independent software ...
Comments