home · mobile · calendar · colloquia · 2002-2003 · 

Colloquium - Diwan

Reducing the Overheads of Object-oriented Languages
Department of Computer Science

Modern object-oriented languages offer many software engineering benefits. For example garbage collection increases programmer productivity by eliminating many kinds of memory management bugs. However, the features in object-oriented languages also have a cost. The cost may be in terms of performance (e.g., high overhead of garbage collection or polymorphism) or programmer time (e.g., when the garbage collector does not free large, dead data structures). My research focuses on reducing the costs of modern object-oriented programming languages.

This talk focuses on one aspect of my research: connectivity-based garbage collection (CBGC). Most state-of-the-art garbage collectors today are generational; i.e., they assume that the longer an object has survived, the less likely it is to die (generational hypothesis). While this hypothesis is often true, it is well known that it does not hold for many programs. Even when the hypothesis holds, generational collectors often have a high overhead because they need to track pointers from older to younger objects. Our research proposes an alternative, CBGC, to generational (or more generally age-based collectors) that eliminates many of the overheads of generational collection. CBGC works by partitioning objects based on their connectivity, not age, and also uses connectivity information for when to collect each partition. Our preliminary results show that our approach has significant promise for achieving short pause times, smaller memory footprint, and effective collections.

Hosted by Richard Byrd.

Department of Computer Science
University of Colorado Boulder
Boulder, CO 80309-0430 USA
May 5, 2012 (14:13)