Real-time Garbage Collection
Programming Languages Accomplishment | 2003
IBM researchers: David F. Bacon, Perry Cheng
Where the work was done: IBM T.J. Watson Research Center
What we accomplished: Garbage collection reclaims unused memory in a program automatically without the programmer having to manage it. It is used in many languages such as Java, as opposed to the "malloc/free" approach used in languages like C, where programmers must manage memory allocation and explicitly free unused memory. However, traditional garbage collection approaches can have arbitrarily long pauses, in which the running program is interrupted by the garbage collector. Real-time garbage collection as outlined in the paper below is able to garbage collect unused memory with a fixed, short (milliseconds) bound on the amount of time the program is interrupted at any one time, and the percentage of time the program is interrupted in aggregate by the garbage collector. This work enables use of garbage-collected languages like Java in realtime applications.
Related links: 2003 paper: A Real-Time Garbage Collector with Low Overhead and Consistent Utilization
BACK TO PROGRAMMING LANGUAGES
BACK TO IBM RESEARCH ACCOMPLISHMENTS