The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.04 - April (2010 vol.59)
pp: 468-477
Yusuf Hasan , Iowa Sate University, Ames
Wei-Mei Chen , National Taiwan University of Science and Technology, Taipei
J. Morris Chang , Iowa State University, Ames
Bashar M. Gharaibeh , Iowa State University, Ames
ABSTRACT
In this paper, we study the upper bounds of memory storage for two different allocators. In the first case, we consider a general allocator that can allocate memory blocks anywhere in the available heap space. In the second case, a more economical allocator constrained by the address-ordered first-fit allocation policy is considered. We derive the upper bound of memory usage for all allocators and present a systematic approach to search for allocation/deallocation patterns that might lead to the largest fragmentation. These results are beneficial in embedded systems where memory usage must be reduced and predictable because of lack of swapping facility. They are also useful in other types of computing systems.
INDEX TERMS
Dynamic memory allocation, memory storage, storage allocation/deallocation policies, first-fit allocator, garbage collection.
CITATION
Yusuf Hasan, Wei-Mei Chen, J. Morris Chang, Bashar M. Gharaibeh, "Upper Bounds for Dynamic Memory Allocation", IEEE Transactions on Computers, vol.59, no. 4, pp. 468-477, April 2010, doi:10.1109/TC.2009.154
REFERENCES
[1] C. Bays, "A Comparison of Next-Fit, First-Fit, and Best-Fit," Comm. ACM, vol. 20, no. 3, pp. 191-192, 1977.
[2] E.D. Berger, B.G. Zorn, and K.S. McKinley, "Composing High-Performance Memory Allocators," Proc. 2001 ACM SIGPLAN Conf. Programming Language Design and Implementation (PLDI), pp. 114-124, 2001.
[3] E.D. Berger, B.G. Zorn, and K.S. McKinley, "Reconsidering Custom Memory Allocation," Proc. Conf. Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA '02), pp. 1-12, 2002.
[4] H.-J. Boehm, "The Space Cost of Lazy Reference Counting," Proc. 31st ACM SIGPLAN-SIGACT Symp. Principles of Programming Languages, pp. 210-219, 2004.
[5] E.G. Coffman, "An Introduction to Combinatorial Models of Dynamic Storage Allocation," SIAM Rev., vol. 25, no. 3, pp. 311-325, 1983.
[6] J.M. Chang and E.F. Gehringer, "A High-Performance Memory Allocator for Object-Oriented Systems," IEEE Trans. Computers, vol. 45, no. 3, pp. 357-366, Mar. 1996.
[7] S.M. Donahue, M.P. Hampton, M. Deters, J.M. Nye, R.K. Cytron, and K.M. Kavi, "Storage Allocation for Real-Time, Embedded Systems," Lecture Notes in Computer Science, pp. 131-147, Springer, 2001.
[8] M.R. Garey, R.L. Graham, and J.D. Ullman, "Worst Case Analysis of Memory Allocation Algorithms," Proc. Fourth Ann. ACM Symp. Theory of Computing, 1972.
[9] W. Gloger, Dynamic Memory Allocator Implementations in Linux System Libraries, Poliklinik für Zahnerhaltung, http://www.dent.med.uni-muenchen.de/~wmglo malloc-slides.html, 2009.
[10] Y. Hasan and J.M. Chang, "A Tunable Hybrid Memory Allocator," J. Systems and Software, vol. 79, no. 8, pp. 1051-1063, 2006.
[11] M.S. Johnstone and P.R. Wilson, "The Memory Fragmentation Problem Solved," Proc. Int'l Symp. Memory Management (ISMM), pp. 26-36, 1998.
[12] R.E. Jones and R.D. Lins, Garbage Collection. John Wiley and Sons, 1996.
[13] K.C. Knowlton, "A Fast Storage Allocator," Comm. ACM, vol. 8, no. 10, pp. 623-625, 1977.
[14] D.E. Knuth, The Art of Computer Programming, vol. 1. Addison-Wesley, 1998.
[15] M. Luby, J. Naor, and A. Orda, "Tight Bounds for Dynamic Storage Allocation," J. on Discrete Math., vol. 9, no. 1, pp. 155-166, 1996.
[16] D. Lea, A Memory Allocator, http://gee.cs.oswego.edu/dl/htmlmalloc.html , 2009.
[17] M. Masmano, J. Real, I. Ripoll, and A. Crespo, "Running Ada on Real-Time Linux," Lecture Notes in Computer Science, pp. 322-333, Springer, 2003.
[18] G. Ch. Pflug, "Dynamic Memory Allocation—A Markovian Analysis," Computer J., vol. 27, no. 4, pp. 328-333, 1984.
[19] J.M. Robson, "An Estimate of the Store Size Necessary for Dynamic Storage Allocation," J. ACM, vol. 18, no. 3, pp. 416-423, 1971.
[20] J.M. Robson, "Bounds for Some Functions Concerning Dynamic Storage Allocation," J. ACM, vol. 21, no. 3, pp. 491-499, 1974.
[21] J.M. Robson, "Worst Case Fragmentation of First Fit and Best Fit Storage Allocation Strategies," Computer J., vol. 20, no. 3, pp. 242-244, 1977.
[22] P.R. Wilson, M.S. Johnstone, M. Neely, and D. Boles, "Dynamic Storage Allocation: A Survey and Critical Review," Proc. Int'l Workshop Memory Management, vol. 986, pp. 1-116, 1995.
17 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool