Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1133956.1133979acmconferencesArticle/Chapter ViewAbstractPublication PagesismmConference Proceedingsconference-collections
Article

Program-level adaptive memory management

Published: 10 June 2006 Publication History

Abstract

Most application's performance is impacted by the amount of available memory. In a traditional application, which has a fixed working set size, increasing memory has a beneficial effect up until the application's working set is met. In the presence of garbage collection this relationship becomes more complex. While increasing the size of the program's heap reduces the frequency of collections, collecting a heap with memory paged to the backing store is very expensive. We first demonstrate the presence of an optimal heap size for a number of applications running on a machine with a specific configuration. We then introduce a scheme which adaptively finds this good heap size. In this scheme, we track the memory usage and number of page faults at a program's phase boundaries. Using this information, the system selects the soft heap size. By adapting itself dynamically, our scheme is independent of the underlying main memory size, code optimizations, and garbage collection algorithm. We present several experiments on real applications to show the effectiveness of our approach. Our results show that program-level heap control provides up to a factor of 7.8 overall speedup versus using the best possible fixed heap size controlled by the virtual machine on identical garbage collectors.

References

[1]
R. Alonso and A. W. Appel. Advisor for flexible working sets. In Proceedings of the 1990 ACM Sigmetrics Conference on Measurement and Modeling of Computer Systems, pages 153--162, Boulder, CO, May 1990.
[2]
E. Andreasson, F. Hoffmann, and O. Lindholm. To collect or not to collect? Machine learning for memory management. In JVM '02: Proceedings of the Java Virtual Machine Research and Technology Symposium, August 2002.
[3]
D. F. Bacon, P. Cheng, and V. T. Rajan. A real-time garbage collector with low overhead and consistent utilization. In Thirtieth, New Orleans, LA, Jan. 2003.
[4]
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.
[5]
D. Buytaert, K. Venstermans, L. Eeckhout, and K. D. Bosschere. Garbage collection hints. In Proceedings of HIPEAC'05. Lecture Notes in Computer Science Volume 3793, Springer-Verlag, November 2005.
[6]
F. Chen, S. Jiang, and X. Zhang. CLOCK-Pro: an effective improvement of the CLOCK replacement. In Proceedings of USENIX Annual Technical Conference, 2005.
[7]
S. P. E. Corporation. Specjbb2000. http://www.spec.org/jbb2000/docs/userguide.html.
[8]
S. P. E. Corporation. Specjvm98 documentation, Mar. 1999.
[9]
C. Ding, C. Zhang, X. Shen, and M. Ogihara. Gated memory control for memory monitoring, leak detection and garbage collection. In Proceedings of the 3rd ACM SIGPLAN Workshop on Memory System Performance, Chicago, IL, June 2005.
[10]
A. Georges, D. Buytaert, L. Eeckhout, and K. D. Bosschere. Method-level phase behavior in Java workloads. In Proceedings of ACMSIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications, October 2004.
[11]
M. Hertz, Y. Feng, and E. D. Berger. Garbage collection without paging. In PLDI '05: Proceedings of the 2005 ACM SIGPLAN Conference On Programming Language Design and Implementation, pages 143--153, New York, NY, USA, 2005. ACM Press.
[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]
M. Huang, 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.
[14]
S. Jiang and X. Zhang. TPF: a dynamic system thrashing protection facility. Software Practice and Experience, 32(3), 2002.
[15]
J. Lau, E. Perelman, and B. Calder. Selecting software phase markers with code structure analysis. Technical Report CS2004-0804, UCSD, November 2004. conference version to appear in CGO'06.
[16]
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.
[17]
J. E. B. Moss, K. S. McKinley, S. M. Blackburn, E. D. Berger, A. Daiwan, A. Hosking, D. Stefanovic, and C. Weems. The dacapo project. Technical report, 2004.
[18]
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.
[19]
Y. Smaragdakis, S. Kaplan, and P. Wilson. The EELRU adaptive replacement algorithm. Perform. Eval., 53(2):93--123, 2003.
[20]
S. Soman, C. Krintz, and D. F. Bacon. Dynamic selection of application-specific garbage collectors. In ISMM '04: Proceedings of the 4th international symposium on Memory management, New York, NY, USA, 2004. ACM Press.
[21]
R. Vallée-Rai, L. Hendren, V. Sundaresan, P. Lam, E. Gagnon, and P. Co. Soot - a java optimization framework. In Proceedings of CASCON 1999, pages 125--135, 1999.
[22]
T. Yang, M. Hertz, E. D. Berger, S. F. Kaplan, and J. E. B. Moss. Automatic heap sizing: taking real memory into account. In ISMM'04: Proceedings of the 4th international symposium on Memory management, pages 61--72, New York, NY, USA, 2004. ACM Press.
[23]
P. Zhou, V. Pandey, J. Sundaresan, A. Raghuraman, Y. Zhou, and S. Kumar. Dynamic tracking of page miss ratio curve for memory management. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems, Boston, MA, USA, October 2004.

