Parallel Copying Garbage Collection Using Delayed Allocation
نویسندگان
چکیده
We present a new approach to parallel copying garbage collection on symmetric multiprocessor (SMP) machines appropriate for Java and other object-oriented languages. Parallel, in this setting, means that the collector runs in several parallel threads. Our collector is based on a new idea called delayed allocation, which completely eliminates the fragmentation problem of previous parallel copying collectors while still keeping low synchronization, high ee-ciency, and simplicity of collection. In addition to this main idea, we also discuss several other ideas such as improving termination detection , balancing the distribution of work, and dealing with contention during work distribution. Finally, we explain how the ideas presented here can be extended to deal with generational copying garbage collection and replication-based garbage collection. We believe that our ideas can be generalized in a similar manner for other copying-based garbage collection algorithms.
منابع مشابه
Non-compacting Memory Allocation and Real-time Garbage Collection Dissertation Proposal
Garbage collection is the automatic reclamation of computer storage Knu73, Coh81, Wil92, Wil95]. While in many systems, programmers must explicitly reclaim heap memory at some point in their program by using a \free" or \dispose" statement, garbage collected systems free the programmer from this burden. In spite of its obvious attractiveness for many applications, garbage collection for real-ti...
متن کاملMulti-phase Copying Garbage Collection in LOGFLOW*
In this paper a new type of copying garbage collectors is presented. The main goal of the modification of the original method was the reduction of the memory area reserved by the collector. The new Multi-phase Copying Garbage Collection (MC-GC) algorithm reserves only a little part of the memory. It works in more than one phases, using all available free memory areas in each phase. Performance ...
متن کاملMostly-Copying Collection: A Viable Alternative to Conservative Mark-Sweep
Many high-level language compilers generate C code and then invoke a C compiler to do code generation, register allocation, stack management, and low-level optimization. To date, most of these compilers link the resulting code against a conservative mark-sweep garbage collector in order to reclaim unused memory. We introduce a new collector, MCC, based on mostly-copying collection, and characte...
متن کاملCopying garbage collection for WAM-based prolog systems
High-level programming languages like Prolog free the programmer from the burden of explicit memory management. In Prolog, dynamic memory allocation is done implicitly by creating data structures. The deallocation of data structures which are no longer in use, is the responsibility of the run-time system. Many Prolog implementations are based on the Warren Abstract Machine (WAM), a virtual mach...
متن کاملScalable Real-time Parallel Garbage Collection for Symmetric Multiprocessors
model for garbage collection. Abstract collector algorithms that are parallel, real-time, and spacesafe.collector algorithms that are parallel, real-time, and spacesafe. Proofs of bounded time and space in the abstract models. Implementing lock-free load-balancing. Proper treatment of global variables, stacks, and generations in the presence of concurrency and real-time bounds. The rst implemen...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Parallel Processing Letters
دوره 14 شماره
صفحات -
تاریخ انتشار 2004