Heap size has a huge impact on the performance of garbage collected applications. A heap that barely meets the application’s needs causes excessive GC overhead, while a heap that exceeds physical memory induces paging. Choosing the best heap size a priori is impossible in multiprogrammed environments, where physical memory allocations to processes change constantly. We present an automatic heap-sizing algorithm applicable to different garbage collectors with only modest changes. It relies on an analytical model and on detailed information from the virtual memory manager. The model characterizes the relation between collection algorithm, heap size, and footprint. The virtual memory manager tracks recent reference behavior, reporting the curr...
This paper shows that Appel-style garbage collectors often make suboptimal decisions both in terms o...
Multiple virtual machine (VM) workloads are increasingly common, given the growth of managed enterpr...
Garbage collection can be a performance bottleneck in large distributed, multi-threaded applications...
Most application’s performance is impacted by the amount of available memory. In a traditional appli...
We propose a new, principled approach to adaptive heap sizing based on control theory. We review cur...
We propose a new, principled approach to adaptive heap sizing based on control theory. We review cur...
Limiting the amount of memory available to a program can hamstring its performance, however in a ga...
Abstract. Typical theorem-proving workloads on the Poly/ML runtime may execute for several hours, oc...
tions expressed in this material are those of the authors and do not necessarily reflect the views o...
Garbage collection offers numerous software engineering advantages, but interacts poorly with virtua...
Researchers have devoted decades towards improving garbage collection performance. A key question is...
Existing virtual memory systems usually work well with applications written in C and C++, but they d...
In previous heap storage systems, the cost of creating objects and garbage collection is independe...
AbstractA uniform general purpose garbage collector may not always provide optimal performance. Some...
Generational techniques have been very successful in reducing the impact of garbage collection algor...
This paper shows that Appel-style garbage collectors often make suboptimal decisions both in terms o...
Multiple virtual machine (VM) workloads are increasingly common, given the growth of managed enterpr...
Garbage collection can be a performance bottleneck in large distributed, multi-threaded applications...
Most application’s performance is impacted by the amount of available memory. In a traditional appli...
We propose a new, principled approach to adaptive heap sizing based on control theory. We review cur...
We propose a new, principled approach to adaptive heap sizing based on control theory. We review cur...
Limiting the amount of memory available to a program can hamstring its performance, however in a ga...
Abstract. Typical theorem-proving workloads on the Poly/ML runtime may execute for several hours, oc...
tions expressed in this material are those of the authors and do not necessarily reflect the views o...
Garbage collection offers numerous software engineering advantages, but interacts poorly with virtua...
Researchers have devoted decades towards improving garbage collection performance. A key question is...
Existing virtual memory systems usually work well with applications written in C and C++, but they d...
In previous heap storage systems, the cost of creating objects and garbage collection is independe...
AbstractA uniform general purpose garbage collector may not always provide optimal performance. Some...
Generational techniques have been very successful in reducing the impact of garbage collection algor...
This paper shows that Appel-style garbage collectors often make suboptimal decisions both in terms o...
Multiple virtual machine (VM) workloads are increasingly common, given the growth of managed enterpr...
Garbage collection can be a performance bottleneck in large distributed, multi-threaded applications...