Cited By

View all
  • (2023)Heap Size Adjustment with CPU ControlProceedings of the 20th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes10.1145/3617651.3622988(114-128)Online publication date: 19-Oct-2023
  • (2022)Optimal heap limits for reducing browser memory useProceedings of the ACM on Programming Languages10.1145/35633236:OOPSLA2(986-1006)Online publication date: 31-Oct-2022
  • (2018)Run-time program-specific phase prediction for python programsProceedings of the 15th International Conference on Managed Languages & Runtimes10.1145/3237009.3237011(1-10)Online publication date: 12-Sep-2018
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ISMM '06: Proceedings of the 5th international symposium on Memory management
June 2006
202 pages
ISBN:1595932216
DOI:10.1145/1133956
  • General Chair:
  • Erez Petrank,
  • Program Chair:
  • Eliot Moss
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 10 June 2006

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. adaptive
  2. garbage collection
  3. heap sizing
  4. paging
  5. program-level

Qualifiers

  • Article

Conference

ISMM06
Sponsor:

Acceptance Rates

Overall Acceptance Rate 72 of 156 submissions, 46%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)7
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Heap Size Adjustment with CPU ControlProceedings of the 20th ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes10.1145/3617651.3622988(114-128)Online publication date: 19-Oct-2023
  • (2022)Optimal heap limits for reducing browser memory useProceedings of the ACM on Programming Languages10.1145/35633236:OOPSLA2(986-1006)Online publication date: 31-Oct-2022
  • (2018)Run-time program-specific phase prediction for python programsProceedings of the 15th International Conference on Managed Languages & Runtimes10.1145/3237009.3237011(1-10)Online publication date: 12-Sep-2018
  • (2016)Real-Time Program-Specific Phase Change Detection for Java ProgramsProceedings of the 13th International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools10.1145/2972206.2972221(1-11)Online publication date: 29-Aug-2016
  • (2015)The judgment of forseti: economic utility for dynamic heap sizing of multiple runtimesACM SIGPLAN Notices10.1145/2887746.275418050:11(143-156)Online publication date: 14-Jun-2015
  • (2015)Speculative Memory CheckpointingProceedings of the 16th Annual Middleware Conference10.1145/2814576.2814802(197-209)Online publication date: 24-Nov-2015
  • (2015)The judgment of forseti: economic utility for dynamic heap sizing of multiple runtimesProceedings of the 2015 International Symposium on Memory Management10.1145/2754169.2754180(143-156)Online publication date: 14-Jun-2015
  • (2013)Control theory for principled heap sizingACM SIGPLAN Notices10.1145/2555670.246648148:11(27-38)Online publication date: 20-Jun-2013
  • (2013)Control theory for principled heap sizingProceedings of the 2013 international symposium on memory management10.1145/2491894.2466481(27-38)Online publication date: 20-Jun-2013
  • (2013)Control theory for principled heap sizingProceedings of the 2013 international symposium on memory management10.1145/2464157.2466481(27-38)Online publication date: 20-Jun-2013
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media