skip to main content
research-article

Modeling heap data growth using average liveness

Authors Info & Claims
Published:12 June 2014Publication History
Skip Abstract Section

Abstract

Most of today's programs make use of a sizable heap to store dynamic data. To characterize the heap dynamics, this paper presents a set of metrics to measure the average amount of data live and dead in a period of execution. They are collectively called average liveness. The paper defines these metrics of average liveness, gives linear-time algorithms for measurement, and discusses their use in finding the best heap size. The algorithms are implemented in a Java tracing system called Elephant Tracks and evaluated using the Dacapo benchmarks running on the Oracle HotSpot and IBM J9 Java virtual machines.

References

  1. E. Albert, S. Genaim, and M. Gomez-Zamalloa Gil. Live heap space analysis for languages with garbage collection. In ISMM, pages 129--138, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. E. Albert, S. Genaim, and M. Gomez-Zamalloa. Parametric inference of memory requirements for garbage collected languages. In ISMM, pages 121--130, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. D. F. Bacon and V. T. Rajan. Concurrent cycle collection in reference counted systems. In Proceedings of the 15th European Conference on Object-Oriented Programming, pages 207--235, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. D. F. Bacon, C. R. Attanasio, H. B. Lee, V. T. Rajan, and S. Smith. Java without the coffee breaks: a nonintrusive multiprocessor garbage collector. Proceedings of PLDI, 36(5):92--103, 2001. ISSN 0362- 1340. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. D. F. Bacon, P. Cheng, and V. T. Rajan. A unified theory of garbage collection. In Proceedings of OOPSLA, pages 50--68, Vancouver, British Columbia, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. S. Blackburn, R. E. Jones, K. S. McKinley, and J. E. B. Moss. Beltway: Getting around garbage collection gridlock. In Proceedings of PLDI, pages 153--164, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. M. Blackburn et al. The DaCapo benchmarks: Java benchmarking development and analysis. In Proceedings of OOPSLA, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. V. Braberman, F. Fernandez, D. Garbervetsky, and S. Yovine. Parametric prediction of heap memory requirements. In ISMM, pages 141--150, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. S. Dieckmann and U. Holzle. A study of the allocation behavior of the specjvm98 java benchmark. In ECOOP, pages 92--115, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. C. Ding and T. Chilimbi. All-window profiling of concurrent executions. In Proceedings of PPoPP, 2008. Poster paper. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. B. Dufour, K. Driesen, L. Hendren, and C. Verbrugge. Dynamic metrics for java. In Proceedings of OOPSLA, pages 149--168, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. H. Eran and E. Petrank. A study of data structures with a deep heap shape. In Proceedings of the ACM SIGPLAN Workshop on Memory System Performance and Correctness, page 2, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. Hertz, S. M. Blackburn, K. S. McKinley, J. E. B. Moss, and D. Stefanovic. Generating object lifetime traces with Merlin. ACM TOPLAS, 28(3):476--516, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. R. E. Jones and C. Ryder. A study of java object demographics. In ISMM, pages 121--130, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J.-S. Kim and Y. Hsu. Memory system behavior of java programs: Methodology and analysis. In Proceedings of the 2000 ACM SIG- METRICS International Conference on Measurement and Modeling of Computer Systems, pages 264--274, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. P. Li and C. Ding. All-window data liveness. In Proceedings of the ACM SIGPLAN Workshop on Memory Systems Performance and Correctness, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. H. Luo, X. Xiang, and C. Ding. Characterizing active data sharing in threaded applications using shared footprint. In Proceedings of the The 11th International Workshop on Dynamic Analysis, 2013.Google ScholarGoogle Scholar
  18. S. Microsystems. Jvm tool interface. In http://java.sun.com/javase/6/docs/platform/jvmti/jvmti.html., 2004.Google ScholarGoogle Scholar
  19. T. Mytkowicz, A. Diwan, M. Hauswirth, and P. F. Sweeney. Producing wrong data without doing anything obviously wrong! In Proceedings of ASPLOS, pages 265--276, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. N. Ricci, S. Guyer, and E. Moss. Elephant tracks: Portable production of complete and precise GC traces. In Proceedings of ISMM, pages 109--118, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. N. Rojemo and C. Runciman. Lag, drag, void and use - heap profiling and space-efficient compilation revisited. In Proceedings of ICFP, pages 34--41, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. J. Singer, G. Brown, I.Watson, and J. Cavazos. Intelligent selection of application-specific garbage collectors. In Proceedings of the International Symposium on Memory Management, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. D. Ungar. Generation scavenging: A non-disruptive high performance storage reclamation algorithm. SIGSOFT Softw. Eng. Notes, 9(3):157--167, Apr. 1984. ISSN 0163--5948. . URL http://doi.acm.org/10.1145/390010.808261. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. S. C. Vestal. Garbage collection: an exercise in distributed, fault- tolerant programming. PhD thesis, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. F. Xian, W. Srisa-an, and H. Jiang. Allocation-phase aware thread scheduling policies to improve garbage collection performance. In Proceedings of the 6th International Symposium on Memory Management, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. X. Xiang, B. Bao, T. Bai, C. Ding, and T. M. Chilimbi. All-window profiling and composable models of cache sharing. In Proceedings of PPoPP, pages 91--102, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. X. Xiang, B. Bao, C. Ding, and Y. Gao. Linear-time modeling of program working set in shared cache. In Proceedings of PACT, pages 350--360, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. X. Xiang, C. Ding, H. Luo, and B. Bao. HOTL: a higher order theory of locality. In Proceedings of ASPLOS, pages 343--356, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. G. H. Xu. Resurrector: a tunable object lifetime profiling technique for optimizing real-world programs. In Proceedings of OOPSLA, pages 111--130, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Modeling heap data growth using average liveness

        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

        Full Access

        • Published in

          cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 49, Issue 11
          ISMM '14
          November 2014
          121 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/2775049
          • Editor:
          • Andy Gill
          Issue’s Table of Contents
          • cover image ACM Conferences
            ISMM '14: Proceedings of the 2014 international symposium on Memory management
            June 2014
            136 pages
            ISBN:9781450329217
            DOI:10.1145/2602988

          Copyright © 2014 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 12 June 2014

          Check for updates

          Qualifiers

          • research-article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!