skip to main content
10.1145/2926697.2926701acmconferencesArticle/Chapter ViewAbstractPublication PagesismmConference Proceedingsconference-collections
research-article

Block-free concurrent GC: stack scanning and copying

Published:14 June 2016Publication History

ABSTRACT

On-the-fly Garbage Collectors (GCs) are the state-of-the-art concurrent GC algorithms today. Everything is done concurrently, but phases are separated by blocking handshakes. Hence, progress relies on the scheduler to let application threads (mutators) run into GC checkpoints to reply to the handshakes. For a non-blocking GC, these blocking handshakes need to be addressed. Therefore, we propose a new non-blocking handshake to replace previous blocking handshakes. It guarantees scheduling-independent operation level progress without blocking. It is scheduling independent but requires some other OS support. It allows bounded waiting for threads that are currently running on a processor, regardless of threads that are not running on a processor. We discuss this non-blocking handshake in two GC algorithms for stack scanning and copying objects. They pave way for a future completely non-blocking GC by solving hard open theory problems when OS support is permitted. The GC algorithms were integrated to the G1 GC of OpenJDK for Java. GC pause times were reduced to 12.5% compared to the original G1 on average in DaCapo. For a memory intense benchmark, latencies were reduced from 174 ms to 0.67 ms for the 99.99% percentile. The improved latency comes at a cost of 15% lower throughput.

References

  1. A. W. Appel, J. R. Ellis, and K. Li. Real-time Concurrent Collection on Stock Multiprocessors. In Proceedings of the ACM SIGPLAN 1988 Conference on Programming Language Design and Implementation, PLDI ’88, pages 11–20, New York, NY, USA, 1988. ACM. ISBN 0- 89791-269-1. doi: 10.1145/53990.53992. URL http://doi.acm. org/10.1145/53990.53992. D. F. Bacon, P. Cheng, and V. Rajan. The Metronome: A simpler approach to garbage collection in real-time systems. In On the Move to Meaningful Internet Systems 2003: OTM 2003 Workshops, pages 466–478. Springer, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. H. G. Baker, Jr. List Processing in Real Time on a Serial Computer. Commun. ACM, 21(4):280–294, Apr. 1978. ISSN 0001-0782. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. doi: 10.1145/359460.359470. URL http://doi.acm.org/10.1145/ 359460.359470. M. Ben-Ari. On-the-fly garbage collection: New algorithms inspired by program proofs. In Automata, Languages and Programming, pages 14– 22. Springer, 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. D. L. Detlefs, P. A. Martin, M. Moir, and G. L. Steele, Jr. Lock-free Reference Counting. pages 190–199, 2001. doi: 10.1145/383962.384016. URL http://doi.acm.org/10.1145/383962.384016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. A. Kogan and E. Petrank. Wait-free Queues with Multiple Enqueuers and Dequeuers. SIGPLAN Not., 46(8):223–234, Feb. 2011. ISSN 0362- 1340. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. doi: 10.1145/301589.286873. URL http://doi.acm.org/10.1145/301589.286873. B. McCloskey, D. F. Bacon, P. Cheng, and D. Grove. Staccato: A parallel and concurrent real-time compacting garbage collector for multiprocessors. Technical report, Technical Report RC24505, IBM Research, 2008.Google ScholarGoogle Scholar
  7. M. M. Michael. Hazard pointers: safe memory reclamation for lock-free objects. Parallel and Distributed Systems, IEEE Transactions on, 15(6): 491–504, June 2004. ISSN 1045-9219. doi: 10.1109/TPDS.2004.8. M. M. Michael and M. L. Scott. Nonblocking algorithms and preemption-safe locking on multiprogrammed shared memory multiprocessors. Journal of Parallel and Distributed Computing, 51(1):1 – 26, 1998. ISSN 0743-7315. doi: http://dx.doi.org/10.1006/jpdc.1998. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Block-free concurrent GC: stack scanning and copying

        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 2016: Proceedings of the 2016 ACM SIGPLAN International Symposium on Memory Management
          June 2016
          133 pages
          ISBN:9781450343176
          DOI:10.1145/2926697

          Copyright © 2016 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: 14 June 2016

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate72of156submissions,46%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader