ABSTRACT
This paper argues that economic theory can improve our understanding of memory management. We introduce the allocation curve, as an analogue of the demand curve from microeconomics. An allocation curve for a program characterises how the amount of garbage collection activity required during its execution varies in relation to the heap size associated with that program. The standard treatment of microeconomic demand curves (shifts and elasticity) can be applied directly and intuitively to our new allocation curves. As an application of this new theory, we show how allocation elasticity can be used to control the heap growth rate for variable sized heaps in Jikes RVM.
- R. Alonso and A.W. Appel. Advisor for flexible working sets. In ACM Sigmetrics Conference on Measurement and Modeling of Computer Systems. Boulder, May 22-25, 153--162. ACM Press, 1990. Google Scholar
Digital Library
- B. Alpern, C. R. Attanasio, J. J. Barton, M. G. Burke, P. Cheng, J.-D. Choi, A. Cocchi, S. J. Fink, D. Grove, M. Hind, S. F. Hummel, D. Lieber, V. Litvinov, M. F. Mergen, T. Ngo, J. R. Russell, V. Sarkar, M. J. Serrano, J. C. Shepherd, S. E. Smith, V. C. Sreedhar, H. Srinivasan, and J. Whaley. The Jalapeño virtual machine. IBM Systems Journal, 39(1):211--238, 2000. Google Scholar
Digital Library
- B. Alpern, S. Augart, S. M. Blackburn, M. Butrico, A. Cocchi, P. Cheng, J. Dolby, S. Fink, D. Grove, M. Hind, K. S. McKinley, M. Mergen, J. E. B, Moss, T. Ngo, V. Sarkar, and M. Trapp. The Jikes research virtual machine project: Building an open source research community. IBM Systems Journal, 44(2):1--19, 2005. Google Scholar
Digital Library
- H. G. Baker. Thermodynamics of garbage collection. In International Workshop on Memory Management, Lecture Notes in Computer Science 637, 1992. Springer. Google Scholar
Digital Library
- H. G. Baker. Thermodynamics and garbage collection. ACM SIGPLAN Notices, 29(4):58--63, 1994. Google Scholar
Digital Library
- S. M. Blackburn, R. Garner, C. Hoffman, A. M. Khan, K. S. McKinley, R. Bentzur, A. Diwan, D. Feinberg, D. Frampton, S. Z. Guyer, M. Hirzel, A. Hosking, M. Jump, H. Lee, J. E. B. Moss, A. Phansalkar, D. Stefanović, T. VanDrunen, D. von Dincklage, and B. Wiedermann. The DaCapo benchmarks: Java benchmarking development and analysis. In Intl. Conf on Object-Oriented Programming, Systems, Languages, and Applications, 169--190, 2006. Google Scholar
Digital Library
- S. M. Blackburn, R. Garner, C. Hoffman, A. M. Khan, K. S. McKinley, R. Bentzur, A. Diwan, D. Feinberg, S. Z. Guyer, M. Hirzel, A. L. Hosking, M. Jump, H. Lee, J. E. B. Moss, A. Phansalkar, D. Stefanović, T. VanDrunen, D. von Dincklage, and B. Wiederman. The DaCapo benchmarks: Java benchmarking development and analysis (extended version). Technical report, The DaCapo Group, 2006.Google Scholar
- S. M. Blackburn, P. Cheng, and K. S. McKinley. Myths and realities: The performance impact of garbage collection. In Joint International Conference on Measurement and Modeling of Computer Systems, 25--36, 2004. Google Scholar
Digital Library
- T. Brecht, E. Arjomandi, C. Li, and H. Pham. Controlling garbage collection and heap growth to reduce the execution time of Java applications. ACM Transactions on Programming Languages and Systems, 28(5), 2006. Google Scholar
Digital Library
- C. Chambers and A.L. Hosking, editors. International Symposium on Memory Management, 2000. Google Scholar
- W. D. Clinger and L. T. Hansen. Generational garbage collection and the radioactive decay model. In Programming Language Design and Implementation, 97--108, 1997. Google Scholar
Digital Library
- W. D. Clinger and F. V. Rojas. Linear combinations of radioactive decay models for generational garbage collection. Science of Computer Programming, 62(2):184--203, 2006. Google Scholar
Digital Library
- E. Cooper, S. Nettles, and I. Subramanian. Improving the performance of SML garbage collection using application-specific virtual memory management. In Lisp and Functional Programming, 43--52, 1992. Google Scholar
Digital Library
- S. Dieckmann and U. Hölzle. A study of the allocation behaviour of the SPECjvm98 Java benchmarks. In European Conference on Object-Oriented Programming, 92--115, 1999. Google Scholar
Digital Library
- R. Fitzgerald and D. Tarditi. The case for profile-directed selection of garbage collectors. In {10}.Google Scholar
- Forecast: PC installed base, worldwide, 2004--2012. Gartner report, 2008.Google Scholar
- A. Georges, D. Buytaert, L. Eeckhout, and K. De Bosschere. Method-level phase behavior in Java workloads. In {25}, 270--287.Google Scholar
- D. Grossman. The transactional memory / garbage collection analogy. In Object-Oriented Programming, Systems, Languages, and Applications, 695--706, 2007. Google Scholar
Digital Library
- C. Grzegorczyk, S. Soman, C. Krintz, and R. Wolski. Isla Vista heap sizing: Using feedback to avoid paging. In International Symposium on Code Generation and Optimization, 325--340. 2007. Google Scholar
Digital Library
- Ma. Hertz, J. Bard, S. Kane, E. Keudel, T. Bai, K. Kelsey, and C. Ding. Waste not, want not - resource-based garbage collection in a shared environment. Technical Report TR-951, The University of Rochester, 2009.Google Scholar
- X. Huang, S. M. Blackburn, K. S. McKinley, J. E. B. Moss. Z. Wang, and P. Cheng. The garbage collection advantage: Improving program locality. In OOPSLA04, 69--80. Google Scholar
Digital Library
- R. E. Jones and C. Ryder. A study of Java object demographics. In International Symposium on Memory Management, 121--130, 2008. ACM Press. Google Scholar
Digital Library
- R. E. Jones, and R. Lins. Garbage Collection. Wiley, 1996.Google Scholar
- T. Mann, M. Deters, R. LeGrand, and R. K. Cytron. Static determination of allocation rates to support real-time garbage collection. In Languages, compilers, and tools for embedded systems, 193--202, 2005. Google Scholar
Digital Library
- Object-Oriented Programming, Systems, Languages, and Applications, 2004.Google Scholar
- J. Singer, G. Brown, I. Watson, and J. Cavazos. Intelligent selection of application-specific garbage collectors. In International Symposium on Memory Management, 91--102, 2007. ACM Press. Google Scholar
Digital Library
- S. Soman, C. Krintz, and D. Bacon. Dynamic selection of application-specific garbage collectors. Technical Report 2004-09, UCSB, 2004.Google Scholar
Digital Library
- D. Stefanović, K.S. McKinley, and J. E. B. Moss. On models for object lifetime distributions. In ISMM2000, 137--142. Google Scholar
Digital Library
- D. Stefanović and J. E. B. Moss. Characterisation of object behaviour in Standard ML of New Jersey. In Lisp and Functional Programming, 43-54, 1994. Google Scholar
Digital Library
- D. Ungar. Generation scavenging: A non-disruptive high performance storage reclamation algorithm. In ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, 157--167, 1984. Google Scholar
Digital Library
- D. Vengerov. Modeling, analysis and throughput optimization of a generational garbage collector. In International Symposium on Memory Management, 1--9, 2009. ACM Press. Google Scholar
Digital Library
- P. R. Wilson, M. S. Johnstone, M. Neely, and D. Boles. Dynamic storage allocation: A survey and critical review. In International Workshop on Memory Management, Lecture Notes in Computer Science 986, 1995. Springer. Google Scholar
Digital Library
- T. Yang, E. D. Berger, M. Hertz, S. F. Kaplan, and J. E. B. Moss. Autonomic heap sizing: Taking real memory into account. In International Symposium on Memory Management, 61--72, 2004. ACM Press. Google Scholar
Digital Library
- T. Yang, E. D. Berger, S. F. Kaplan, and J. E. B. Moss. CRAMM: Virtual memory support for garbage-collected applications. In Operating System Design and Implementation. 2006. Google Scholar
Digital Library
- C. Zhang, K. Kelsey, X. Shen, C. Ding, M. Hertz, and M. Ogihara. Program-level adaptive memory management. In International Symposium on Memory Management, 174--183, 2006. ACM Press. Google Scholar
Digital Library
Index Terms
The economics of garbage collection
Recommendations
The economics of garbage collection
ISMM '10This paper argues that economic theory can improve our understanding of memory management. We introduce the allocation curve, as an analogue of the demand curve from microeconomics. An allocation curve for a program characterises how the amount of ...
Controlling garbage collection and heap growth to reduce the execution time of Java applications
In systems that support garbage collection, a tension exists between collecting garbage too frequently and not collecting it frequently enough. Garbage collection that occurs too frequently may introduce unnecessary overheads at the risk of not ...
A generational on-the-fly garbage collector for Java
PLDI '00: Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementationAn on-the-fly garbage collector does not stop the program threads to perform the collection. Instead, the collector executes in a separate thread (or process) in parallel to the program. On-the-fly collectors are useful for multi-threaded applications ...







Comments