Method and system for handling queue overflow during in-cache garbage collection
First Claim
1. A method for handling queue overflow in an in-cache garbage collection process, comprising:
- scanning a first object cache to identify live objects, references to the identified live objects being stored to a first broadcast queue associated with the first object cache if the identified live objects reside in the first object cache;
for live objects in the first object cache that were not processed due to an overflow of the first broadcast queue, setting bits in a register to identify portions of the first object cache that include live objects that were not processed; and
rescanning the first object cache in only the portions of the first object cache that are identified by the bits set in register.
2 Assignments
0 Petitions
Accused Products
Abstract
In a method for handling queue overflow in an in-cache garbage collection process, a first object cache is scanned to identify live objects. If the identified live objects reside in the first object cache, then the object identifiers (OIDs) for the identified live objects are stored in a first broadcast queue associated with the first object cache. For live objects that were not processed due to an overflow of the first broadcast queue, bits are set in a register to identify portions of the first object cache that include live objects that were not processed. To locate the unprocessed live objects for processing, the first object cache is rescanned, but only the portions of the first object cache that are identified by the bits set in register are rescanned. A system for managing queue overflow in an in-cache garbage collection process carried out in a multi-processor environment also is described.
-
Citations
20 Claims
-
1. A method for handling queue overflow in an in-cache garbage collection process, comprising:
-
scanning a first object cache to identify live objects, references to the identified live objects being stored to a first broadcast queue associated with the first object cache if the identified live objects reside in the first object cache; for live objects in the first object cache that were not processed due to an overflow of the first broadcast queue, setting bits in a register to identify portions of the first object cache that include live objects that were not processed; and rescanning the first object cache in only the portions of the first object cache that are identified by the bits set in register. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for managing queue overflow in an in-cache garbage collection process carried out in a multi-processor environment, comprising:
-
an object cache having a broadcast queue; a register associated with the object cache, each bit of the register identifying a portion of the object cache; a controller for managing the object cache, the controller being configured such that an overflow of the broadcast queue causes the controller to set a bit in the register, the set bit identifying the portion of the object cache that includes an object that was identified as live but not processed due to the overflow of the broadcast queue; and a processor configured to use set bits in the register to limit rescanning to only the portions of the object cache that include live but unprocessed objects. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A method for handling queue overflow in an in-cache garbage collection process carried out in a multi-processor environment, comprising:
-
scanning one or more object caches; broadcasting references for live objects found in the one or more object caches; storing the references in particular broadcast queues, such that references to objects found in one object cache are stored in a respective broadcast queue; if an overflow of any one of the broadcast queues occurs, setting a bit in overflow partition bits associated with a respective object cache and broadcast queue; and after the one or more object caches have been scanned once, rescanning only selected portions of the one or more object caches that include references that were marked but not processed, the selected portions of the one or more object caches being identified by set bits in the overflow partition bits associated with each respective object cache and broadcast queue. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A system for managing queue overflow in an in-cache garbage collection process carried out in a multi-processor environment, comprising:
-
an object cache having a broadcast queue; overflow partition bits associated with the object cache, each bit in the overflow partition bits identifying a portion of the object cache; and a controller for managing the object cache, the controller being configured such that an overflow of the broadcast queue causes the controller to set a bit in the overflow partition bits, the set bit identifying the portion of the object cache that includes an object that was marked but not processed due to the overflow of the broadcast queue; and a processor configured to use the set bits to limit rescanning to only the portions of the object cache that include marked but unprocessed objects. - View Dependent Claims (18, 19, 20)
-
Specification