Garbage collection using nursery regions for new objects in a virtual heap

   
   

A method and system for garbage collecting a virtual heap using nursery regions for newly created objects to reduce flushing of objects from an in-memory heap to a store heap is provided. The garbage collection method is suited for use with small consumer and appliance devices that have a small amount of memory and may be using flash devices as persistent storage. The garbage collection method may provide good performance where only a portion of the virtual heap may be cached in the physical heap. The virtual heap may use a single address space for both objects in the store and the in-memory heap. In one embodiment, a single garbage collector is run on the virtual heap address space. The garbage collection method may remove non-referenced objects from the virtual heap. The garbage collection method may also include a compaction phase to reduce or eliminate fragmentation, and to improve locality of objects within the virtual heap. In one embodiment, the garbage collector for the virtual heap may be implemented as a generational garbage collector using working sets in the virtual heap, where each generation is confined to a working set of the heap. The generational garbage collector may allow the flushing of changes after each garbage collection cycle for each working set region. Heap regions with different flushing policies may be used. An object nursery region without flushing where objects are initially created may be used. When a garbage collection cycle is run, objects truly referenced in the object nursery may be copied back into heap regions to be flushed, while short-lived objects no longer referenced may be deleted without flushing.

Une méthode et un système pour des ordures rassemblant un tas virtuel en utilisant des régions de pépinière pour les objets nouvellement créés pour ramener le rinçage des objets d'un tas de dans-mémoire à un tas de magasin est fournie. La méthode de collection d'ordures approprié pour l'usage avec les petits dispositifs du consommateur et d'appareils qui ont un peu de mémoire et peuvent utiliser les dispositifs instantanés en tant que stockage persistant. La méthode de collection d'ordures peut fournir la bonne exécution où seulement une partie du tas virtuel peut être cachée dans le tas physique. Le tas virtuel peut employer une espace adresse simple pour les objets dans le magasin et le tas de dans-mémoire. Dans une incorporation, un collecteur simple d'ordures est couru sur l'espace adresse virtuelle de tas. La méthode de collection d'ordures peut enlever les objets non-référencés du tas virtuel. La méthode de collection d'ordures peut également inclure une phase de tassement pour réduire ou éliminer la fragmentation, et pour améliorer la localité des objets dans le tas virtuel. Dans une incorporation, le collecteur d'ordures pour le tas virtuel peut être mis en application comme collecteur de generations d'ordures en utilisant des ensembles de fonctionnement dans le tas virtuel, où chaque génération est confinée à un ensemble de fonctionnement du tas. Le collecteur de generations d'ordures peut permettre le rinçage des changements après chaque cycle de collection d'ordures pour chaque région d'ensemble de fonctionnement. Des régions de tas avec différentes politiques de rinçage peuvent être employées. Une région de pépinière d'objet sans rincer où des objets sont au commencement créés peut être employée. Quand un cycle de collection d'ordures est couru, des objets vraiment référencés dans la pépinière d'objet peuvent être copiés de nouveau dans des régions de tas à rincer, alors que des objets de courte durée plus non référencés peuvent être supprimés sans rinçage.

 
Web www.patentalert.com

< Methods of formatting data to maximize the readability and the amount of song identification information displayed on a limited number of lines

< Message analysis tool

> System and method for replication of distributed databases that span multiple primary nodes

> Providing clients with services that retrieve data from data sources that do not necessarily support the format required by the clients

~ 00120