Object Memory Management for Constrained Devices with Heterogeneous Memories

  • Kevin Marquet
  • Gilles Grimaud
Part of the Lecture Notes in Electrical Engineering book series (LNEE, volume 38)


Small devices have a specific hardware configuration. In particular, they usually include several types of memories (typically internal and external RAM, EEPROM, Flash), different in quantities and properties. For instance, their access times can be very different. This is an issue for object-oriented solutions such as Java virtual machines which have to perform automatic data reclamation. In this paper, we firstly present results showing that the memory manager (especially the garbage collector) must be adapted to the type of memory it is in charge of. Then, we propose a flexible memory management solution that addresses this issue by assigning a different memory manager to each memory. Each manager can use the allocation and garbage collection strategy adapted to the physical properties of the memory it is in charge of. In order to handle interactions between memory managers during allocations and garbage collections, we use special components in charge of synchronizing managers. Thereby, our solution brings the benefits of automatic data reclamation to devices with heterogeneous memory spaces.


Memory management Garbage collection Operating systems Virtual Machines 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    J. L. McCarthy. Recursive functions of symbolic expressions and their computation by machine. Commun. ACM, 3(4), 1960.Google Scholar
  2. 2.
    J. Cheney. A non recursive list compacting algorithm. Communications of the ACM, 13(11), 1970.Google Scholar
  3. 3.
    J. Cohen and A. Nicolau. Comparison of compacting algorithms for garbage collection. ACM Trans. Program. Lang. Syst., 5(4), 1983.Google Scholar
  4. 4.
    D. F. Bacon, P. Cheng, and D. Grove. Garbage collection for embedded systems. In EMSOFT Proceedings of the fourth ACM international conference on Embedded software, 2004.Google Scholar
  5. 5.
    Sun Microsystems Inc. The cldc hotspot implementation virtual machine. 2008.Google Scholar
  6. 6.
    P. R. Wilson. Uniprocessor garbage collection techniques. In IWMM ,äô92 : Proceedings of the International Workshop on Memory Management, 1992.Google Scholar
  7. 7.
    D. Gay and A. Aiken. Memory management with explicit regions. In PLDI ,äô98 : Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation. 1998.Google Scholar
  8. 8.
    D. Grossman, G. Morrisett, T. Jim, M. Hicks, Y. Wang, and J. Cheney. Region-based memory management in cyclone. In PLDI ,äô02 : Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation. 2002.Google Scholar
  9. 9.
    T. Harris. Early storage reclamation in a tracing garbage collector. SIGPLAN Not., 34(4), 1999.Google Scholar
  10. 10.
    H. Lieberman and C. E. Hewitt. A real-time garbage collector based on the lifetimes of objects. Commun. ACM, 26(6), 1983.Google Scholar
  11. 11.
    D. Ungar. Generation scavenging: A non-disruptive high performance storage reclamation algorithm. In Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments. 1984.Google Scholar
  12. 12.
    Sun Microsystems Inc. Java Card API 2.1 Specification.Google Scholar
  13. 13.
    K. Marquet and G. Grimaud. Garbage collection for tiny devices: A complexity study. In Proc. International Conference on Sensor Technologies and Applications (SENSORCOMM 2007), Valencia, Spain, 2007.Google Scholar
  14. 14.
    R. E. Jones. Garbage Collection: Algorithms for Automatic Dynamic Memory Management. Wiley, Chichester, July 1996.Google Scholar
  15. 15.
    E. W. Dijkstra, L. Lamport, A. J. Martin, C. S. Scholten, and E. F. M. Steffens. On-thefly garbage collection: An exercise in cooperation. Commun. ACM, 21(11), 1978.Google Scholar
  16. 16.
    K. A. Mohammed-Ali. Object-Oriented Storage Management and Garbage Collection in Distributed Processing Systems. PhD thesis, Royal Institute of Technology, Dept. of Computer Systems, Stockholm, Sweden, 1984.Google Scholar
  17. 17.
    B. Zorn. Barrier methods for garbage collection. Technical Report CU-CS-494-90, University of Colorado, Boulder, 1990.Google Scholar
  18. 18.
    A. L. Hosking and R. L. Hudson. Remembered sets can also play cards. In ACM OOPSLA,äô93 Workshop on Memory Management and Garbage Collection, Washington, DC, 1993.Google Scholar
  19. 19.
    D. Tarditi. Compact garbage collection tables. In Tony Hosking, editor, ISMM 2000 Proceedings of the Second International Symposium on Memory Management, volume 36(1) of ACM SIGPLAN Notices, Minneapolis, MN, October 2000.Google Scholar
  20. 20.
    K. Marquet and G. Grimaud. A DSL approach for object memory management of small devices. PPPJ 2007: Proc. International Conference on Principles and Practices of Programming in Java, Lisboa, Portugal, 2007.Google Scholar
  21. 21.
    G. Salagnac, C. Rippert, and S. Yovine. Semi-automatic region-based memory management for real-time java embedded systems. In RTCSA ,äô07 : Proceedings of the 13th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, Washington, DC, USA, 2007.Google Scholar

Copyright information

© Springer Science+Business Media B.V. 2009

Authors and Affiliations

  • Kevin Marquet
    • 1
  • Gilles Grimaud
    • 1
  1. 1.CNRS/INRIA/UnivLille 1France

Personalised recommendations