Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1111583.1111593acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmspConference Proceedingsconference-collections
Article

Gated memory control for memory monitoring, leak detection and garbage collection

Published: 12 June 2005 Publication History

Abstract

In the past, program monitoring often operates at the code level, performing checks at function and loop boundaries. Recent research shows that profiling analysis can identify high-level phases in complex binary code. Examples are time steps in scientific simulations and service cycles in utility programs. Because of their larger size and more predictable behavior, program phases make it possible for more accurate and longer term predictions of program behavior, especially its memory usage. This paper describes a new approach that uses phase boundaries as the gates to monitor and control the memory usage. In particular, it presents three techniques: memory usage monitoring, object lifetime classification, and preventive memory management. They use phase-level patterns to predict the trend of the program's memory demand, identify and control memory leaks, improve the efficiency of garbage collection. The potential of the new techniques is demonstrated on two non-trivial applications---a C compiler and a Lisp interpreter.

References

[1]
F. Allen and J. Cocke. A program data flow analysis procedure. Communications of the ACM, 19:137--147, 1976.
[2]
R. Balasubramonian, D. Albonesi, A. Buyuktosunoglu, and S. Dwarkadas. Memory hierarchy reconfiguration for energy and performance in general-purpose processor architectures. In Proceedings of the 33rd International Symposium on Microarchitecture, Monterey, California, December 2000.
[3]
D. A. Barrett and B. G. Zorn. Using lifetime predictors to improve memory allocation performance. In Proceedings of the Conference on Programming Language Design and Implementation, Albuquerque, NM, June 1993.
[4]
E. D. Berger, B. G. Zorn, and K. S. McKinley. Reconsidering custom memory allocation. In Proceedings of the ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications, 2002.
[5]
H. Boehm and M. Weiser. Garbage collection in an uncooperative environment. Software Practice and Experience, September 1988.
[6]
T. M. Chilimbi and M. Hauswirth. Low-overhead memory leak detection using adaptive statistical profiling. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems, Boston, MA, USA, October 2004.
[7]
T. M. Chilimbi and J. R. Larus. Using generational garbage collection to implement cache-conscious data placement. In Proceedings of the International Symposium on Memory Management, 1998.
[8]
A. S. Dhodapkar and J. E. Smith. Managing multi-configuration hardware via dynamic working-set analysis. In Proceedings of International Symposium on Computer Architecture, Anchorage, Alaska, June 2002.
[9]
A. S. Dhodapkar and J. E. Smith. Comparing program phase detection techniques. In Proceedings of International Symposium on Microarchitecture, December 2003.
[10]
E. Duesterwald, C. Cascaval, and S. Dwarkadas. Characterizing and predicting program behavior and its variability. In Proceedings of International Conference on Parallel Architectures and Compilation Techniques, New Orleans, Louisiana, September 2003.
[11]
M. Hirzel, A. Diwan, and J. Henkel. On the usefulness of type and liveness accuracy for garbage collection and leak detection. ACM Transactions on Programming Languages and Systems, 2002.
[12]
C.-H. Hsu and U. Kremer. The design, implementation and evaluation of a compiler algorithm for CPU energy reduction. In Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation, San Diego, CA, June 2003.
[13]
X. Huang, S. M. Blackburn, K. S. McKinley, J. E. Moss, Z. Wang, and P. Cheng. The garbage collection advantage: improving program locality. In Proceedings of the ACM SIGPLAN Conference on Object-oriented Programming, Systems, Languages, and Applications, 2004.
[14]
M. Huang and J. Renau and J. Torrellas. Positional adaptation of processors: application to energy reduction. In Proceedings of the International Symposium on Computer Architecture, San Diego, CA, June 2003.
[15]
G. Magklis, M. L. Scott, G. Semeraro, D. H. Albonesi, and S. Dropsho. Profile-based dynamic voltage and frequency scaling for a multiple clock domain microprocessor. In Proceedings of the International Symposium on Computer Architecture, San Diego, CA, June 2003.
[16]
X. Shen, C. Ding, S. Dwarkadas, and M. L. Scott. Characterizing phases in service-oriented applications. Technical Report TR 848, Department of Computer Science, University of Rochester, November 2004.
[17]
X. Shen, Y. Zhong, and C. Ding. Locality phase prediction. In Proceedings of the Eleventh International Conference on Architect ural Support for Programming Languages and Operating Systems (ASPLOS XI), Boston, MA, 2004.
[18]
T. Sherwood, S. Sair, and B. Calder. Phase tracking and prediction. In Proceedings of International Symposium on Computer Architecture, San Diego, CA, June 2003.
[19]
P. R. Wilson, M. S. Johnstone, M. Neely, and D. Boles. Dynamic storage allocation: a survey and critical review. In Proceedings of the International Workshop on Memory Management, 1995.
[20]
P. R. Wilson, M. S. Lam, and T. G. Moher. Effective "static-graph" reorganization to improve locality in garbage-collected systems. In Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation, 1991.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
MSP '05: Proceedings of the 2005 workshop on Memory system performance
June 2005
74 pages
ISBN:1595931473
DOI:10.1145/1111583
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 12 June 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. memory leak
  2. memory usage monitoring
  3. object life
  4. preventive memory management
  5. program phase

Qualifiers

  • Article

Conference

MSP05
MSP05: Memory Systems Performance Workshop
June 12, 2005
Illinois, Chicago

Acceptance Rates

Overall Acceptance Rate 6 of 20 submissions, 30%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)1
Reflects downloads up to 04 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2011)Waste not, want notACM SIGPLAN Notices10.1145/2076022.199348746:11(65-76)Online publication date: 4-Jun-2011
  • (2011)Waste not, want notProceedings of the international symposium on Memory management10.1145/1993478.1993487(65-76)Online publication date: 4-Jun-2011
  • (2009)A Phase-Adaptive Garbage Collector Using Dynamic Heap Partitioning and Opportunistic CollectionIEICE Transactions on Information and Systems10.1587/transinf.E92.D.2053E92-D:10(2053-2063)Online publication date: 2009
  • (2008)Dynamic analysis of Java program concepts for visualization and profilingScience of Computer Programming10.1016/j.scico.2007.07.00670:2-3(111-126)Online publication date: 1-Feb-2008
  • (2007)MicrophaseACM SIGPLAN Notices10.1145/1297105.129703442:10(77-96)Online publication date: 21-Oct-2007
  • (2007)MicrophaseProceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems, languages and applications10.1145/1297027.1297034(77-96)Online publication date: 21-Oct-2007
  • (2007)Analysis of input-dependent program behavior using active profilingProceedings of the 2007 workshop on Experimental computer science10.1145/1281700.1281705(5-es)Online publication date: 13-Jun-2007
  • (2007)GCHTransactions on High-Performance Embedded Architectures and Compilers I10.1007/978-3-540-71528-3_6(74-94)Online publication date: 21-Jul-2007
  • (2006)Program-level adaptive memory managementProceedings of the 5th international symposium on Memory management10.1145/1133956.1133979(174-183)Online publication date: 10-Jun-2006
  • (2005)Garbage collection hintsProceedings of the First international conference on High Performance Embedded Architectures and Compilers10.1007/11587514_16(233-248)Online publication date: 17-Nov-2005

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media