CitedEvidence
User Settings
Article

The Need for Predictable Garbage Collection

7

TL;DRAbstract

Modern programming languages such as Java are increasingly being used to write systems programs. By "systems programs," we mean programs that provide critical services (compilers), are long-running (Web servers), or have time-critical aspects (databases or query engines). One of the requirements of such programs is predictable behavior. Unfortunately, predictability is often compromised by the presence of garbage collection. Various researchers have examined the feasibility of replacing garbage collection with forms of stack allocation that are more predictable than GC, but the applicability of such research to systems programs has not been studied or measured. A particularly promising approach allocates objects in the nth stack frame (instead of just the topmost frame): we call this deep stack allocation. We present dynamic profiling results for several Java programs to show that deep stack allocation should benefit systems programs, and we describe the approach that

Chat with Paper

AI Agents for this Paper

Modern programming languages such as Java are increasingly being used to write systems programs. By "systems programs," we mean programs that provide critical services (compilers), are long-running (Web servers), or have time-critical aspects (databases or query engines). One of the requirements of such programs is predictable behavior. Unfortunately, predictability is often compromised by the presence of garbage collection. Various researchers have examined the feasibility of replacing garbage collection with forms of stack allocation that are more predictable than GC, but the applicability of such research to systems programs has not been studied or measured. A particularly promising approach allocates objects in the nth stack frame (instead of just the topmost frame): we call this deep stack allocation. We present dynamic profiling results for several Java programs to show that deep stack allocation should benefit systems programs, and we describe the approach that

Keywords

Garbage collectionComputer scienceJavaCall stackGarbageManual memory managementProfiling (computer programming)Stack (abstract data type)

Chat

Click to start Chat