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

Task-aware garbage collection in a multi-tasking virtual machine

Authors Info & Claims
Published:10 June 2006Publication History

ABSTRACT

A multi-tasking virtual machine (MVM) executes multiple programs in isolation, within a single operating system process. The goal of a MVM is to improve startup time, overall system throughput, and performance, by effective reuse and sharing of system resources across programs (tasks). However, multitasking also mandates a memory management system capable of offering a guarantee of isolation with respect to garbage collection costs, accounting of memory usage, and timely reclamation of heap resources upon task termination.To this end, we investigate and evaluate, novel task-aware extensions to a state-of-the-art MVM garbage collector (GC). Our task-aware GC exploits the generational garbage collection hypothesis, in the context of multiple tasks, to provide performance isolation by maintaining task-private young generations. Task aware GC facilitates concurrent per-task allocation and promotion, and minimizes synchronization and scanning overhead. In addition, we efficiently track per-task heap usage to enable GC-free reclamation upon task termination. Moreover, we couple these techniques with a light-weight synchronization mechanism that enables per-task minor collection, concurrently with allocation by other tasks.We empirically evaluate the efficiency, scalability, and through-put that our task-aware GC system enables.

References

  1. Multitasking virtual machine. http://mvm.dev.java.net.Google ScholarGoogle Scholar
  2. AZAGURY, A., KOLODNER, E. K., PETRANK, E., AND YEHUDAI, Z. Combining Card Marking with Remembered Sets: How to Save Scanning Time. In International Symposium on Memory Management (ISMM) (Oct. 1998). Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. BACK, G., AND HSIEH, W. C. The KaffeOS Java Runtime System. ACM Trans. on Programming Languages and Systems 27, 4 (July 2005), 583--630. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. BARABASH, K., OSSIA, Y., AND PETRANK, E. Mostly Concurrent Garbage Collection Revisited. In Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA) (Oct. 2003). Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. CHAMBERS, C. The Design and Implementation of the SELF Compiler, an Optimizing Compiler for an Objected-Oriented Programming Language. PhD thesis, Stanford University, Mar. 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. CZAJKOWSKI, G. Application Isolation in the Java ™ Virtual Machine. In OOPSLA (2000), pp. 354--66. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. CZAJKOWSKI, G., AND DAYNÈS, L. Multitasking without Compromise: A Virtual Machine Evolution. In Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA) (Oct. 2001). Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. CZAJKOWSKI, G., AND DAYNÈS, L. A Multi-User Virtual Machine. In USENIX 2003 Annual Technical Conference (June 2003). Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. The Dacapo Benchmark Suite, version beta050224. http://www-ali.cs.umass.edu/DaCapo/gcbm.html.Google ScholarGoogle Scholar
  10. DAYNÈS, L., AND CZAJKOWSKI, G. Sharing the Runtime Representation of Classes Across Class Loaders. In European Conference on Object-Oriented Programming (ECOOP) (July 2005). Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. DETLEFS, D., CLINGER, W. D., AND JACOB, M. Concurrent Remembered Set Refinement in Generational Garbage Collection. In USENIX Java Virtual Machine Research and Technology Symposium (JVM'02) (Aug. 2002). Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. DETLEFS, D., FLOOD, C., HELLER, S., AND PRINTEZIS, T. Garbage-First Garbage Collection. In International Symposium on Memory Management (ISMM) (Oct. 2004). Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. DIMPSEY, R., ARORA, R., AND KUIPER, K. Java Server Performance: A Case Study of Building Efficient, Scalable JVMs. IBM Systems Journal 39, 1 (2000). http://www.research.ibm.com/journal/sj/391/dimpsey.html. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. DOMANI, T., GOLDSHTEIN, G., KOLODNER, E. K., LEWIS, E., PETRANK, E., AND SHEINWALD, D. Thread-Local Heaps for Java. In International Symposium on Memory Management (ISMM) (June 2002). Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. HÖLZLE, U. A Fast Write Barrier for Generational Garbage Collectors. In OOPSLA/ECOOP '93 Workshop on Garbage Collection in Object-Oriented Systems (Oct. 1993).Google ScholarGoogle Scholar
  16. HOSKING, A. L., AND HUDSON, R. L. Remembered Sets Can Also Play Cards. In OOPSLA '93 Workshop on Garbage Collection and Memory Management (Sept. 1993).Google ScholarGoogle Scholar
  17. HOSKING, A. L., MOSS, J. E. B., AND STEFANOVÍC, D. A Comparative Performance Evaluation of Write Barrier Implementations. In Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA) (Oct. 1992). Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. HUDSON, R. L., MORRISON, R., MOSS, J. E. B., AND MUNRO, D. S. Garbage Collecting The World: One Car At A Time. In Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA) (Oct. 1997). Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. JAVA COMMUNITY PROCESS. JSR-121: Application Isolation API Specification. http://jcp.org/jsr/detail/121.jsp.Google ScholarGoogle Scholar
  20. JOHNSTONE, M. S. Non-Compacting Memory Allocation and Real-Time Garbage Collection. PhD thesis, Dec. 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. MCCARTHY, J. Recursive Functions of Symbolic Expressions and their Computation by Machine. Comm. of the ACM 3 (1960), 184--195. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. MORRIS, F. L. A Time- and Space-Efficient Garbage Compaction Algorithm. Communications of the ACM 21, 8 (1978). Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. PALECZNY, M., VICK, C., AND CLICK, C. The Java HotSpot(TM)Server Compiler. In USENIX Java Virtual Machine Research and Technology Symposium (JVM'01) (Apr. 2001). Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. SACHINDRAN, N., ELIOT, J., AND MOSS, B. Mark-copy: Fast Copying GC with less Space Overhead. In Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA) (Oct. 2003). Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. SpecJVM'98 Benchmarks. http://www.spec.org/osg/jvm98.Google ScholarGoogle Scholar
  26. STEENSGAARD, B. Thread-Specific Heaps for Multi-Threaded Programs. In International Symposium on Memory Management (ISMM) (Oct. 2000). Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. SUN MICROSYSTEMS INC. Java 2 Platform Standard Edition 5.0. http://java.sun.com/j2se/1.5.0/index.jsp.Google ScholarGoogle Scholar
  28. UNGAR, D. Generation Scavenging: A Non-disruptive High Performance Storage Reclamation Algorithm. SIGPLAN Notices 19, 5 (1984), 157--167. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. UNGAR, D. Generation Scavenging: A Non-disruptive High Performance Storage Reclamation Algorithm. In Software Engineering Symposium on Practical Software Development Environments (Apr 1992).Google ScholarGoogle Scholar
  30. WILSON, P. R. Uniprocessor Garbage Collection Techniques. In Proceedings of the International Workshop on Memory Management (Sept. 1992). Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Task-aware garbage collection in a multi-tasking virtual machine

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
    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

    Copyright © 2006 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: 10 June 2006

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • Article

    Acceptance Rates

    Overall Acceptance Rate72of156submissions,46%

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader