Communities
|
Social Applications
Networks
Knowledge Base
Support
|
|
C-Level Executives
Other Roles
|
|
Support
Education
Partner
Other Tasks
|

Oracle Labs
Bibliography for Concurrent Remembered Set Refinement in Generational Garbage Collection@Article{Ungar:1984:GSN, author = "D. Ungar", title = "Generation scavenging: a non-disruptive high performance storage reclamation algorithm", journal = "ACM SIG{\-}PLAN Notices", volume = "19", number = "5", pages = "157--167", month = may, year = "1984", coden = "SINODQ", ISSN = "0362-1340", bibdate = "Sat Apr 25 11:46:37 MDT 1998", acknowledgement = ack-nhfb, classification = "C6120 (File organisation)", conflocation = "Pittsburgh, PA, USA; 23-25 April 1984", conftitle = "Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments", corpsource = "Dept. of Electrical Engng. and Computer Sci., Univ. of California, Berkeley, CA, USA", keywords = "automatic storage reclamation; Berkeley Smalltalk Smalltalk; circular structures; generation scavenging; interactive computing environments; storage management; storage reclamation algorithms; virtual memory", sponsororg = "ACM", treatment = "T Theoretical or Mathematical", } @Article(Baker78, Author = "Baker, H. G.", Key = "Baker", Journal = "Communications of the ACM", Title = "List Processing in Real Time on a Serial Computer", Year = "1978", Month = "April", Volume = "21", Number = "4", Pages = "280-294" ) @InProceedings{huds90, author = "Richard L. Hudson and Amer Diwan", title = "Adaptive Garbage Collection for {M}odula-3 and {S}malltalk", address = "Ottawa", booktitle = "{OOPSLA/ECOOP} '90 Workshop on Garbage Collection in Object-Oriented Systems", editor = "Eric Jul and Niels-Christian Juul", month = oct, year = "1990", url = "ftp://ftp.cs.utexas.edu/pub/garbage/GC90/Hudson.ps.Z", } @Article{lieb83, author = "Henry Lieberman and Carl E. Hewitt", title = "A Real-Time Garbage Collector Based on the Lifetimes of Objects", journal = "Communications of the {ACM}", publisher = "ACM Press", volume = "26(6)", pages = "419--429", year = "1983", note = "Also report TM--184, Laboratory for Computer Science, MIT, Cambridge, MA, July 1980 and AI Lab Memo 569, 1981", abstract = "The authors, motivated by the need for efficient management of short-lived objects in object-oriented systems for AI applications, propose a new garbage collection algorithm. The algorithm which is proposed has the objective of differentiating the special case of garbage collection for objects with short lives. Such differentiation, the paper argues, will also improve the garbage collection for long-lived objects, since less effort is made in considering these objects for reclamation. The algorithm proposed is an extension of a garbage collection algorithm proposed by Baker. The most important feature of Baker's algorithm is that elementary object creation and object access time take a bounded amount of time regardless of the memory size. It is a real-time algorithm. As an enhancement to Baker's algorithm, the authors propose dividing the address space into small regions, with each region being composed of a set of pages. This division is different from the Baker algorithm, which divides the address space into two regions. The second enhancement to Baker's algorithm uses the finer divisions of the address space to vary the rate of garbage collection for each region according to the age of the region. The criteria for determining the rate are motivated by the observation that newer regions contain a higher percentage of garbage. The paper is excellently constructed. It was, however, disappointing not to find comparative measurements for performance, region fragmentation, the impact of locality, the impact of programming style, etc. Nevertheless, the paper is recommended.", } @InProceedings{Moon:acm:lfp:1984, author = "David A. Moon", title = "Garbage Collection in a Large {Lisp} System", booktitle = "Conference Record of the 1984 {ACM} Symposium on Lisp and Functional Programming", publisher = "ACM", month = aug, year = "1984", pages = "235--246", refs = "7", checked = "19940322", source = "dept. library", keywords = "Lisp, garbage collection", abstract = "This paper discusses garbage collection techniques used in a high-performance Lisp implementation with a large virtual memory, the Symbolics 3600. Particular attention is paid to practical issues and experience. In a large system problems of scale appear and the most straightforward garbage-collection techniques do not work well. Many of these problems involve the interaction of the garbage collector with demand-paged virtual memory. Some of the solutions adopted in the 3600 are presented, including incremental copying garbage collection, approximately depth-first copying, ephemeral objects, tagged architecture, and hardware assists. We discuss techniques for improving the efficiency of garbage collection by recognizing that objects in the Lisp world have a variety of lifetimes. The importance of designing the architecture and the hardware to facilitate garbage collection is stressed.", reffrom = "Lang:Dupont:iait:1987", reffrom = "Moon:ieee:c:1987", reffrom = "Appel:spe:1989", reffrom = "Johnson:acm:lfp:1990", reffrom = "Zorn:acm:lfp:1990", reffrom = "Baker:acm:lfp:1990", reffrom = "Layer:Richardson:cacm:1991", reffrom = "Allard:Hawkins:cacm:1991", reffrom = "Wilson:Lam:Moher:acm:lfp:1992", reffrom = "Jagannathan:Philbin:acm:lfp:1992", } @article{Ung84-sigplan, author = {D. M. Ungar}, title = "Generation Scavenging: {A} Non-disruptive High Performance Storage Reclamation Algorithm", journal = {ACM SIGPLAN Notices}, number = 5, volume = 19, pages = {157--167}, month = apr, year = {1984} } @inproceedings{Wil92-iwmm, author = {P. R. Wilson}, title = "Uniprocessor Garbage Collection Techniques", booktitle = {International Workshop on Memory Management}, address = {St. Malo, France}, publisher = SV, series = {Lecture Notes in Computer Science}, number = {637}, pages = {1--42}, month = sep, year = {1992} } @book{Jon96-gcbook, title = {{Garbage Collection: Algorithms for Automatic Dynamic Memory Management}}, author = {Richard Jones and Rafael Lins}, publisher = JWS, year = {1996} } @InProceedings{fitz00, author = "Robert Fitzgerald and David Tarditi", title = "The Case for Profile-Directed Selection of Garbage Collectors", booktitle = "Proceedings of the Second International Symposium on Memory Management", editor = "Tony Hosking", address = "Minneapolis, MN", publisher = "ACM Press", month = oct, year = "2000", ISBN = "1-58113-263-8", abstract = "Many garbage-collected systems use a single garbage collection algorithm across all applications. It has long been known that this can produce poor performance on applications for which that collector is not well suited. In some systems, such as those that execute stand-alone compiled executables, an appropriate collector for each application can be selected from a pool of available collectors and tuned by using profile information. In a study of 20 benchmarks and 6 collectors compiled with the Marmot optimizing Java-to-native compiler, for every collector there was at least one benchmark that would have been at least 15\% faster with a more appropriate collector. A detailed analysis of storage management costs shows how they vary by application and collector.", } @InProceedings{HoskingAnt1993a, author = "Antony L. Hosking and Richard L. Hudson", booktitle = "ACM OOPSLA'93 Workshop on Memory Management and Garbage Collection", title = "Remembered Sets can also Play Cards", year = "1993", address = "Washington, DC", url = "ftp://ftp.cs.utexas.edu/pub/garbage/GC93/hosking.ps", keywords = "write barrier, generational garbage collection", month = oct, scope = "gc", } @TechReport{Soba88, author = "Patrick G. Sobalvarro", title = "A Lifetime-Based Garbage Collector for {Lisp} Systems on General-Purpose Computers", type = "{B.S.} thesis", institution = "Massachusetts Institute of Technology {EECS} Department", address = "Cambridge, Massachusetts", year = "1988", } @inproceedings{HMS92-oopsla, author = {A. L. Hosking and J. E. B. Moss and D. Stefanovic}, booktitle = {Proceedings of the ACM Conference on Object-Oriented Programming Systems, Languages, and Applications}, address = {Vancouver, Canada}, pages = {92--109}, title = "A Comparative Performance Evaluation of Write Barrier Implementations", month = oct, year = {1992} } @Article{Wilson:1989:CSC, author = "Paul R. Wilson and Thomas G. Moher", title = "A ``Card-Marking'' Scheme for Controlling Intergenerational References in Generation-based Garbage Collection on Stock Hardware", journal = "ACM SIG{\-}PLAN Notices", volume = "24", number = "5", pages = "87--92", month = may, year = "1989", coden = "SINODQ", ISSN = "0362-1340", bibdate = "Fri Feb 14 18:46:32 MST 1997", abstract = "Like D. Moon's Ephemeral Garbage Collector ours does not actually record which individual locations hold intergenerational pointers. Ours uses a software analogue to pages, called cards. Since individual locations are not remembered, whole cards must be scanned at scavenge time to find pointers into younger generations. This lowered-resolution recording has two benefits, the space required for recording is greatly reduced, and the base cost of examining this information (at scavenge time) is similarly decreased. To minimize the continual run-time overhead, we record only whether a location is modified. These benefits may be significant in large heaps, especially if locality is poor or the page size is large.", acknowledgement = ack-nhfb, affiliationaddress = "Chicago, IL, USA", classification = "723", journalabr = "SIGPLAN Not", keywords = "Card Scanning; Computer Operating Systems--Storage Allocation; Computer Programming languages--lisp; Computer Software; Data Processing; Data Storage, Digital--Virtual; Data Structures; Garbage Collection; Intergenerational References; languages; Stock Hardware", subject = "D.4.2 Software, OPERATING SYSTEMS, Storage Management \\ D.2.m Software, SOFTWARE ENGINEERING, Miscellaneous \\ D.3.2 Software, PROGRAMMING LANGUAGES, Language Classifications \\ D.3.3 Software, PROGRAMMING LANGUAGES, Language Constructs", } @InProceedings{Boehm91a, author = "Hans-J. Boehm and Alan J. Demers and Scott Shenker", title = "Mostly Parallel Garbage Collection", pages = "157--164", ISBN = "0-89791-428-7", editor = "Brent Hailpern", booktitle = "Proceedings of the {ACM} {SIGPLAN} '91 Conference on Programming Language Design and Implementation", address = "Toronto, ON, Canada", month = jun, year = "1991", publisher = "ACM Press", } @InProceedings{1990:popl:demers, author = "Alan Demers and Mark Weiser and Barry Hayes and Hans Boehm and Daniel Bobrow and Scott Shenker", title = "Combining Generational and Conservative Garbage Collection: Framework and Implementations", booktitle = "Conference Record of the Seventeenth Annual {ACM} Symposium on Principles of Programming Languages", year = "1990", organization = "ACM SIGACT and SIGPLAN", publisher = "ACM Press", ISBN = "0-89791-343-4", pages = "261--269", genterms = "DESIGN, LANGUAGES, THEORY", categories = "D.3.4 Software, PROGRAMMING LANGUAGES, Processors. D.1.0 Software, PROGRAMMING TECHNIQUES, General. D.4.2 Software, OPERATING SYSTEMS, Storage Management, Allocation/deallocation strategies.", abstract = "Two key ideas in garbage collection are generational collection and conservative pointer-finding. Generational collection and conservative pointer-finding are hard to use together, because generational collection is usually expressed in terms of copying objects, while conservative pointer-finding precludes copying. We present a new framework for defining garbage collectors. When applied to generational collection, it generalizes the notion of younger/older to a partial order. It can describe traditional generational and conservative techniques, and lends itself to combining different techniques in novel ways. We study in particular two new garbage collectors inspired by this framework. Both these collectors use conservative pointer-finding. The first one is based on a rewrite of an existing trace-and-sweep collector to use one level of generation. The second one has a single parameter, which controls how objects are partitioned into generations; the value of this parameter can be changed dynamically with no overhead. We have implemented both collectors and present measurements of their performance in practice.", annote = "incomplete", } @Article{Baker:acm:sigplan:1993, author = "Henry G. Baker", title = "``{I}nfant Mortality'' and Generational Garbage Collection", journal = "SIGPLAN Notices", volume = "28", number = "4", pages = "55--57", month = apr, year = "1993", checked = "19940512", refs = "11", keywords = "generational garbage collection", abstract = "Generation-based garbage collection has been advocated by appealing to the intuitive but vague notion that ``young objects are more likely to die than old objects''. The intuition is, that if a generation-based garbage collection scheme focuses its effort on scanning recently created objects, then its scanning efforts will pay off more in the form of more recovered garbage, than if it scanned older objects. In this note, we show a counterexample of a system in which ``infant mortality'' is as high as you please, but for which generational garbage collection is ineffective for improving the average mark/cons ratio. Other benefits, such as better locality and a smaller number of large delays, may still make generational garbage collection attractive for such a system, however.", sjb = "The example where the generational system doesn't fair so well is when objects die in an exponential decay pattern. Suggests that papers on generational collectors should include amongst other things the mark/cons ratios and localities.", } @InProceedings{1991:oopsla:sharma, author = "Ravi Sharma and Mary Lou Soffa", title = "Parallel Generational Garbage Collection", editor = "Andreas Paepcke", booktitle = "{OOPSLA}~'91 Conference Proceedings: Object-Oriented Programming Systems, Languages, and Applications", year = "1991", publisher = "ACM Press", ISBN = "0-89791-446-5 (ACM), 0-201-55417-8 (Addison-Wesley)", ISSN = "0362-1340", pages = "16--32", url = "http://www.acm.org/pubs/articles/proceedings/oops/117954/p16-sharma/p16-sharma.pdf", genterms = "ALGORITHMS, DESIGN, LANGUAGES", categories = "D.1.3 Software, PROGRAMMING TECHNIQUES, Concurrent Programming, Parallel programming. D.3.2 Software, PROGRAMMING LANGUAGES, Language Classifications, Object-oriented languages. C.1.2 Computer Systems Organization, PROCESSOR ARCHITECTURES, Multiple Data Stream Architectures (Multiprocessors), Parallel processors**. D.3.4 Software, PROGRAMMING LANGUAGES, Processors. D.4.2 Software, OPERATING SYSTEMS, Storage Management, Allocation/deallocation strategies.", annote = "incomplete", } @InProceedings{DTAD:OOPSLAGC93, author = "David Tarditi and Amer Diwan", title = "The Full Cost of a Generational copying Garbage Collection Implementation", booktitle = "Workshop on Garbage Collection", month = sep, year = "1993", publisher = "{ACM} Press", note = "Only available online", ftpdir = "cs.utexas.edu", filename = "OOPSLA.93.GC/tarditi.ps", } @Book{Weaver:1994:SAM, author = "David L. Weaver and Tom Germond", title = "The {SPARC} Architecture Manual Version 9", publisher = "Pren{\-}tice-Hall PTR", address = "Upper Saddle River, NJ 07458, USA", pages = "xxii + 357", year = "1994", ISBN = "0-13-099227-5", LCCN = "QA76.9.A73S648 1992", bibdate = "Fri Jul 22 08:37:56 1994", price = "US\$33.00", acknowledgement = ack-nhfb, } @InProceedings{Diec99a, author = "Sylvia Dieckmann and Urs Hoelzle", editor = "R. Guerraoui", title = "A Study of the Allocation Behavior of the {SPEC}jvm98 Java Benchmarks", booktitle = "Proceedings ECOOP'99", series = "LCNS 1628", pages = "92--115", publisher = "Springer-Verlag", address = "Lisbon, Portugal", month = jun, year = "1999", keywords = "olit ecoop99proc", abstract = "We present an analysis of the memory usage for six of the Java programs in the SPECjvm98 benchmark suite. Most of the programs are real- world applications with high demands on the memory system. For each program, we measured as much low level data as possible, including age and size distribution, type distribution, and the overhead of object alignment. Among other things, we found that non-pointer data usually represents more than 50\% of the allocated space for instance objects, that Java objects tend to live longer than objects in Smalltalk or ML, and that they are fairly small.", } @inproceedings{DA99-ecoop-b, author = "David L. Detlefs and Ole Agesen", title = "Inlining of Virtual Methods", key = "Detlefs&Agesen", pages = "258-278", booktitle = "ECOOP'99 - Object-Oriented Programming", year = "1999", organization = "AITO", publisher = "Springer", month = "June" } @inproceedings{ADG+99-oopsla, author = {O. Agesen and D. Detlefs and A. Garthwaite and R. Knippel and Y. S. Ramakrishna and D. White}, title = "An Efficient Meta-lock for Implementing Ubiquitous Synchronization", booktitle = {Proceedings of OOPSLA'99}, address = {Denver, Colorado, USA}, month = nov, year = {1999} } @InProceedings{OTooleJame1994a, author = "James O'Toole and Scott Nettles", booktitle = "Conference on Lisp and Functional programming", title = "Concurrent Replicating Garbage Collection", year = "1994", url = "http://www-psrg.lcs.mit.edu/ftpdir/pub/james/papers/lfp94.ps", month = jun, publisher = "ACM Press", scope = "gc", } @TechReport(EllisLiAppel, Author = "John R. Ellis; Kai Li; and Andrew W. Appel", Key = "Ellis et al.", Title = "Real-time Concurrent Collection on Stock Multiprocessors", Institution = "Digital Equipment Corporation Systems Research Center", Number = "25", Month = "February", Year = "1988", Annote = "Main innovation is the use of virtual-memory protection primitives provided by most OS's to simulate locking of unscanned objects." ) @Article{Azagury:1999:CCM, author = "Alain Azagury and Elliot K. Kolodner and Erez Petrank and Zvi Yehudai", title = "Combining card marking with remembered sets: how to save scanning time", journal = "ACM SIG{\-}PLAN Notices", volume = "34", number = "3", pages = "10--19", month = mar, year = "1999", coden = "SINODQ", ISSN = "0362-1340", bibdate = "Fri Apr 30 11:50:44 MDT 1999", url = "http://www.acm.org:80/pubs/citations/proceedings/plan/286860/p10-azagury/", acknowledgement = ack-nhfb, keywords = "algorithms; design; languages; performance; theory", subject = "{\bf D.4.2} Software, OPERATING SYSTEMS, Storage Management, Garbage collection. {\bf D.3.3} Software, PROGRAMMING LANGUAGES, Language Constructs and Features, Data types and structures. {\bf G.4} Mathematics of Computing, MATHEMATICAL SOFTWARE, Algorithm design and analysis.", } @Article{appe89, title = "Simple Generational Garbage Collection and Fast Allocation", author = "Andrew W. Appel", institution = "princeton", journal = "Software Practice and Experience", publisher = "Wiley", year = "1989", volume = "19", number = "2", pages = "171--183", url = "http://www.cs.princeton.edu/faculty/appel/papers/143.ps", abstract = "Generational garbage collection algorithms achieve efficiency because newer records point to older records; the only way an older record can point to a newer record is by a store operation to a previously created record, and such operations are rare in many languages. A garbage collector that concentrates just on recently allocated records can take advantage of this fact. Such a garbage collector can be so efficient that the allocation of records costs more than their disposal. A scheme for quick record allocation attacks this bottleneck. Many garbage-collected environments do not know when to ask the operating system for more memory. A robust heuristic solves this problem. This paper presents a simple, efficient, low-overhead version of generational garbage collection with fast allocation, suitable for implementation in a Unix environment.", } @Article(DijkstraLamportOTF78, Author = "Edsger W. Dijkstra and Leslie Lamport and A. J. Martin and C. S. Scholten and E. F. M. Steffens", Key = "Dijkstra et al.", Journal = "CACM", Title = "On-the-Fly Garbage Collection: An Exercise in Cooperation", Year = "1978", Month = "November", Volume = "21", Number = "11", Pages = "966-975", Annote = "Coloring garbage collection." ) @Article(Steele75, Author = "Guy L. {Steele Jr.}", Key = "Steele", Journal = "CACM", Title = "Multiprocessing Compactifying Garbage Collection", Year = "1975", Month = "September", Volume = "18", Number = "9", Pages = "495-508" ) @InProceedings{, author = {}, title = {}, booktitle = {}, OPTcrossref = {}, OPTkey = {}, OPTpages = {}, OPTyear = {}, OPTeditor = {}, OPTvolume = {}, OPTnumber = {}, OPTseries = {}, OPTaddress = {}, OPTmonth = {}, OPTorganization = {}, OPTpublisher = {}, OPTnote = {}, OPTannote = {} } @InProceedings{Doligez93, author = "D. Doligez and X. Leroy", title = "A Concurrent, Generational Garbage Collector for a Multithreaded Implementation of {ML}", booktitle = "Conference Record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages", pages = "113--123", publisher = "ACM", address = "New York, NY", year = "1993", keywords = "functional parallel", ISBN = "0-89791-560-7", abstract = "The design and implementation are presented of a 'quasi real-time' garbage collector for Concurrent Caml Light, an implementation of ML with threads. This two-generation system combines a fast, asynchronous copying collector on the young generation with a non-disruptive concurrent marking collector on the old generation. This design crucially relies on the ML compile-time distinction between mutable and immutable objects.", } @Article(BW88-spe, Author = "Boehm, Hans-Juergen and Weiser, Mark", Key = "Boehm&Weiser", Journal = "Software Practice and Experience", Title = "Garbage Collection in an Uncooperative Environment", Year = "1988", Month = "September", Volume = "18", Number = "9", Pages = "807-820", Annote = "A garbage collector for C. Avoids the integer/pointer problem by never moving anything." ) @inproceedings{AD97-oopslagc, author = {O. Agesen and D. Detlefs}, title = "Finding References in {J}ava\tm\ Stacks", booktitle = {Proceedings of the OOPSLA'97 Workshop on Garbage Collection and Memory Management}, address = {Atlanta, GA, USA}, month = oct, year = {1997} } @InProceedings{Doligez94, author = "Damien Doligez and Georges Gonthier", title = "Portable, Unobtrusive Garbage Collection for Multiprocessor Systems", booktitle = "Conference Record of the Twenty-first Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages", publisher = "ACM Press", address = "New York, NY, USA", ISBN = "0-89791-636-0", pages = "70--83", month = "January", year = "1994", bibdate = "Mon May 3 12:50:22 MDT 1999", url = "http://www.acm.org:80/pubs/citations/proceedings/plan/174675/p70-doligez/", abstract = "We describe and prove the correctness of a new concurrent mark-and-sweep garbage collection algorithm. This algorithm derives from the classical on-the-fly algorithm from Dijkstra {\em et al.\/} [9]. A distinguishing feature of our algorithm is that it supports multiprocessor environments where the registers of running processes are not readily accessible, without imposing any overhead on the elementary operations of loading a register or reading or initializing a field. Furthermore our collector never blocks running mutator processes except possibly on requests for free memory; in particular, updating a field or creating or marking or sweeping a heap object does not involve system-dependent synchronization primitives such as locks. We also provide support for process creation and deletion, and for managing an extensible heap of variable-sized objects.", acknowledgement = ack-nhfb, keywords = "algorithms; theory", subject = "{\bf D.4.2} Software, OPERATING SYSTEMS, Storage Management. {\bf D.3.4} Software, PROGRAMMING LANGUAGES, Processors.", } @techreport{WG99-rep, author = {D. White and A. Garthwaite}, title = "The {GC} Interface in the {EVM}", institution = SUNLABS, number = {TR-98-67}, year = {1999} } @TechReport(KungSong77, Author = "H. T. Kung and S. Song", Key = "Kung&Song", Title = "An Efficient Parallel Garbage Collector and its Correctness Proof", Institution = "Carnegie Mellon University", Month = "September", Year = "1977", Annote = "Not read yet." ) @InProceedings{doma00a, author = "Tamar Domani and Elliot K. Kolodner and Ethan Lewis and Elliot E. Salant and Katherine Barabash and Itai Lahan and Erez Petrank and Igor Yanover and Yossi Levanoni", title = "Implementing an On-the-fly Garbage Collector for {J}ava", booktitle = "Proceedings of the Second International Symposium on Memory Management", editor = "Tony Hosking", address = "Minneapolis, MN", publisher = "ACM Press", month = oct, year = "2000", ISBN = "1-58113-263-8", abstract = "Java uses garbage collection (GC) for the automatic reclamation of computer memory no longer required by a running application. GC implementations for Java Virtual Machines (JVM) are typically designed for single processor machines, and do not necessarily perform well for a server program with many threads running on a multiprocessor. We designed and implemented an on-the-fly GC, based on the algorithm of Doligez, Leroy and Gonthier~\cite{doli93,dili94} (DLG) for Java in this environment. An {\em on-the-fly collector}, a collector that does not stop the program threads, allows all processors to be utilized during collection and provides uniform response times. We extended and adapted DLG for Java (e.g., adding support for weak references) and for modern multiprocessors without sequential consistency, and added performance improvements (e.g., to keep track of the objects remaining to be traced). We compared the performance of our implementation with stop-the-world mark-sweep GC. Our measurements show that the performance advantage for our collector increases as the number of threads increase and that it provides uniformly low response times.", } @InProceedings{BaconPLDI01, author = "David Bacon and Clement Attanasio and Han Lee and V. T. Rajan and Stephen Smith", title = "Java without the coffee breaks: a nonintrusive multiprocessor garbage collector", pages = "92--103", ISSN = "0362-1340", editor = "Cindy Norris and Jr. James B. Fenwick", booktitle = "Proceedings of the {ACM} {SIGPLAN} '01 Conference on Programming Language Design and Implementation ({PLDI}-01)", month = jun # " ~20--22", series = "ACM SIGPLAN Notices", volume = "36.5", publisher = "ACM Press", address = "N.Y.", year = "2001", } @TechReport{DeTreville90b, Author = "DeTreville, John", Key = "DeTreville", Title = "Experiences with Concurrent Garbage Collectors for {M}odula-2+", Year = "1990", institution = "Digital Equipment Corporation Systems Research Center", number = "64", } @InProceedings{DomaniKolPet00, author = "Tamar Domani and Elliot K. Kolodner and Erez Petrank", title = "A Generational On-the-Fly Garbage Collector for {J}ava", booktitle = "Proceedings of the {ACM} {SIGPLAN} '00 Conference on Programming Language Design and Implementation", address = "Vancouver, British Columbia", month = jun # " 18--21,", year = "2000", pages = "274--284", } @InProceedings{Printezis00, author = "Tony Printezis and David Detlefs", title = "A Generational Mostly-concurrent Garbage Collector", booktitle = "Proceedings of the International Symposium on Memory Management", address = "Minneapolis, Minnesota", month = oct # " 15--19,", year = "2000", } @InProceedings{Flood01, author = "Christine H. Flood and David Detlefs and Nir Shavit and Xiaolan Zhang", title = "Parallel Garbage Collection for Shared Memory Multiprocessors", booktitle = "{Proceedings of the Java\tm\ Virtual Machine Research and Technology Symposium}", organization = "USENIX", address = "Monterey", month = "April", year = "2001" } @InProceedings{Heil00, author = "Timothy H. Heil and James E. Smith", title = "Concurrent Garbage Collection Using Hardware-Assisted Profiling", booktitle = "Proceedings of the International Symposium on Memory Management", address = "Minneapolis, Minnesota", month = oct # " 15--19,", year = "2000", } @InProceedings{holz93, author = "Urs H{\"o}lzle", title = "A Fast Write Barrier for Generational Garbage Collectors", booktitle = "{OOPSLA/ECOOP} '93 Workshop on Garbage Collection in Object-Oriented Systems", month = oct, editor = "Eliot Moss and Paul R. Wilson and Benjamin Zorn", year = "1993", url = "ftp://self.stanford.edu/pub/papers/write-barrier.ps.Z", } @InProceedings{HM:Train, author = "Richard L. Hudson and J. Eliot B. Moss", title = "Incremental collection of mature objects", booktitle = "International Workshop on Memory Management", editor = "Yves Bekkers and Jacques Cohen", year = "1992", month = sep, address = "St. Malo, France", publisher = "Springer-Verlag", series = "Lecture Notes in Computer Science", pages = "388--403", } @TechReport{agesen:gcpoints, author = "Ole Agesen", title = "{GC} Points in a Threaded Environment", institution = "Sun Microsystems Laboratories", year = "1998", key = "Agesen", number = "98-70" } |
