GGrantIndex
← Search

Scalable Concurrent Compacting Garbage Collection for Commodity Multi-Core Processors

$275,001FY2007CSENSF

Purdue University, West Lafayette IN

Investigators

Abstract

Concurrency is an increasingly important area of study as commodity parallel multi-core processors (such as Intel's Core processors) enter the mainstream. At the same time, mainstream programming languages such as Java and C# support both concurrent programming and automatic memory management (so-called "garbage collection" or GC). Ordinary programmers expect their programming platforms to yield both responsiveness and performance for their applications running on commodity parallel computers. This project explores new approaches to GC that exploit hardware parallelism to retain and improve desirable space/time performance characteristics for programs. It will benefit the hardware industry by exploiting their new multi-core offerings, while contributing to economic and national security by enhancing usability, performance, and reliability of software. The project will produce high-demand graduates skilled in the art and science of concurrent programming, able to exploit parallelism in the production of more reliable high-performance application systems, from the desktop to the data center, so expanding the capabilities of the national technical work-force. While efficient concurrent non-moving collectors are ubiquitous in production programming languages, efficient non-intrusive compaction is still missing. Without compaction (whether by the GC or separately), maximizing memory utilization and locality, and minimizing memory fragmentation is difficult. Retaining responsiveness and exploiting parallelism, means reconciling compaction with concurrency. The project is devising new approaches for automatic compaction of dynamically allocated data, with emphasis on techniques that allow compaction to occur concurrently (i.e., in parallel) with the application. Concurrent compaction approaches based on concurrent copying (i.e., moving) GC as well as standalone concurrent compaction (in concert with non-moving GC) are being designed, implemented, and evaluated for established benchmark programs using metrics that measure responsiveness, application utilization, and throughput.

View original record on NSF Award Search →
Scalable Concurrent Compacting Garbage Collection for Commodity Multi-Core Processors · GrantIndex