Skip to main content

Memory management for parallel tasks in shared memory

  • Parallelism I
  • Conference paper
  • First Online:
Book cover Memory Management (IWMM 1992)

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

Included in the following conference series:

  • 115 Accesses

Abstract

Three memory management strategics for sl arcd-memory multiprocessors that support two-space copying garbage collection are presented. These strategies exploit the fork-join task structure of the divide-and-conquer paradigm by equipping each task with a private heap that can be locally collected independently of other processors and tasks. The memory management strategies use a virtual address space to allocate private heaps such that the efficient copying collectors do not need to be adapted to handle physically scattered heaps. When the allocation strategies run out of the virtual address space, an expensive compaction operation has to be performed. Results from a detailed simulation, however, show that this happens so infrequently that the costs are negligible in practice.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. Appel, J. Ellis, and K. Li. Real-time concurrent collection on stock multiprocessors. Proceedings conf. on Programming Language Design and Implementation, pages 11–20, 1988.

    Google Scholar 

  2. C. J. Cheney. A non-recursive list compacting algorithm. CACM, 13(11):677–678, November 1970.

    Google Scholar 

  3. J. Crammond. A garbage collection algorithm for shared memory parallel processors. Int. Journal of Parallel Programming, 17(6):497–522, 1988.

    Article  Google Scholar 

  4. H. Embrechts, D. Roose, and P. Wambacq. Component labelling on a MIMD multiprocessor. prepublished report, Dept. of Comp. Sci., Katholieke Universiteit Leuven, Belgium, 1990.

    Google Scholar 

  5. J. Glas. The parallelization of branch and bound algorithms in a functional programming language. Master's thesis, Dept. of Comp. Sys, Univ. of Amsterdam, April 1992.

    Google Scholar 

  6. R. Halstead. Implementation of multilisp: Lisp on a multiprocessor. Proceedings ACM symp. LISP and Functional Programming, pages 9–17, 1984.

    Google Scholar 

  7. P. H. Hartel. A comparison of three garbage collection algorithms. Structured programming, 11(3):117–127, 1990.

    Google Scholar 

  8. P. H. Hartel, H. W. Glaser, and J. M. Wild. Compilation of functional languages using flow graph analysis. Technical report CSTR 91-03, Dept. of Electr. and Comp. Sci, Univ. of Southampton, UK, January 1991

    Google Scholar 

  9. P. H. Hartel and W. G. Vree. Arrays in a lazy functional language — a case study: the fast Fourier transform. Technical report CS-92-02, Dept. of Comp. Sys, Univ. of Amsterdam, May 1992.

    Google Scholar 

  10. Henry Liebermann and Carl Hewitt. A real-time garbage collector based on the lifetimes of objects. Communications of the ACM, 23(6):419–429, 1983.

    Article  Google Scholar 

  11. K. G. Langendoen and P. H. Hartel. FCG: a code generator for lazy functional languages. Technical report CS-92-03, Dept. of Comp. Sys, Univ. of Amsterdam, May 1992.

    Google Scholar 

  12. K. G. Langendoen and W. G. Vree. Eight queens divided: An experience in parallel functional programming. In R. Dietrich J. Darlington, editor, Declarative programming, pages 101–115, Sasbachwalden, West Germany, November 1991. Springer Verlag.

    Google Scholar 

  13. K. G. Langendoen and W. G. Vree. FRATS: a parallel reduction strategy for shared memory. In M. Wirsing J. Maluszynski, editor, 3rd Programming language implementation and logic programming, LNCS 528, pages 99–110, Passau, West Germany, August 1991. Springer Verlag.

    Google Scholar 

  14. L. Maranget. GAML: a parallel implementation of lazy ML. In R. J. M. Hughes, editor, 5th Functional programming languages and computer architecture, LNCS 523, pages 102–123, Cambridge, Massachusetts, September 1991. Springer Verlag.

    Google Scholar 

  15. H. L. Muller, K. G. Langendoen, and L. O. Hertzberger. MiG: Simulating parallel functional programs on hierarchical cache architectures. Technical report CS-92-04, Dept. of Comp. Sys, Univ. of Amsterdam, June 1992.

    Google Scholar 

  16. Q. F. Stout. Supporting divide-and-conquer algorithms for image processing. J. Parallel and Distributed Computing, 4(1):95–115, February 1987.

    Article  Google Scholar 

  17. W. G. Vree. Design considerations for a parallel reduction machine. PhD thesis, Dept. of Comp. Sys, Univ. of Amsterdam, December 1989.

    Google Scholar 

  18. W.G. Vree. Implementation of parallel graph reduction by explicit annotation and program transformation. Mathematical Foundations of Computer Science 1990, LNCS 452, pages 135–151, 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Yves Bekkers Jacques Cohen

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Langendoen, K.G., Muller, H.L., Vree, W.G. (1992). Memory management for parallel tasks in shared memory. In: Bekkers, Y., Cohen, J. (eds) Memory Management. IWMM 1992. Lecture Notes in Computer Science, vol 637. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0017189

Download citation

  • DOI: https://doi.org/10.1007/BFb0017189

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-55940-5

  • Online ISBN: 978-3-540-47315-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics