skip to main content
10.1145/504282.504307acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article

Pretenuring for Java

Authors Info & Claims
Published:01 October 2001Publication History

ABSTRACT

Pretenuring can reduce copying costs in garbage collectors by allocating long-lived objects into regions that the garbage collector with rarely, if ever, collect. We extend previous work on pretenuring as follows. (1) We produce pretenuring advice that is neutral with respect to the garbage collector algorithm and configuration. We thus can and do combine advice from different applications. We find that predictions using object lifetimes at each allocation site in Java prgroams are accurate, which simplifies the pretenuring implementation. (2) We gather and apply advice to applications and the Jalapeño JVM, a compiler and run-time system for Java written in Java. Our results demonstrate that building combined advice into Jalapeño from different application executions improves performance regardless of the application Jalapeño is compiling and executing. This build-time advice thus gives user applications some benefits of pretenuring without any application profiling. No previous work pretenures in the run-time system. (3) We find that application-only advice also improves performance, but that the combination of build-time and application-specific advice is almost always noticeably better. (4) Our same advice improves the performance of generational and Older First colleciton, illustrating that it is collector neutral.

References

  1. 1.B. Alpern, D. 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. Mergen, T. Ngo, J. R. Russell, V. Sarkar, M. J. Serrano, J. Shepherd, S. Smith, V. C. Sreedhar, H. Srinivasan, and J. Whaley. The Jalapeno virtual machine. IBM System Journal, 39(1), Feb. 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2.B. Alpern, D. Attanasio, J. J. Barton, A. Cocchi, S. F. Hummel, D. Lieber, M. Mergen, T. Ngo, J. Shepherd, and S. Smith. Implementing Jalapeno in java. In ACM Conference Proceedings on Object-Oriented Programming Systems, Languages, and Applications, Denver, CO, Nov. 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.A. W. Appel. Simple generational garbage collection and fast allocation. Software-Practice and Experience, 19(2):171-183, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.D. A. Barrett and B. Zorn. Using lifetime predictors to improve memory allocation performance. In Proceedings of the ACM SIGPLAN'93 Conference on Programming Language Design and Implementation (PLDI), Albuquerque, New Mexico, June 23-25, 1993, pages 187-196, June 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5.D. A. Barrett and B. Zorn. Garbage collection using a dynamic threatening boundary. In Proceedings of the ACM SIGPLAN'95 Conference on Programming Language Design and Implementation (PLDI), La Jolla, California, June 18-21, 1995, pages 301-314, June 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.S. J. Baylor, M. Devarakonda, S. J. Fink, E. Gluzberg, M. Kalantar, P. Muttineni, E. Barsness, R. Arora, R. Dimpsey, and S. J. Munroe. Java server benchmarks. IBM System Journal, 39(1), Feb. 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.P. J. Caudill and A. Wirfs-Brock. A third-generation Smalltalk-80 implementation. In OOPSLA'86 ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, pages 119-130, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8.P. Cheng, R. Harper, and P. Lee. Generational stack collection and profile-driven pretenuring. In Proceedings of the ACM SIGPLAN '98 Conference on Programming Language Design and Implementation (PLDI), Montreal, Canada, 17-19 June 1998, pages 162-173, May 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9.D. R. Hanson. Fast allocation and deallocation of memory based on object liftimes. Software-Practice and Experience, 20(1):5-12, Jan. 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 10.T. L. Harris. Dynamic adaptive pre-tenuring. In Proceedings of the International Symposium On Memory Management (ISMM), Minneapolis, MN U.S.A, 15-16 October, 2000, pages 127-136. ACM, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11.M. Hicks, L. Hornof, J. T. Moore, and S. Nettles. A study of Large Object Spaces. In ISMM'98 Proceedings of the First International Symposium on Memory Management, pages 138-145. ACM, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12.H. B. Lee and B. G. Zorn. BIT: A tool for instrumenting java bytecodes. In USENIX Symposium on Internet Technologies and Systems, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13.A. Rogers, M. C. Carlisle, J. H. Reppy, and L. J. Hendren. Supporting dynamic data structures on distributed-memory machines. ACM Transactions on Programming Languages and Systems (TOPLAS), 17(2):233-263, Mar. 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 14.M. L. Seidl and B. G. Zorn. Segregating heap objects by reference behavior and lifetime. In ASPLOS-VIII Proceedings of the 8th International Conference on Architectural Support for Programming Languages and Operating Systems, San Jose, California, October 3-7, 1998, pages 12-23, Nov. 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15.D. Stefanovic, K. S. McKinley, and J. E. B. Moss. Age-based garbage collection. In Proceedings of the 1999 ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages & Applications (OOPSLA '99), Denver, Colorado, November 1-5, 1999, pages 379-381, Nov. 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16.D. Tarditi and A. Diwan. Measuring the cost of storage management. Lisp and Symbolic Computation, 9(4), Dec. 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17.D. Ungar. Generation scavenging: A non-disruptive high performance storage reclamation algorithm. In Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, Pittsburgh, Pennsylvania, April 23-25, 1984., pages 157-167, May 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18.D. Ungar and F. Jackson. Tenuring policies for generation-based storage reclamation. In N. K. Meyrowitz, editor, Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA'88), September 25-30, 1988, San Diego, California, Proceedings, pages 1-17, Nov. 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 19.D. Ungar and F. Jackson. An adaptive tenuring policy for generation scavengers. ACM Transactions on Programming Languages and Systems (TOPLAS), 14(1):1-27, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20.B. Zorn. Comparative Performance Evaluation of Garbage Collection Algorithms. PhD thesis, Computer Science Dept., University of California, Berkeley, Dec. 1989. Available as Technical Report UCB/CSD 89/544. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Pretenuring for Java

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      OOPSLA '01: Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
      October 2001
      382 pages
      ISBN:1581133359
      DOI:10.1145/504282

      Copyright © 2001 ACM

      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: 1 October 2001

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      OOPSLA '01 Paper Acceptance Rate27of145submissions,19%Overall Acceptance Rate268of1,244submissions,22%

      Upcoming Conference

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader