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.
Similar content being viewed by others
References
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).
I. S. Duff, Multiprocessing a sparse matrix code on the Alliant FX/8,J. Comp. Appl. Math. 27:229–239 (1989).
F. J. Roeber, Raytheon Submarine Signals Division, Personal communication (1991).
B. Bigler, S. Allan, and R. Olderhoeft, Parallel dynamic storage allocation,Proc. Int'l. Conf. on Parallel Processing, pp. 272–275 (1985).
I. S. Duff, A. M. Erisman, and J. K. Reid,Direct Methods for Sparse Matrices, Oxford University Press, Oxford (1986).
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).
B. Zorn and D. Grunwald, Emperical measurements of six allocation-intensive C programs,ACM SIGPLAN Notices 27(2):71–80 (1992).
A. Gottlieb and J. Wilson, Parallelizing the usual buddy algorithm, Ultracomputer System Software Note 37, Courant Institute (1982).
T. Standish.Data Structures Techniques, Addison-Wesley (1980).
U. Manber, On maintaining dynamic information in a concurrent environment,SIAM Journal on Computing 15(4):1130–1142 (1986).
D. Kotz and C. S. Ellis, Evaluation of concurrent pools,Proc. Int'l. Conf. on Distrib. Comput. Syst., pp. 378–385 (1989).
S. J. Eggers and T. E. Jeremiassen, Eliminating false sharing,Proc. Int'l. Conf. on Parallel Processing, pp. 1377–1381 (1991).
C. S. Ellis and T. Olson, Concurrent dynamic storage allocation,Proc. Int'l. Conf. on Parallel Processing, pp. 502–511 (1987).
D. Knuth,The Art of Computer Programming, Volume 1. Addison-Wesley (1968).
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).
J. L. Peterson and T. A. Norman, Buddy systems,Comm. of the ACM 20(6):421–431 (1977).
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).
C. J. Stephenson, Fast fits: New methods for dynamic storage allocation, Technical report, IBM T. J. Watson Research Center, Yorktown Heights, New York (1983).
As noted in the SunOS 4.1.2 malloc man page.
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).
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).
R. Fod, Concurrent algorithms for real time memory management,IEEE Software P(5):10–23 (September 1988).
A. Gottlieb and J. Wilson, Using the buddy system for concurrent memory allocation, Ultracomputer System Software Note 6, Courant Institute (1981).
J. Wilson, Operating System Data Structures for Shared-memory MIMD Machines with Fetch-and-add, PhD. thesis, NYU (1988).
T. Johnson and T. Davis, Parallel buddy memory management,Parallel Processing Letters 2(4):391–398 (1992).
R. Bayer and M. Schkolnick, Concurrency of operations on B-trees,Acta Informatica 9:1–21 (1977).
P. A. Bernstein, V. Hadzilacos, and N. Goodman,Concurrency Control and Recovery in Database Systems, Addison-Wesley (1987).
J. Vuillemin, A unifying look at data structures,Commun. of the ACM 23(4):229–239 (1980).
C. Aragon and R. Seidel, Randomized search trees,Proc. of the 30th Symp. on the Foundations of Computer Science, pp. 540–545 (1989).
T. Johnson and D. Shasha, The performance of concurrent data structure algorithms,Trans. on Database Systems, pp. 51–101 (March 1993).
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.
D. Shasha and N. Goodman, Concurrent search structure algorithms,ACM Trans. on Database Systems 13(1):53–90 (1988).
M. Herlihy and J. Wing, Linearizability: A. correctness condition for concurrent objects,ACM Trans. on Programming Languages and Systems 12(3):463–492 (1990).
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).
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).
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).
Kendall Square Research, 170 Tracer Lane, Waltham, Massachusetts 02154-1379,KSR1 Principles of Operation (1992).
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).
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).
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).
I. S. Duff, R. G. Grimes, and J. G. Lewis, Sparse matrix test problems,ACM Trans. Math. Software 15:1–14 (1989).
Author information
Authors and Affiliations
Rights 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
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF02577871