Skip to main content
Log in

Parallel-access memory management using fast-fits

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

The two most common approaches to managing shared-access memory-free lists and buddy systems-have significant drawbacks. Free list algorithms have poor memory access characteristics, and buddy systems utilize their space inefficiently. In this paper, we present an alternative approach to parallel-access memory management based on the fast-fits algorithm. A fast-fits memory manager stores free blocks in a tree structure, providing fast access and efficient space use. Since the fast-fits algorithm accesses fewer blocks than a free list algorithm, it reduces the amount of cache invalidation overhead due to the memory manager. Our performance experiments show that the parallel-access fast-fits memory manager allows significantly greater access rates than a serial-access fast-fits memory manager does. We note that shared-memory multiprocessor systems need efficient dynamic storage allocators, both for system purposes and to support parallel programs.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. T. A. Davis and P. C. Yew, A nondeterministic parallel algorithm for general unsymmetric sparse LU factorization,SIAM J. Matrix Anal. Appl. 11(3):383–402 (1990).

    Article  MATH  MathSciNet  Google Scholar 

  2. I. S. Duff, Multiprocessing a sparse matrix code on the Alliant FX/8,J. Comp. Appl. Math. 27:229–239 (1989).

    Article  MATH  Google Scholar 

  3. F. J. Roeber, Raytheon Submarine Signals Division, Personal communication (1991).

  4. B. Bigler, S. Allan, and R. Olderhoeft, Parallel dynamic storage allocation,Proc. Int'l. Conf. on Parallel Processing, pp. 272–275 (1985).

  5. I. S. Duff, A. M. Erisman, and J. K. Reid,Direct Methods for Sparse Matrices, Oxford University Press, Oxford (1986).

    MATH  Google Scholar 

  6. D. Grunwald, B. Zorn, and R. Henderson, Improving the cache locality of memory allocation,SIGPLAN Conf. on Programming Language Design and Implementation, pp. 177–186 (1993).

  7. B. Zorn and D. Grunwald, Emperical measurements of six allocation-intensive C programs,ACM SIGPLAN Notices 27(2):71–80 (1992).

    Article  Google Scholar 

  8. A. Gottlieb and J. Wilson, Parallelizing the usual buddy algorithm, Ultracomputer System Software Note 37, Courant Institute (1982).

  9. T. Standish.Data Structures Techniques, Addison-Wesley (1980).

  10. U. Manber, On maintaining dynamic information in a concurrent environment,SIAM Journal on Computing 15(4):1130–1142 (1986).

    Article  MATH  MathSciNet  Google Scholar 

  11. D. Kotz and C. S. Ellis, Evaluation of concurrent pools,Proc. Int'l. Conf. on Distrib. Comput. Syst., pp. 378–385 (1989).

  12. S. J. Eggers and T. E. Jeremiassen, Eliminating false sharing,Proc. Int'l. Conf. on Parallel Processing, pp. 1377–1381 (1991).

  13. C. S. Ellis and T. Olson, Concurrent dynamic storage allocation,Proc. Int'l. Conf. on Parallel Processing, pp. 502–511 (1987).

  14. D. Knuth,The Art of Computer Programming, Volume 1. Addison-Wesley (1968).

  15. G. Bozman, W. Buco, T. P. Daly, and W. H. Tetzlaff, Analysis of free storage algorithms—revisited,IBM Systems Journal 23(1):44–64 (1984).

    Article  Google Scholar 

  16. J. L. Peterson and T. A. Norman, Buddy systems,Comm. of the ACM 20(6):421–431 (1977).

    Article  MATH  Google Scholar 

  17. C. J. Stephenson, Fast fits: New methods for dynamic storage allocation,Proc. of the Ninth ACM Symp. of Oper. Syst. Principles, pp. 30–32 (1983).

  18. C. J. Stephenson, Fast fits: New methods for dynamic storage allocation, Technical report, IBM T. J. Watson Research Center, Yorktown Heights, New York (1983).

    Google Scholar 

  19. As noted in the SunOS 4.1.2 malloc man page.

  20. H. Stone, Parallel memory allocation using the fetch-and-add instruction, Technical Report RC 9674, IBM T. J. Watson Research Center, Yorktown Heights, New York (1982).

    Google Scholar 

  21. A. Gottlieb, B. D. Lubachevsky, and L. Rudolph, Basic techniques for the efficient coordination of very large numbers of cooperating sequential processors,ACM Trans. on Programming Languages and Systems 5(2):164–189 (1983).

    Article  MATH  Google Scholar 

  22. R. Fod, Concurrent algorithms for real time memory management,IEEE Software P(5):10–23 (September 1988).

    Google Scholar 

  23. A. Gottlieb and J. Wilson, Using the buddy system for concurrent memory allocation, Ultracomputer System Software Note 6, Courant Institute (1981).

  24. J. Wilson, Operating System Data Structures for Shared-memory MIMD Machines with Fetch-and-add, PhD. thesis, NYU (1988).

  25. T. Johnson and T. Davis, Parallel buddy memory management,Parallel Processing Letters 2(4):391–398 (1992).

    Article  Google Scholar 

  26. R. Bayer and M. Schkolnick, Concurrency of operations on B-trees,Acta Informatica 9:1–21 (1977).

    Article  MATH  MathSciNet  Google Scholar 

  27. P. A. Bernstein, V. Hadzilacos, and N. Goodman,Concurrency Control and Recovery in Database Systems, Addison-Wesley (1987).

  28. J. Vuillemin, A unifying look at data structures,Commun. of the ACM 23(4):229–239 (1980).

    Article  MATH  MathSciNet  Google Scholar 

  29. C. Aragon and R. Seidel, Randomized search trees,Proc. of the 30th Symp. on the Foundations of Computer Science, pp. 540–545 (1989).

  30. T. Johnson and D. Shasha, The performance of concurrent data structure algorithms,Trans. on Database Systems, pp. 51–101 (March 1993).

  31. T. Johnson, A concurrent fast-fits memory manager. Technical Report TR91-009, available at anonymous ftp site ftp.cis.ufl.edu:/cis/tech-reports/tr91/tr91-009.ps.Z, University of Florida, Department of CIS, 1991.

  32. D. Shasha and N. Goodman, Concurrent search structure algorithms,ACM Trans. on Database Systems 13(1):53–90 (1988).

    Article  MATH  Google Scholar 

  33. M. Herlihy and J. Wing, Linearizability: A. correctness condition for concurrent objects,ACM Trans. on Programming Languages and Systems 12(3):463–492 (1990).

    Article  Google Scholar 

  34. T. E. Anderson, The performance of spin lock alternatives for shared memory multi-processors,IEEE Trans. on Parallel and Distrib. Syst. 1(1):6–16 (1990).

    Article  Google Scholar 

  35. R. R. Glenn, D. V. Pryor, J. M. Conroy, and T. Johnson, Characterizing memory hotspots in a shared memory MIMD machine,Supercomputing, pp. 554–566, IEEE and ACM SIGARCH (1991).

  36. J. M. Mellor-Crummey and M. L. Scott, Synchronization without contention,Fourth Int'l. Conf. on Architect. Support for Programming Languages and Oper. Syst., pp. 269–278 (1991).

  37. Kendall Square Research, 170 Tracer Lane, Waltham, Massachusetts 02154-1379,KSR1 Principles of Operation (1992).

  38. I. S. Duff and J. K. Reid, The multifrontal solution of unsymmetric sets of linear equations,SIAM J. Sci. Statist. Comput. 5(3):633–641 (1984).

    Article  MATH  MathSciNet  Google Scholar 

  39. T. A. Davis, A combined unifrontal/multifrontal method for unsymmetric sparse matrices,Proc. of the Fifth SIAM Conf. on Applied Linear Algebra, Snowbird, Utah, pp. 413–417 (1994).

  40. J. J. Dongarra, J. Du Croz, I. S. Duff, and S. Hammarling, A set of level-3 basic linear algebra subprograms,ACM Trans. on Math. Software 16:1–17 (1990).

    Article  MATH  Google Scholar 

  41. I. S. Duff, R. G. Grimes, and J. G. Lewis, Sparse matrix test problems,ACM Trans. Math. Software 15:1–14 (1989).

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Johnson, T. Parallel-access memory management using fast-fits. Int J Parallel Prog 22, 617–644 (1994). https://doi.org/10.1007/BF02577871

Download citation

  • Received:

  • Issue Date:

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

Key words

Navigation