Skip to main content

XAMM: A High-Performance Automatic Memory Management System with Memory-Constrained Designs

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3793))

Abstract

Automatic memory management has been prevalent on memory / computation constraint systems. Previous research has shown strong interest in small memory footprint, garbage collection (GC) pause time and energy consumption, while performance was left out of the spotlight. This fact inspired us to design memory management techniques delivering high performance, while still keeping space consumption and response time under control. XAMM is an attempt to answer such a quest. Driven by the design decisions above, XAMM implements a variety of novel techniques, including object model, heap management, allocation and GC mechanisms. XAMM also adopts techniques that can not only exploit the underlying system’s capabilities, but can also assist the optimizations by other runtime components (e.g. code generator). This paper describes these techniques in details and reports our experiences in the implementation. We conclude that XAMM demonstrates the feasibility to achieve high performance without breaking memory constraints. We support our claims with evaluation results, for a spectrum of real-world programs and synthetic benchmarks. For example, the heap placement optimization can boost the system-wide performance by as much as 10%; the lazy and selective location bits management can reduce the execution time by as much as 14%, while reducing GC pause time on average by as much as 25%. The sum of these techniques improves the system-wide performance by as much as 56%.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Jikes Research Virtual Machine (RVM). At URL: http://www-124.ibm.com/developerworks/oss/jikesrvm/

  2. Open Runtime Platform (ORP) from Intel Corporation. At URL: http://orp.sourceforge.net

  3. Project Code-named “Monty”: A High Performance Virtual Machine for the Java\(^{\tiny TM}\) Platform for Small Devices. At URL: http://servlet.java.sun.com/javaone/sf2002/conf/sessions/display-2133.en.jsp

  4. Sensible Sanitation – Understanding the IBM Java Garbage Collector. At URL: http://www-106.ibm.com/developerworks/ibm/library/i-garbage1/

  5. Adl-Tabatabai, A.-R., Hudson, R.L., Serrano, M.J., Subramoney, S.: Prefetch injection based on hardware monitoring and object metadata. In: Proceedings of PLDI 2004, pp. 267–276 (2004)

    Google Scholar 

  6. Bacon, D.F., Cheng, P., Rajan, V.T.: Controlling fragmentation and space consumption in the Metronome, a real-time garbage collector for java. In: Proceedings of LCTES 2003, pp. 81–92 (2003)

    Google Scholar 

  7. Bacon, D.F., Cheng, P., Rajan, V.T.: A real-time garbage collector with low overhead and consistent utilization. In: Proceedings of POPL 2003, pp. 285–298 (2003)

    Google Scholar 

  8. Bacon, D.F., Fink, S.J., Grove, D.: Space- and time-efficient implementation of the java object model. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, pp. 35–46. Springer, Heidelberg (2002)

    Google Scholar 

  9. Bacon, D.F., Konuru, R., Murthy, C., Serrano, M.: Thin locks: Featherweight synchronization for Java. In: Proceedings of PLDI 1998, pp. 258–268 (1998)

    Google Scholar 

  10. Barabash, K., Buchbinder, N., Domani, T., Kolodner, E.K., Ossia, Y., Pinter, S.S., Shepherd, J., Sivan, R., Umansky, V.: Mostly accurate stack scanning. In: Proceedings of the Java\(^{\tiny TM}\) Virtual Machine Research and Technology Symposium, JVM 2001 (2001)

    Google Scholar 

  11. Boehm, H.-J.: Space efficient conservative collection. In: Proceedings of PLDI 1993, pp. 197–206 (1993)

    Google Scholar 

  12. Boehm, H.-J.: Reducing garbage collector cache misses. In: Proceedings of ISMM 2001, pp. 59–64 (2001)

    Google Scholar 

  13. Boehm, H.-J., Weiser, M.: Garbage collection in an uncooperative environment. Software Practice & Experience 18(9), 807–820 (1988)

    Article  Google Scholar 

  14. Bracha, G., Gosling, J., Joy, B., Steele, G.: The Java Language Specifications, 2nd edn. Addison Wesley, Reading (2000)

    Google Scholar 

  15. Chen, G., Kandemir, M., Vijaykrishnan, N., Irwin, M.J., Mathiske, B., Wolczko, M.: Heap compression for memory - constrained Java environments. In: Proceedings of OOPSLA 2003, pp. 282–301 (2003)

    Google Scholar 

  16. Chen, G., Shetty, R., Kandemir, M.T., Vijaykrishnan, N., Irwin, M.J., Wolczko, M.: Tuning garbage collection for reducing memory system energy in an embedded java environment. In: ACM Transactions on Embedded Computing Systems (TECS), vol. 1, pp. 27–55 (2002)

    Google Scholar 

  17. Endo, T., Taura, K.: Reducing pause time of conservative collectors. In: Proceedings of ISMM 2002, pp. 119–131 (2002)

    Google Scholar 

  18. Haddon, B.K., Waite, W.M.: A compaction procedure for variable length storage elements. Computer Journal 10, 162–165 (1967)

    MATH  Google Scholar 

  19. Jones, R., Lins, R.: Garbage collection: algorithms for automatic dynamic memory management. John Wiley & Sons, Inc., Chichester (1996)

    MATH  Google Scholar 

  20. Sachindran, N., Moss, J.E.B., Berger, E.D.: Mc2: High-performance garbage collection for memory-constrained environments. In: Proceedings of OOPSLA 2004 (2004)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Wu, G. et al. (2005). XAMM: A High-Performance Automatic Memory Management System with Memory-Constrained Designs. In: Conte, T., Navarro, N., Hwu, Wm.W., Valero, M., Ungerer, T. (eds) High Performance Embedded Architectures and Compilers. HiPEAC 2005. Lecture Notes in Computer Science, vol 3793. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11587514_10

Download citation

  • DOI: https://doi.org/10.1007/11587514_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-30317-6

  • Online ISBN: 978-3-540-32272-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics