Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

Method and apparatus for increasing scavenging garbage collection effectiveness

Inactive Publication Date: 2004-01-20
ORACLE INT CORP
View PDF4 Cites 42 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

The amount of available memory is typically limited in computing systems such as object-based computing systems.
Some programming languages require explicit manual deallocation of previously allocated memory, which may be complicated and prone to error.
However, if new generation object 110d is dead, a garbage collection performed in new generation 104 may result in old generation object 110f becoming unreachable if old generation object 110f is not be pointed to by any other object.
In general, copying operations are slow and expensive.
As a result, the overall garbage collection process is expensive.
A scavenging garbage collection is often an expensive process.
Specifically, as mentioned above, the copying of a live object during a scavenging garbage collection is a slow and expensive operation.
Hence, when many live objects are copied during a scavenging garbage collection, or when a few large objects are copied during a scavenging garbage collection, the garbage collection process itself becomes both slow and costly.

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Method and apparatus for increasing scavenging garbage collection effectiveness
  • Method and apparatus for increasing scavenging garbage collection effectiveness
  • Method and apparatus for increasing scavenging garbage collection effectiveness

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

A generational scavenging garbage collection typically involves scavenging a new generation of a managed memory area, which also includes an old generation, when the new generation is filled to the extent that a new object may not be allocated in the new generation. During scavenging, as described in Garbage Collection: Algorithms for Automatic Dynamic Memory Management by Richard Jones and Rafael Lins (John Wiley & Sons Ltd., 1996), which is incorporated herein by reference in its entirety, live objects are copied from the new generation into the old generation. As copying live objects is expensive and slow, a scavenging garbage collection is typically inefficient. Since copying live objects during a scavenging garbage collection causes the garbage collection to be slow and expensive, reducing the number of live objects copied during a garbage collection from a new generation to an old generation may increase the effectiveness and efficiency of garbage collection.

It has been observ...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

PUM

No PUM Login to View More

Abstract

Methods and apparatus for enabling an efficient generational scavenging garbage collection to be performed on a managed memory area are disclosed. According to one aspect of the present invention, a method for reclaiming memory space uses a managed memory area that includes a first area and a second area. The first area is arranged to store recently allocated objects, while the second area being arranged to store older objects. The method includes determining when a first section of the first area in which new objects are to be allocated is substantially filled. When it is determined that the first section is substantially filled, a garbage collection is performed on a second section of the first. After the garbage collection, the second section is set to support new object allocation such that new objects are allocated in the second section, while the first section is reset such that it is no longer arranged to support new object allocation. In one embodiment, performing the garbage collection on the second section includes copying a live object from the second section into the second area.

Description

1. Field of InventionThe present invention relates generally to methods and apparatus for improving the performance of software applications. More particularly, the present invention relates to methods and apparatus for reducing the overhead associated with performing memory allocation.2. Description of the Related ArtThe amount of available memory is typically limited in computing systems such as object-based computing systems. Hence, memory must generally be conserved and recycled. Many computer programming languages enable software developers to dynamically allocate memory within a computer system. Some programming languages require explicit manual deallocation of previously allocated memory, which may be complicated and prone to error. Languages which require explicit manual memory management include the C and C++ programming languages. Other programming languages utilize automatic storage-reclamation to reclaim memory that is no longer necessary to ensure the proper operation o...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to View More

Application Information

Patent Timeline
no application Login to View More
IPC IPC(8): G06F12/02G06F12/00
CPCG06F12/0276Y10S707/99953Y10S707/99957
Inventor KESSLER, PETER B.GRARUP, STEFFENUNGAR, DAVID M.
Owner ORACLE INT CORP
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products